1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
|
# Check 64bit BMI2 instructions
.allow_index_reg
.text
_start:
# Test for op r32, r/m32, imm8
rorx $7,%eax,%ebx
rorx $7,(%rcx),%ebx
rorx $7,%r9d,%r15d
rorx $7,(%rcx),%r15d
# Test for op r32, r32, r/m32
mulx %eax,%ebx,%esi
mulx (%rcx),%ebx,%esi
mulx %r9d,%r15d,%r10d
mulx (%rcx),%r15d,%r10d
pdep %eax,%ebx,%esi
pdep (%rcx),%ebx,%esi
pdep %r9d,%r15d,%r10d
pdep (%rcx),%r15d,%r10d
pext %eax,%ebx,%esi
pext (%rcx),%ebx,%esi
pext %r9d,%r15d,%r10d
pext (%rcx),%r15d,%r10d
# Test for op r32, r/m32, r32
bzhi %eax,%ebx,%esi
bzhi %ebx,(%rcx),%esi
bzhi %r9d,%r15d,%r10d
bzhi %r9d,(%rcx),%r10d
sarx %eax,%ebx,%esi
sarx %ebx,(%rcx),%esi
sarx %r9d,%r15d,%r10d
sarx %r9d,(%rcx),%r10d
shlx %eax,%ebx,%esi
shlx %ebx,(%rcx),%esi
shlx %r9d,%r15d,%r10d
shlx %r9d,(%rcx),%r10d
shrx %eax,%ebx,%esi
shrx %ebx,(%rcx),%esi
shrx %r9d,%r15d,%r10d
shrx %r9d,(%rcx),%r10d
# Test for op r64, r/m64, imm8
rorx $7,%rax,%rbx
rorx $7,(%rcx),%rbx
rorx $7,%r9,%r15
rorx $7,(%rcx),%r15
# Test for op r64, r64, r/m64
mulx %rax,%rbx,%rsi
mulx (%rcx),%rbx,%rsi
mulx %r9,%r15,%r10
mulx (%rcx),%r15,%r10
pdep %rax,%rbx,%rsi
pdep (%rcx),%rbx,%rsi
pdep %r9,%r15,%r10
pdep (%rcx),%r15,%r10
pext %rax,%rbx,%rsi
pext (%rcx),%rbx,%rsi
pext %r9,%r15,%r10
pext (%rcx),%r15,%r10
# Test for op r64, r/m64, r64
bzhi %rax,%rbx,%rsi
bzhi %rax,(%rcx),%rsi
bzhi %r9,%r15,%r10
bzhi %r9,(%rcx),%r10
sarx %rax,%rbx,%rsi
sarx %rax,(%rcx),%rsi
sarx %r9,%r15,%r10
sarx %r9,(%rcx),%r10
shlx %rax,%rbx,%rsi
shlx %rax,(%rcx),%rsi
shlx %r9,%r15,%r10
shlx %r9,(%rcx),%r10
shrx %rax,%rbx,%rsi
shrx %rax,(%rcx),%rsi
shrx %r9,%r15,%r10
shrx %r9,(%rcx),%r10
.intel_syntax noprefix
# Test for op r32, r/m32, imm8
rorx ebx,eax,7
rorx ebx,DWORD PTR [rcx],7
rorx r10d,r9d,7
rorx r10d,DWORD PTR [rcx],7
rorx ebx,[rcx],7
# Test for op r32, r32, r/m32
mulx esi,ebx,eax
mulx esi,ebx,DWORD PTR [rcx]
mulx r15d,r10d,r9d
mulx r15d,r10d,DWORD PTR [rcx]
mulx esi,ebx,[rcx]
pdep esi,ebx,eax
pdep esi,ebx,DWORD PTR [rcx]
pdep r15d,r10d,r9d
pdep r15d,r10d,DWORD PTR [rcx]
pdep esi,ebx,[rcx]
pext esi,ebx,eax
pext esi,ebx,DWORD PTR [rcx]
pext r15d,r10d,r9d
pext r15d,r10d,DWORD PTR [rcx]
pext esi,ebx,[rcx]
# Test for op r32, r/m32, r32
bzhi esi,ebx,eax
bzhi esi,DWORD PTR [rcx],ebx
bzhi r15d,r10d,r9d
bzhi r15d,DWORD PTR [rcx],r9d
bzhi esi,[rcx],ebx
sarx esi,ebx,eax
sarx esi,DWORD PTR [rcx],ebx
sarx r15d,r10d,r9d
sarx r15d,DWORD PTR [rcx],r9d
sarx esi,[rcx],ebx
shlx esi,ebx,eax
shlx esi,DWORD PTR [rcx],ebx
shlx r15d,r10d,r9d
shlx r15d,DWORD PTR [rcx],r9d
shlx esi,[rcx],ebx
shrx esi,ebx,eax
shrx esi,DWORD PTR [rcx],ebx
shrx r15d,r10d,r9d
shrx r15d,DWORD PTR [rcx],r9d
shrx esi,[rcx],ebx
# Test for op r64, r/m64, imm8
rorx rbx,rax,7
rorx rbx,QWORD PTR [rcx],7
rorx r15,r9,7
rorx r15,QWORD PTR [rcx],7
rorx rbx,[rcx],7
# Test for op r64, r64, r/m64
mulx rsi,rbx,rax
mulx rsi,rbx,QWORD PTR [rcx]
mulx r10,r15,r9
mulx r10,r15,QWORD PTR [rcx]
mulx rsi,rbx,[rcx]
pdep rsi,rbx,rax
pdep rsi,rbx,QWORD PTR [rcx]
pdep r10,r15,r9
pdep r10,r15,QWORD PTR [rcx]
pdep rsi,rbx,[rcx]
pext rsi,rbx,rax
pext rsi,rbx,QWORD PTR [rcx]
pext r10,r15,r9
pext r10,r15,QWORD PTR [rcx]
pext rsi,rbx,[rcx]
# Test for op r64, r/m64, r64
bzhi rsi,rbx,rax
bzhi rsi,QWORD PTR [rcx],rax
bzhi r10,r15,r9
bzhi r10,QWORD PTR [rcx],r9
bzhi rsi,[rcx],rax
sarx rsi,rbx,rax
sarx rsi,QWORD PTR [rcx],rax
sarx r10,r15,r9
sarx r10,QWORD PTR [rcx],r9
sarx rsi,[rcx],rax
shlx rsi,rbx,rax
shlx rsi,QWORD PTR [rcx],rax
shlx r10,r15,r9
shlx r10,QWORD PTR [rcx],r9
shlx rsi,[rcx],rax
shrx rsi,rbx,rax
shrx rsi,QWORD PTR [rcx],rax
shrx r10,r15,r9
shrx r10,QWORD PTR [rcx],r9
shrx rsi,[rcx],rax
|