PATCH: Fix cvtsi2ss/cvtsi2sd in x86 assembler/disassembler

H.J. Lu hjl@lucon.org
Mon Dec 31 15:41:00 GMT 2007


X86 assembler/disassembler don't handle cvtsi2ss/cvtsi2sd correctly:

bash-3.2$ cat 1.s
        .text
        .intel_syntax noprefix
        cvtsi2ss xmm1,QWORD PTR [eax]
        cvtsi2sd xmm1,QWORD PTR [eax]
        cvtsi2ssq xmm1,QWORD PTR [eax]
        cvtsi2sdq xmm1,QWORD PTR [eax]
bash-3.2$ as --32 -o 1.o 1.s

They should be errors.

bash-3.2$ cat 2.s
        .text
        cvtsi2ssq (%rax), %xmm1
        cvtsi2sdq (%rax), %xmm1

        .intel_syntax noprefix
        cvtsi2ss xmm1,QWORD PTR [rax]
        cvtsi2sd xmm1,QWORD PTR [rax]
bash-3.2$ as -o 2.o 2.s
bash-3.2$ objdump -dw 2.o

2.o:     file format elf64-x86-64

Disassembly of section .text:

0000000000000000 <.text>:
   0:   f3 48 0f 2a 08          rex.W cvtsi2ss (%rax),%xmm1
   5:   f2 48 0f 2a 08          rex.W cvtsi2sd (%rax),%xmm1
   a:   f3 48 0f 2a 08          rex.W cvtsi2ss (%rax),%xmm1
   f:   f2 48 0f 2a 08          rex.W cvtsi2sd (%rax),%xmm1

rex.W shouldn't be there and cvtsi2ssq/cvtsi2sdq should be used.

I am checking in this patch to fix it.


H.J.
----
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.

--- binutils/gas/testsuite/gas/i386/inval.l.cvt	2006-12-13 10:01:18.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/inval.l	2007-12-31 07:10:38.000000000 -0800
@@ -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\]
--- binutils/gas/testsuite/gas/i386/inval.s.cvt	2006-12-13 10:01:18.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/inval.s	2007-12-31 07:08:22.000000000 -0800
@@ -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]
--- binutils/gas/testsuite/gas/i386/simd-intel.d.cvt	2007-10-24 09:02:45.000000000 -0700
+++ binutils/gas/testsuite/gas/i386/simd-intel.d	2007-12-31 07:17:01.000000000 -0800
@@ -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
--- binutils/gas/testsuite/gas/i386/simd-suffix.d.cvt	2007-10-24 09:02:45.000000000 -0700
+++ binutils/gas/testsuite/gas/i386/simd-suffix.d	2007-12-31 07:16:42.000000000 -0800
@@ -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
--- binutils/gas/testsuite/gas/i386/simd.d.cvt	2007-10-24 09:02:45.000000000 -0700
+++ binutils/gas/testsuite/gas/i386/simd.d	2007-12-31 07:17:20.000000000 -0800
@@ -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
--- binutils/gas/testsuite/gas/i386/simd.s.cvt	2007-10-24 09:02:45.000000000 -0700
+++ binutils/gas/testsuite/gas/i386/simd.s	2007-12-31 07:16:12.000000000 -0800
@@ -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]
--- binutils/gas/testsuite/gas/i386/sse2.d.cvt	2006-11-09 19:54:31.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/sse2.d	2007-12-31 07:03:01.000000000 -0800
@@ -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
--- binutils/gas/testsuite/gas/i386/x86-64-opcode.d.cvt	2007-10-09 06:33:04.000000000 -0700
+++ binutils/gas/testsuite/gas/i386/x86-64-opcode.d	2007-12-31 07:03:01.000000000 -0800
@@ -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[	 ]*(#.*)*
--- binutils/gas/testsuite/gas/i386/x86-64-simd-intel.d.cvt	2007-10-24 09:02:45.000000000 -0700
+++ binutils/gas/testsuite/gas/i386/x86-64-simd-intel.d	2007-12-31 07:21:19.000000000 -0800
@@ -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\]
--- binutils/gas/testsuite/gas/i386/x86-64-simd-suffix.d.cvt	2007-10-24 09:02:45.000000000 -0700
+++ binutils/gas/testsuite/gas/i386/x86-64-simd-suffix.d	2007-12-31 07:21:45.000000000 -0800
@@ -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
--- binutils/gas/testsuite/gas/i386/x86-64-simd.d.cvt	2007-10-24 09:02:45.000000000 -0700
+++ binutils/gas/testsuite/gas/i386/x86-64-simd.d	2007-12-31 07:20:44.000000000 -0800
@@ -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
--- binutils/gas/testsuite/gas/i386/x86-64-simd.s.cvt	2007-10-24 09:02:45.000000000 -0700
+++ binutils/gas/testsuite/gas/i386/x86-64-simd.s	2007-12-31 07:19:25.000000000 -0800
@@ -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]        
--- binutils/opcodes/i386-dis.c.cvt	2007-12-22 07:53:51.000000000 -0800
+++ binutils/opcodes/i386-dis.c	2007-12-31 07:03:01.000000000 -0800
@@ -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[
   /* 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 sizefla
   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 sizefla
 	default:
 	  *obufp++ = *p;
 	  break;
+	case '%':
+	  len++;
+	  break;
 	case '!':
 	  cond = 0;
 	  break;
@@ -6109,7 +6125,14 @@ putop (const char *template, int sizefla
 	      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 sizefla
 	      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':
--- binutils/opcodes/i386-opc.tbl.cvt	2007-12-28 08:04:51.000000000 -0800
+++ binutils/opcodes/i386-opc.tbl	2007-12-31 07:06:06.000000000 -0800
@@ -1066,7 +1066,7 @@ cmpss, 3, 0xf30fc2, None, 2, CpuSSE, Mod
 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_bS
 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 }
--- binutils/opcodes/i386-tbl.h.cvt	2007-12-28 08:04:51.000000000 -0800
+++ binutils/opcodes/i386-tbl.h	2007-12-31 07:06:31.000000000 -0800
@@ -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, 



More information about the Binutils mailing list