aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2008-12-23 15:14:15 +0000
committerH.J. Lu <hjl.tools@gmail.com>2008-12-23 15:14:15 +0000
commitfa99fab2229b2e05faf2d2939e841c1d4a0b82b6 (patch)
tree2f5f3bdefffb30c8e8834c1ce2f9b66809ff73f4 /gas/testsuite
parentfeddcd0d460b9d7810013e54c39132b25bcd512b (diff)
downloadgdb-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/ChangeLog21
-rw-r--r--gas/testsuite/gas/i386/i386.exp2
-rw-r--r--gas/testsuite/gas/i386/opts-intel.d16
-rw-r--r--gas/testsuite/gas/i386/opts.d16
-rw-r--r--gas/testsuite/gas/i386/opts.s20
-rw-r--r--gas/testsuite/gas/i386/sse2avx-opts-intel.d16
-rw-r--r--gas/testsuite/gas/i386/sse2avx-opts.d16
-rw-r--r--gas/testsuite/gas/i386/x86-64-avx-swap-intel.d60
-rw-r--r--gas/testsuite/gas/i386/x86-64-avx-swap.d59
-rw-r--r--gas/testsuite/gas/i386/x86-64-avx-swap.s67
-rw-r--r--gas/testsuite/gas/i386/x86-64-opts-intel.d16
-rw-r--r--gas/testsuite/gas/i386/x86-64-opts.d16
-rw-r--r--gas/testsuite/gas/i386/x86-64-opts.s20
-rw-r--r--gas/testsuite/gas/i386/x86-64-sse2avx-opts-intel.d16
-rw-r--r--gas/testsuite/gas/i386/x86-64-sse2avx-opts.d16
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