diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2008-12-23 15:14:15 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2008-12-23 15:14:15 +0000 |
commit | fa99fab2229b2e05faf2d2939e841c1d4a0b82b6 (patch) | |
tree | 2f5f3bdefffb30c8e8834c1ce2f9b66809ff73f4 /gas/testsuite | |
parent | feddcd0d460b9d7810013e54c39132b25bcd512b (diff) | |
download | gdb-fa99fab2229b2e05faf2d2939e841c1d4a0b82b6.zip gdb-fa99fab2229b2e05faf2d2939e841c1d4a0b82b6.tar.gz gdb-fa99fab2229b2e05faf2d2939e841c1d4a0b82b6.tar.bz2 |
gas/
2008-12-23 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (match_template): Changed to return
const template *. Handle i.swap_operand for 3 operands.
(build_vex_prefix): Take const template *. Swap operand for
2-byte VEX prefix if possible.
(md_assemble): Updated.
(build_modrm_byte): Handle RegMem bit for SSE2AVX.
gas/testsuite/
2008-12-23 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/i386.exp: Run x86-64-avx-swap and x86-64-avx-swap-intel.
* gas/i386/opts.s: Add tests for movsd, movss, vmovsd and
vmovss.
* gas/i386/x86-64-opts.s: Likewise.
* gas/i386/opts.d: Updated.
* gas/i386/opts-intel.d: Likewise.
* gas/i386/sse2avx-opts.d: Likewise.
* gas/i386/sse2avx-opts-intel.d: Likewise.
* gas/i386/x86-64-opts.d: Likewise.
* gas/i386/x86-64-opts-intel.d: Likewise.
* gas/i386/x86-64-sse2avx-opts.d: Likewise.
* gas/i386/x86-64-sse2avx-opts-intel.d: Likewise.
* gas/i386/x86-64-avx-swap.d: New.
* gas/i386/x86-64-avx-swap.s: Likewise.
* gas/i386/x86-64-avx-swap-intel.d: Likewise.
opcodes/
2008-12-23 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (EXdS): New.
(EXdVexS): Likewise.
(EXqVexS): Likewise.
(d_swap_mode): Likewise.
(q_mode): Updated.
(prefix_table): Use EXdS on movss and EXqS on movsd.
(vex_len_table): Use EXdVexS on vmovss and EXqVexS on vmovsd.
(intel_operand_size): Handle d_swap_mode.
(OP_EX): Likewise.
* i386-opc.h (S): Update comments.
* i386-opc.tbl: Add S to movss, movsd, vmovss and vmovsd.
* i386-tbl.h: Regenerated.
Diffstat (limited to 'gas/testsuite')
-rw-r--r-- | gas/testsuite/ChangeLog | 21 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/i386.exp | 2 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/opts-intel.d | 16 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/opts.d | 16 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/opts.s | 20 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/sse2avx-opts-intel.d | 16 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/sse2avx-opts.d | 16 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-avx-swap-intel.d | 60 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-avx-swap.d | 59 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-avx-swap.s | 67 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-opts-intel.d | 16 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-opts.d | 16 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-opts.s | 20 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-sse2avx-opts-intel.d | 16 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-sse2avx-opts.d | 16 |
15 files changed, 377 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 587c070..25e94a5 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,24 @@ +2008-12-23 H.J. Lu <hongjiu.lu@intel.com> + + * gas/i386/i386.exp: Run x86-64-avx-swap and x86-64-avx-swap-intel. + + * gas/i386/opts.s: Add tests for movsd, movss, vmovsd and + vmovss. + * gas/i386/x86-64-opts.s: Likewise. + + * gas/i386/opts.d: Updated. + * gas/i386/opts-intel.d: Likewise. + * gas/i386/sse2avx-opts.d: Likewise. + * gas/i386/sse2avx-opts-intel.d: Likewise. + * gas/i386/x86-64-opts.d: Likewise. + * gas/i386/x86-64-opts-intel.d: Likewise. + * gas/i386/x86-64-sse2avx-opts.d: Likewise. + * gas/i386/x86-64-sse2avx-opts-intel.d: Likewise. + + * gas/i386/x86-64-avx-swap.d: New. + * gas/i386/x86-64-avx-swap.s: Likewise. + * gas/i386/x86-64-avx-swap-intel.d: Likewise. + 2008-12-23 Nick Clifton <nickc@redhat.com> * gas/elf/type.s: Remove test of STT_IFUNC support. diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp index 1d9ed4f..a0ad997 100644 --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -301,6 +301,8 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t run_dump_test "x86-64-opts-intel" run_dump_test "x86-64-sse2avx-opts" run_dump_test "x86-64-sse2avx-opts-intel" + run_dump_test "x86-64-avx-swap" + run_dump_test "x86-64-avx-swap-intel" if { ![istarget "*-*-aix*"] && ![istarget "*-*-beos*"] diff --git a/gas/testsuite/gas/i386/opts-intel.d b/gas/testsuite/gas/i386/opts-intel.d index e7f5f41..e51a659 100644 --- a/gas/testsuite/gas/i386/opts-intel.d +++ b/gas/testsuite/gas/i386/opts-intel.d @@ -42,6 +42,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: f3 0f 7f e6 movdqu.s xmm6,xmm4 [ ]*[a-f0-9]+: f3 0f 7e f4 movq xmm6,xmm4 [ ]*[a-f0-9]+: 66 0f d6 e6 movq.s xmm6,xmm4 +[ ]*[a-f0-9]+: f2 0f 10 f4 movsd xmm6,xmm4 +[ ]*[a-f0-9]+: f2 0f 11 e6 movsd.s xmm6,xmm4 +[ ]*[a-f0-9]+: f3 0f 10 f4 movss xmm6,xmm4 +[ ]*[a-f0-9]+: f3 0f 11 e6 movss.s xmm6,xmm4 [ ]*[a-f0-9]+: 66 0f 10 f4 movupd xmm6,xmm4 [ ]*[a-f0-9]+: 66 0f 11 e6 movupd.s xmm6,xmm4 [ ]*[a-f0-9]+: 0f 10 f4 movups xmm6,xmm4 @@ -60,6 +64,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s xmm6,xmm4 [ ]*[a-f0-9]+: c5 f8 10 f4 vmovups xmm6,xmm4 [ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s xmm6,xmm4 +[ ]*[a-f0-9]+: c5 cb 10 d4 vmovsd xmm2,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 cb 11 e2 vmovsd.s xmm2,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 ca 10 d4 vmovss xmm2,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 ca 11 e2 vmovss.s xmm2,xmm6,xmm4 [ ]*[a-f0-9]+: 0f 6f e0 movq mm4,mm0 [ ]*[a-f0-9]+: 0f 7f c4 movq.s mm4,mm0 [ ]*[a-f0-9]+: 88 d1 mov cl,dl @@ -90,6 +98,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: f3 0f 7f e6 movdqu.s xmm6,xmm4 [ ]*[a-f0-9]+: f3 0f 7e f4 movq xmm6,xmm4 [ ]*[a-f0-9]+: 66 0f d6 e6 movq.s xmm6,xmm4 +[ ]*[a-f0-9]+: f2 0f 10 f4 movsd xmm6,xmm4 +[ ]*[a-f0-9]+: f2 0f 11 e6 movsd.s xmm6,xmm4 +[ ]*[a-f0-9]+: f3 0f 10 f4 movss xmm6,xmm4 +[ ]*[a-f0-9]+: f3 0f 11 e6 movss.s xmm6,xmm4 [ ]*[a-f0-9]+: 66 0f 10 f4 movupd xmm6,xmm4 [ ]*[a-f0-9]+: 66 0f 11 e6 movupd.s xmm6,xmm4 [ ]*[a-f0-9]+: 0f 10 f4 movups xmm6,xmm4 @@ -108,6 +120,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s xmm6,xmm4 [ ]*[a-f0-9]+: c5 f8 10 f4 vmovups xmm6,xmm4 [ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s xmm6,xmm4 +[ ]*[a-f0-9]+: c5 cb 10 d4 vmovsd xmm2,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 cb 11 e2 vmovsd.s xmm2,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 ca 10 d4 vmovss xmm2,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 ca 11 e2 vmovss.s xmm2,xmm6,xmm4 [ ]*[a-f0-9]+: 0f 6f e0 movq mm4,mm0 [ ]*[a-f0-9]+: 0f 7f c4 movq.s mm4,mm0 #pass diff --git a/gas/testsuite/gas/i386/opts.d b/gas/testsuite/gas/i386/opts.d index f0f1e0b..5292ad3 100644 --- a/gas/testsuite/gas/i386/opts.d +++ b/gas/testsuite/gas/i386/opts.d @@ -41,6 +41,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: f3 0f 7f e6 movdqu.s %xmm4,%xmm6 [ ]*[a-f0-9]+: f3 0f 7e f4 movq %xmm4,%xmm6 [ ]*[a-f0-9]+: 66 0f d6 e6 movq.s %xmm4,%xmm6 +[ ]*[a-f0-9]+: f2 0f 10 f4 movsd %xmm4,%xmm6 +[ ]*[a-f0-9]+: f2 0f 11 e6 movsd.s %xmm4,%xmm6 +[ ]*[a-f0-9]+: f3 0f 10 f4 movss %xmm4,%xmm6 +[ ]*[a-f0-9]+: f3 0f 11 e6 movss.s %xmm4,%xmm6 [ ]*[a-f0-9]+: 66 0f 10 f4 movupd %xmm4,%xmm6 [ ]*[a-f0-9]+: 66 0f 11 e6 movupd.s %xmm4,%xmm6 [ ]*[a-f0-9]+: 0f 10 f4 movups %xmm4,%xmm6 @@ -59,6 +63,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f8 10 f4 vmovups %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s %xmm4,%xmm6 +[ ]*[a-f0-9]+: c5 cb 10 d4 vmovsd %xmm4,%xmm6,%xmm2 +[ ]*[a-f0-9]+: c5 cb 11 e2 vmovsd.s %xmm4,%xmm6,%xmm2 +[ ]*[a-f0-9]+: c5 ca 10 d4 vmovss %xmm4,%xmm6,%xmm2 +[ ]*[a-f0-9]+: c5 ca 11 e2 vmovss.s %xmm4,%xmm6,%xmm2 [ ]*[a-f0-9]+: 0f 6f e0 movq %mm0,%mm4 [ ]*[a-f0-9]+: 0f 7f c4 movq.s %mm0,%mm4 [ ]*[a-f0-9]+: 88 d1 movb %dl,%cl @@ -89,6 +97,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: f3 0f 7f e6 movdqu.s %xmm4,%xmm6 [ ]*[a-f0-9]+: f3 0f 7e f4 movq %xmm4,%xmm6 [ ]*[a-f0-9]+: 66 0f d6 e6 movq.s %xmm4,%xmm6 +[ ]*[a-f0-9]+: f2 0f 10 f4 movsd %xmm4,%xmm6 +[ ]*[a-f0-9]+: f2 0f 11 e6 movsd.s %xmm4,%xmm6 +[ ]*[a-f0-9]+: f3 0f 10 f4 movss %xmm4,%xmm6 +[ ]*[a-f0-9]+: f3 0f 11 e6 movss.s %xmm4,%xmm6 [ ]*[a-f0-9]+: 66 0f 10 f4 movupd %xmm4,%xmm6 [ ]*[a-f0-9]+: 66 0f 11 e6 movupd.s %xmm4,%xmm6 [ ]*[a-f0-9]+: 0f 10 f4 movups %xmm4,%xmm6 @@ -107,6 +119,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f8 10 f4 vmovups %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s %xmm4,%xmm6 +[ ]*[a-f0-9]+: c5 cb 10 d4 vmovsd %xmm4,%xmm6,%xmm2 +[ ]*[a-f0-9]+: c5 cb 11 e2 vmovsd.s %xmm4,%xmm6,%xmm2 +[ ]*[a-f0-9]+: c5 ca 10 d4 vmovss %xmm4,%xmm6,%xmm2 +[ ]*[a-f0-9]+: c5 ca 11 e2 vmovss.s %xmm4,%xmm6,%xmm2 [ ]*[a-f0-9]+: 0f 6f e0 movq %mm0,%mm4 [ ]*[a-f0-9]+: 0f 7f c4 movq.s %mm0,%mm4 #pass diff --git a/gas/testsuite/gas/i386/opts.s b/gas/testsuite/gas/i386/opts.s index 0a66017..dfa773b 100644 --- a/gas/testsuite/gas/i386/opts.s +++ b/gas/testsuite/gas/i386/opts.s @@ -43,6 +43,10 @@ _start: 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 @@ -62,6 +66,12 @@ _start: 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 @@ -101,6 +111,10 @@ _start: 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 @@ -120,6 +134,12 @@ _start: 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 diff --git a/gas/testsuite/gas/i386/sse2avx-opts-intel.d b/gas/testsuite/gas/i386/sse2avx-opts-intel.d index 66ec7bd..4c1334f 100644 --- a/gas/testsuite/gas/i386/sse2avx-opts-intel.d +++ b/gas/testsuite/gas/i386/sse2avx-opts-intel.d @@ -43,6 +43,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s xmm6,xmm4 [ ]*[a-f0-9]+: c5 fa 7e f4 vmovq xmm6,xmm4 [ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s xmm6,xmm4 +[ ]*[a-f0-9]+: c5 cb 10 f4 vmovsd xmm6,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 cb 11 e6 vmovsd.s xmm6,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 ca 10 f4 vmovss xmm6,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 ca 11 e6 vmovss.s xmm6,xmm6,xmm4 [ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd xmm6,xmm4 [ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s xmm6,xmm4 [ ]*[a-f0-9]+: c5 f8 10 f4 vmovups xmm6,xmm4 @@ -61,6 +65,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s xmm6,xmm4 [ ]*[a-f0-9]+: c5 f8 10 f4 vmovups xmm6,xmm4 [ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s xmm6,xmm4 +[ ]*[a-f0-9]+: c5 cb 10 d4 vmovsd xmm2,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 cb 11 e2 vmovsd.s xmm2,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 ca 10 d4 vmovss xmm2,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 ca 11 e2 vmovss.s xmm2,xmm6,xmm4 [ ]*[a-f0-9]+: 0f 6f e0 movq mm4,mm0 [ ]*[a-f0-9]+: 0f 7f c4 movq.s mm4,mm0 [ ]*[a-f0-9]+: 88 d1 mov cl,dl @@ -91,6 +99,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s xmm6,xmm4 [ ]*[a-f0-9]+: c5 fa 7e f4 vmovq xmm6,xmm4 [ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s xmm6,xmm4 +[ ]*[a-f0-9]+: c5 cb 10 f4 vmovsd xmm6,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 cb 11 e6 vmovsd.s xmm6,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 ca 10 f4 vmovss xmm6,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 ca 11 e6 vmovss.s xmm6,xmm6,xmm4 [ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd xmm6,xmm4 [ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s xmm6,xmm4 [ ]*[a-f0-9]+: c5 f8 10 f4 vmovups xmm6,xmm4 @@ -109,6 +121,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s xmm6,xmm4 [ ]*[a-f0-9]+: c5 f8 10 f4 vmovups xmm6,xmm4 [ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s xmm6,xmm4 +[ ]*[a-f0-9]+: c5 cb 10 d4 vmovsd xmm2,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 cb 11 e2 vmovsd.s xmm2,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 ca 10 d4 vmovss xmm2,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 ca 11 e2 vmovss.s xmm2,xmm6,xmm4 [ ]*[a-f0-9]+: 0f 6f e0 movq mm4,mm0 [ ]*[a-f0-9]+: 0f 7f c4 movq.s mm4,mm0 #pass diff --git a/gas/testsuite/gas/i386/sse2avx-opts.d b/gas/testsuite/gas/i386/sse2avx-opts.d index 0054c0a..5c091e9 100644 --- a/gas/testsuite/gas/i386/sse2avx-opts.d +++ b/gas/testsuite/gas/i386/sse2avx-opts.d @@ -43,6 +43,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 fa 7e f4 vmovq %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s %xmm4,%xmm6 +[ ]*[a-f0-9]+: c5 cb 10 f4 vmovsd %xmm4,%xmm6,%xmm6 +[ ]*[a-f0-9]+: c5 cb 11 e6 vmovsd.s %xmm4,%xmm6,%xmm6 +[ ]*[a-f0-9]+: c5 ca 10 f4 vmovss %xmm4,%xmm6,%xmm6 +[ ]*[a-f0-9]+: c5 ca 11 e6 vmovss.s %xmm4,%xmm6,%xmm6 [ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f8 10 f4 vmovups %xmm4,%xmm6 @@ -61,6 +65,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f8 10 f4 vmovups %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s %xmm4,%xmm6 +[ ]*[a-f0-9]+: c5 cb 10 d4 vmovsd %xmm4,%xmm6,%xmm2 +[ ]*[a-f0-9]+: c5 cb 11 e2 vmovsd.s %xmm4,%xmm6,%xmm2 +[ ]*[a-f0-9]+: c5 ca 10 d4 vmovss %xmm4,%xmm6,%xmm2 +[ ]*[a-f0-9]+: c5 ca 11 e2 vmovss.s %xmm4,%xmm6,%xmm2 [ ]*[a-f0-9]+: 0f 6f e0 movq %mm0,%mm4 [ ]*[a-f0-9]+: 0f 7f c4 movq.s %mm0,%mm4 [ ]*[a-f0-9]+: 88 d1 movb %dl,%cl @@ -91,6 +99,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 fa 7e f4 vmovq %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s %xmm4,%xmm6 +[ ]*[a-f0-9]+: c5 cb 10 f4 vmovsd %xmm4,%xmm6,%xmm6 +[ ]*[a-f0-9]+: c5 cb 11 e6 vmovsd.s %xmm4,%xmm6,%xmm6 +[ ]*[a-f0-9]+: c5 ca 10 f4 vmovss %xmm4,%xmm6,%xmm6 +[ ]*[a-f0-9]+: c5 ca 11 e6 vmovss.s %xmm4,%xmm6,%xmm6 [ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f8 10 f4 vmovups %xmm4,%xmm6 @@ -109,6 +121,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f8 10 f4 vmovups %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s %xmm4,%xmm6 +[ ]*[a-f0-9]+: c5 cb 10 d4 vmovsd %xmm4,%xmm6,%xmm2 +[ ]*[a-f0-9]+: c5 cb 11 e2 vmovsd.s %xmm4,%xmm6,%xmm2 +[ ]*[a-f0-9]+: c5 ca 10 d4 vmovss %xmm4,%xmm6,%xmm2 +[ ]*[a-f0-9]+: c5 ca 11 e2 vmovss.s %xmm4,%xmm6,%xmm2 [ ]*[a-f0-9]+: 0f 6f e0 movq %mm0,%mm4 [ ]*[a-f0-9]+: 0f 7f c4 movq.s %mm0,%mm4 #pass diff --git a/gas/testsuite/gas/i386/x86-64-avx-swap-intel.d b/gas/testsuite/gas/i386/x86-64-avx-swap-intel.d new file mode 100644 index 0000000..2bdfe0b --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-avx-swap-intel.d @@ -0,0 +1,60 @@ +#as: -msse2avx +#objdump: -drwMintel +#name: x86-64 AVX swap (Intel mode) +#source: x86-64-avx-swap.s + +.*: +file format .* + + +Disassembly of section .text: + +0+ <_start>: +[ ]*[a-f0-9]+: c5 7d 29 c6 vmovapd ymm6,ymm8 +[ ]*[a-f0-9]+: c5 7c 29 c6 vmovaps ymm6,ymm8 +[ ]*[a-f0-9]+: c5 7d 7f c6 vmovdqa ymm6,ymm8 +[ ]*[a-f0-9]+: c5 7e 7f c6 vmovdqu ymm6,ymm8 +[ ]*[a-f0-9]+: c5 7d 11 c6 vmovupd ymm6,ymm8 +[ ]*[a-f0-9]+: c5 7c 11 c6 vmovups ymm6,ymm8 +[ ]*[a-f0-9]+: c5 79 29 c6 vmovapd xmm6,xmm8 +[ ]*[a-f0-9]+: c5 78 29 c6 vmovaps xmm6,xmm8 +[ ]*[a-f0-9]+: c5 79 7f c6 vmovdqa xmm6,xmm8 +[ ]*[a-f0-9]+: c5 7a 7f c6 vmovdqu xmm6,xmm8 +[ ]*[a-f0-9]+: c5 79 d6 c6 vmovq xmm6,xmm8 +[ ]*[a-f0-9]+: c5 4b 11 c6 vmovsd xmm6,xmm6,xmm8 +[ ]*[a-f0-9]+: c5 4a 11 c6 vmovss xmm6,xmm6,xmm8 +[ ]*[a-f0-9]+: c5 79 11 c6 vmovupd xmm6,xmm8 +[ ]*[a-f0-9]+: c5 78 11 c6 vmovups xmm6,xmm8 +[ ]*[a-f0-9]+: c5 79 29 c6 vmovapd xmm6,xmm8 +[ ]*[a-f0-9]+: c5 78 29 c6 vmovaps xmm6,xmm8 +[ ]*[a-f0-9]+: c5 79 7f c6 vmovdqa xmm6,xmm8 +[ ]*[a-f0-9]+: c5 7a 7f c6 vmovdqu xmm6,xmm8 +[ ]*[a-f0-9]+: c5 79 d6 c6 vmovq xmm6,xmm8 +[ ]*[a-f0-9]+: c5 79 11 c6 vmovupd xmm6,xmm8 +[ ]*[a-f0-9]+: c5 78 11 c6 vmovups xmm6,xmm8 +[ ]*[a-f0-9]+: c5 4b 11 c2 vmovsd xmm2,xmm6,xmm8 +[ ]*[a-f0-9]+: c5 4a 11 c2 vmovss xmm2,xmm6,xmm8 +[ ]*[a-f0-9]+: c5 7d 29 c6 vmovapd ymm6,ymm8 +[ ]*[a-f0-9]+: c5 7c 29 c6 vmovaps ymm6,ymm8 +[ ]*[a-f0-9]+: c5 7d 7f c6 vmovdqa ymm6,ymm8 +[ ]*[a-f0-9]+: c5 7e 7f c6 vmovdqu ymm6,ymm8 +[ ]*[a-f0-9]+: c5 7d 11 c6 vmovupd ymm6,ymm8 +[ ]*[a-f0-9]+: c5 7c 11 c6 vmovups ymm6,ymm8 +[ ]*[a-f0-9]+: c5 79 29 c6 vmovapd xmm6,xmm8 +[ ]*[a-f0-9]+: c5 78 29 c6 vmovaps xmm6,xmm8 +[ ]*[a-f0-9]+: c5 79 7f c6 vmovdqa xmm6,xmm8 +[ ]*[a-f0-9]+: c5 7a 7f c6 vmovdqu xmm6,xmm8 +[ ]*[a-f0-9]+: c5 79 d6 c6 vmovq xmm6,xmm8 +[ ]*[a-f0-9]+: c5 4b 11 c6 vmovsd xmm6,xmm6,xmm8 +[ ]*[a-f0-9]+: c5 4a 11 c6 vmovss xmm6,xmm6,xmm8 +[ ]*[a-f0-9]+: c5 79 11 c6 vmovupd xmm6,xmm8 +[ ]*[a-f0-9]+: c5 78 11 c6 vmovups xmm6,xmm8 +[ ]*[a-f0-9]+: c5 79 29 c6 vmovapd xmm6,xmm8 +[ ]*[a-f0-9]+: c5 78 29 c6 vmovaps xmm6,xmm8 +[ ]*[a-f0-9]+: c5 79 7f c6 vmovdqa xmm6,xmm8 +[ ]*[a-f0-9]+: c5 7a 7f c6 vmovdqu xmm6,xmm8 +[ ]*[a-f0-9]+: c5 79 d6 c6 vmovq xmm6,xmm8 +[ ]*[a-f0-9]+: c5 79 11 c6 vmovupd xmm6,xmm8 +[ ]*[a-f0-9]+: c5 78 11 c6 vmovups xmm6,xmm8 +[ ]*[a-f0-9]+: c5 4b 11 c2 vmovsd xmm2,xmm6,xmm8 +[ ]*[a-f0-9]+: c5 4a 11 c2 vmovss xmm2,xmm6,xmm8 +#pass diff --git a/gas/testsuite/gas/i386/x86-64-avx-swap.d b/gas/testsuite/gas/i386/x86-64-avx-swap.d new file mode 100644 index 0000000..356f4e4 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-avx-swap.d @@ -0,0 +1,59 @@ +#as: -msse2avx +#objdump: -drw +#name: x86-64 AVX swap + +.*: +file format .* + + +Disassembly of section .text: + +0+ <_start>: +[ ]*[a-f0-9]+: c5 7d 29 c6 vmovapd %ymm8,%ymm6 +[ ]*[a-f0-9]+: c5 7c 29 c6 vmovaps %ymm8,%ymm6 +[ ]*[a-f0-9]+: c5 7d 7f c6 vmovdqa %ymm8,%ymm6 +[ ]*[a-f0-9]+: c5 7e 7f c6 vmovdqu %ymm8,%ymm6 +[ ]*[a-f0-9]+: c5 7d 11 c6 vmovupd %ymm8,%ymm6 +[ ]*[a-f0-9]+: c5 7c 11 c6 vmovups %ymm8,%ymm6 +[ ]*[a-f0-9]+: c5 79 29 c6 vmovapd %xmm8,%xmm6 +[ ]*[a-f0-9]+: c5 78 29 c6 vmovaps %xmm8,%xmm6 +[ ]*[a-f0-9]+: c5 79 7f c6 vmovdqa %xmm8,%xmm6 +[ ]*[a-f0-9]+: c5 7a 7f c6 vmovdqu %xmm8,%xmm6 +[ ]*[a-f0-9]+: c5 79 d6 c6 vmovq %xmm8,%xmm6 +[ ]*[a-f0-9]+: c5 4b 11 c6 vmovsd %xmm8,%xmm6,%xmm6 +[ ]*[a-f0-9]+: c5 4a 11 c6 vmovss %xmm8,%xmm6,%xmm6 +[ ]*[a-f0-9]+: c5 79 11 c6 vmovupd %xmm8,%xmm6 +[ ]*[a-f0-9]+: c5 78 11 c6 vmovups %xmm8,%xmm6 +[ ]*[a-f0-9]+: c5 79 29 c6 vmovapd %xmm8,%xmm6 +[ ]*[a-f0-9]+: c5 78 29 c6 vmovaps %xmm8,%xmm6 +[ ]*[a-f0-9]+: c5 79 7f c6 vmovdqa %xmm8,%xmm6 +[ ]*[a-f0-9]+: c5 7a 7f c6 vmovdqu %xmm8,%xmm6 +[ ]*[a-f0-9]+: c5 79 d6 c6 vmovq %xmm8,%xmm6 +[ ]*[a-f0-9]+: c5 79 11 c6 vmovupd %xmm8,%xmm6 +[ ]*[a-f0-9]+: c5 78 11 c6 vmovups %xmm8,%xmm6 +[ ]*[a-f0-9]+: c5 4b 11 c2 vmovsd %xmm8,%xmm6,%xmm2 +[ ]*[a-f0-9]+: c5 4a 11 c2 vmovss %xmm8,%xmm6,%xmm2 +[ ]*[a-f0-9]+: c5 7d 29 c6 vmovapd %ymm8,%ymm6 +[ ]*[a-f0-9]+: c5 7c 29 c6 vmovaps %ymm8,%ymm6 +[ ]*[a-f0-9]+: c5 7d 7f c6 vmovdqa %ymm8,%ymm6 +[ ]*[a-f0-9]+: c5 7e 7f c6 vmovdqu %ymm8,%ymm6 +[ ]*[a-f0-9]+: c5 7d 11 c6 vmovupd %ymm8,%ymm6 +[ ]*[a-f0-9]+: c5 7c 11 c6 vmovups %ymm8,%ymm6 +[ ]*[a-f0-9]+: c5 79 29 c6 vmovapd %xmm8,%xmm6 +[ ]*[a-f0-9]+: c5 78 29 c6 vmovaps %xmm8,%xmm6 +[ ]*[a-f0-9]+: c5 79 7f c6 vmovdqa %xmm8,%xmm6 +[ ]*[a-f0-9]+: c5 7a 7f c6 vmovdqu %xmm8,%xmm6 +[ ]*[a-f0-9]+: c5 79 d6 c6 vmovq %xmm8,%xmm6 +[ ]*[a-f0-9]+: c5 4b 11 c6 vmovsd %xmm8,%xmm6,%xmm6 +[ ]*[a-f0-9]+: c5 4a 11 c6 vmovss %xmm8,%xmm6,%xmm6 +[ ]*[a-f0-9]+: c5 79 11 c6 vmovupd %xmm8,%xmm6 +[ ]*[a-f0-9]+: c5 78 11 c6 vmovups %xmm8,%xmm6 +[ ]*[a-f0-9]+: c5 79 29 c6 vmovapd %xmm8,%xmm6 +[ ]*[a-f0-9]+: c5 78 29 c6 vmovaps %xmm8,%xmm6 +[ ]*[a-f0-9]+: c5 79 7f c6 vmovdqa %xmm8,%xmm6 +[ ]*[a-f0-9]+: c5 7a 7f c6 vmovdqu %xmm8,%xmm6 +[ ]*[a-f0-9]+: c5 79 d6 c6 vmovq %xmm8,%xmm6 +[ ]*[a-f0-9]+: c5 79 11 c6 vmovupd %xmm8,%xmm6 +[ ]*[a-f0-9]+: c5 78 11 c6 vmovups %xmm8,%xmm6 +[ ]*[a-f0-9]+: c5 4b 11 c2 vmovsd %xmm8,%xmm6,%xmm2 +[ ]*[a-f0-9]+: c5 4a 11 c2 vmovss %xmm8,%xmm6,%xmm2 +#pass diff --git a/gas/testsuite/gas/i386/x86-64-avx-swap.s b/gas/testsuite/gas/i386/x86-64-avx-swap.s new file mode 100644 index 0000000..5afe5cc --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-avx-swap.s @@ -0,0 +1,67 @@ +# Check 64bit instructions with encoding options + + .allow_index_reg + .text +_start: + +# Tests for op ymm, ymm + vmovapd %ymm8,%ymm6 + vmovaps %ymm8,%ymm6 + vmovdqa %ymm8,%ymm6 + vmovdqu %ymm8,%ymm6 + vmovupd %ymm8,%ymm6 + vmovups %ymm8,%ymm6 + +# Tests for op xmm, xmm + movapd %xmm8,%xmm6 + movaps %xmm8,%xmm6 + movdqa %xmm8,%xmm6 + movdqu %xmm8,%xmm6 + movq %xmm8,%xmm6 + movsd %xmm8,%xmm6 + movss %xmm8,%xmm6 + movupd %xmm8,%xmm6 + movups %xmm8,%xmm6 + vmovapd %xmm8,%xmm6 + vmovaps %xmm8,%xmm6 + vmovdqa %xmm8,%xmm6 + vmovdqu %xmm8,%xmm6 + vmovq %xmm8,%xmm6 + vmovupd %xmm8,%xmm6 + vmovups %xmm8,%xmm6 + +# Tests for op xmm, xmm, xmm + vmovsd %xmm8,%xmm6,%xmm2 + vmovss %xmm8,%xmm6,%xmm2 + + .intel_syntax noprefix + +# Tests for op ymm, ymm + vmovapd ymm6,ymm8 + vmovaps ymm6,ymm8 + vmovdqa ymm6,ymm8 + vmovdqu ymm6,ymm8 + vmovupd ymm6,ymm8 + vmovups ymm6,ymm8 + +# Tests for op xmm, xmm + movapd xmm6,xmm8 + movaps xmm6,xmm8 + movdqa xmm6,xmm8 + movdqu xmm6,xmm8 + movq xmm6,xmm8 + movsd xmm6,xmm8 + movss xmm6,xmm8 + movupd xmm6,xmm8 + movups xmm6,xmm8 + vmovapd xmm6,xmm8 + vmovaps xmm6,xmm8 + vmovdqa xmm6,xmm8 + vmovdqu xmm6,xmm8 + vmovq xmm6,xmm8 + vmovupd xmm6,xmm8 + vmovups xmm6,xmm8 + +# Tests for op xmm, xmm, xmm + vmovsd xmm2,xmm6,xmm8 + vmovss xmm2,xmm6,xmm8 diff --git a/gas/testsuite/gas/i386/x86-64-opts-intel.d b/gas/testsuite/gas/i386/x86-64-opts-intel.d index 3a92cb7..779d135 100644 --- a/gas/testsuite/gas/i386/x86-64-opts-intel.d +++ b/gas/testsuite/gas/i386/x86-64-opts-intel.d @@ -46,6 +46,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: f3 0f 7f e6 movdqu.s xmm6,xmm4 [ ]*[a-f0-9]+: f3 0f 7e f4 movq xmm6,xmm4 [ ]*[a-f0-9]+: 66 0f d6 e6 movq.s xmm6,xmm4 +[ ]*[a-f0-9]+: f2 0f 10 f4 movsd xmm6,xmm4 +[ ]*[a-f0-9]+: f2 0f 11 e6 movsd.s xmm6,xmm4 +[ ]*[a-f0-9]+: f3 0f 10 f4 movss xmm6,xmm4 +[ ]*[a-f0-9]+: f3 0f 11 e6 movss.s xmm6,xmm4 [ ]*[a-f0-9]+: 66 0f 10 f4 movupd xmm6,xmm4 [ ]*[a-f0-9]+: 66 0f 11 e6 movupd.s xmm6,xmm4 [ ]*[a-f0-9]+: 0f 10 f4 movups xmm6,xmm4 @@ -64,6 +68,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s xmm6,xmm4 [ ]*[a-f0-9]+: c5 f8 10 f4 vmovups xmm6,xmm4 [ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s xmm6,xmm4 +[ ]*[a-f0-9]+: c5 cb 10 d4 vmovsd xmm2,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 cb 11 e2 vmovsd.s xmm2,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 ca 10 d4 vmovss xmm2,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 ca 11 e2 vmovss.s xmm2,xmm6,xmm4 [ ]*[a-f0-9]+: 0f 6f e0 movq mm4,mm0 [ ]*[a-f0-9]+: 0f 7f c4 movq.s mm4,mm0 [ ]*[a-f0-9]+: 88 d1 mov cl,dl @@ -96,6 +104,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: f3 0f 7f e6 movdqu.s xmm6,xmm4 [ ]*[a-f0-9]+: f3 0f 7e f4 movq xmm6,xmm4 [ ]*[a-f0-9]+: 66 0f d6 e6 movq.s xmm6,xmm4 +[ ]*[a-f0-9]+: f2 0f 10 f4 movsd xmm6,xmm4 +[ ]*[a-f0-9]+: f2 0f 11 e6 movsd.s xmm6,xmm4 +[ ]*[a-f0-9]+: f3 0f 10 f4 movss xmm6,xmm4 +[ ]*[a-f0-9]+: f3 0f 11 e6 movss.s xmm6,xmm4 [ ]*[a-f0-9]+: 66 0f 10 f4 movupd xmm6,xmm4 [ ]*[a-f0-9]+: 66 0f 11 e6 movupd.s xmm6,xmm4 [ ]*[a-f0-9]+: 0f 10 f4 movups xmm6,xmm4 @@ -114,6 +126,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s xmm6,xmm4 [ ]*[a-f0-9]+: c5 f8 10 f4 vmovups xmm6,xmm4 [ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s xmm6,xmm4 +[ ]*[a-f0-9]+: c5 cb 10 d4 vmovsd xmm2,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 cb 11 e2 vmovsd.s xmm2,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 ca 10 d4 vmovss xmm2,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 ca 11 e2 vmovss.s xmm2,xmm6,xmm4 [ ]*[a-f0-9]+: 0f 6f e0 movq mm4,mm0 [ ]*[a-f0-9]+: 0f 7f c4 movq.s mm4,mm0 #pass diff --git a/gas/testsuite/gas/i386/x86-64-opts.d b/gas/testsuite/gas/i386/x86-64-opts.d index 43084cb..d50b4e8 100644 --- a/gas/testsuite/gas/i386/x86-64-opts.d +++ b/gas/testsuite/gas/i386/x86-64-opts.d @@ -45,6 +45,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: f3 0f 7f e6 movdqu.s %xmm4,%xmm6 [ ]*[a-f0-9]+: f3 0f 7e f4 movq %xmm4,%xmm6 [ ]*[a-f0-9]+: 66 0f d6 e6 movq.s %xmm4,%xmm6 +[ ]*[a-f0-9]+: f2 0f 10 f4 movsd %xmm4,%xmm6 +[ ]*[a-f0-9]+: f2 0f 11 e6 movsd.s %xmm4,%xmm6 +[ ]*[a-f0-9]+: f3 0f 10 f4 movss %xmm4,%xmm6 +[ ]*[a-f0-9]+: f3 0f 11 e6 movss.s %xmm4,%xmm6 [ ]*[a-f0-9]+: 66 0f 10 f4 movupd %xmm4,%xmm6 [ ]*[a-f0-9]+: 66 0f 11 e6 movupd.s %xmm4,%xmm6 [ ]*[a-f0-9]+: 0f 10 f4 movups %xmm4,%xmm6 @@ -63,6 +67,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f8 10 f4 vmovups %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s %xmm4,%xmm6 +[ ]*[a-f0-9]+: c5 cb 10 d4 vmovsd %xmm4,%xmm6,%xmm2 +[ ]*[a-f0-9]+: c5 cb 11 e2 vmovsd.s %xmm4,%xmm6,%xmm2 +[ ]*[a-f0-9]+: c5 ca 10 d4 vmovss %xmm4,%xmm6,%xmm2 +[ ]*[a-f0-9]+: c5 ca 11 e2 vmovss.s %xmm4,%xmm6,%xmm2 [ ]*[a-f0-9]+: 0f 6f e0 movq %mm0,%mm4 [ ]*[a-f0-9]+: 0f 7f c4 movq.s %mm0,%mm4 [ ]*[a-f0-9]+: 88 d1 movb %dl,%cl @@ -95,6 +103,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: f3 0f 7f e6 movdqu.s %xmm4,%xmm6 [ ]*[a-f0-9]+: f3 0f 7e f4 movq %xmm4,%xmm6 [ ]*[a-f0-9]+: 66 0f d6 e6 movq.s %xmm4,%xmm6 +[ ]*[a-f0-9]+: f2 0f 10 f4 movsd %xmm4,%xmm6 +[ ]*[a-f0-9]+: f2 0f 11 e6 movsd.s %xmm4,%xmm6 +[ ]*[a-f0-9]+: f3 0f 10 f4 movss %xmm4,%xmm6 +[ ]*[a-f0-9]+: f3 0f 11 e6 movss.s %xmm4,%xmm6 [ ]*[a-f0-9]+: 66 0f 10 f4 movupd %xmm4,%xmm6 [ ]*[a-f0-9]+: 66 0f 11 e6 movupd.s %xmm4,%xmm6 [ ]*[a-f0-9]+: 0f 10 f4 movups %xmm4,%xmm6 @@ -113,6 +125,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f8 10 f4 vmovups %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s %xmm4,%xmm6 +[ ]*[a-f0-9]+: c5 cb 10 d4 vmovsd %xmm4,%xmm6,%xmm2 +[ ]*[a-f0-9]+: c5 cb 11 e2 vmovsd.s %xmm4,%xmm6,%xmm2 +[ ]*[a-f0-9]+: c5 ca 10 d4 vmovss %xmm4,%xmm6,%xmm2 +[ ]*[a-f0-9]+: c5 ca 11 e2 vmovss.s %xmm4,%xmm6,%xmm2 [ ]*[a-f0-9]+: 0f 6f e0 movq %mm0,%mm4 [ ]*[a-f0-9]+: 0f 7f c4 movq.s %mm0,%mm4 #pass diff --git a/gas/testsuite/gas/i386/x86-64-opts.s b/gas/testsuite/gas/i386/x86-64-opts.s index fc3aa67..aa8e706 100644 --- a/gas/testsuite/gas/i386/x86-64-opts.s +++ b/gas/testsuite/gas/i386/x86-64-opts.s @@ -47,6 +47,10 @@ _start: 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 @@ -66,6 +70,12 @@ _start: 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 @@ -107,6 +117,10 @@ _start: 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 @@ -126,6 +140,12 @@ _start: 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 diff --git a/gas/testsuite/gas/i386/x86-64-sse2avx-opts-intel.d b/gas/testsuite/gas/i386/x86-64-sse2avx-opts-intel.d index b1b7f3d..23513ba 100644 --- a/gas/testsuite/gas/i386/x86-64-sse2avx-opts-intel.d +++ b/gas/testsuite/gas/i386/x86-64-sse2avx-opts-intel.d @@ -47,6 +47,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s xmm6,xmm4 [ ]*[a-f0-9]+: c5 fa 7e f4 vmovq xmm6,xmm4 [ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s xmm6,xmm4 +[ ]*[a-f0-9]+: c5 cb 10 f4 vmovsd xmm6,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 cb 11 e6 vmovsd.s xmm6,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 ca 10 f4 vmovss xmm6,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 ca 11 e6 vmovss.s xmm6,xmm6,xmm4 [ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd xmm6,xmm4 [ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s xmm6,xmm4 [ ]*[a-f0-9]+: c5 f8 10 f4 vmovups xmm6,xmm4 @@ -65,6 +69,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s xmm6,xmm4 [ ]*[a-f0-9]+: c5 f8 10 f4 vmovups xmm6,xmm4 [ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s xmm6,xmm4 +[ ]*[a-f0-9]+: c5 cb 10 d4 vmovsd xmm2,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 cb 11 e2 vmovsd.s xmm2,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 ca 10 d4 vmovss xmm2,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 ca 11 e2 vmovss.s xmm2,xmm6,xmm4 [ ]*[a-f0-9]+: 0f 6f e0 movq mm4,mm0 [ ]*[a-f0-9]+: 0f 7f c4 movq.s mm4,mm0 [ ]*[a-f0-9]+: 88 d1 mov cl,dl @@ -97,6 +105,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s xmm6,xmm4 [ ]*[a-f0-9]+: c5 fa 7e f4 vmovq xmm6,xmm4 [ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s xmm6,xmm4 +[ ]*[a-f0-9]+: c5 cb 10 f4 vmovsd xmm6,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 cb 11 e6 vmovsd.s xmm6,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 ca 10 f4 vmovss xmm6,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 ca 11 e6 vmovss.s xmm6,xmm6,xmm4 [ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd xmm6,xmm4 [ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s xmm6,xmm4 [ ]*[a-f0-9]+: c5 f8 10 f4 vmovups xmm6,xmm4 @@ -115,6 +127,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s xmm6,xmm4 [ ]*[a-f0-9]+: c5 f8 10 f4 vmovups xmm6,xmm4 [ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s xmm6,xmm4 +[ ]*[a-f0-9]+: c5 cb 10 d4 vmovsd xmm2,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 cb 11 e2 vmovsd.s xmm2,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 ca 10 d4 vmovss xmm2,xmm6,xmm4 +[ ]*[a-f0-9]+: c5 ca 11 e2 vmovss.s xmm2,xmm6,xmm4 [ ]*[a-f0-9]+: 0f 6f e0 movq mm4,mm0 [ ]*[a-f0-9]+: 0f 7f c4 movq.s mm4,mm0 #pass diff --git a/gas/testsuite/gas/i386/x86-64-sse2avx-opts.d b/gas/testsuite/gas/i386/x86-64-sse2avx-opts.d index e600917..6637faf 100644 --- a/gas/testsuite/gas/i386/x86-64-sse2avx-opts.d +++ b/gas/testsuite/gas/i386/x86-64-sse2avx-opts.d @@ -47,6 +47,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 fa 7e f4 vmovq %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s %xmm4,%xmm6 +[ ]*[a-f0-9]+: c5 cb 10 f4 vmovsd %xmm4,%xmm6,%xmm6 +[ ]*[a-f0-9]+: c5 cb 11 e6 vmovsd.s %xmm4,%xmm6,%xmm6 +[ ]*[a-f0-9]+: c5 ca 10 f4 vmovss %xmm4,%xmm6,%xmm6 +[ ]*[a-f0-9]+: c5 ca 11 e6 vmovss.s %xmm4,%xmm6,%xmm6 [ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f8 10 f4 vmovups %xmm4,%xmm6 @@ -65,6 +69,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f8 10 f4 vmovups %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s %xmm4,%xmm6 +[ ]*[a-f0-9]+: c5 cb 10 d4 vmovsd %xmm4,%xmm6,%xmm2 +[ ]*[a-f0-9]+: c5 cb 11 e2 vmovsd.s %xmm4,%xmm6,%xmm2 +[ ]*[a-f0-9]+: c5 ca 10 d4 vmovss %xmm4,%xmm6,%xmm2 +[ ]*[a-f0-9]+: c5 ca 11 e2 vmovss.s %xmm4,%xmm6,%xmm2 [ ]*[a-f0-9]+: 0f 6f e0 movq %mm0,%mm4 [ ]*[a-f0-9]+: 0f 7f c4 movq.s %mm0,%mm4 [ ]*[a-f0-9]+: 88 d1 movb %dl,%cl @@ -97,6 +105,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 fa 7e f4 vmovq %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s %xmm4,%xmm6 +[ ]*[a-f0-9]+: c5 cb 10 f4 vmovsd %xmm4,%xmm6,%xmm6 +[ ]*[a-f0-9]+: c5 cb 11 e6 vmovsd.s %xmm4,%xmm6,%xmm6 +[ ]*[a-f0-9]+: c5 ca 10 f4 vmovss %xmm4,%xmm6,%xmm6 +[ ]*[a-f0-9]+: c5 ca 11 e6 vmovss.s %xmm4,%xmm6,%xmm6 [ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f8 10 f4 vmovups %xmm4,%xmm6 @@ -115,6 +127,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f8 10 f4 vmovups %xmm4,%xmm6 [ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s %xmm4,%xmm6 +[ ]*[a-f0-9]+: c5 cb 10 d4 vmovsd %xmm4,%xmm6,%xmm2 +[ ]*[a-f0-9]+: c5 cb 11 e2 vmovsd.s %xmm4,%xmm6,%xmm2 +[ ]*[a-f0-9]+: c5 ca 10 d4 vmovss %xmm4,%xmm6,%xmm2 +[ ]*[a-f0-9]+: c5 ca 11 e2 vmovss.s %xmm4,%xmm6,%xmm2 [ ]*[a-f0-9]+: 0f 6f e0 movq %mm0,%mm4 [ ]*[a-f0-9]+: 0f 7f c4 movq.s %mm0,%mm4 #pass |