blob: 74c39f0f545ff3e456d5bbb4d909a7a0c87d3c4d [file] [log] [blame]
# 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