X-Git-Url: https://oss.titaniummirror.com/gitweb?p=msp430-binutils.git;a=blobdiff_plain;f=gas%2Ftestsuite%2Fgas%2Fi386%2Fx86-64-opts.s;fp=gas%2Ftestsuite%2Fgas%2Fi386%2Fx86-64-opts.s;h=74c39f0f545ff3e456d5bbb4d909a7a0c87d3c4d;hp=0000000000000000000000000000000000000000;hb=d5da4f291af551c0b8b79e1d4a9b173d60e5c10e;hpb=7b5ea4fcdf2819e070665ab5610f8b48e3867c10 diff --git a/gas/testsuite/gas/i386/x86-64-opts.s b/gas/testsuite/gas/i386/x86-64-opts.s new file mode 100644 index 0000000..74c39f0 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-opts.s @@ -0,0 +1,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