aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2007-12-31 15:42:22 +0000
committerH.J. Lu <hjl.tools@gmail.com>2007-12-31 15:42:22 +0000
commit98b528ac84b99ab40e7cbb46d50c81bba7545649 (patch)
treecd1458e1ef777a70615897ff0107e344ca6c0746
parent281153f387316e092d3c8fb35a1898728d524665 (diff)
downloadfsf-binutils-gdb-98b528ac84b99ab40e7cbb46d50c81bba7545649.zip
fsf-binutils-gdb-98b528ac84b99ab40e7cbb46d50c81bba7545649.tar.gz
fsf-binutils-gdb-98b528ac84b99ab40e7cbb46d50c81bba7545649.tar.bz2
gas/testsuite/
2007-12-31 H.J. Lu <hongjiu.lu@intel.com> * gas/i386/inval.s: Add test for cvtsi2ss/cvtsi2sd. * gas/i386/simd.s: Likewise. * gas/i386/x86-64-simd.s: Likewise. * gas/i386/inval.l: Updated. * gas/i386/simd-intel.d: Likewise. * gas/i386/simd-suffix.d: Likewise. * gas/i386/simd.d: Likewise. * gas/i386/sse2.d: Likewise. * gas/i386/x86-64-opcode.d: Likewise. * gas/i386/x86-64-simd-intel.d: Likewise. * gas/i386/x86-64-simd-suffix.d: Likewise. * gas/i386/x86-64-simd.d: Likewise. opcodes/ 2007-12-31 H.J. Lu <hongjiu.lu@intel.com> * i386-dis.c (prefix_table): Use "%LQ" on cvtpi2ps/cvtsi2sd. (putop): Handle '%' and "LQ". * i386-opc.tbl: Remove IgnoreSize from cvtpi2ps/cvtsi2sd. * i386-tbl.h: Regenerated.
-rw-r--r--gas/testsuite/ChangeLog16
-rw-r--r--gas/testsuite/gas/i386/inval.l117
-rw-r--r--gas/testsuite/gas/i386/inval.s8
-rw-r--r--gas/testsuite/gas/i386/simd-intel.d16
-rw-r--r--gas/testsuite/gas/i386/simd-suffix.d16
-rw-r--r--gas/testsuite/gas/i386/simd.d16
-rw-r--r--gas/testsuite/gas/i386/simd.s17
-rw-r--r--gas/testsuite/gas/i386/sse2.d2
-rw-r--r--gas/testsuite/gas/i386/x86-64-opcode.d64
-rw-r--r--gas/testsuite/gas/i386/x86-64-simd-intel.d148
-rw-r--r--gas/testsuite/gas/i386/x86-64-simd-suffix.d148
-rw-r--r--gas/testsuite/gas/i386/x86-64-simd.d148
-rw-r--r--gas/testsuite/gas/i386/x86-64-simd.s30
-rw-r--r--opcodes/ChangeLog8
-rw-r--r--opcodes/i386-dis.c84
-rw-r--r--opcodes/i386-opc.tbl4
-rw-r--r--opcodes/i386-tbl.h4
17 files changed, 563 insertions, 283 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 7e2d6ca..0d07d91 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,19 @@
+2007-12-31 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gas/i386/inval.s: Add test for cvtsi2ss/cvtsi2sd.
+ * gas/i386/simd.s: Likewise.
+ * gas/i386/x86-64-simd.s: Likewise.
+
+ * gas/i386/inval.l: Updated.
+ * gas/i386/simd-intel.d: Likewise.
+ * gas/i386/simd-suffix.d: Likewise.
+ * gas/i386/simd.d: Likewise.
+ * gas/i386/sse2.d: Likewise.
+ * gas/i386/x86-64-opcode.d: Likewise.
+ * gas/i386/x86-64-simd-intel.d: Likewise.
+ * gas/i386/x86-64-simd-suffix.d: Likewise.
+ * gas/i386/x86-64-simd.d: Likewise.
+
2007-12-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* gas/all/gas.exp: Skip relax test on hppa*-*-hpux*.
diff --git a/gas/testsuite/gas/i386/inval.l b/gas/testsuite/gas/i386/inval.l
index 8abcbde..41cb399 100644
--- a/gas/testsuite/gas/i386/inval.l
+++ b/gas/testsuite/gas/i386/inval.l
@@ -47,56 +47,73 @@
.*:48: Error: .*
.*:49: Error: .*
.*:50: Error: .*
+.*:51: Error: .*
+.*:52: Error: .*
+.*:55: Error: .*
+.*:56: Error: .*
+.*:57: Error: .*
+.*:58: Error: .*
GAS LISTING .*
- 1 [ ]* .text
- 2 [ ]*# All the following should be illegal
- 3 [ ]* mov \(%dx\),%al
- 4 [ ]* mov \(%eax,%esp,2\),%al
- 5 [ ]* setae %eax
- 6 [ ]* pushb %ds
- 7 [ ]* popb %ds
- 8 [ ]* pushb %al
- 9 [ ]* popb %al
- 10 [ ]* pushb %ah
- 11 [ ]* popb %ah
- 12 [ ]* pushb %ax
- 13 [ ]* popb %ax
- 14 [ ]* pushb %eax
- 15 [ ]* popb %eax
- 16 [ ]* movb %ds,%ax
- 17 [ ]* movb %ds,%eax
- 18 [ ]* movb %ax,%ds
- 19 [ ]* movb %eax,%ds
- 20 [ ]* movdb %eax,%mm0
- 21 [ ]* movqb 0,%mm0
- 22 [ ]* ldsb 0,%eax
- 23 [ ]* setnew 0
- 24 [ ]* movdw %eax,%mm0
- 25 [ ]* movqw 0,%mm0
- 26 [ ]* div %cx,%al
- 27 [ ]* div %cl,%ax
- 28 [ ]* div %ecx,%al
- 29 [ ]* imul 10,%bx,%ecx
- 30 [ ]* imul 10,%bx,%al
- 31 [ ]* popab
- 32 [ ]* stil
- 33 [ ]* aaab
- 34 [ ]* cwdel
- 35 [ ]* cwdw
- 36 [ ]* callww 0
- 37 [ ]*foo: jaw foo
- 38 [ ]* jcxzw foo
- 39 [ ]* jecxzl foo
- 40 [ ]* loopb foo
- 41 [ ]* xlatw %es:%bx
- 42 [ ]* xlatl %es:%bx
- 43 [ ]* intl 2
- 44 [ ]* int3b
- 45 [ ]* hltb
- 46 [ ]* fstb %st\(0\)
- 47 [ ]* fcompll 28\(%ebp\)
- 48 [ ]* fldlw \(%eax\)
- 49 [ ]* movl \$%ebx,%eax
- 50 [ ]* insertq \$4,\$2,%xmm2,%ebx
+[ ]*1[ ]+\.text
+[ ]*2[ ]+\# All the following should be illegal
+[ ]*3[ ]+mov \(%dx\),%al
+[ ]*4[ ]+mov \(%eax,%esp,2\),%al
+[ ]*5[ ]+setae %eax
+[ ]*6[ ]+pushb %ds
+[ ]*7[ ]+popb %ds
+[ ]*8[ ]+pushb %al
+[ ]*9[ ]+popb %al
+[ ]*10[ ]+pushb %ah
+[ ]*11[ ]+popb %ah
+[ ]*12[ ]+pushb %ax
+[ ]*13[ ]+popb %ax
+[ ]*14[ ]+pushb %eax
+[ ]*15[ ]+popb %eax
+[ ]*16[ ]+movb %ds,%ax
+[ ]*17[ ]+movb %ds,%eax
+[ ]*18[ ]+movb %ax,%ds
+[ ]*19[ ]+movb %eax,%ds
+[ ]*20[ ]+movdb %eax,%mm0
+[ ]*21[ ]+movqb 0,%mm0
+[ ]*22[ ]+ldsb 0,%eax
+[ ]*23[ ]+setnew 0
+[ ]*24[ ]+movdw %eax,%mm0
+[ ]*25[ ]+movqw 0,%mm0
+[ ]*26[ ]+div %cx,%al
+[ ]*27[ ]+div %cl,%ax
+[ ]*28[ ]+div %ecx,%al
+[ ]*29[ ]+imul 10,%bx,%ecx
+[ ]*30[ ]+imul 10,%bx,%al
+[ ]*31[ ]+popab
+[ ]*32[ ]+stil
+[ ]*33[ ]+aaab
+[ ]*34[ ]+cwdel
+[ ]*35[ ]+cwdw
+[ ]*36[ ]+callww 0
+[ ]*37[ ]+foo: jaw foo
+[ ]*38[ ]+jcxzw foo
+[ ]*39[ ]+jecxzl foo
+[ ]*40[ ]+loopb foo
+[ ]*41[ ]+xlatw %es:%bx
+[ ]*42[ ]+xlatl %es:%bx
+[ ]*43[ ]+intl 2
+[ ]*44[ ]+int3b
+[ ]*45[ ]+hltb
+[ ]*46[ ]+fstb %st\(0\)
+[ ]*47[ ]+fcompll 28\(%ebp\)
+[ ]*48[ ]+fldlw \(%eax\)
+[ ]*49[ ]+movl \$%ebx,%eax
+[ ]*50[ ]+insertq \$4,\$2,%xmm2,%ebx
+[ ]*51[ ]+cvtsi2ssq \(%eax\),%xmm1
+[ ]*52[ ]+cvtsi2sdq \(%eax\),%xmm1
+[ ]*53[ ]+
+[ ]*54[ ]+\.intel_syntax noprefix
+[ ]*55[ ]+cvtsi2ss xmm1,QWORD PTR \[eax\]
+[ ]*56[ ]+cvtsi2sd xmm1,QWORD PTR \[eax\]
+[ ]*57[ ]+cvtsi2ssq xmm1,QWORD PTR \[eax\]
+ GAS LISTING .*
+
+
+[ ]*58[ ]+cvtsi2sdq xmm1,QWORD PTR \[eax\]
diff --git a/gas/testsuite/gas/i386/inval.s b/gas/testsuite/gas/i386/inval.s
index 5b440ed..e108175 100644
--- a/gas/testsuite/gas/i386/inval.s
+++ b/gas/testsuite/gas/i386/inval.s
@@ -48,3 +48,11 @@ foo: jaw foo
fldlw (%eax)
movl $%ebx,%eax
insertq $4,$2,%xmm2,%ebx
+ cvtsi2ssq (%eax),%xmm1
+ cvtsi2sdq (%eax),%xmm1
+
+ .intel_syntax noprefix
+ cvtsi2ss xmm1,QWORD PTR [eax]
+ cvtsi2sd xmm1,QWORD PTR [eax]
+ cvtsi2ssq xmm1,QWORD PTR [eax]
+ cvtsi2sdq xmm1,QWORD PTR [eax]
diff --git a/gas/testsuite/gas/i386/simd-intel.d b/gas/testsuite/gas/i386/simd-intel.d
index 8ed8927..559512e 100644
--- a/gas/testsuite/gas/i386/simd-intel.d
+++ b/gas/testsuite/gas/i386/simd-intel.d
@@ -93,6 +93,14 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: f3 0f c2 38 10 cmpss xmm7,DWORD PTR \[eax\],0x10
[ ]*[a-f0-9]+: f2 0f c2 f7 10 cmpsd xmm6,xmm7,0x10
[ ]*[a-f0-9]+: f2 0f c2 38 10 cmpsd xmm7,QWORD PTR \[eax\],0x10
+[ ]*[a-f0-9]+: f3 0f 2a c8 cvtsi2ss xmm1,eax
+[ ]*[a-f0-9]+: f2 0f 2a c8 cvtsi2sd xmm1,eax
+[ ]*[a-f0-9]+: f3 0f 2a c8 cvtsi2ss xmm1,eax
+[ ]*[a-f0-9]+: f2 0f 2a c8 cvtsi2sd xmm1,eax
+[ ]*[a-f0-9]+: f3 0f 2a 08 cvtsi2ss xmm1,DWORD PTR \[eax\]
+[ ]*[a-f0-9]+: f2 0f 2a 08 cvtsi2sd xmm1,DWORD PTR \[eax\]
+[ ]*[a-f0-9]+: f3 0f 2a 08 cvtsi2ss xmm1,DWORD PTR \[eax\]
+[ ]*[a-f0-9]+: f2 0f 2a 08 cvtsi2sd xmm1,DWORD PTR \[eax\]
[ ]*[a-f0-9]+: f2 0f d0 0d 78 56 34 12 addsubps xmm1,XMMWORD PTR ds:0x12345678
[ ]*[a-f0-9]+: 66 0f 2f 0d 78 56 34 12 comisd xmm1,QWORD PTR ds:0x12345678
[ ]*[a-f0-9]+: 0f 2f 0d 78 56 34 12 comiss xmm1,DWORD PTR ds:0x12345678
@@ -178,4 +186,12 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: f3 0f c2 38 10 cmpss xmm7,DWORD PTR \[eax\],0x10
[ ]*[a-f0-9]+: f2 0f c2 f7 10 cmpsd xmm6,xmm7,0x10
[ ]*[a-f0-9]+: f2 0f c2 38 10 cmpsd xmm7,QWORD PTR \[eax\],0x10
+[ ]*[a-f0-9]+: f3 0f 2a c8 cvtsi2ss xmm1,eax
+[ ]*[a-f0-9]+: f2 0f 2a c8 cvtsi2sd xmm1,eax
+[ ]*[a-f0-9]+: f3 0f 2a c8 cvtsi2ss xmm1,eax
+[ ]*[a-f0-9]+: f2 0f 2a c8 cvtsi2sd xmm1,eax
+[ ]*[a-f0-9]+: f3 0f 2a 08 cvtsi2ss xmm1,DWORD PTR \[eax\]
+[ ]*[a-f0-9]+: f2 0f 2a 08 cvtsi2sd xmm1,DWORD PTR \[eax\]
+[ ]*[a-f0-9]+: f3 0f 2a 08 cvtsi2ss xmm1,DWORD PTR \[eax\]
+[ ]*[a-f0-9]+: f2 0f 2a 08 cvtsi2sd xmm1,DWORD PTR \[eax\]
#pass
diff --git a/gas/testsuite/gas/i386/simd-suffix.d b/gas/testsuite/gas/i386/simd-suffix.d
index abae5b7..5102733 100644
--- a/gas/testsuite/gas/i386/simd-suffix.d
+++ b/gas/testsuite/gas/i386/simd-suffix.d
@@ -93,6 +93,14 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: f3 0f c2 38 10 cmpss \$0x10,\(%eax\),%xmm7
[ ]*[a-f0-9]+: f2 0f c2 f7 10 cmpsd \$0x10,%xmm7,%xmm6
[ ]*[a-f0-9]+: f2 0f c2 38 10 cmpsd \$0x10,\(%eax\),%xmm7
+[ ]*[a-f0-9]+: f3 0f 2a c8 cvtsi2ssl %eax,%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a c8 cvtsi2sdl %eax,%xmm1
+[ ]*[a-f0-9]+: f3 0f 2a c8 cvtsi2ssl %eax,%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a c8 cvtsi2sdl %eax,%xmm1
+[ ]*[a-f0-9]+: f3 0f 2a 08 cvtsi2ssl \(%eax\),%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a 08 cvtsi2sdl \(%eax\),%xmm1
+[ ]*[a-f0-9]+: f3 0f 2a 08 cvtsi2ssl \(%eax\),%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a 08 cvtsi2sdl \(%eax\),%xmm1
[ ]*[a-f0-9]+: f2 0f d0 0d 78 56 34 12 addsubps 0x12345678,%xmm1
[ ]*[a-f0-9]+: 66 0f 2f 0d 78 56 34 12 comisd 0x12345678,%xmm1
[ ]*[a-f0-9]+: 0f 2f 0d 78 56 34 12 comiss 0x12345678,%xmm1
@@ -178,4 +186,12 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: f3 0f c2 38 10 cmpss \$0x10,\(%eax\),%xmm7
[ ]*[a-f0-9]+: f2 0f c2 f7 10 cmpsd \$0x10,%xmm7,%xmm6
[ ]*[a-f0-9]+: f2 0f c2 38 10 cmpsd \$0x10,\(%eax\),%xmm7
+[ ]*[a-f0-9]+: f3 0f 2a c8 cvtsi2ssl %eax,%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a c8 cvtsi2sdl %eax,%xmm1
+[ ]*[a-f0-9]+: f3 0f 2a c8 cvtsi2ssl %eax,%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a c8 cvtsi2sdl %eax,%xmm1
+[ ]*[a-f0-9]+: f3 0f 2a 08 cvtsi2ssl \(%eax\),%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a 08 cvtsi2sdl \(%eax\),%xmm1
+[ ]*[a-f0-9]+: f3 0f 2a 08 cvtsi2ssl \(%eax\),%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a 08 cvtsi2sdl \(%eax\),%xmm1
#pass
diff --git a/gas/testsuite/gas/i386/simd.d b/gas/testsuite/gas/i386/simd.d
index d355ffe..e19fb84 100644
--- a/gas/testsuite/gas/i386/simd.d
+++ b/gas/testsuite/gas/i386/simd.d
@@ -92,6 +92,14 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: f3 0f c2 38 10 cmpss \$0x10,\(%eax\),%xmm7
[ ]*[a-f0-9]+: f2 0f c2 f7 10 cmpsd \$0x10,%xmm7,%xmm6
[ ]*[a-f0-9]+: f2 0f c2 38 10 cmpsd \$0x10,\(%eax\),%xmm7
+[ ]*[a-f0-9]+: f3 0f 2a c8 cvtsi2ss %eax,%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a c8 cvtsi2sd %eax,%xmm1
+[ ]*[a-f0-9]+: f3 0f 2a c8 cvtsi2ss %eax,%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a c8 cvtsi2sd %eax,%xmm1
+[ ]*[a-f0-9]+: f3 0f 2a 08 cvtsi2ssl \(%eax\),%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a 08 cvtsi2sdl \(%eax\),%xmm1
+[ ]*[a-f0-9]+: f3 0f 2a 08 cvtsi2ssl \(%eax\),%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a 08 cvtsi2sdl \(%eax\),%xmm1
[ ]*[a-f0-9]+: f2 0f d0 0d 78 56 34 12 addsubps 0x12345678,%xmm1
[ ]*[a-f0-9]+: 66 0f 2f 0d 78 56 34 12 comisd 0x12345678,%xmm1
[ ]*[a-f0-9]+: 0f 2f 0d 78 56 34 12 comiss 0x12345678,%xmm1
@@ -177,4 +185,12 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: f3 0f c2 38 10 cmpss \$0x10,\(%eax\),%xmm7
[ ]*[a-f0-9]+: f2 0f c2 f7 10 cmpsd \$0x10,%xmm7,%xmm6
[ ]*[a-f0-9]+: f2 0f c2 38 10 cmpsd \$0x10,\(%eax\),%xmm7
+[ ]*[a-f0-9]+: f3 0f 2a c8 cvtsi2ss %eax,%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a c8 cvtsi2sd %eax,%xmm1
+[ ]*[a-f0-9]+: f3 0f 2a c8 cvtsi2ss %eax,%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a c8 cvtsi2sd %eax,%xmm1
+[ ]*[a-f0-9]+: f3 0f 2a 08 cvtsi2ssl \(%eax\),%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a 08 cvtsi2sdl \(%eax\),%xmm1
+[ ]*[a-f0-9]+: f3 0f 2a 08 cvtsi2ssl \(%eax\),%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a 08 cvtsi2sdl \(%eax\),%xmm1
#pass
diff --git a/gas/testsuite/gas/i386/simd.s b/gas/testsuite/gas/i386/simd.s
index 4854d60..edb4ccc 100644
--- a/gas/testsuite/gas/i386/simd.s
+++ b/gas/testsuite/gas/i386/simd.s
@@ -90,6 +90,15 @@ cmpss $0x10,(%eax),%xmm7
cmpsd $0x10,%xmm7,%xmm6
cmpsd $0x10,(%eax),%xmm7
+ cvtsi2ss %eax, %xmm1
+ cvtsi2sd %eax, %xmm1
+ cvtsi2ssl %eax, %xmm1
+ cvtsi2sdl %eax, %xmm1
+ cvtsi2ss (%eax), %xmm1
+ cvtsi2sd (%eax), %xmm1
+ cvtsi2ssl (%eax), %xmm1
+ cvtsi2sdl (%eax), %xmm1
+
.intel_syntax noprefix
addsubps xmm1,XMMWORD PTR ds:0x12345678
@@ -177,3 +186,11 @@ cmpss xmm6,xmm7,0x10
cmpss xmm7,DWORD PTR [eax],0x10
cmpsd xmm6,xmm7,0x10
cmpsd xmm7,QWORD PTR [eax],0x10
+cvtsi2ss xmm1,eax
+cvtsi2sd xmm1,eax
+cvtsi2ssd xmm1,eax
+cvtsi2sdd xmm1,eax
+cvtsi2ss xmm1,DWORD PTR [eax]
+cvtsi2sd xmm1,DWORD PTR [eax]
+cvtsi2ssd xmm1,DWORD PTR [eax]
+cvtsi2sdd xmm1,DWORD PTR [eax]
diff --git a/gas/testsuite/gas/i386/sse2.d b/gas/testsuite/gas/i386/sse2.d
index 8b067f56..55ebb13 100644
--- a/gas/testsuite/gas/i386/sse2.d
+++ b/gas/testsuite/gas/i386/sse2.d
@@ -64,7 +64,7 @@ Disassembly of section .text:
102: 66 0f 2a d3[ ]+cvtpi2pd %mm3,%xmm2
106: 66 0f 2a 1c 24[ ]+cvtpi2pd \(%esp\),%xmm3
10b: f2 0f 2a e5[ ]+cvtsi2sd %ebp,%xmm4
- 10f: f2 0f 2a 2e[ ]+cvtsi2sd \(%esi\),%xmm5
+ 10f: f2 0f 2a 2e[ ]+cvtsi2sdl \(%esi\),%xmm5
113: 66 0f 2d f7[ ]+cvtpd2pi %xmm7,%mm6
117: 66 0f 2d 38[ ]+cvtpd2pi \(%eax\),%mm7
11b: f2 0f 2d 01[ ]+cvtsd2si \(%ecx\),%eax
diff --git a/gas/testsuite/gas/i386/x86-64-opcode.d b/gas/testsuite/gas/i386/x86-64-opcode.d
index 338548f..6641097 100644
--- a/gas/testsuite/gas/i386/x86-64-opcode.d
+++ b/gas/testsuite/gas/i386/x86-64-opcode.d
@@ -126,46 +126,46 @@ Disassembly of section .text:
[ ]*[0-9a-f]+:[ ]+f3 4c 0f 2c c7[ ]+cvttss2si[ ]+%xmm7,%r8[ ]*(#.*)*
[ ]*[0-9a-f]+:[ ]+f3 48 0f 2c c7[ ]+cvttss2si[ ]+%xmm7,%rax[ ]*(#.*)*
[ ]*[0-9a-f]+:[ ]+f3 4c 0f 2c c0[ ]+cvttss2si[ ]+%xmm0,%r8[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f3 41 0f 2a 00[ ]+cvtsi2ss[ ]+\(%r8\),%xmm0[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f3 0f 2a 00[ ]+cvtsi2ss[ ]+\(%rax\),%xmm0[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f3 45 0f 2a 38[ ]+cvtsi2ss[ ]+\(%r8\),%xmm15[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f3 44 0f 2a 38[ ]+cvtsi2ss[ ]+\(%rax\),%xmm15[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f3 45 0f 2a 00[ ]+cvtsi2ss[ ]+\(%r8\),%xmm8[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f3 44 0f 2a 00[ ]+cvtsi2ss[ ]+\(%rax\),%xmm8[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f3 41 0f 2a 38[ ]+cvtsi2ss[ ]+\(%r8\),%xmm7[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f3 0f 2a 38[ ]+cvtsi2ss[ ]+\(%rax\),%xmm7[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f3 41 0f 2a 00[ ]+cvtsi2ssl[ ]+\(%r8\),%xmm0[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f3 0f 2a 00[ ]+cvtsi2ssl[ ]+\(%rax\),%xmm0[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f3 45 0f 2a 38[ ]+cvtsi2ssl[ ]+\(%r8\),%xmm15[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f3 44 0f 2a 38[ ]+cvtsi2ssl[ ]+\(%rax\),%xmm15[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f3 45 0f 2a 00[ ]+cvtsi2ssl[ ]+\(%r8\),%xmm8[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f3 44 0f 2a 00[ ]+cvtsi2ssl[ ]+\(%rax\),%xmm8[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f3 41 0f 2a 38[ ]+cvtsi2ssl[ ]+\(%r8\),%xmm7[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f3 0f 2a 38[ ]+cvtsi2ssl[ ]+\(%rax\),%xmm7[ ]*(#.*)*
[ ]*[0-9a-f]+:[ ]+f3 0f 2a c0[ ]+cvtsi2ss[ ]+%eax,%xmm0[ ]*(#.*)*
[ ]*[0-9a-f]+:[ ]+f3 44 0f 2a f8[ ]+cvtsi2ss[ ]+%eax,%xmm15[ ]*(#.*)*
[ ]*[0-9a-f]+:[ ]+f3 44 0f 2a c0[ ]+cvtsi2ss[ ]+%eax,%xmm8[ ]*(#.*)*
[ ]*[0-9a-f]+:[ ]+f3 0f 2a f8[ ]+cvtsi2ss[ ]+%eax,%xmm7[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f3 41 0f 2a 00[ ]+cvtsi2ss[ ]+\(%r8\),%xmm0[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f3 0f 2a 00[ ]+cvtsi2ss[ ]+\(%rax\),%xmm0[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f3 45 0f 2a 38[ ]+cvtsi2ss[ ]+\(%r8\),%xmm15[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f3 44 0f 2a 38[ ]+cvtsi2ss[ ]+\(%rax\),%xmm15[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f3 45 0f 2a 00[ ]+cvtsi2ss[ ]+\(%r8\),%xmm8[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f3 44 0f 2a 00[ ]+cvtsi2ss[ ]+\(%rax\),%xmm8[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f3 41 0f 2a 38[ ]+cvtsi2ss[ ]+\(%r8\),%xmm7[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f3 0f 2a 38[ ]+cvtsi2ss[ ]+\(%rax\),%xmm7[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f2 41 0f 2a 00[ ]+cvtsi2sd[ ]+\(%r8\),%xmm0[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f2 0f 2a 00[ ]+cvtsi2sd[ ]+\(%rax\),%xmm0[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f2 45 0f 2a 38[ ]+cvtsi2sd[ ]+\(%r8\),%xmm15[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f2 44 0f 2a 38[ ]+cvtsi2sd[ ]+\(%rax\),%xmm15[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f2 45 0f 2a 00[ ]+cvtsi2sd[ ]+\(%r8\),%xmm8[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f2 44 0f 2a 00[ ]+cvtsi2sd[ ]+\(%rax\),%xmm8[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f2 41 0f 2a 38[ ]+cvtsi2sd[ ]+\(%r8\),%xmm7[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f2 0f 2a 38[ ]+cvtsi2sd[ ]+\(%rax\),%xmm7[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f3 41 0f 2a 00[ ]+cvtsi2ssl[ ]+\(%r8\),%xmm0[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f3 0f 2a 00[ ]+cvtsi2ssl[ ]+\(%rax\),%xmm0[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f3 45 0f 2a 38[ ]+cvtsi2ssl[ ]+\(%r8\),%xmm15[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f3 44 0f 2a 38[ ]+cvtsi2ssl[ ]+\(%rax\),%xmm15[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f3 45 0f 2a 00[ ]+cvtsi2ssl[ ]+\(%r8\),%xmm8[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f3 44 0f 2a 00[ ]+cvtsi2ssl[ ]+\(%rax\),%xmm8[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f3 41 0f 2a 38[ ]+cvtsi2ssl[ ]+\(%r8\),%xmm7[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f3 0f 2a 38[ ]+cvtsi2ssl[ ]+\(%rax\),%xmm7[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f2 41 0f 2a 00[ ]+cvtsi2sdl[ ]+\(%r8\),%xmm0[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f2 0f 2a 00[ ]+cvtsi2sdl[ ]+\(%rax\),%xmm0[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f2 45 0f 2a 38[ ]+cvtsi2sdl[ ]+\(%r8\),%xmm15[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f2 44 0f 2a 38[ ]+cvtsi2sdl[ ]+\(%rax\),%xmm15[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f2 45 0f 2a 00[ ]+cvtsi2sdl[ ]+\(%r8\),%xmm8[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f2 44 0f 2a 00[ ]+cvtsi2sdl[ ]+\(%rax\),%xmm8[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f2 41 0f 2a 38[ ]+cvtsi2sdl[ ]+\(%r8\),%xmm7[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f2 0f 2a 38[ ]+cvtsi2sdl[ ]+\(%rax\),%xmm7[ ]*(#.*)*
[ ]*[0-9a-f]+:[ ]+f2 0f 2a c0[ ]+cvtsi2sd[ ]+%eax,%xmm0[ ]*(#.*)*
[ ]*[0-9a-f]+:[ ]+f2 44 0f 2a f8[ ]+cvtsi2sd[ ]+%eax,%xmm15[ ]*(#.*)*
[ ]*[0-9a-f]+:[ ]+f2 44 0f 2a c0[ ]+cvtsi2sd[ ]+%eax,%xmm8[ ]*(#.*)*
[ ]*[0-9a-f]+:[ ]+f2 0f 2a f8[ ]+cvtsi2sd[ ]+%eax,%xmm7[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f2 41 0f 2a 00[ ]+cvtsi2sd[ ]+\(%r8\),%xmm0[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f2 0f 2a 00[ ]+cvtsi2sd[ ]+\(%rax\),%xmm0[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f2 45 0f 2a 38[ ]+cvtsi2sd[ ]+\(%r8\),%xmm15[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f2 44 0f 2a 38[ ]+cvtsi2sd[ ]+\(%rax\),%xmm15[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f2 45 0f 2a 00[ ]+cvtsi2sd[ ]+\(%r8\),%xmm8[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f2 44 0f 2a 00[ ]+cvtsi2sd[ ]+\(%rax\),%xmm8[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f2 41 0f 2a 38[ ]+cvtsi2sd[ ]+\(%r8\),%xmm7[ ]*(#.*)*
-[ ]*[0-9a-f]+:[ ]+f2 0f 2a 38[ ]+cvtsi2sd[ ]+\(%rax\),%xmm7[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f2 41 0f 2a 00[ ]+cvtsi2sdl[ ]+\(%r8\),%xmm0[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f2 0f 2a 00[ ]+cvtsi2sdl[ ]+\(%rax\),%xmm0[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f2 45 0f 2a 38[ ]+cvtsi2sdl[ ]+\(%r8\),%xmm15[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f2 44 0f 2a 38[ ]+cvtsi2sdl[ ]+\(%rax\),%xmm15[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f2 45 0f 2a 00[ ]+cvtsi2sdl[ ]+\(%r8\),%xmm8[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f2 44 0f 2a 00[ ]+cvtsi2sdl[ ]+\(%rax\),%xmm8[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f2 41 0f 2a 38[ ]+cvtsi2sdl[ ]+\(%r8\),%xmm7[ ]*(#.*)*
+[ ]*[0-9a-f]+:[ ]+f2 0f 2a 38[ ]+cvtsi2sdl[ ]+\(%rax\),%xmm7[ ]*(#.*)*
[ ]*[0-9a-f]+:[ ]+66 41 0f 6e 00[ ]+movd[ ]+\(%r8\),%xmm0[ ]*(#.*)*
[ ]*[0-9a-f]+:[ ]+66 0f 6e 00[ ]+movd[ ]+\(%rax\),%xmm0[ ]*(#.*)*
[ ]*[0-9a-f]+:[ ]+66 45 0f 6e 38[ ]+movd[ ]+\(%r8\),%xmm15[ ]*(#.*)*
diff --git a/gas/testsuite/gas/i386/x86-64-simd-intel.d b/gas/testsuite/gas/i386/x86-64-simd-intel.d
index 7b15257..53efdbc 100644
--- a/gas/testsuite/gas/i386/x86-64-simd-intel.d
+++ b/gas/testsuite/gas/i386/x86-64-simd-intel.d
@@ -15,32 +15,46 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: f2 0f e6 0d 78 56 34 12 cvtpd2dq xmm1,XMMWORD PTR \[rip\+0x12345678\] # 1234569f <_start\+0x1234569f>
[ ]*[a-f0-9]+: 0f 5a 0d 78 56 34 12 cvtps2pd xmm1,QWORD PTR \[rip\+0x12345678\] # 123456a6 <_start\+0x123456a6>
[ ]*[a-f0-9]+: f3 0f 5b 0d 78 56 34 12 cvttps2dq xmm1,XMMWORD PTR \[rip\+0x12345678\] # 123456ae <_start\+0x123456ae>
-[ ]*[a-f0-9]+: f2 0f 7c 0d 78 56 34 12 haddps xmm1,XMMWORD PTR \[rip\+0x12345678\] # 123456b6 <_start\+0x123456b6>
-[ ]*[a-f0-9]+: f3 0f 7f 0d 78 56 34 12 movdqu XMMWORD PTR \[rip\+0x12345678\],xmm1 # 123456be <_start\+0x123456be>
-[ ]*[a-f0-9]+: f3 0f 6f 0d 78 56 34 12 movdqu xmm1,XMMWORD PTR \[rip\+0x12345678\] # 123456c6 <_start\+0x123456c6>
-[ ]*[a-f0-9]+: 66 0f 17 0d 78 56 34 12 movhpd QWORD PTR \[rip\+0x12345678\],xmm1 # 123456ce <_start\+0x123456ce>
-[ ]*[a-f0-9]+: 66 0f 16 0d 78 56 34 12 movhpd xmm1,QWORD PTR \[rip\+0x12345678\] # 123456d6 <_start\+0x123456d6>
-[ ]*[a-f0-9]+: 0f 17 0d 78 56 34 12 movhps QWORD PTR \[rip\+0x12345678\],xmm1 # 123456dd <_start\+0x123456dd>
-[ ]*[a-f0-9]+: 0f 16 0d 78 56 34 12 movhps xmm1,QWORD PTR \[rip\+0x12345678\] # 123456e4 <_start\+0x123456e4>
-[ ]*[a-f0-9]+: 66 0f 13 0d 78 56 34 12 movlpd QWORD PTR \[rip\+0x12345678\],xmm1 # 123456ec <_start\+0x123456ec>
-[ ]*[a-f0-9]+: 66 0f 12 0d 78 56 34 12 movlpd xmm1,QWORD PTR \[rip\+0x12345678\] # 123456f4 <_start\+0x123456f4>
-[ ]*[a-f0-9]+: 0f 13 0d 78 56 34 12 movlps QWORD PTR \[rip\+0x12345678\],xmm1 # 123456fb <_start\+0x123456fb>
-[ ]*[a-f0-9]+: 0f 12 0d 78 56 34 12 movlps xmm1,QWORD PTR \[rip\+0x12345678\] # 12345702 <_start\+0x12345702>
-[ ]*[a-f0-9]+: 66 0f d6 0d 78 56 34 12 movq QWORD PTR \[rip\+0x12345678\],xmm1 # 1234570a <_start\+0x1234570a>
-[ ]*[a-f0-9]+: f3 0f 7e 0d 78 56 34 12 movq xmm1,QWORD PTR \[rip\+0x12345678\] # 12345712 <_start\+0x12345712>
-[ ]*[a-f0-9]+: f3 0f 16 0d 78 56 34 12 movshdup xmm1,XMMWORD PTR \[rip\+0x12345678\] # 1234571a <_start\+0x1234571a>
-[ ]*[a-f0-9]+: f3 0f 12 0d 78 56 34 12 movsldup xmm1,XMMWORD PTR \[rip\+0x12345678\] # 12345722 <_start\+0x12345722>
-[ ]*[a-f0-9]+: f3 0f 70 0d 78 56 34 12 90 pshufhw xmm1,XMMWORD PTR \[rip\+0x12345678\],0x90 # 1234572b <_start\+0x1234572b>
-[ ]*[a-f0-9]+: f2 0f 70 0d 78 56 34 12 90 pshuflw xmm1,XMMWORD PTR \[rip\+0x12345678\],0x90 # 12345734 <_start\+0x12345734>
-[ ]*[a-f0-9]+: 0f 60 0d 78 56 34 12 punpcklbw mm1,DWORD PTR \[rip\+0x12345678\] # 1234573b <_start\+0x1234573b>
-[ ]*[a-f0-9]+: 0f 62 0d 78 56 34 12 punpckldq mm1,DWORD PTR \[rip\+0x12345678\] # 12345742 <_start\+0x12345742>
-[ ]*[a-f0-9]+: 0f 61 0d 78 56 34 12 punpcklwd mm1,DWORD PTR \[rip\+0x12345678\] # 12345749 <_start\+0x12345749>
-[ ]*[a-f0-9]+: 66 0f 60 0d 78 56 34 12 punpcklbw xmm1,XMMWORD PTR \[rip\+0x12345678\] # 12345751 <_start\+0x12345751>
-[ ]*[a-f0-9]+: 66 0f 62 0d 78 56 34 12 punpckldq xmm1,XMMWORD PTR \[rip\+0x12345678\] # 12345759 <_start\+0x12345759>
-[ ]*[a-f0-9]+: 66 0f 61 0d 78 56 34 12 punpcklwd xmm1,XMMWORD PTR \[rip\+0x12345678\] # 12345761 <_start\+0x12345761>
-[ ]*[a-f0-9]+: 66 0f 6c 0d 78 56 34 12 punpcklqdq xmm1,XMMWORD PTR \[rip\+0x12345678\] # 12345769 <_start\+0x12345769>
-[ ]*[a-f0-9]+: 66 0f 2e 0d 78 56 34 12 ucomisd xmm1,QWORD PTR \[rip\+0x12345678\] # 12345771 <_start\+0x12345771>
-[ ]*[a-f0-9]+: 0f 2e 0d 78 56 34 12 ucomiss xmm1,DWORD PTR \[rip\+0x12345678\] # 12345778 <_start\+0x12345778>
+[ ]*[a-f0-9]+: f3 0f 2a c8 cvtsi2ss xmm1,eax
+[ ]*[a-f0-9]+: f2 0f 2a c8 cvtsi2sd xmm1,eax
+[ ]*[a-f0-9]+: f3 0f 2a c8 cvtsi2ss xmm1,eax
+[ ]*[a-f0-9]+: f2 0f 2a c8 cvtsi2sd xmm1,eax
+[ ]*[a-f0-9]+: f3 48 0f 2a c8 cvtsi2ss xmm1,rax
+[ ]*[a-f0-9]+: f2 48 0f 2a c8 cvtsi2sd xmm1,rax
+[ ]*[a-f0-9]+: f3 48 0f 2a c8 cvtsi2ss xmm1,rax
+[ ]*[a-f0-9]+: f2 48 0f 2a c8 cvtsi2sd xmm1,rax
+[ ]*[a-f0-9]+: f3 0f 2a 08 cvtsi2ss xmm1,DWORD PTR \[rax\]
+[ ]*[a-f0-9]+: f2 0f 2a 08 cvtsi2sd xmm1,DWORD PTR \[rax\]
+[ ]*[a-f0-9]+: f3 0f 2a 08 cvtsi2ss xmm1,DWORD PTR \[rax\]
+[ ]*[a-f0-9]+: f2 0f 2a 08 cvtsi2sd xmm1,DWORD PTR \[rax\]
+[ ]*[a-f0-9]+: f3 48 0f 2a 08 cvtsi2ss xmm1,QWORD PTR \[rax\]
+[ ]*[a-f0-9]+: f2 48 0f 2a 08 cvtsi2sd xmm1,QWORD PTR \[rax\]
+[ ]*[a-f0-9]+: f2 0f 7c 0d 78 56 34 12 haddps xmm1,XMMWORD PTR \[rip\+0x12345678\] # 123456f4 <_start\+0x123456f4>
+[ ]*[a-f0-9]+: f3 0f 7f 0d 78 56 34 12 movdqu XMMWORD PTR \[rip\+0x12345678\],xmm1 # 123456fc <_start\+0x123456fc>
+[ ]*[a-f0-9]+: f3 0f 6f 0d 78 56 34 12 movdqu xmm1,XMMWORD PTR \[rip\+0x12345678\] # 12345704 <_start\+0x12345704>
+[ ]*[a-f0-9]+: 66 0f 17 0d 78 56 34 12 movhpd QWORD PTR \[rip\+0x12345678\],xmm1 # 1234570c <_start\+0x1234570c>
+[ ]*[a-f0-9]+: 66 0f 16 0d 78 56 34 12 movhpd xmm1,QWORD PTR \[rip\+0x12345678\] # 12345714 <_start\+0x12345714>
+[ ]*[a-f0-9]+: 0f 17 0d 78 56 34 12 movhps QWORD PTR \[rip\+0x12345678\],xmm1 # 1234571b <_start\+0x1234571b>
+[ ]*[a-f0-9]+: 0f 16 0d 78 56 34 12 movhps xmm1,QWORD PTR \[rip\+0x12345678\] # 12345722 <_start\+0x12345722>
+[ ]*[a-f0-9]+: 66 0f 13 0d 78 56 34 12 movlpd QWORD PTR \[rip\+0x12345678\],xmm1 # 1234572a <_start\+0x1234572a>
+[ ]*[a-f0-9]+: 66 0f 12 0d 78 56 34 12 movlpd xmm1,QWORD PTR \[rip\+0x12345678\] # 12345732 <_start\+0x12345732>
+[ ]*[a-f0-9]+: 0f 13 0d 78 56 34 12 movlps QWORD PTR \[rip\+0x12345678\],xmm1 # 12345739 <_start\+0x12345739>
+[ ]*[a-f0-9]+: 0f 12 0d 78 56 34 12 movlps xmm1,QWORD PTR \[rip\+0x12345678\] # 12345740 <_start\+0x12345740>
+[ ]*[a-f0-9]+: 66 0f d6 0d 78 56 34 12 movq QWORD PTR \[rip\+0x12345678\],xmm1 # 12345748 <_start\+0x12345748>
+[ ]*[a-f0-9]+: f3 0f 7e 0d 78 56 34 12 movq xmm1,QWORD PTR \[rip\+0x12345678\] # 12345750 <_start\+0x12345750>
+[ ]*[a-f0-9]+: f3 0f 16 0d 78 56 34 12 movshdup xmm1,XMMWORD PTR \[rip\+0x12345678\] # 12345758 <_start\+0x12345758>
+[ ]*[a-f0-9]+: f3 0f 12 0d 78 56 34 12 movsldup xmm1,XMMWORD PTR \[rip\+0x12345678\] # 12345760 <_start\+0x12345760>
+[ ]*[a-f0-9]+: f3 0f 70 0d 78 56 34 12 90 pshufhw xmm1,XMMWORD PTR \[rip\+0x12345678\],0x90 # 12345769 <_start\+0x12345769>
+[ ]*[a-f0-9]+: f2 0f 70 0d 78 56 34 12 90 pshuflw xmm1,XMMWORD PTR \[rip\+0x12345678\],0x90 # 12345772 <_start\+0x12345772>
+[ ]*[a-f0-9]+: 0f 60 0d 78 56 34 12 punpcklbw mm1,DWORD PTR \[rip\+0x12345678\] # 12345779 <_start\+0x12345779>
+[ ]*[a-f0-9]+: 0f 62 0d 78 56 34 12 punpckldq mm1,DWORD PTR \[rip\+0x12345678\] # 12345780 <_start\+0x12345780>
+[ ]*[a-f0-9]+: 0f 61 0d 78 56 34 12 punpcklwd mm1,DWORD PTR \[rip\+0x12345678\] # 12345787 <_start\+0x12345787>
+[ ]*[a-f0-9]+: 66 0f 60 0d 78 56 34 12 punpcklbw xmm1,XMMWORD PTR \[rip\+0x12345678\] # 1234578f <_start\+0x1234578f>
+[ ]*[a-f0-9]+: 66 0f 62 0d 78 56 34 12 punpckldq xmm1,XMMWORD PTR \[rip\+0x12345678\] # 12345797 <_start\+0x12345797>
+[ ]*[a-f0-9]+: 66 0f 61 0d 78 56 34 12 punpcklwd xmm1,XMMWORD PTR \[rip\+0x12345678\] # 1234579f <_start\+0x1234579f>
+[ ]*[a-f0-9]+: 66 0f 6c 0d 78 56 34 12 punpcklqdq xmm1,XMMWORD PTR \[rip\+0x12345678\] # 123457a7 <_start\+0x123457a7>
+[ ]*[a-f0-9]+: 66 0f 2e 0d 78 56 34 12 ucomisd xmm1,QWORD PTR \[rip\+0x12345678\] # 123457af <_start\+0x123457af>
+[ ]*[a-f0-9]+: 0f 2e 0d 78 56 34 12 ucomiss xmm1,DWORD PTR \[rip\+0x12345678\] # 123457b6 <_start\+0x123457b6>
[ ]*[a-f0-9]+: f2 0f c2 00 00 cmpeqsd xmm0,QWORD PTR \[rax\]
[ ]*[a-f0-9]+: f3 0f c2 00 00 cmpeqss xmm0,DWORD PTR \[rax\]
[ ]*[a-f0-9]+: 66 0f 2a 00 cvtpi2pd xmm0,QWORD PTR \[rax\]
@@ -99,39 +113,55 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: f3 0f c2 38 10 cmpss xmm7,DWORD PTR \[rax\],0x10
[ ]*[a-f0-9]+: f2 0f c2 f7 10 cmpsd xmm6,xmm7,0x10
[ ]*[a-f0-9]+: f2 0f c2 38 10 cmpsd xmm7,QWORD PTR \[rax\],0x10
-[ ]*[a-f0-9]+: f2 0f d0 0d 78 56 34 12 addsubps xmm1,XMMWORD PTR \[rip\+0x12345678\] # 12345880 <_start\+0x12345880>
-[ ]*[a-f0-9]+: 66 0f 2f 0d 78 56 34 12 comisd xmm1,QWORD PTR \[rip\+0x12345678\] # 12345888 <_start\+0x12345888>
-[ ]*[a-f0-9]+: 0f 2f 0d 78 56 34 12 comiss xmm1,DWORD PTR \[rip\+0x12345678\] # 1234588f <_start\+0x1234588f>
-[ ]*[a-f0-9]+: f3 0f e6 0d 78 56 34 12 cvtdq2pd xmm1,QWORD PTR \[rip\+0x12345678\] # 12345897 <_start\+0x12345897>
-[ ]*[a-f0-9]+: f2 0f e6 0d 78 56 34 12 cvtpd2dq xmm1,XMMWORD PTR \[rip\+0x12345678\] # 1234589f <_start\+0x1234589f>
-[ ]*[a-f0-9]+: 0f 5a 0d 78 56 34 12 cvtps2pd xmm1,QWORD PTR \[rip\+0x12345678\] # 123458a6 <_start\+0x123458a6>
-[ ]*[a-f0-9]+: f3 0f 5b 0d 78 56 34 12 cvttps2dq xmm1,XMMWORD PTR \[rip\+0x12345678\] # 123458ae <_start\+0x123458ae>
-[ ]*[a-f0-9]+: f2 0f 7c 0d 78 56 34 12 haddps xmm1,XMMWORD PTR \[rip\+0x12345678\] # 123458b6 <_start\+0x123458b6>
-[ ]*[a-f0-9]+: f3 0f 7f 0d 78 56 34 12 movdqu XMMWORD PTR \[rip\+0x12345678\],xmm1 # 123458be <_start\+0x123458be>
-[ ]*[a-f0-9]+: f3 0f 6f 0d 78 56 34 12 movdqu xmm1,XMMWORD PTR \[rip\+0x12345678\] # 123458c6 <_start\+0x123458c6>
-[ ]*[a-f0-9]+: 66 0f 17 0d 78 56 34 12 movhpd QWORD PTR \[rip\+0x12345678\],xmm1 # 123458ce <_start\+0x123458ce>
-[ ]*[a-f0-9]+: 66 0f 16 0d 78 56 34 12 movhpd xmm1,QWORD PTR \[rip\+0x12345678\] # 123458d6 <_start\+0x123458d6>
-[ ]*[a-f0-9]+: 0f 17 0d 78 56 34 12 movhps QWORD PTR \[rip\+0x12345678\],xmm1 # 123458dd <_start\+0x123458dd>
-[ ]*[a-f0-9]+: 0f 16 0d 78 56 34 12 movhps xmm1,QWORD PTR \[rip\+0x12345678\] # 123458e4 <_start\+0x123458e4>
-[ ]*[a-f0-9]+: 66 0f 13 0d 78 56 34 12 movlpd QWORD PTR \[rip\+0x12345678\],xmm1 # 123458ec <_start\+0x123458ec>
-[ ]*[a-f0-9]+: 66 0f 12 0d 78 56 34 12 movlpd xmm1,QWORD PTR \[rip\+0x12345678\] # 123458f4 <_start\+0x123458f4>
-[ ]*[a-f0-9]+: 0f 13 0d 78 56 34 12 movlps QWORD PTR \[rip\+0x12345678\],xmm1 # 123458fb <_start\+0x123458fb>
-[ ]*[a-f0-9]+: 0f 12 0d 78 56 34 12 movlps xmm1,QWORD PTR \[rip\+0x12345678\] # 12345902 <_start\+0x12345902>
-[ ]*[a-f0-9]+: 66 0f d6 0d 78 56 34 12 movq QWORD PTR \[rip\+0x12345678\],xmm1 # 1234590a <_start\+0x1234590a>
-[ ]*[a-f0-9]+: f3 0f 7e 0d 78 56 34 12 movq xmm1,QWORD PTR \[rip\+0x12345678\] # 12345912 <_start\+0x12345912>
-[ ]*[a-f0-9]+: f3 0f 16 0d 78 56 34 12 movshdup xmm1,XMMWORD PTR \[rip\+0x12345678\] # 1234591a <_start\+0x1234591a>
-[ ]*[a-f0-9]+: f3 0f 12 0d 78 56 34 12 movsldup xmm1,XMMWORD PTR \[rip\+0x12345678\] # 12345922 <_start\+0x12345922>
-[ ]*[a-f0-9]+: f3 0f 70 0d 78 56 34 12 90 pshufhw xmm1,XMMWORD PTR \[rip\+0x12345678\],0x90 # 1234592b <_start\+0x1234592b>
-[ ]*[a-f0-9]+: f2 0f 70 0d 78 56 34 12 90 pshuflw xmm1,XMMWORD PTR \[rip\+0x12345678\],0x90 # 12345934 <_start\+0x12345934>
-[ ]*[a-f0-9]+: 0f 60 0d 78 56 34 12 punpcklbw mm1,DWORD PTR \[rip\+0x12345678\] # 1234593b <_start\+0x1234593b>
-[ ]*[a-f0-9]+: 0f 62 0d 78 56 34 12 punpckldq mm1,DWORD PTR \[rip\+0x12345678\] # 12345942 <_start\+0x12345942>
-[ ]*[a-f0-9]+: 0f 61 0d 78 56 34 12 punpcklwd mm1,DWORD PTR \[rip\+0x12345678\] # 12345949 <_start\+0x12345949>
-[ ]*[a-f0-9]+: 66 0f 60 0d 78 56 34 12 punpcklbw xmm1,XMMWORD PTR \[rip\+0x12345678\] # 12345951 <_start\+0x12345951>
-[ ]*[a-f0-9]+: 66 0f 62 0d 78 56 34 12 punpckldq xmm1,XMMWORD PTR \[rip\+0x12345678\] # 12345959 <_start\+0x12345959>
-[ ]*[a-f0-9]+: 66 0f 61 0d 78 56 34 12 punpcklwd xmm1,XMMWORD PTR \[rip\+0x12345678\] # 12345961 <_start\+0x12345961>
-[ ]*[a-f0-9]+: 66 0f 6c 0d 78 56 34 12 punpcklqdq xmm1,XMMWORD PTR \[rip\+0x12345678\] # 12345969 <_start\+0x12345969>
-[ ]*[a-f0-9]+: 66 0f 2e 0d 78 56 34 12 ucomisd xmm1,QWORD PTR \[rip\+0x12345678\] # 12345971 <_start\+0x12345971>
-[ ]*[a-f0-9]+: 0f 2e 0d 78 56 34 12 ucomiss xmm1,DWORD PTR \[rip\+0x12345678\] # 12345978 <_start\+0x12345978>
+[ ]*[a-f0-9]+: f2 0f d0 0d 78 56 34 12 addsubps xmm1,XMMWORD PTR \[rip\+0x12345678\] # 123458be <_start\+0x123458be>
+[ ]*[a-f0-9]+: 66 0f 2f 0d 78 56 34 12 comisd xmm1,QWORD PTR \[rip\+0x12345678\] # 123458c6 <_start\+0x123458c6>
+[ ]*[a-f0-9]+: 0f 2f 0d 78 56 34 12 comiss xmm1,DWORD PTR \[rip\+0x12345678\] # 123458cd <_start\+0x123458cd>
+[ ]*[a-f0-9]+: f3 0f e6 0d 78 56 34 12 cvtdq2pd xmm1,QWORD PTR \[rip\+0x12345678\] # 123458d5 <_start\+0x123458d5>
+[ ]*[a-f0-9]+: f2 0f e6 0d 78 56 34 12 cvtpd2dq xmm1,XMMWORD PTR \[rip\+0x12345678\] # 123458dd <_start\+0x123458dd>
+[ ]*[a-f0-9]+: 0f 5a 0d 78 56 34 12 cvtps2pd xmm1,QWORD PTR \[rip\+0x12345678\] # 123458e4 <_start\+0x123458e4>
+[ ]*[a-f0-9]+: f3 0f 5b 0d 78 56 34 12 cvttps2dq xmm1,XMMWORD PTR \[rip\+0x12345678\] # 123458ec <_start\+0x123458ec>
+[ ]*[a-f0-9]+: f3 0f 2a c8 cvtsi2ss xmm1,eax
+[ ]*[a-f0-9]+: f2 0f 2a c8 cvtsi2sd xmm1,eax
+[ ]*[a-f0-9]+: f3 0f 2a c8 cvtsi2ss xmm1,eax
+[ ]*[a-f0-9]+: f2 0f 2a c8 cvtsi2sd xmm1,eax
+[ ]*[a-f0-9]+: f3 48 0f 2a c8 cvtsi2ss xmm1,rax
+[ ]*[a-f0-9]+: f2 48 0f 2a c8 cvtsi2sd xmm1,rax
+[ ]*[a-f0-9]+: f3 48 0f 2a c8 cvtsi2ss xmm1,rax
+[ ]*[a-f0-9]+: f2 48 0f 2a c8 cvtsi2sd xmm1,rax
+[ ]*[a-f0-9]+: f3 0f 2a 08 cvtsi2ss xmm1,DWORD PTR \[rax\]
+[ ]*[a-f0-9]+: f2 0f 2a 08 cvtsi2sd xmm1,DWORD PTR \[rax\]
+[ ]*[a-f0-9]+: f3 0f 2a 08 cvtsi2ss xmm1,DWORD PTR \[rax\]
+[ ]*[a-f0-9]+: f2 0f 2a 08 cvtsi2sd xmm1,DWORD PTR \[rax\]
+[ ]*[a-f0-9]+: f3 48 0f 2a 08 cvtsi2ss xmm1,QWORD PTR \[rax\]
+[ ]*[a-f0-9]+: f2 48 0f 2a 08 cvtsi2sd xmm1,QWORD PTR \[rax\]
+[ ]*[a-f0-9]+: f3 48 0f 2a 08 cvtsi2ss xmm1,QWORD PTR \[rax\]
+[ ]*[a-f0-9]+: f2 48 0f 2a 08 cvtsi2sd xmm1,QWORD PTR \[rax\]
+[ ]*[a-f0-9]+: f2 0f 7c 0d 78 56 34 12 haddps xmm1,XMMWORD PTR \[rip\+0x12345678\] # 1234593c <_start\+0x1234593c>
+[ ]*[a-f0-9]+: f3 0f 7f 0d 78 56 34 12 movdqu XMMWORD PTR \[rip\+0x12345678\],xmm1 # 12345944 <_start\+0x12345944>
+[ ]*[a-f0-9]+: f3 0f 6f 0d 78 56 34 12 movdqu xmm1,XMMWORD PTR \[rip\+0x12345678\] # 1234594c <_start\+0x1234594c>
+[ ]*[a-f0-9]+: 66 0f 17 0d 78 56 34 12 movhpd QWORD PTR \[rip\+0x12345678\],xmm1 # 12345954 <_start\+0x12345954>
+[ ]*[a-f0-9]+: 66 0f 16 0d 78 56 34 12 movhpd xmm1,QWORD PTR \[rip\+0x12345678\] # 1234595c <_start\+0x1234595c>
+[ ]*[a-f0-9]+: 0f 17 0d 78 56 34 12 movhps QWORD PTR \[rip\+0x12345678\],xmm1 # 12345963 <_start\+0x12345963>
+[ ]*[a-f0-9]+: 0f 16 0d 78 56 34 12 movhps xmm1,QWORD PTR \[rip\+0x12345678\] # 1234596a <_start\+0x1234596a>
+[ ]*[a-f0-9]+: 66 0f 13 0d 78 56 34 12 movlpd QWORD PTR \[rip\+0x12345678\],xmm1 # 12345972 <_start\+0x12345972>
+[ ]*[a-f0-9]+: 66 0f 12 0d 78 56 34 12 movlpd xmm1,QWORD PTR \[rip\+0x12345678\] # 1234597a <_start\+0x1234597a>
+[ ]*[a-f0-9]+: 0f 13 0d 78 56 34 12 movlps QWORD PTR \[rip\+0x12345678\],xmm1 # 12345981 <_start\+0x12345981>
+[ ]*[a-f0-9]+: 0f 12 0d 78 56 34 12 movlps xmm1,QWORD PTR \[rip\+0x12345678\] # 12345988 <_start\+0x12345988>
+[ ]*[a-f0-9]+: 66 0f d6 0d 78 56 34 12 movq QWORD PTR \[rip\+0x12345678\],xmm1 # 12345990 <_start\+0x12345990>
+[ ]*[a-f0-9]+: f3 0f 7e 0d 78 56 34 12 movq xmm1,QWORD PTR \[rip\+0x12345678\] # 12345998 <_start\+0x12345998>
+[ ]*[a-f0-9]+: f3 0f 16 0d 78 56 34 12 movshdup xmm1,XMMWORD PTR \[rip\+0x12345678\] # 123459a0 <_start\+0x123459a0>
+[ ]*[a-f0-9]+: f3 0f 12 0d 78 56 34 12 movsldup xmm1,XMMWORD PTR \[rip\+0x12345678\] # 123459a8 <_start\+0x123459a8>
+[ ]*[a-f0-9]+: f3 0f 70 0d 78 56 34 12 90 pshufhw xmm1,XMMWORD PTR \[rip\+0x12345678\],0x90 # 123459b1 <_start\+0x123459b1>
+[ ]*[a-f0-9]+: f2 0f 70 0d 78 56 34 12 90 pshuflw xmm1,XMMWORD PTR \[rip\+0x12345678\],0x90 # 123459ba <_start\+0x123459ba>
+[ ]*[a-f0-9]+: 0f 60 0d 78 56 34 12 punpcklbw mm1,DWORD PTR \[rip\+0x12345678\] # 123459c1 <_start\+0x123459c1>
+[ ]*[a-f0-9]+: 0f 62 0d 78 56 34 12 punpckldq mm1,DWORD PTR \[rip\+0x12345678\] # 123459c8 <_start\+0x123459c8>
+[ ]*[a-f0-9]+: 0f 61 0d 78 56 34 12 punpcklwd mm1,DWORD PTR \[rip\+0x12345678\] # 123459cf <_start\+0x123459cf>
+[ ]*[a-f0-9]+: 66 0f 60 0d 78 56 34 12 punpcklbw xmm1,XMMWORD PTR \[rip\+0x12345678\] # 123459d7 <_start\+0x123459d7>
+[ ]*[a-f0-9]+: 66 0f 62 0d 78 56 34 12 punpckldq xmm1,XMMWORD PTR \[rip\+0x12345678\] # 123459df <_start\+0x123459df>
+[ ]*[a-f0-9]+: 66 0f 61 0d 78 56 34 12 punpcklwd xmm1,XMMWORD PTR \[rip\+0x12345678\] # 123459e7 <_start\+0x123459e7>
+[ ]*[a-f0-9]+: 66 0f 6c 0d 78 56 34 12 punpcklqdq xmm1,XMMWORD PTR \[rip\+0x12345678\] # 123459ef <_start\+0x123459ef>
+[ ]*[a-f0-9]+: 66 0f 2e 0d 78 56 34 12 ucomisd xmm1,QWORD PTR \[rip\+0x12345678\] # 123459f7 <_start\+0x123459f7>
+[ ]*[a-f0-9]+: 0f 2e 0d 78 56 34 12 ucomiss xmm1,DWORD PTR \[rip\+0x12345678\] # 123459fe <_start\+0x123459fe>
[ ]*[a-f0-9]+: f2 0f c2 00 00 cmpeqsd xmm0,QWORD PTR \[rax\]
[ ]*[a-f0-9]+: f3 0f c2 00 00 cmpeqss xmm0,DWORD PTR \[rax\]
[ ]*[a-f0-9]+: 66 0f 2a 00 cvtpi2pd xmm0,QWORD PTR \[rax\]
diff --git a/gas/testsuite/gas/i386/x86-64-simd-suffix.d b/gas/testsuite/gas/i386/x86-64-simd-suffix.d
index d653714..f5be3b9 100644
--- a/gas/testsuite/gas/i386/x86-64-simd-suffix.d
+++ b/gas/testsuite/gas/i386/x86-64-simd-suffix.d
@@ -15,32 +15,46 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: f2 0f e6 0d 78 56 34 12 cvtpd2dq 0x12345678\(%rip\),%xmm1 # 1234569f <_start\+0x1234569f>
[ ]*[a-f0-9]+: 0f 5a 0d 78 56 34 12 cvtps2pd 0x12345678\(%rip\),%xmm1 # 123456a6 <_start\+0x123456a6>
[ ]*[a-f0-9]+: f3 0f 5b 0d 78 56 34 12 cvttps2dq 0x12345678\(%rip\),%xmm1 # 123456ae <_start\+0x123456ae>
-[ ]*[a-f0-9]+: f2 0f 7c 0d 78 56 34 12 haddps 0x12345678\(%rip\),%xmm1 # 123456b6 <_start\+0x123456b6>
-[ ]*[a-f0-9]+: f3 0f 7f 0d 78 56 34 12 movdqu %xmm1,0x12345678\(%rip\) # 123456be <_start\+0x123456be>
-[ ]*[a-f0-9]+: f3 0f 6f 0d 78 56 34 12 movdqu 0x12345678\(%rip\),%xmm1 # 123456c6 <_start\+0x123456c6>
-[ ]*[a-f0-9]+: 66 0f 17 0d 78 56 34 12 movhpd %xmm1,0x12345678\(%rip\) # 123456ce <_start\+0x123456ce>
-[ ]*[a-f0-9]+: 66 0f 16 0d 78 56 34 12 movhpd 0x12345678\(%rip\),%xmm1 # 123456d6 <_start\+0x123456d6>
-[ ]*[a-f0-9]+: 0f 17 0d 78 56 34 12 movhps %xmm1,0x12345678\(%rip\) # 123456dd <_start\+0x123456dd>
-[ ]*[a-f0-9]+: 0f 16 0d 78 56 34 12 movhps 0x12345678\(%rip\),%xmm1 # 123456e4 <_start\+0x123456e4>
-[ ]*[a-f0-9]+: 66 0f 13 0d 78 56 34 12 movlpd %xmm1,0x12345678\(%rip\) # 123456ec <_start\+0x123456ec>
-[ ]*[a-f0-9]+: 66 0f 12 0d 78 56 34 12 movlpd 0x12345678\(%rip\),%xmm1 # 123456f4 <_start\+0x123456f4>
-[ ]*[a-f0-9]+: 0f 13 0d 78 56 34 12 movlps %xmm1,0x12345678\(%rip\) # 123456fb <_start\+0x123456fb>
-[ ]*[a-f0-9]+: 0f 12 0d 78 56 34 12 movlps 0x12345678\(%rip\),%xmm1 # 12345702 <_start\+0x12345702>
-[ ]*[a-f0-9]+: 66 0f d6 0d 78 56 34 12 movq %xmm1,0x12345678\(%rip\) # 1234570a <_start\+0x1234570a>
-[ ]*[a-f0-9]+: f3 0f 7e 0d 78 56 34 12 movq 0x12345678\(%rip\),%xmm1 # 12345712 <_start\+0x12345712>
-[ ]*[a-f0-9]+: f3 0f 16 0d 78 56 34 12 movshdup 0x12345678\(%rip\),%xmm1 # 1234571a <_start\+0x1234571a>
-[ ]*[a-f0-9]+: f3 0f 12 0d 78 56 34 12 movsldup 0x12345678\(%rip\),%xmm1 # 12345722 <_start\+0x12345722>
-[ ]*[a-f0-9]+: f3 0f 70 0d 78 56 34 12 90 pshufhw \$0x90,0x12345678\(%rip\),%xmm1 # 1234572b <_start\+0x1234572b>
-[ ]*[a-f0-9]+: f2 0f 70 0d 78 56 34 12 90 pshuflw \$0x90,0x12345678\(%rip\),%xmm1 # 12345734 <_start\+0x12345734>
-[ ]*[a-f0-9]+: 0f 60 0d 78 56 34 12 punpcklbw 0x12345678\(%rip\),%mm1 # 1234573b <_start\+0x1234573b>
-[ ]*[a-f0-9]+: 0f 62 0d 78 56 34 12 punpckldq 0x12345678\(%rip\),%mm1 # 12345742 <_start\+0x12345742>
-[ ]*[a-f0-9]+: 0f 61 0d 78 56 34 12 punpcklwd 0x12345678\(%rip\),%mm1 # 12345749 <_start\+0x12345749>
-[ ]*[a-f0-9]+: 66 0f 60 0d 78 56 34 12 punpcklbw 0x12345678\(%rip\),%xmm1 # 12345751 <_start\+0x12345751>
-[ ]*[a-f0-9]+: 66 0f 62 0d 78 56 34 12 punpckldq 0x12345678\(%rip\),%xmm1 # 12345759 <_start\+0x12345759>
-[ ]*[a-f0-9]+: 66 0f 61 0d 78 56 34 12 punpcklwd 0x12345678\(%rip\),%xmm1 # 12345761 <_start\+0x12345761>
-[ ]*[a-f0-9]+: 66 0f 6c 0d 78 56 34 12 punpcklqdq 0x12345678\(%rip\),%xmm1 # 12345769 <_start\+0x12345769>
-[ ]*[a-f0-9]+: 66 0f 2e 0d 78 56 34 12 ucomisd 0x12345678\(%rip\),%xmm1 # 12345771 <_start\+0x12345771>
-[ ]*[a-f0-9]+: 0f 2e 0d 78 56 34 12 ucomiss 0x12345678\(%rip\),%xmm1 # 12345778 <_start\+0x12345778>
+[ ]*[a-f0-9]+: f3 0f 2a c8 cvtsi2ssl %eax,%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a c8 cvtsi2sdl %eax,%xmm1
+[ ]*[a-f0-9]+: f3 0f 2a c8 cvtsi2ssl %eax,%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a c8 cvtsi2sdl %eax,%xmm1
+[ ]*[a-f0-9]+: f3 48 0f 2a c8 cvtsi2ssq %rax,%xmm1
+[ ]*[a-f0-9]+: f2 48 0f 2a c8 cvtsi2sdq %rax,%xmm1
+[ ]*[a-f0-9]+: f3 48 0f 2a c8 cvtsi2ssq %rax,%xmm1
+[ ]*[a-f0-9]+: f2 48 0f 2a c8 cvtsi2sdq %rax,%xmm1
+[ ]*[a-f0-9]+: f3 0f 2a 08 cvtsi2ssl \(%rax\),%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a 08 cvtsi2sdl \(%rax\),%xmm1
+[ ]*[a-f0-9]+: f3 0f 2a 08 cvtsi2ssl \(%rax\),%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a 08 cvtsi2sdl \(%rax\),%xmm1
+[ ]*[a-f0-9]+: f3 48 0f 2a 08 cvtsi2ssq \(%rax\),%xmm1
+[ ]*[a-f0-9]+: f2 48 0f 2a 08 cvtsi2sdq \(%rax\),%xmm1
+[ ]*[a-f0-9]+: f2 0f 7c 0d 78 56 34 12 haddps 0x12345678\(%rip\),%xmm1 # 123456f4 <_start\+0x123456f4>
+[ ]*[a-f0-9]+: f3 0f 7f 0d 78 56 34 12 movdqu %xmm1,0x12345678\(%rip\) # 123456fc <_start\+0x123456fc>
+[ ]*[a-f0-9]+: f3 0f 6f 0d 78 56 34 12 movdqu 0x12345678\(%rip\),%xmm1 # 12345704 <_start\+0x12345704>
+[ ]*[a-f0-9]+: 66 0f 17 0d 78 56 34 12 movhpd %xmm1,0x12345678\(%rip\) # 1234570c <_start\+0x1234570c>
+[ ]*[a-f0-9]+: 66 0f 16 0d 78 56 34 12 movhpd 0x12345678\(%rip\),%xmm1 # 12345714 <_start\+0x12345714>
+[ ]*[a-f0-9]+: 0f 17 0d 78 56 34 12 movhps %xmm1,0x12345678\(%rip\) # 1234571b <_start\+0x1234571b>
+[ ]*[a-f0-9]+: 0f 16 0d 78 56 34 12 movhps 0x12345678\(%rip\),%xmm1 # 12345722 <_start\+0x12345722>
+[ ]*[a-f0-9]+: 66 0f 13 0d 78 56 34 12 movlpd %xmm1,0x12345678\(%rip\) # 1234572a <_start\+0x1234572a>
+[ ]*[a-f0-9]+: 66 0f 12 0d 78 56 34 12 movlpd 0x12345678\(%rip\),%xmm1 # 12345732 <_start\+0x12345732>
+[ ]*[a-f0-9]+: 0f 13 0d 78 56 34 12 movlps %xmm1,0x12345678\(%rip\) # 12345739 <_start\+0x12345739>
+[ ]*[a-f0-9]+: 0f 12 0d 78 56 34 12 movlps 0x12345678\(%rip\),%xmm1 # 12345740 <_start\+0x12345740>
+[ ]*[a-f0-9]+: 66 0f d6 0d 78 56 34 12 movq %xmm1,0x12345678\(%rip\) # 12345748 <_start\+0x12345748>
+[ ]*[a-f0-9]+: f3 0f 7e 0d 78 56 34 12 movq 0x12345678\(%rip\),%xmm1 # 12345750 <_start\+0x12345750>
+[ ]*[a-f0-9]+: f3 0f 16 0d 78 56 34 12 movshdup 0x12345678\(%rip\),%xmm1 # 12345758 <_start\+0x12345758>
+[ ]*[a-f0-9]+: f3 0f 12 0d 78 56 34 12 movsldup 0x12345678\(%rip\),%xmm1 # 12345760 <_start\+0x12345760>
+[ ]*[a-f0-9]+: f3 0f 70 0d 78 56 34 12 90 pshufhw \$0x90,0x12345678\(%rip\),%xmm1 # 12345769 <_start\+0x12345769>
+[ ]*[a-f0-9]+: f2 0f 70 0d 78 56 34 12 90 pshuflw \$0x90,0x12345678\(%rip\),%xmm1 # 12345772 <_start\+0x12345772>
+[ ]*[a-f0-9]+: 0f 60 0d 78 56 34 12 punpcklbw 0x12345678\(%rip\),%mm1 # 12345779 <_start\+0x12345779>
+[ ]*[a-f0-9]+: 0f 62 0d 78 56 34 12 punpckldq 0x12345678\(%rip\),%mm1 # 12345780 <_start\+0x12345780>
+[ ]*[a-f0-9]+: 0f 61 0d 78 56 34 12 punpcklwd 0x12345678\(%rip\),%mm1 # 12345787 <_start\+0x12345787>
+[ ]*[a-f0-9]+: 66 0f 60 0d 78 56 34 12 punpcklbw 0x12345678\(%rip\),%xmm1 # 1234578f <_start\+0x1234578f>
+[ ]*[a-f0-9]+: 66 0f 62 0d 78 56 34 12 punpckldq 0x12345678\(%rip\),%xmm1 # 12345797 <_start\+0x12345797>
+[ ]*[a-f0-9]+: 66 0f 61 0d 78 56 34 12 punpcklwd 0x12345678\(%rip\),%xmm1 # 1234579f <_start\+0x1234579f>
+[ ]*[a-f0-9]+: 66 0f 6c 0d 78 56 34 12 punpcklqdq 0x12345678\(%rip\),%xmm1 # 123457a7 <_start\+0x123457a7>
+[ ]*[a-f0-9]+: 66 0f 2e 0d 78 56 34 12 ucomisd 0x12345678\(%rip\),%xmm1 # 123457af <_start\+0x123457af>
+[ ]*[a-f0-9]+: 0f 2e 0d 78 56 34 12 ucomiss 0x12345678\(%rip\),%xmm1 # 123457b6 <_start\+0x123457b6>
[ ]*[a-f0-9]+: f2 0f c2 00 00 cmpeqsd \(%rax\),%xmm0
[ ]*[a-f0-9]+: f3 0f c2 00 00 cmpeqss \(%rax\),%xmm0
[ ]*[a-f0-9]+: 66 0f 2a 00 cvtpi2pd \(%rax\),%xmm0
@@ -99,39 +113,55 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: f3 0f c2 38 10 cmpss \$0x10,\(%rax\),%xmm7
[ ]*[a-f0-9]+: f2 0f c2 f7 10 cmpsd \$0x10,%xmm7,%xmm6
[ ]*[a-f0-9]+: f2 0f c2 38 10 cmpsd \$0x10,\(%rax\),%xmm7
-[ ]*[a-f0-9]+: f2 0f d0 0d 78 56 34 12 addsubps 0x12345678\(%rip\),%xmm1 # 12345880 <_start\+0x12345880>
-[ ]*[a-f0-9]+: 66 0f 2f 0d 78 56 34 12 comisd 0x12345678\(%rip\),%xmm1 # 12345888 <_start\+0x12345888>
-[ ]*[a-f0-9]+: 0f 2f 0d 78 56 34 12 comiss 0x12345678\(%rip\),%xmm1 # 1234588f <_start\+0x1234588f>
-[ ]*[a-f0-9]+: f3 0f e6 0d 78 56 34 12 cvtdq2pd 0x12345678\(%rip\),%xmm1 # 12345897 <_start\+0x12345897>
-[ ]*[a-f0-9]+: f2 0f e6 0d 78 56 34 12 cvtpd2dq 0x12345678\(%rip\),%xmm1 # 1234589f <_start\+0x1234589f>
-[ ]*[a-f0-9]+: 0f 5a 0d 78 56 34 12 cvtps2pd 0x12345678\(%rip\),%xmm1 # 123458a6 <_start\+0x123458a6>
-[ ]*[a-f0-9]+: f3 0f 5b 0d 78 56 34 12 cvttps2dq 0x12345678\(%rip\),%xmm1 # 123458ae <_start\+0x123458ae>
-[ ]*[a-f0-9]+: f2 0f 7c 0d 78 56 34 12 haddps 0x12345678\(%rip\),%xmm1 # 123458b6 <_start\+0x123458b6>
-[ ]*[a-f0-9]+: f3 0f 7f 0d 78 56 34 12 movdqu %xmm1,0x12345678\(%rip\) # 123458be <_start\+0x123458be>
-[ ]*[a-f0-9]+: f3 0f 6f 0d 78 56 34 12 movdqu 0x12345678\(%rip\),%xmm1 # 123458c6 <_start\+0x123458c6>
-[ ]*[a-f0-9]+: 66 0f 17 0d 78 56 34 12 movhpd %xmm1,0x12345678\(%rip\) # 123458ce <_start\+0x123458ce>
-[ ]*[a-f0-9]+: 66 0f 16 0d 78 56 34 12 movhpd 0x12345678\(%rip\),%xmm1 # 123458d6 <_start\+0x123458d6>
-[ ]*[a-f0-9]+: 0f 17 0d 78 56 34 12 movhps %xmm1,0x12345678\(%rip\) # 123458dd <_start\+0x123458dd>
-[ ]*[a-f0-9]+: 0f 16 0d 78 56 34 12 movhps 0x12345678\(%rip\),%xmm1 # 123458e4 <_start\+0x123458e4>
-[ ]*[a-f0-9]+: 66 0f 13 0d 78 56 34 12 movlpd %xmm1,0x12345678\(%rip\) # 123458ec <_start\+0x123458ec>
-[ ]*[a-f0-9]+: 66 0f 12 0d 78 56 34 12 movlpd 0x12345678\(%rip\),%xmm1 # 123458f4 <_start\+0x123458f4>
-[ ]*[a-f0-9]+: 0f 13 0d 78 56 34 12 movlps %xmm1,0x12345678\(%rip\) # 123458fb <_start\+0x123458fb>
-[ ]*[a-f0-9]+: 0f 12 0d 78 56 34 12 movlps 0x12345678\(%rip\),%xmm1 # 12345902 <_start\+0x12345902>
-[ ]*[a-f0-9]+: 66 0f d6 0d 78 56 34 12 movq %xmm1,0x12345678\(%rip\) # 1234590a <_start\+0x1234590a>
-[ ]*[a-f0-9]+: f3 0f 7e 0d 78 56 34 12 movq 0x12345678\(%rip\),%xmm1 # 12345912 <_start\+0x12345912>
-[ ]*[a-f0-9]+: f3 0f 16 0d 78 56 34 12 movshdup 0x12345678\(%rip\),%xmm1 # 1234591a <_start\+0x1234591a>
-[ ]*[a-f0-9]+: f3 0f 12 0d 78 56 34 12 movsldup 0x12345678\(%rip\),%xmm1 # 12345922 <_start\+0x12345922>
-[ ]*[a-f0-9]+: f3 0f 70 0d 78 56 34 12 90 pshufhw \$0x90,0x12345678\(%rip\),%xmm1 # 1234592b <_start\+0x1234592b>
-[ ]*[a-f0-9]+: f2 0f 70 0d 78 56 34 12 90 pshuflw \$0x90,0x12345678\(%rip\),%xmm1 # 12345934 <_start\+0x12345934>
-[ ]*[a-f0-9]+: 0f 60 0d 78 56 34 12 punpcklbw 0x12345678\(%rip\),%mm1 # 1234593b <_start\+0x1234593b>
-[ ]*[a-f0-9]+: 0f 62 0d 78 56 34 12 punpckldq 0x12345678\(%rip\),%mm1 # 12345942 <_start\+0x12345942>
-[ ]*[a-f0-9]+: 0f 61 0d 78 56 34 12 punpcklwd 0x12345678\(%rip\),%mm1 # 12345949 <_start\+0x12345949>
-[ ]*[a-f0-9]+: 66 0f 60 0d 78 56 34 12 punpcklbw 0x12345678\(%rip\),%xmm1 # 12345951 <_start\+0x12345951>
-[ ]*[a-f0-9]+: 66 0f 62 0d 78 56 34 12 punpckldq 0x12345678\(%rip\),%xmm1 # 12345959 <_start\+0x12345959>
-[ ]*[a-f0-9]+: 66 0f 61 0d 78 56 34 12 punpcklwd 0x12345678\(%rip\),%xmm1 # 12345961 <_start\+0x12345961>
-[ ]*[a-f0-9]+: 66 0f 6c 0d 78 56 34 12 punpcklqdq 0x12345678\(%rip\),%xmm1 # 12345969 <_start\+0x12345969>
-[ ]*[a-f0-9]+: 66 0f 2e 0d 78 56 34 12 ucomisd 0x12345678\(%rip\),%xmm1 # 12345971 <_start\+0x12345971>
-[ ]*[a-f0-9]+: 0f 2e 0d 78 56 34 12 ucomiss 0x12345678\(%rip\),%xmm1 # 12345978 <_start\+0x12345978>
+[ ]*[a-f0-9]+: f2 0f d0 0d 78 56 34 12 addsubps 0x12345678\(%rip\),%xmm1 # 123458be <_start\+0x123458be>
+[ ]*[a-f0-9]+: 66 0f 2f 0d 78 56 34 12 comisd 0x12345678\(%rip\),%xmm1 # 123458c6 <_start\+0x123458c6>
+[ ]*[a-f0-9]+: 0f 2f 0d 78 56 34 12 comiss 0x12345678\(%rip\),%xmm1 # 123458cd <_start\+0x123458cd>
+[ ]*[a-f0-9]+: f3 0f e6 0d 78 56 34 12 cvtdq2pd 0x12345678\(%rip\),%xmm1 # 123458d5 <_start\+0x123458d5>
+[ ]*[a-f0-9]+: f2 0f e6 0d 78 56 34 12 cvtpd2dq 0x12345678\(%rip\),%xmm1 # 123458dd <_start\+0x123458dd>
+[ ]*[a-f0-9]+: 0f 5a 0d 78 56 34 12 cvtps2pd 0x12345678\(%rip\),%xmm1 # 123458e4 <_start\+0x123458e4>
+[ ]*[a-f0-9]+: f3 0f 5b 0d 78 56 34 12 cvttps2dq 0x12345678\(%rip\),%xmm1 # 123458ec <_start\+0x123458ec>
+[ ]*[a-f0-9]+: f3 0f 2a c8 cvtsi2ssl %eax,%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a c8 cvtsi2sdl %eax,%xmm1
+[ ]*[a-f0-9]+: f3 0f 2a c8 cvtsi2ssl %eax,%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a c8 cvtsi2sdl %eax,%xmm1
+[ ]*[a-f0-9]+: f3 48 0f 2a c8 cvtsi2ssq %rax,%xmm1
+[ ]*[a-f0-9]+: f2 48 0f 2a c8 cvtsi2sdq %rax,%xmm1
+[ ]*[a-f0-9]+: f3 48 0f 2a c8 cvtsi2ssq %rax,%xmm1
+[ ]*[a-f0-9]+: f2 48 0f 2a c8 cvtsi2sdq %rax,%xmm1
+[ ]*[a-f0-9]+: f3 0f 2a 08 cvtsi2ssl \(%rax\),%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a 08 cvtsi2sdl \(%rax\),%xmm1
+[ ]*[a-f0-9]+: f3 0f 2a 08 cvtsi2ssl \(%rax\),%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a 08 cvtsi2sdl \(%rax\),%xmm1
+[ ]*[a-f0-9]+: f3 48 0f 2a 08 cvtsi2ssq \(%rax\),%xmm1
+[ ]*[a-f0-9]+: f2 48 0f 2a 08 cvtsi2sdq \(%rax\),%xmm1
+[ ]*[a-f0-9]+: f3 48 0f 2a 08 cvtsi2ssq \(%rax\),%xmm1
+[ ]*[a-f0-9]+: f2 48 0f 2a 08 cvtsi2sdq \(%rax\),%xmm1
+[ ]*[a-f0-9]+: f2 0f 7c 0d 78 56 34 12 haddps 0x12345678\(%rip\),%xmm1 # 1234593c <_start\+0x1234593c>
+[ ]*[a-f0-9]+: f3 0f 7f 0d 78 56 34 12 movdqu %xmm1,0x12345678\(%rip\) # 12345944 <_start\+0x12345944>
+[ ]*[a-f0-9]+: f3 0f 6f 0d 78 56 34 12 movdqu 0x12345678\(%rip\),%xmm1 # 1234594c <_start\+0x1234594c>
+[ ]*[a-f0-9]+: 66 0f 17 0d 78 56 34 12 movhpd %xmm1,0x12345678\(%rip\) # 12345954 <_start\+0x12345954>
+[ ]*[a-f0-9]+: 66 0f 16 0d 78 56 34 12 movhpd 0x12345678\(%rip\),%xmm1 # 1234595c <_start\+0x1234595c>
+[ ]*[a-f0-9]+: 0f 17 0d 78 56 34 12 movhps %xmm1,0x12345678\(%rip\) # 12345963 <_start\+0x12345963>
+[ ]*[a-f0-9]+: 0f 16 0d 78 56 34 12 movhps 0x12345678\(%rip\),%xmm1 # 1234596a <_start\+0x1234596a>
+[ ]*[a-f0-9]+: 66 0f 13 0d 78 56 34 12 movlpd %xmm1,0x12345678\(%rip\) # 12345972 <_start\+0x12345972>
+[ ]*[a-f0-9]+: 66 0f 12 0d 78 56 34 12 movlpd 0x12345678\(%rip\),%xmm1 # 1234597a <_start\+0x1234597a>
+[ ]*[a-f0-9]+: 0f 13 0d 78 56 34 12 movlps %xmm1,0x12345678\(%rip\) # 12345981 <_start\+0x12345981>
+[ ]*[a-f0-9]+: 0f 12 0d 78 56 34 12 movlps 0x12345678\(%rip\),%xmm1 # 12345988 <_start\+0x12345988>
+[ ]*[a-f0-9]+: 66 0f d6 0d 78 56 34 12 movq %xmm1,0x12345678\(%rip\) # 12345990 <_start\+0x12345990>
+[ ]*[a-f0-9]+: f3 0f 7e 0d 78 56 34 12 movq 0x12345678\(%rip\),%xmm1 # 12345998 <_start\+0x12345998>
+[ ]*[a-f0-9]+: f3 0f 16 0d 78 56 34 12 movshdup 0x12345678\(%rip\),%xmm1 # 123459a0 <_start\+0x123459a0>
+[ ]*[a-f0-9]+: f3 0f 12 0d 78 56 34 12 movsldup 0x12345678\(%rip\),%xmm1 # 123459a8 <_start\+0x123459a8>
+[ ]*[a-f0-9]+: f3 0f 70 0d 78 56 34 12 90 pshufhw \$0x90,0x12345678\(%rip\),%xmm1 # 123459b1 <_start\+0x123459b1>
+[ ]*[a-f0-9]+: f2 0f 70 0d 78 56 34 12 90 pshuflw \$0x90,0x12345678\(%rip\),%xmm1 # 123459ba <_start\+0x123459ba>
+[ ]*[a-f0-9]+: 0f 60 0d 78 56 34 12 punpcklbw 0x12345678\(%rip\),%mm1 # 123459c1 <_start\+0x123459c1>
+[ ]*[a-f0-9]+: 0f 62 0d 78 56 34 12 punpckldq 0x12345678\(%rip\),%mm1 # 123459c8 <_start\+0x123459c8>
+[ ]*[a-f0-9]+: 0f 61 0d 78 56 34 12 punpcklwd 0x12345678\(%rip\),%mm1 # 123459cf <_start\+0x123459cf>
+[ ]*[a-f0-9]+: 66 0f 60 0d 78 56 34 12 punpcklbw 0x12345678\(%rip\),%xmm1 # 123459d7 <_start\+0x123459d7>
+[ ]*[a-f0-9]+: 66 0f 62 0d 78 56 34 12 punpckldq 0x12345678\(%rip\),%xmm1 # 123459df <_start\+0x123459df>
+[ ]*[a-f0-9]+: 66 0f 61 0d 78 56 34 12 punpcklwd 0x12345678\(%rip\),%xmm1 # 123459e7 <_start\+0x123459e7>
+[ ]*[a-f0-9]+: 66 0f 6c 0d 78 56 34 12 punpcklqdq 0x12345678\(%rip\),%xmm1 # 123459ef <_start\+0x123459ef>
+[ ]*[a-f0-9]+: 66 0f 2e 0d 78 56 34 12 ucomisd 0x12345678\(%rip\),%xmm1 # 123459f7 <_start\+0x123459f7>
+[ ]*[a-f0-9]+: 0f 2e 0d 78 56 34 12 ucomiss 0x12345678\(%rip\),%xmm1 # 123459fe <_start\+0x123459fe>
[ ]*[a-f0-9]+: f2 0f c2 00 00 cmpeqsd \(%rax\),%xmm0
[ ]*[a-f0-9]+: f3 0f c2 00 00 cmpeqss \(%rax\),%xmm0
[ ]*[a-f0-9]+: 66 0f 2a 00 cvtpi2pd \(%rax\),%xmm0
diff --git a/gas/testsuite/gas/i386/x86-64-simd.d b/gas/testsuite/gas/i386/x86-64-simd.d
index 65f832f..3f0b98d 100644
--- a/gas/testsuite/gas/i386/x86-64-simd.d
+++ b/gas/testsuite/gas/i386/x86-64-simd.d
@@ -14,32 +14,46 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: f2 0f e6 0d 78 56 34 12 cvtpd2dq 0x12345678\(%rip\),%xmm1 # 1234569f <_start\+0x1234569f>
[ ]*[a-f0-9]+: 0f 5a 0d 78 56 34 12 cvtps2pd 0x12345678\(%rip\),%xmm1 # 123456a6 <_start\+0x123456a6>
[ ]*[a-f0-9]+: f3 0f 5b 0d 78 56 34 12 cvttps2dq 0x12345678\(%rip\),%xmm1 # 123456ae <_start\+0x123456ae>
-[ ]*[a-f0-9]+: f2 0f 7c 0d 78 56 34 12 haddps 0x12345678\(%rip\),%xmm1 # 123456b6 <_start\+0x123456b6>
-[ ]*[a-f0-9]+: f3 0f 7f 0d 78 56 34 12 movdqu %xmm1,0x12345678\(%rip\) # 123456be <_start\+0x123456be>
-[ ]*[a-f0-9]+: f3 0f 6f 0d 78 56 34 12 movdqu 0x12345678\(%rip\),%xmm1 # 123456c6 <_start\+0x123456c6>
-[ ]*[a-f0-9]+: 66 0f 17 0d 78 56 34 12 movhpd %xmm1,0x12345678\(%rip\) # 123456ce <_start\+0x123456ce>
-[ ]*[a-f0-9]+: 66 0f 16 0d 78 56 34 12 movhpd 0x12345678\(%rip\),%xmm1 # 123456d6 <_start\+0x123456d6>
-[ ]*[a-f0-9]+: 0f 17 0d 78 56 34 12 movhps %xmm1,0x12345678\(%rip\) # 123456dd <_start\+0x123456dd>
-[ ]*[a-f0-9]+: 0f 16 0d 78 56 34 12 movhps 0x12345678\(%rip\),%xmm1 # 123456e4 <_start\+0x123456e4>
-[ ]*[a-f0-9]+: 66 0f 13 0d 78 56 34 12 movlpd %xmm1,0x12345678\(%rip\) # 123456ec <_start\+0x123456ec>
-[ ]*[a-f0-9]+: 66 0f 12 0d 78 56 34 12 movlpd 0x12345678\(%rip\),%xmm1 # 123456f4 <_start\+0x123456f4>
-[ ]*[a-f0-9]+: 0f 13 0d 78 56 34 12 movlps %xmm1,0x12345678\(%rip\) # 123456fb <_start\+0x123456fb>
-[ ]*[a-f0-9]+: 0f 12 0d 78 56 34 12 movlps 0x12345678\(%rip\),%xmm1 # 12345702 <_start\+0x12345702>
-[ ]*[a-f0-9]+: 66 0f d6 0d 78 56 34 12 movq %xmm1,0x12345678\(%rip\) # 1234570a <_start\+0x1234570a>
-[ ]*[a-f0-9]+: f3 0f 7e 0d 78 56 34 12 movq 0x12345678\(%rip\),%xmm1 # 12345712 <_start\+0x12345712>
-[ ]*[a-f0-9]+: f3 0f 16 0d 78 56 34 12 movshdup 0x12345678\(%rip\),%xmm1 # 1234571a <_start\+0x1234571a>
-[ ]*[a-f0-9]+: f3 0f 12 0d 78 56 34 12 movsldup 0x12345678\(%rip\),%xmm1 # 12345722 <_start\+0x12345722>
-[ ]*[a-f0-9]+: f3 0f 70 0d 78 56 34 12 90 pshufhw \$0x90,0x12345678\(%rip\),%xmm1 # 1234572b <_start\+0x1234572b>
-[ ]*[a-f0-9]+: f2 0f 70 0d 78 56 34 12 90 pshuflw \$0x90,0x12345678\(%rip\),%xmm1 # 12345734 <_start\+0x12345734>
-[ ]*[a-f0-9]+: 0f 60 0d 78 56 34 12 punpcklbw 0x12345678\(%rip\),%mm1 # 1234573b <_start\+0x1234573b>
-[ ]*[a-f0-9]+: 0f 62 0d 78 56 34 12 punpckldq 0x12345678\(%rip\),%mm1 # 12345742 <_start\+0x12345742>
-[ ]*[a-f0-9]+: 0f 61 0d 78 56 34 12 punpcklwd 0x12345678\(%rip\),%mm1 # 12345749 <_start\+0x12345749>
-[ ]*[a-f0-9]+: 66 0f 60 0d 78 56 34 12 punpcklbw 0x12345678\(%rip\),%xmm1 # 12345751 <_start\+0x12345751>
-[ ]*[a-f0-9]+: 66 0f 62 0d 78 56 34 12 punpckldq 0x12345678\(%rip\),%xmm1 # 12345759 <_start\+0x12345759>
-[ ]*[a-f0-9]+: 66 0f 61 0d 78 56 34 12 punpcklwd 0x12345678\(%rip\),%xmm1 # 12345761 <_start\+0x12345761>
-[ ]*[a-f0-9]+: 66 0f 6c 0d 78 56 34 12 punpcklqdq 0x12345678\(%rip\),%xmm1 # 12345769 <_start\+0x12345769>
-[ ]*[a-f0-9]+: 66 0f 2e 0d 78 56 34 12 ucomisd 0x12345678\(%rip\),%xmm1 # 12345771 <_start\+0x12345771>
-[ ]*[a-f0-9]+: 0f 2e 0d 78 56 34 12 ucomiss 0x12345678\(%rip\),%xmm1 # 12345778 <_start\+0x12345778>
+[ ]*[a-f0-9]+: f3 0f 2a c8 cvtsi2ss %eax,%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a c8 cvtsi2sd %eax,%xmm1
+[ ]*[a-f0-9]+: f3 0f 2a c8 cvtsi2ss %eax,%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a c8 cvtsi2sd %eax,%xmm1
+[ ]*[a-f0-9]+: f3 48 0f 2a c8 cvtsi2ss %rax,%xmm1
+[ ]*[a-f0-9]+: f2 48 0f 2a c8 cvtsi2sd %rax,%xmm1
+[ ]*[a-f0-9]+: f3 48 0f 2a c8 cvtsi2ss %rax,%xmm1
+[ ]*[a-f0-9]+: f2 48 0f 2a c8 cvtsi2sd %rax,%xmm1
+[ ]*[a-f0-9]+: f3 0f 2a 08 cvtsi2ssl \(%rax\),%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a 08 cvtsi2sdl \(%rax\),%xmm1
+[ ]*[a-f0-9]+: f3 0f 2a 08 cvtsi2ssl \(%rax\),%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a 08 cvtsi2sdl \(%rax\),%xmm1
+[ ]*[a-f0-9]+: f3 48 0f 2a 08 cvtsi2ssq \(%rax\),%xmm1
+[ ]*[a-f0-9]+: f2 48 0f 2a 08 cvtsi2sdq \(%rax\),%xmm1
+[ ]*[a-f0-9]+: f2 0f 7c 0d 78 56 34 12 haddps 0x12345678\(%rip\),%xmm1 # 123456f4 <_start\+0x123456f4>
+[ ]*[a-f0-9]+: f3 0f 7f 0d 78 56 34 12 movdqu %xmm1,0x12345678\(%rip\) # 123456fc <_start\+0x123456fc>
+[ ]*[a-f0-9]+: f3 0f 6f 0d 78 56 34 12 movdqu 0x12345678\(%rip\),%xmm1 # 12345704 <_start\+0x12345704>
+[ ]*[a-f0-9]+: 66 0f 17 0d 78 56 34 12 movhpd %xmm1,0x12345678\(%rip\) # 1234570c <_start\+0x1234570c>
+[ ]*[a-f0-9]+: 66 0f 16 0d 78 56 34 12 movhpd 0x12345678\(%rip\),%xmm1 # 12345714 <_start\+0x12345714>
+[ ]*[a-f0-9]+: 0f 17 0d 78 56 34 12 movhps %xmm1,0x12345678\(%rip\) # 1234571b <_start\+0x1234571b>
+[ ]*[a-f0-9]+: 0f 16 0d 78 56 34 12 movhps 0x12345678\(%rip\),%xmm1 # 12345722 <_start\+0x12345722>
+[ ]*[a-f0-9]+: 66 0f 13 0d 78 56 34 12 movlpd %xmm1,0x12345678\(%rip\) # 1234572a <_start\+0x1234572a>
+[ ]*[a-f0-9]+: 66 0f 12 0d 78 56 34 12 movlpd 0x12345678\(%rip\),%xmm1 # 12345732 <_start\+0x12345732>
+[ ]*[a-f0-9]+: 0f 13 0d 78 56 34 12 movlps %xmm1,0x12345678\(%rip\) # 12345739 <_start\+0x12345739>
+[ ]*[a-f0-9]+: 0f 12 0d 78 56 34 12 movlps 0x12345678\(%rip\),%xmm1 # 12345740 <_start\+0x12345740>
+[ ]*[a-f0-9]+: 66 0f d6 0d 78 56 34 12 movq %xmm1,0x12345678\(%rip\) # 12345748 <_start\+0x12345748>
+[ ]*[a-f0-9]+: f3 0f 7e 0d 78 56 34 12 movq 0x12345678\(%rip\),%xmm1 # 12345750 <_start\+0x12345750>
+[ ]*[a-f0-9]+: f3 0f 16 0d 78 56 34 12 movshdup 0x12345678\(%rip\),%xmm1 # 12345758 <_start\+0x12345758>
+[ ]*[a-f0-9]+: f3 0f 12 0d 78 56 34 12 movsldup 0x12345678\(%rip\),%xmm1 # 12345760 <_start\+0x12345760>
+[ ]*[a-f0-9]+: f3 0f 70 0d 78 56 34 12 90 pshufhw \$0x90,0x12345678\(%rip\),%xmm1 # 12345769 <_start\+0x12345769>
+[ ]*[a-f0-9]+: f2 0f 70 0d 78 56 34 12 90 pshuflw \$0x90,0x12345678\(%rip\),%xmm1 # 12345772 <_start\+0x12345772>
+[ ]*[a-f0-9]+: 0f 60 0d 78 56 34 12 punpcklbw 0x12345678\(%rip\),%mm1 # 12345779 <_start\+0x12345779>
+[ ]*[a-f0-9]+: 0f 62 0d 78 56 34 12 punpckldq 0x12345678\(%rip\),%mm1 # 12345780 <_start\+0x12345780>
+[ ]*[a-f0-9]+: 0f 61 0d 78 56 34 12 punpcklwd 0x12345678\(%rip\),%mm1 # 12345787 <_start\+0x12345787>
+[ ]*[a-f0-9]+: 66 0f 60 0d 78 56 34 12 punpcklbw 0x12345678\(%rip\),%xmm1 # 1234578f <_start\+0x1234578f>
+[ ]*[a-f0-9]+: 66 0f 62 0d 78 56 34 12 punpckldq 0x12345678\(%rip\),%xmm1 # 12345797 <_start\+0x12345797>
+[ ]*[a-f0-9]+: 66 0f 61 0d 78 56 34 12 punpcklwd 0x12345678\(%rip\),%xmm1 # 1234579f <_start\+0x1234579f>
+[ ]*[a-f0-9]+: 66 0f 6c 0d 78 56 34 12 punpcklqdq 0x12345678\(%rip\),%xmm1 # 123457a7 <_start\+0x123457a7>
+[ ]*[a-f0-9]+: 66 0f 2e 0d 78 56 34 12 ucomisd 0x12345678\(%rip\),%xmm1 # 123457af <_start\+0x123457af>
+[ ]*[a-f0-9]+: 0f 2e 0d 78 56 34 12 ucomiss 0x12345678\(%rip\),%xmm1 # 123457b6 <_start\+0x123457b6>
[ ]*[a-f0-9]+: f2 0f c2 00 00 cmpeqsd \(%rax\),%xmm0
[ ]*[a-f0-9]+: f3 0f c2 00 00 cmpeqss \(%rax\),%xmm0
[ ]*[a-f0-9]+: 66 0f 2a 00 cvtpi2pd \(%rax\),%xmm0
@@ -98,39 +112,55 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: f3 0f c2 38 10 cmpss \$0x10,\(%rax\),%xmm7
[ ]*[a-f0-9]+: f2 0f c2 f7 10 cmpsd \$0x10,%xmm7,%xmm6
[ ]*[a-f0-9]+: f2 0f c2 38 10 cmpsd \$0x10,\(%rax\),%xmm7
-[ ]*[a-f0-9]+: f2 0f d0 0d 78 56 34 12 addsubps 0x12345678\(%rip\),%xmm1 # 12345880 <_start\+0x12345880>
-[ ]*[a-f0-9]+: 66 0f 2f 0d 78 56 34 12 comisd 0x12345678\(%rip\),%xmm1 # 12345888 <_start\+0x12345888>
-[ ]*[a-f0-9]+: 0f 2f 0d 78 56 34 12 comiss 0x12345678\(%rip\),%xmm1 # 1234588f <_start\+0x1234588f>
-[ ]*[a-f0-9]+: f3 0f e6 0d 78 56 34 12 cvtdq2pd 0x12345678\(%rip\),%xmm1 # 12345897 <_start\+0x12345897>
-[ ]*[a-f0-9]+: f2 0f e6 0d 78 56 34 12 cvtpd2dq 0x12345678\(%rip\),%xmm1 # 1234589f <_start\+0x1234589f>
-[ ]*[a-f0-9]+: 0f 5a 0d 78 56 34 12 cvtps2pd 0x12345678\(%rip\),%xmm1 # 123458a6 <_start\+0x123458a6>
-[ ]*[a-f0-9]+: f3 0f 5b 0d 78 56 34 12 cvttps2dq 0x12345678\(%rip\),%xmm1 # 123458ae <_start\+0x123458ae>
-[ ]*[a-f0-9]+: f2 0f 7c 0d 78 56 34 12 haddps 0x12345678\(%rip\),%xmm1 # 123458b6 <_start\+0x123458b6>
-[ ]*[a-f0-9]+: f3 0f 7f 0d 78 56 34 12 movdqu %xmm1,0x12345678\(%rip\) # 123458be <_start\+0x123458be>
-[ ]*[a-f0-9]+: f3 0f 6f 0d 78 56 34 12 movdqu 0x12345678\(%rip\),%xmm1 # 123458c6 <_start\+0x123458c6>
-[ ]*[a-f0-9]+: 66 0f 17 0d 78 56 34 12 movhpd %xmm1,0x12345678\(%rip\) # 123458ce <_start\+0x123458ce>
-[ ]*[a-f0-9]+: 66 0f 16 0d 78 56 34 12 movhpd 0x12345678\(%rip\),%xmm1 # 123458d6 <_start\+0x123458d6>
-[ ]*[a-f0-9]+: 0f 17 0d 78 56 34 12 movhps %xmm1,0x12345678\(%rip\) # 123458dd <_start\+0x123458dd>
-[ ]*[a-f0-9]+: 0f 16 0d 78 56 34 12 movhps 0x12345678\(%rip\),%xmm1 # 123458e4 <_start\+0x123458e4>
-[ ]*[a-f0-9]+: 66 0f 13 0d 78 56 34 12 movlpd %xmm1,0x12345678\(%rip\) # 123458ec <_start\+0x123458ec>
-[ ]*[a-f0-9]+: 66 0f 12 0d 78 56 34 12 movlpd 0x12345678\(%rip\),%xmm1 # 123458f4 <_start\+0x123458f4>
-[ ]*[a-f0-9]+: 0f 13 0d 78 56 34 12 movlps %xmm1,0x12345678\(%rip\) # 123458fb <_start\+0x123458fb>
-[ ]*[a-f0-9]+: 0f 12 0d 78 56 34 12 movlps 0x12345678\(%rip\),%xmm1 # 12345902 <_start\+0x12345902>
-[ ]*[a-f0-9]+: 66 0f d6 0d 78 56 34 12 movq %xmm1,0x12345678\(%rip\) # 1234590a <_start\+0x1234590a>
-[ ]*[a-f0-9]+: f3 0f 7e 0d 78 56 34 12 movq 0x12345678\(%rip\),%xmm1 # 12345912 <_start\+0x12345912>
-[ ]*[a-f0-9]+: f3 0f 16 0d 78 56 34 12 movshdup 0x12345678\(%rip\),%xmm1 # 1234591a <_start\+0x1234591a>
-[ ]*[a-f0-9]+: f3 0f 12 0d 78 56 34 12 movsldup 0x12345678\(%rip\),%xmm1 # 12345922 <_start\+0x12345922>
-[ ]*[a-f0-9]+: f3 0f 70 0d 78 56 34 12 90 pshufhw \$0x90,0x12345678\(%rip\),%xmm1 # 1234592b <_start\+0x1234592b>
-[ ]*[a-f0-9]+: f2 0f 70 0d 78 56 34 12 90 pshuflw \$0x90,0x12345678\(%rip\),%xmm1 # 12345934 <_start\+0x12345934>
-[ ]*[a-f0-9]+: 0f 60 0d 78 56 34 12 punpcklbw 0x12345678\(%rip\),%mm1 # 1234593b <_start\+0x1234593b>
-[ ]*[a-f0-9]+: 0f 62 0d 78 56 34 12 punpckldq 0x12345678\(%rip\),%mm1 # 12345942 <_start\+0x12345942>
-[ ]*[a-f0-9]+: 0f 61 0d 78 56 34 12 punpcklwd 0x12345678\(%rip\),%mm1 # 12345949 <_start\+0x12345949>
-[ ]*[a-f0-9]+: 66 0f 60 0d 78 56 34 12 punpcklbw 0x12345678\(%rip\),%xmm1 # 12345951 <_start\+0x12345951>
-[ ]*[a-f0-9]+: 66 0f 62 0d 78 56 34 12 punpckldq 0x12345678\(%rip\),%xmm1 # 12345959 <_start\+0x12345959>
-[ ]*[a-f0-9]+: 66 0f 61 0d 78 56 34 12 punpcklwd 0x12345678\(%rip\),%xmm1 # 12345961 <_start\+0x12345961>
-[ ]*[a-f0-9]+: 66 0f 6c 0d 78 56 34 12 punpcklqdq 0x12345678\(%rip\),%xmm1 # 12345969 <_start\+0x12345969>
-[ ]*[a-f0-9]+: 66 0f 2e 0d 78 56 34 12 ucomisd 0x12345678\(%rip\),%xmm1 # 12345971 <_start\+0x12345971>
-[ ]*[a-f0-9]+: 0f 2e 0d 78 56 34 12 ucomiss 0x12345678\(%rip\),%xmm1 # 12345978 <_start\+0x12345978>
+[ ]*[a-f0-9]+: f2 0f d0 0d 78 56 34 12 addsubps 0x12345678\(%rip\),%xmm1 # 123458be <_start\+0x123458be>
+[ ]*[a-f0-9]+: 66 0f 2f 0d 78 56 34 12 comisd 0x12345678\(%rip\),%xmm1 # 123458c6 <_start\+0x123458c6>
+[ ]*[a-f0-9]+: 0f 2f 0d 78 56 34 12 comiss 0x12345678\(%rip\),%xmm1 # 123458cd <_start\+0x123458cd>
+[ ]*[a-f0-9]+: f3 0f e6 0d 78 56 34 12 cvtdq2pd 0x12345678\(%rip\),%xmm1 # 123458d5 <_start\+0x123458d5>
+[ ]*[a-f0-9]+: f2 0f e6 0d 78 56 34 12 cvtpd2dq 0x12345678\(%rip\),%xmm1 # 123458dd <_start\+0x123458dd>
+[ ]*[a-f0-9]+: 0f 5a 0d 78 56 34 12 cvtps2pd 0x12345678\(%rip\),%xmm1 # 123458e4 <_start\+0x123458e4>
+[ ]*[a-f0-9]+: f3 0f 5b 0d 78 56 34 12 cvttps2dq 0x12345678\(%rip\),%xmm1 # 123458ec <_start\+0x123458ec>
+[ ]*[a-f0-9]+: f3 0f 2a c8 cvtsi2ss %eax,%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a c8 cvtsi2sd %eax,%xmm1
+[ ]*[a-f0-9]+: f3 0f 2a c8 cvtsi2ss %eax,%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a c8 cvtsi2sd %eax,%xmm1
+[ ]*[a-f0-9]+: f3 48 0f 2a c8 cvtsi2ss %rax,%xmm1
+[ ]*[a-f0-9]+: f2 48 0f 2a c8 cvtsi2sd %rax,%xmm1
+[ ]*[a-f0-9]+: f3 48 0f 2a c8 cvtsi2ss %rax,%xmm1
+[ ]*[a-f0-9]+: f2 48 0f 2a c8 cvtsi2sd %rax,%xmm1
+[ ]*[a-f0-9]+: f3 0f 2a 08 cvtsi2ssl \(%rax\),%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a 08 cvtsi2sdl \(%rax\),%xmm1
+[ ]*[a-f0-9]+: f3 0f 2a 08 cvtsi2ssl \(%rax\),%xmm1
+[ ]*[a-f0-9]+: f2 0f 2a 08 cvtsi2sdl \(%rax\),%xmm1
+[ ]*[a-f0-9]+: f3 48 0f 2a 08 cvtsi2ssq \(%rax\),%xmm1
+[ ]*[a-f0-9]+: f2 48 0f 2a 08 cvtsi2sdq \(%rax\),%xmm1
+[ ]*[a-f0-9]+: f3 48 0f 2a 08 cvtsi2ssq \(%rax\),%xmm1
+[ ]*[a-f0-9]+: f2 48 0f 2a 08 cvtsi2sdq \(%rax\),%xmm1
+[ ]*[a-f0-9]+: f2 0f 7c 0d 78 56 34 12 haddps 0x12345678\(%rip\),%xmm1 # 1234593c <_start\+0x1234593c>
+[ ]*[a-f0-9]+: f3 0f 7f 0d 78 56 34 12 movdqu %xmm1,0x12345678\(%rip\) # 12345944 <_start\+0x12345944>
+[ ]*[a-f0-9]+: f3 0f 6f 0d 78 56 34 12 movdqu 0x12345678\(%rip\),%xmm1 # 1234594c <_start\+0x1234594c>
+[ ]*[a-f0-9]+: 66 0f 17 0d 78 56 34 12 movhpd %xmm1,0x12345678\(%rip\) # 12345954 <_start\+0x12345954>
+[ ]*[a-f0-9]+: 66 0f 16 0d 78 56 34 12 movhpd 0x12345678\(%rip\),%xmm1 # 1234595c <_start\+0x1234595c>
+[ ]*[a-f0-9]+: 0f 17 0d 78 56 34 12 movhps %xmm1,0x12345678\(%rip\) # 12345963 <_start\+0x12345963>
+[ ]*[a-f0-9]+: 0f 16 0d 78 56 34 12 movhps 0x12345678\(%rip\),%xmm1 # 1234596a <_start\+0x1234596a>
+[ ]*[a-f0-9]+: 66 0f 13 0d 78 56 34 12 movlpd %xmm1,0x12345678\(%rip\) # 12345972 <_start\+0x12345972>
+[ ]*[a-f0-9]+: 66 0f 12 0d 78 56 34 12 movlpd 0x12345678\(%rip\),%xmm1 # 1234597a <_start\+0x1234597a>
+[ ]*[a-f0-9]+: 0f 13 0d 78 56 34 12 movlps %xmm1,0x12345678\(%rip\) # 12345981 <_start\+0x12345981>
+[ ]*[a-f0-9]+: 0f 12 0d 78 56 34 12 movlps 0x12345678\(%rip\),%xmm1 # 12345988 <_start\+0x12345988>
+[ ]*[a-f0-9]+: 66 0f d6 0d 78 56 34 12 movq %xmm1,0x12345678\(%rip\) # 12345990 <_start\+0x12345990>
+[ ]*[a-f0-9]+: f3 0f 7e 0d 78 56 34 12 movq 0x12345678\(%rip\),%xmm1 # 12345998 <_start\+0x12345998>
+[ ]*[a-f0-9]+: f3 0f 16 0d 78 56 34 12 movshdup 0x12345678\(%rip\),%xmm1 # 123459a0 <_start\+0x123459a0>
+[ ]*[a-f0-9]+: f3 0f 12 0d 78 56 34 12 movsldup 0x12345678\(%rip\),%xmm1 # 123459a8 <_start\+0x123459a8>
+[ ]*[a-f0-9]+: f3 0f 70 0d 78 56 34 12 90 pshufhw \$0x90,0x12345678\(%rip\),%xmm1 # 123459b1 <_start\+0x123459b1>
+[ ]*[a-f0-9]+: f2 0f 70 0d 78 56 34 12 90 pshuflw \$0x90,0x12345678\(%rip\),%xmm1 # 123459ba <_start\+0x123459ba>
+[ ]*[a-f0-9]+: 0f 60 0d 78 56 34 12 punpcklbw 0x12345678\(%rip\),%mm1 # 123459c1 <_start\+0x123459c1>
+[ ]*[a-f0-9]+: 0f 62 0d 78 56 34 12 punpckldq 0x12345678\(%rip\),%mm1 # 123459c8 <_start\+0x123459c8>
+[ ]*[a-f0-9]+: 0f 61 0d 78 56 34 12 punpcklwd 0x12345678\(%rip\),%mm1 # 123459cf <_start\+0x123459cf>
+[ ]*[a-f0-9]+: 66 0f 60 0d 78 56 34 12 punpcklbw 0x12345678\(%rip\),%xmm1 # 123459d7 <_start\+0x123459d7>
+[ ]*[a-f0-9]+: 66 0f 62 0d 78 56 34 12 punpckldq 0x12345678\(%rip\),%xmm1 # 123459df <_start\+0x123459df>
+[ ]*[a-f0-9]+: 66 0f 61 0d 78 56 34 12 punpcklwd 0x12345678\(%rip\),%xmm1 # 123459e7 <_start\+0x123459e7>
+[ ]*[a-f0-9]+: 66 0f 6c 0d 78 56 34 12 punpcklqdq 0x12345678\(%rip\),%xmm1 # 123459ef <_start\+0x123459ef>
+[ ]*[a-f0-9]+: 66 0f 2e 0d 78 56 34 12 ucomisd 0x12345678\(%rip\),%xmm1 # 123459f7 <_start\+0x123459f7>
+[ ]*[a-f0-9]+: 0f 2e 0d 78 56 34 12 ucomiss 0x12345678\(%rip\),%xmm1 # 123459fe <_start\+0x123459fe>
[ ]*[a-f0-9]+: f2 0f c2 00 00 cmpeqsd \(%rax\),%xmm0
[ ]*[a-f0-9]+: f3 0f c2 00 00 cmpeqss \(%rax\),%xmm0
[ ]*[a-f0-9]+: 66 0f 2a 00 cvtpi2pd \(%rax\),%xmm0
diff --git a/gas/testsuite/gas/i386/x86-64-simd.s b/gas/testsuite/gas/i386/x86-64-simd.s
index f14e6da..5c1d8d1 100644
--- a/gas/testsuite/gas/i386/x86-64-simd.s
+++ b/gas/testsuite/gas/i386/x86-64-simd.s
@@ -7,6 +7,20 @@ _start:
cvtpd2dq 0x12345678(%rip),%xmm1
cvtps2pd 0x12345678(%rip),%xmm1
cvttps2dq 0x12345678(%rip),%xmm1
+ cvtsi2ss %eax, %xmm1
+ cvtsi2sd %eax, %xmm1
+ cvtsi2ssl %eax, %xmm1
+ cvtsi2sdl %eax, %xmm1
+ cvtsi2ss %rax, %xmm1
+ cvtsi2sd %rax, %xmm1
+ cvtsi2ssq %rax, %xmm1
+ cvtsi2sdq %rax, %xmm1
+ cvtsi2ss (%rax), %xmm1
+ cvtsi2sd (%rax), %xmm1
+ cvtsi2ssl (%rax), %xmm1
+ cvtsi2sdl (%rax), %xmm1
+ cvtsi2ssq (%rax), %xmm1
+ cvtsi2sdq (%rax), %xmm1
haddps 0x12345678(%rip),%xmm1
movdqu %xmm1,0x12345678(%rip)
movdqu 0x12345678(%rip),%xmm1
@@ -105,6 +119,22 @@ cvtdq2pd xmm1,QWORD PTR [rip+0x12345678]
cvtpd2dq xmm1,XMMWORD PTR [rip+0x12345678]
cvtps2pd xmm1,QWORD PTR [rip+0x12345678]
cvttps2dq xmm1,XMMWORD PTR [rip+0x12345678]
+cvtsi2ss xmm1,eax
+cvtsi2sd xmm1,eax
+cvtsi2ssd xmm1,eax
+cvtsi2sdd xmm1,eax
+cvtsi2ss xmm1,rax
+cvtsi2sd xmm1,rax
+cvtsi2ssq xmm1,rax
+cvtsi2sdq xmm1,rax
+cvtsi2ss xmm1,DWORD PTR [rax]
+cvtsi2sd xmm1,DWORD PTR [rax]
+cvtsi2ssd xmm1,DWORD PTR [rax]
+cvtsi2sdd xmm1,DWORD PTR [rax]
+cvtsi2ss xmm1,QWORD PTR [rax]
+cvtsi2sd xmm1,QWORD PTR [rax]
+cvtsi2ssq xmm1,QWORD PTR [rax]
+cvtsi2sdq xmm1,QWORD PTR [rax]
haddps xmm1,XMMWORD PTR [rip+0x12345678]
movdqu XMMWORD PTR [rip+0x12345678],xmm1
movdqu xmm1,XMMWORD PTR [rip+0x12345678]
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 430330b..2ccdb0c 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,11 @@
+2007-12-31 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-dis.c (prefix_table): Use "%LQ" on cvtpi2ps/cvtsi2sd.
+ (putop): Handle '%' and "LQ".
+
+ * i386-opc.tbl: Remove IgnoreSize from cvtpi2ps/cvtsi2sd.
+ * i386-tbl.h: Regenerated.
+
2007-12-28 H.J. Lu <hongjiu.lu@intel.com>
* i386-gen.c (cpu_flag_init): Add CpuSSE4_1_Or_5 to
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index 3fc7058..b55e089 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -718,15 +718,15 @@ struct dis386 {
'A' => print 'b' if no register operands or suffix_always is true
'B' => print 'b' if suffix_always is true
'C' => print 's' or 'l' ('w' or 'd' in Intel mode) depending on operand
- . size prefix
+ size prefix
'D' => print 'w' if no register operands or 'w', 'l' or 'q', if
- . suffix_always is true
+ suffix_always is true
'E' => print 'e' if 32-bit form of jcxz
'F' => print 'w' or 'l' depending on address size prefix (loop insns)
'G' => print 'w' or 'l' depending on operand size prefix (i/o insns)
'H' => print ",pt" or ",pn" branch hint
'I' => honor following macro letter even in Intel mode (implemented only
- . for some of the macro letters)
+ for some of the macro letters)
'J' => print 'l'
'K' => print 'd' or 'q' if rex prefix is present.
'L' => print 'l' if suffix_always is true
@@ -734,9 +734,9 @@ struct dis386 {
'N' => print 'n' if instruction has no wait "prefix"
'O' => print 'd' or 'o' (or 'q' in Intel mode)
'P' => print 'w', 'l' or 'q' if instruction has an operand size prefix,
- . or suffix_always is true. print 'q' if rex prefix is present.
- 'Q' => print 'w', 'l' or 'q' if no register operands or suffix_always
- . is true
+ or suffix_always is true. print 'q' if rex prefix is present.
+ 'Q' => print 'w', 'l' or 'q' for memory operand or suffix_always
+ is true
'R' => print 'w', 'l' or 'q' ('d' for 'l' and 'e' in Intel mode)
'S' => print 'w', 'l' or 'q' if suffix_always is true
'T' => print 'q' in 64bit mode and behave as 'P' otherwise
@@ -748,6 +748,11 @@ struct dis386 {
suffix_always is true.
'Z' => print 'q' in 64bit mode and behave as 'L' otherwise
'!' => change condition from true to false or from false to true.
+ '%' => add 1 upper case letter to the macro.
+
+ 2 upper case letter macros:
+ 'LQ' => print 'l' ('d' in Intel mode) or 'q' for memory operand
+ or suffix_always is true
Many of the above letters print nothing in Intel mode. See "putop"
for the details.
@@ -1830,9 +1835,9 @@ static const struct dis386 prefix_table[][4] = {
/* PREFIX_0F2A */
{
{ "cvtpi2ps", { XM, EMCq } },
- { "cvtsi2ssY", { XM, Ev } },
+ { "cvtsi2ss%LQ", { XM, Ev } },
{ "cvtpi2pd", { XM, EMCq } },
- { "cvtsi2sdY", { XM, Ev } },
+ { "cvtsi2sd%LQ", { XM, Ev } },
},
/* PREFIX_0F2B */
@@ -5965,6 +5970,14 @@ putop (const char *template, int sizeflag)
const char *p;
int alt = 0;
int cond = 1;
+ unsigned int l = 0, len = 1;
+ char last[4];
+
+#define SAVE_LAST(c) \
+ if (l < len && l < sizeof (last)) \
+ last[l++] = c; \
+ else \
+ abort ();
for (p = template; *p; p++)
{
@@ -5973,6 +5986,9 @@ putop (const char *template, int sizeflag)
default:
*obufp++ = *p;
break;
+ case '%':
+ len++;
+ break;
case '!':
cond = 0;
break;
@@ -6109,7 +6125,14 @@ putop (const char *template, int sizeflag)
break;
}
/* Fall through. */
+ goto case_L;
case 'L':
+ if (l != 0 || len != 1)
+ {
+ SAVE_LAST (*p);
+ break;
+ }
+case_L:
if (intel_syntax)
break;
if (sizeflag & SUFFIX_ALWAYS)
@@ -6175,22 +6198,45 @@ putop (const char *template, int sizeflag)
break;
}
/* Fall through. */
+ goto case_Q;
case 'Q':
- if (intel_syntax && !alt)
- break;
- USED_REX (REX_W);
- if (modrm.mod != 3 || (sizeflag & SUFFIX_ALWAYS))
+ if (l == 0 && len == 1)
{
- if (rex & REX_W)
- *obufp++ = 'q';
- else
+case_Q:
+ if (intel_syntax && !alt)
+ break;
+ USED_REX (REX_W);
+ if (modrm.mod != 3 || (sizeflag & SUFFIX_ALWAYS))
{
- if (sizeflag & DFLAG)
- *obufp++ = intel_syntax ? 'd' : 'l';
+ if (rex & REX_W)
+ *obufp++ = 'q';
else
- *obufp++ = 'w';
+ {
+ if (sizeflag & DFLAG)
+ *obufp++ = intel_syntax ? 'd' : 'l';
+ else
+ *obufp++ = 'w';
+ }
+ used_prefixes |= (prefixes & PREFIX_DATA);
}
- used_prefixes |= (prefixes & PREFIX_DATA);
+ }
+ else
+ {
+ if (l != 1 || len != 2 || last[0] != 'L')
+ {
+ SAVE_LAST (*p);
+ break;
+ }
+ if (intel_syntax
+ || (modrm.mod == 3 && !(sizeflag & SUFFIX_ALWAYS)))
+ break;
+ if ((rex & REX_W))
+ {
+ USED_REX (REX_W);
+ *obufp++ = 'q';
+ }
+ else
+ *obufp++ = 'l';
}
break;
case 'R':
diff --git a/opcodes/i386-opc.tbl b/opcodes/i386-opc.tbl
index 8f21a7c..8f43249 100644
--- a/opcodes/i386-opc.tbl
+++ b/opcodes/i386-opc.tbl
@@ -1066,7 +1066,7 @@ cmpss, 3, 0xf30fc2, None, 2, CpuSSE, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No
comiss, 2, 0xf2f, None, 2, CpuSSE, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
cvtpi2ps, 2, 0xf2a, None, 2, CpuSSE, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegMMX, RegXMM }
cvtps2pi, 2, 0xf2d, None, 2, CpuSSE, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegMMX }
-cvtsi2ss, 2, 0xf30f2a, None, 2, CpuSSE, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Reg32|Reg64|BaseIndex|Disp8|Disp16|Disp32|Disp32S, RegXMM }
+cvtsi2ss, 2, 0xf30f2a, None, 2, CpuSSE, Modrm|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Reg32|Reg64|BaseIndex|Disp8|Disp16|Disp32|Disp32S, RegXMM }
cvtss2si, 2, 0xf30f2d, None, 2, CpuSSE, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_ldSuf|ToQword, { BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, Reg32|Reg64 }
cvttps2pi, 2, 0xf2c, None, 2, CpuSSE, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegMMX }
cvttss2si, 2, 0xf30f2c, None, 2, CpuSSE, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_ldSuf|ToQword, { BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, Reg32|Reg64 }
@@ -1173,7 +1173,7 @@ cmpsd, 2, 0xa7, None, 1, 0, Size32|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ld
cmpsd, 3, 0xf20fc2, None, 2, CpuSSE2, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
comisd, 2, 0x660f2f, None, 2, CpuSSE2, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
cvtpi2pd, 2, 0x660f2a, None, 2, CpuSSE2, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegMMX, RegXMM }
-cvtsi2sd, 2, 0xf20f2a, None, 2, CpuSSE2, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Reg32|Reg64|BaseIndex|Disp8|Disp16|Disp32|Disp32S, RegXMM }
+cvtsi2sd, 2, 0xf20f2a, None, 2, CpuSSE2, Modrm|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Reg32|Reg64|BaseIndex|Disp8|Disp16|Disp32|Disp32S, RegXMM }
divpd, 2, 0x660f5e, None, 2, CpuSSE2, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
divsd, 2, 0xf20f5e, None, 2, CpuSSE2, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
maxpd, 2, 0x660f5f, None, 2, CpuSSE2, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
diff --git a/opcodes/i386-tbl.h b/opcodes/i386-tbl.h
index 45b04b3..a6544dc 100644
--- a/opcodes/i386-tbl.h
+++ b/opcodes/i386-tbl.h
@@ -7371,7 +7371,7 @@ const template i386_optab[] =
{ "cvtsi2ss", 2, 0xf30f2a, None, 2,
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1,
+ { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1,
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0 },
{ { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0,
@@ -8373,7 +8373,7 @@ const template i386_optab[] =
{ "cvtsi2sd", 2, 0xf20f2a, None, 2,
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1,
+ { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1,
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0 },
{ { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0,