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 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343
|
# Check 64bit instructions with encoding options
.allow_index_reg
.text
_start:
# Tests for op reg, reg
add %dl,%cl
add.s %dl,%cl
add %dx,%cx
add.s %dx,%cx
add %edx,%ecx
add.s %edx,%ecx
addb %dl,%cl
addb.s %dl,%cl
addw %dx,%cx
addw.s %dx,%cx
addl %edx,%ecx
addl.s %edx,%ecx
add %rdx,%rcx
add.s %rdx,%rcx
addq %rdx,%rcx
addq.s %rdx,%rcx
adc %dl,%cl
adc.s %dl,%cl
adc %dx,%cx
adc.s %dx,%cx
adc %edx,%ecx
adc.s %edx,%ecx
adcb %dl,%cl
adcb.s %dl,%cl
adcw %dx,%cx
adcw.s %dx,%cx
adcl %edx,%ecx
adcl.s %edx,%ecx
adc %rdx,%rcx
adc.s %rdx,%rcx
adcq %rdx,%rcx
adcq.s %rdx,%rcx
and %dl,%cl
and.s %dl,%cl
and %dx,%cx
and.s %dx,%cx
and %edx,%ecx
and.s %edx,%ecx
andb %dl,%cl
andb.s %dl,%cl
andw %dx,%cx
andw.s %dx,%cx
andl %edx,%ecx
andl.s %edx,%ecx
and %rdx,%rcx
and.s %rdx,%rcx
andq %rdx,%rcx
andq.s %rdx,%rcx
cmp %dl,%cl
cmp.s %dl,%cl
cmp %dx,%cx
cmp.s %dx,%cx
cmp %edx,%ecx
cmp.s %edx,%ecx
cmpb %dl,%cl
cmpb.s %dl,%cl
cmpw %dx,%cx
cmpw.s %dx,%cx
cmpl %edx,%ecx
cmpl.s %edx,%ecx
cmp %rdx,%rcx
cmp.s %rdx,%rcx
cmpq %rdx,%rcx
cmpq.s %rdx,%rcx
mov %dl,%cl
mov.s %dl,%cl
mov %dx,%cx
mov.s %dx,%cx
mov %edx,%ecx
mov.s %edx,%ecx
movb %dl,%cl
movb.s %dl,%cl
movw %dx,%cx
movw.s %dx,%cx
movl %edx,%ecx
movl.s %edx,%ecx
mov %rdx,%rcx
mov.s %rdx,%rcx
movq %rdx,%rcx
movq.s %rdx,%rcx
or %dl,%cl
or.s %dl,%cl
or %dx,%cx
or.s %dx,%cx
or %edx,%ecx
or.s %edx,%ecx
orb %dl,%cl
orb.s %dl,%cl
orw %dx,%cx
orw.s %dx,%cx
orl %edx,%ecx
orl.s %edx,%ecx
or %rdx,%rcx
or.s %rdx,%rcx
orq %rdx,%rcx
orq.s %rdx,%rcx
sbb %dl,%cl
sbb.s %dl,%cl
sbb %dx,%cx
sbb.s %dx,%cx
sbb %edx,%ecx
sbb.s %edx,%ecx
sbbb %dl,%cl
sbbb.s %dl,%cl
sbbw %dx,%cx
sbbw.s %dx,%cx
sbbl %edx,%ecx
sbbl.s %edx,%ecx
sbb %rdx,%rcx
sbb.s %rdx,%rcx
sbbq %rdx,%rcx
sbbq.s %rdx,%rcx
sub %dl,%cl
sub.s %dl,%cl
sub %dx,%cx
sub.s %dx,%cx
sub %edx,%ecx
sub.s %edx,%ecx
subb %dl,%cl
subb.s %dl,%cl
subw %dx,%cx
subw.s %dx,%cx
subl %edx,%ecx
subl.s %edx,%ecx
sub %rdx,%rcx
sub.s %rdx,%rcx
subq %rdx,%rcx
subq.s %rdx,%rcx
xor %dl,%cl
xor.s %dl,%cl
xor %dx,%cx
xor.s %dx,%cx
xor %edx,%ecx
xor.s %edx,%ecx
xorb %dl,%cl
xorb.s %dl,%cl
xorw %dx,%cx
xorw.s %dx,%cx
xorl %edx,%ecx
xorl.s %edx,%ecx
xor %rdx,%rcx
xor.s %rdx,%rcx
xorq %rdx,%rcx
xorq.s %rdx,%rcx
# Tests for op ymm, ymm
vmovapd %ymm4,%ymm6
vmovapd.s %ymm4,%ymm6
vmovaps %ymm4,%ymm6
vmovaps.s %ymm4,%ymm6
vmovdqa %ymm4,%ymm6
vmovdqa.s %ymm4,%ymm6
vmovdqu %ymm4,%ymm6
vmovdqu.s %ymm4,%ymm6
vmovupd %ymm4,%ymm6
vmovupd.s %ymm4,%ymm6
vmovups %ymm4,%ymm6
vmovups.s %ymm4,%ymm6
# Tests for op xmm, xmm
movapd %xmm4,%xmm6
movapd.s %xmm4,%xmm6
movaps %xmm4,%xmm6
movaps.s %xmm4,%xmm6
movdqa %xmm4,%xmm6
movdqa.s %xmm4,%xmm6
movdqu %xmm4,%xmm6
movdqu.s %xmm4,%xmm6
movq %xmm4,%xmm6
movq.s %xmm4,%xmm6
movsd %xmm4,%xmm6
movsd.s %xmm4,%xmm6
movss %xmm4,%xmm6
movss.s %xmm4,%xmm6
movupd %xmm4,%xmm6
movupd.s %xmm4,%xmm6
movups %xmm4,%xmm6
movups.s %xmm4,%xmm6
vmovapd %xmm4,%xmm6
vmovapd.s %xmm4,%xmm6
vmovaps %xmm4,%xmm6
vmovaps.s %xmm4,%xmm6
vmovdqa %xmm4,%xmm6
vmovdqa.s %xmm4,%xmm6
vmovdqu %xmm4,%xmm6
vmovdqu.s %xmm4,%xmm6
vmovq %xmm4,%xmm6
vmovq.s %xmm4,%xmm6
vmovupd %xmm4,%xmm6
vmovupd.s %xmm4,%xmm6
vmovups %xmm4,%xmm6
vmovups.s %xmm4,%xmm6
# Tests for op xmm, xmm, xmm
vmovsd %xmm4,%xmm6,%xmm2
vmovsd.s %xmm4,%xmm6,%xmm2
vmovss %xmm4,%xmm6,%xmm2
vmovss.s %xmm4,%xmm6,%xmm2
# Tests for op mm, mm
movq %mm0,%mm4
movq.s %mm0,%mm4
.intel_syntax noprefix
# Tests for op reg, reg
add cl,dl
add.s cl,dl
add cx,dx
add.s cx,dx
add ecx,edx
add.s ecx,edx
add rcx,rdx
add.s rcx,rdx
adc cl,dl
adc.s cl,dl
adc cx,dx
adc.s cx,dx
adc ecx,edx
adc.s ecx,edx
adc rcx,rdx
adc.s rcx,rdx
and cl,dl
and.s cl,dl
and cx,dx
and.s cx,dx
and ecx,edx
and.s ecx,edx
and rcx,rdx
and.s rcx,rdx
cmp cl,dl
cmp.s cl,dl
cmp cx,dx
cmp.s cx,dx
cmp ecx,edx
cmp.s ecx,edx
cmp rcx,rdx
cmp.s rcx,rdx
mov cl,dl
mov.s cl,dl
mov cx,dx
mov.s cx,dx
mov ecx,edx
mov.s ecx,edx
mov rcx,rdx
mov.s rcx,rdx
or cl,dl
or.s cl,dl
or cx,dx
or.s cx,dx
or ecx,edx
or.s ecx,edx
or rcx,rdx
or.s rcx,rdx
sbb cl,dl
sbb.s cl,dl
sbb cx,dx
sbb.s cx,dx
sbb ecx,edx
sbb.s ecx,edx
sbb rcx,rdx
sbb.s rcx,rdx
sub cl,dl
sub.s cl,dl
sub cx,dx
sub.s cx,dx
sub ecx,edx
sub.s ecx,edx
sub rcx,rdx
sub.s rcx,rdx
xor cl,dl
xor.s cl,dl
xor cx,dx
xor.s cx,dx
xor ecx,edx
xor.s ecx,edx
xor rcx,rdx
xor.s rcx,rdx
# Tests for op ymm, ymm
vmovapd ymm6,ymm4
vmovapd.s ymm6,ymm4
vmovaps ymm6,ymm4
vmovaps.s ymm6,ymm4
vmovdqa ymm6,ymm4
vmovdqa.s ymm6,ymm4
vmovdqu ymm6,ymm4
vmovdqu.s ymm6,ymm4
vmovupd ymm6,ymm4
vmovupd.s ymm6,ymm4
vmovups ymm6,ymm4
vmovups.s ymm6,ymm4
# Tests for op xmm, xmm
movapd xmm6,xmm4
movapd.s xmm6,xmm4
movaps xmm6,xmm4
movaps.s xmm6,xmm4
movdqa xmm6,xmm4
movdqa.s xmm6,xmm4
movdqu xmm6,xmm4
movdqu.s xmm6,xmm4
movq xmm6,xmm4
movq.s xmm6,xmm4
movsd xmm6,xmm4
movsd.s xmm6,xmm4
movss xmm6,xmm4
movss.s xmm6,xmm4
movupd xmm6,xmm4
movupd.s xmm6,xmm4
movups xmm6,xmm4
movups.s xmm6,xmm4
vmovapd xmm6,xmm4
vmovapd.s xmm6,xmm4
vmovaps xmm6,xmm4
vmovaps.s xmm6,xmm4
vmovdqa xmm6,xmm4
vmovdqa.s xmm6,xmm4
vmovdqu xmm6,xmm4
vmovdqu.s xmm6,xmm4
vmovq xmm6,xmm4
vmovq.s xmm6,xmm4
vmovupd xmm6,xmm4
vmovupd.s xmm6,xmm4
vmovups xmm6,xmm4
vmovups.s xmm6,xmm4
# Tests for op xmm, xmm, xmm
vmovsd xmm2,xmm6,xmm4
vmovsd.s xmm2,xmm6,xmm4
vmovss xmm2,xmm6,xmm4
vmovss.s xmm2,xmm6,xmm4
# Tests for op mm, mm
movq mm4,mm0
movq.s mm4,mm0
|