]> oss.titaniummirror.com Git - msp430-binutils.git/blobdiff - gas/testsuite/gas/i386/x86-64-opts.s
Imported binutils-2.20
[msp430-binutils.git] / gas / testsuite / gas / i386 / x86-64-opts.s
diff --git a/gas/testsuite/gas/i386/x86-64-opts.s b/gas/testsuite/gas/i386/x86-64-opts.s
new file mode 100644 (file)
index 0000000..74c39f0
--- /dev/null
@@ -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