diff options
Diffstat (limited to 'gas')
-rw-r--r-- | gas/testsuite/ChangeLog | 15 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/i386.exp | 4 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/opcode-intel.d | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/simd-intel.d | 37 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/simd.d | 36 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/simd.s | 29 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-simd-intel.d | 37 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-simd.d | 36 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-simd.s | 29 |
9 files changed, 226 insertions, 3 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index a4cf81d..811b553 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,18 @@ +2007-06-23 H.J. Lu <hongjiu.lu@intel.com> + + PR binutils/4667 + * gas/i386/i386.exp: Run simd, simd-intel, x86-64-simd + and x86-64-simd-intel. + + * gas/i386/opcode-intel.d: Updated. + + * gas/i386/simd-intel.d: New. + * gas/i386/simd.d: Likewise. + * gas/i386/simd.s: Likewise. + * gas/i386/x86-64-simd-intel.d: Likewise. + * gas/i386/x86-64-simd.d: Likewise. + * gas/i386/x86-64-simd.s: Likewise. + 2007-06-18 Kazu Hirata <kazu@codesourcery.com> * gas/m68k/all.exp: Run mcf-wdebug. diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp index 0c419d2..8f0437c 100644 --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -78,6 +78,8 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]] run_dump_test "crc32" run_dump_test "crc32-intel" run_list_test "inval-crc32" "-al" + run_dump_test "simd" + run_dump_test "simd-intel" # These tests require support for 8 and 16 bit relocs, # so we only run them for ELF and COFF targets. @@ -170,6 +172,8 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t run_dump_test "x86-64-crc32" run_dump_test "x86-64-crc32-intel" run_list_test "x86-64-inval-crc32" "-al" + run_dump_test "x86-64-simd" + run_dump_test "x86-64-simd-intel" if { ![istarget "*-*-aix*"] && ![istarget "*-*-beos*"] diff --git a/gas/testsuite/gas/i386/opcode-intel.d b/gas/testsuite/gas/i386/opcode-intel.d index 2bee617..2b728e1 100644 --- a/gas/testsuite/gas/i386/opcode-intel.d +++ b/gas/testsuite/gas/i386/opcode-intel.d @@ -282,9 +282,9 @@ Disassembly of section .text: *[0-9a-f]+: 0f 4d 90 90 90 90 90[ ]+cmovge[ ]+edx,(DWORD PTR )?\[eax-0x6f6f6f70\] *[0-9a-f]+: 0f 4e 90 90 90 90 90[ ]+cmovle[ ]+edx,(DWORD PTR )?\[eax-0x6f6f6f70\] *[0-9a-f]+: 0f 4f 90 90 90 90 90[ ]+cmovg[ ]+edx,(DWORD PTR )?\[eax-0x6f6f6f70\] - *[0-9a-f]+: 0f 60 90 90 90 90 90[ ]+punpcklbw[ ]+mm2,(QWORD PTR )?\[eax-0x6f6f6f70\] - *[0-9a-f]+: 0f 61 90 90 90 90 90[ ]+punpcklwd[ ]+mm2,(QWORD PTR )?\[eax-0x6f6f6f70\] - *[0-9a-f]+: 0f 62 90 90 90 90 90[ ]+punpckldq[ ]+mm2,(QWORD PTR )?\[eax-0x6f6f6f70\] + *[0-9a-f]+: 0f 60 90 90 90 90 90[ ]+punpcklbw[ ]+mm2,(DWORD PTR )?\[eax-0x6f6f6f70\] + *[0-9a-f]+: 0f 61 90 90 90 90 90[ ]+punpcklwd[ ]+mm2,(DWORD PTR )?\[eax-0x6f6f6f70\] + *[0-9a-f]+: 0f 62 90 90 90 90 90[ ]+punpckldq[ ]+mm2,(DWORD PTR )?\[eax-0x6f6f6f70\] *[0-9a-f]+: 0f 63 90 90 90 90 90[ ]+packsswb[ ]+mm2,(QWORD PTR )?\[eax-0x6f6f6f70\] *[0-9a-f]+: 0f 64 90 90 90 90 90[ ]+pcmpgtb[ ]+mm2,(QWORD PTR )?\[eax-0x6f6f6f70\] *[0-9a-f]+: 0f 65 90 90 90 90 90[ ]+pcmpgtw[ ]+mm2,(QWORD PTR )?\[eax-0x6f6f6f70\] diff --git a/gas/testsuite/gas/i386/simd-intel.d b/gas/testsuite/gas/i386/simd-intel.d new file mode 100644 index 0000000..7f4cc10 --- /dev/null +++ b/gas/testsuite/gas/i386/simd-intel.d @@ -0,0 +1,37 @@ +#source: simd.s +#as: -J +#objdump: -dw -Mintel +#name: i386 SIMD (Intel mode) + +.*: +file format .* + +Disassembly of section .text: + +0+ <_start>: +[ ]*[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 +[ ]*[a-f0-9]+: f3 0f e6 0d 78 56 34 12 cvtdq2pd xmm1,QWORD PTR ds:0x12345678 +[ ]*[a-f0-9]+: f2 0f e6 0d 78 56 34 12 cvtpd2dq xmm1,XMMWORD PTR ds:0x12345678 +[ ]*[a-f0-9]+: 0f 5a 0d 78 56 34 12 cvtps2pd xmm1,QWORD PTR ds:0x12345678 +[ ]*[a-f0-9]+: f3 0f 5b 0d 78 56 34 12 cvttps2dq xmm1,XMMWORD PTR ds:0x12345678 +[ ]*[a-f0-9]+: f2 0f 7c 0d 78 56 34 12 haddps xmm1,XMMWORD PTR ds:0x12345678 +[ ]*[a-f0-9]+: f3 0f 7f 0d 78 56 34 12 movdqu XMMWORD PTR ds:0x12345678,xmm1 +[ ]*[a-f0-9]+: f3 0f 6f 0d 78 56 34 12 movdqu xmm1,XMMWORD PTR ds:0x12345678 +[ ]*[a-f0-9]+: 66 0f 17 0d 78 56 34 12 movhpd QWORD PTR ds:0x12345678,xmm1 +[ ]*[a-f0-9]+: 66 0f 16 0d 78 56 34 12 movhpd xmm1,QWORD PTR ds:0x12345678 +[ ]*[a-f0-9]+: 0f 17 0d 78 56 34 12 movhps QWORD PTR ds:0x12345678,xmm1 +[ ]*[a-f0-9]+: 0f 16 0d 78 56 34 12 movhps xmm1,QWORD PTR ds:0x12345678 +[ ]*[a-f0-9]+: 66 0f 13 0d 78 56 34 12 movlpd QWORD PTR ds:0x12345678,xmm1 +[ ]*[a-f0-9]+: 66 0f 12 0d 78 56 34 12 movlpd xmm1,QWORD PTR ds:0x12345678 +[ ]*[a-f0-9]+: 0f 13 0d 78 56 34 12 movlps QWORD PTR ds:0x12345678,xmm1 +[ ]*[a-f0-9]+: 0f 12 0d 78 56 34 12 movlps xmm1,QWORD PTR ds:0x12345678 +[ ]*[a-f0-9]+: f3 0f 16 0d 78 56 34 12 movshdup xmm1,XMMWORD PTR ds:0x12345678 +[ ]*[a-f0-9]+: f3 0f 12 0d 78 56 34 12 movsldup xmm1,XMMWORD PTR ds:0x12345678 +[ ]*[a-f0-9]+: f3 0f 70 0d 78 56 34 12 90 pshufhw xmm1,XMMWORD PTR ds:0x12345678,0x90 +[ ]*[a-f0-9]+: f2 0f 70 0d 78 56 34 12 90 pshuflw xmm1,XMMWORD PTR ds:0x12345678,0x90 +[ ]*[a-f0-9]+: 0f 60 0d 78 56 34 12 punpcklbw mm1,DWORD PTR ds:0x12345678 +[ ]*[a-f0-9]+: 0f 62 0d 78 56 34 12 punpckldq mm1,DWORD PTR ds:0x12345678 +[ ]*[a-f0-9]+: 0f 61 0d 78 56 34 12 punpcklwd mm1,DWORD PTR ds:0x12345678 +[ ]*[a-f0-9]+: 66 0f 2e 0d 78 56 34 12 ucomisd xmm1,QWORD PTR ds:0x12345678 +[ ]*[a-f0-9]+: 0f 2e 0d 78 56 34 12 ucomiss xmm1,DWORD PTR ds:0x12345678 diff --git a/gas/testsuite/gas/i386/simd.d b/gas/testsuite/gas/i386/simd.d new file mode 100644 index 0000000..38a296a --- /dev/null +++ b/gas/testsuite/gas/i386/simd.d @@ -0,0 +1,36 @@ +#as: -J +#objdump: -dw +#name: i386 SIMD + +.*: +file format .* + +Disassembly of section .text: + +0+ <_start>: +[ ]*[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 +[ ]*[a-f0-9]+: f3 0f e6 0d 78 56 34 12 cvtdq2pd 0x12345678,%xmm1 +[ ]*[a-f0-9]+: f2 0f e6 0d 78 56 34 12 cvtpd2dq 0x12345678,%xmm1 +[ ]*[a-f0-9]+: 0f 5a 0d 78 56 34 12 cvtps2pd 0x12345678,%xmm1 +[ ]*[a-f0-9]+: f3 0f 5b 0d 78 56 34 12 cvttps2dq 0x12345678,%xmm1 +[ ]*[a-f0-9]+: f2 0f 7c 0d 78 56 34 12 haddps 0x12345678,%xmm1 +[ ]*[a-f0-9]+: f3 0f 7f 0d 78 56 34 12 movdqu %xmm1,0x12345678 +[ ]*[a-f0-9]+: f3 0f 6f 0d 78 56 34 12 movdqu 0x12345678,%xmm1 +[ ]*[a-f0-9]+: 66 0f 17 0d 78 56 34 12 movhpd %xmm1,0x12345678 +[ ]*[a-f0-9]+: 66 0f 16 0d 78 56 34 12 movhpd 0x12345678,%xmm1 +[ ]*[a-f0-9]+: 0f 17 0d 78 56 34 12 movhps %xmm1,0x12345678 +[ ]*[a-f0-9]+: 0f 16 0d 78 56 34 12 movhps 0x12345678,%xmm1 +[ ]*[a-f0-9]+: 66 0f 13 0d 78 56 34 12 movlpd %xmm1,0x12345678 +[ ]*[a-f0-9]+: 66 0f 12 0d 78 56 34 12 movlpd 0x12345678,%xmm1 +[ ]*[a-f0-9]+: 0f 13 0d 78 56 34 12 movlps %xmm1,0x12345678 +[ ]*[a-f0-9]+: 0f 12 0d 78 56 34 12 movlps 0x12345678,%xmm1 +[ ]*[a-f0-9]+: f3 0f 16 0d 78 56 34 12 movshdup 0x12345678,%xmm1 +[ ]*[a-f0-9]+: f3 0f 12 0d 78 56 34 12 movsldup 0x12345678,%xmm1 +[ ]*[a-f0-9]+: f3 0f 70 0d 78 56 34 12 90 pshufhw \$0x90,0x12345678,%xmm1 +[ ]*[a-f0-9]+: f2 0f 70 0d 78 56 34 12 90 pshuflw \$0x90,0x12345678,%xmm1 +[ ]*[a-f0-9]+: 0f 60 0d 78 56 34 12 punpcklbw 0x12345678,%mm1 +[ ]*[a-f0-9]+: 0f 62 0d 78 56 34 12 punpckldq 0x12345678,%mm1 +[ ]*[a-f0-9]+: 0f 61 0d 78 56 34 12 punpcklwd 0x12345678,%mm1 +[ ]*[a-f0-9]+: 66 0f 2e 0d 78 56 34 12 ucomisd 0x12345678,%xmm1 +[ ]*[a-f0-9]+: 0f 2e 0d 78 56 34 12 ucomiss 0x12345678,%xmm1 diff --git a/gas/testsuite/gas/i386/simd.s b/gas/testsuite/gas/i386/simd.s new file mode 100644 index 0000000..cd0cf93 --- /dev/null +++ b/gas/testsuite/gas/i386/simd.s @@ -0,0 +1,29 @@ + .text +_start: + addsubps 0x12345678,%xmm1 + comisd 0x12345678,%xmm1 + comiss 0x12345678,%xmm1 + cvtdq2pd 0x12345678,%xmm1 + cvtpd2dq 0x12345678,%xmm1 + cvtps2pd 0x12345678,%xmm1 + cvttps2dq 0x12345678,%xmm1 + haddps 0x12345678,%xmm1 + movdqu %xmm1,0x12345678 + movdqu 0x12345678,%xmm1 + movhpd %xmm1,0x12345678 + movhpd 0x12345678,%xmm1 + movhps %xmm1,0x12345678 + movhps 0x12345678,%xmm1 + movlpd %xmm1,0x12345678 + movlpd 0x12345678,%xmm1 + movlps %xmm1,0x12345678 + movlps 0x12345678,%xmm1 + movshdup 0x12345678,%xmm1 + movsldup 0x12345678,%xmm1 + pshufhw $0x90,0x12345678,%xmm1 + pshuflw $0x90,0x12345678,%xmm1 + punpcklbw 0x12345678,%mm1 + punpckldq 0x12345678,%mm1 + punpcklwd 0x12345678,%mm1 + ucomisd 0x12345678,%xmm1 + ucomiss 0x12345678,%xmm1 diff --git a/gas/testsuite/gas/i386/x86-64-simd-intel.d b/gas/testsuite/gas/i386/x86-64-simd-intel.d new file mode 100644 index 0000000..799a9b3 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-simd-intel.d @@ -0,0 +1,37 @@ +#source: x86-64-simd.s +#as: -J +#objdump: -dw -Mintel +#name: x86-64 SIMD (Intel mode) + +.*: +file format .* + +Disassembly of section .text: + +0+ <_start>: +[ ]*[a-f0-9]+: f2 0f d0 0d 78 56 34 12 addsubps xmm1,XMMWORD PTR \[rip\+0x12345678\][ ]*(#.*)? +[ ]*[a-f0-9]+: 66 0f 2f 0d 78 56 34 12 comisd xmm1,QWORD PTR \[rip\+0x12345678\][ ]*(#.*)? +[ ]*[a-f0-9]+: 0f 2f 0d 78 56 34 12 comiss xmm1,DWORD PTR \[rip\+0x12345678\][ ]*(#.*)? +[ ]*[a-f0-9]+: f3 0f e6 0d 78 56 34 12 cvtdq2pd xmm1,QWORD PTR \[rip\+0x12345678\][ ]*(#.*)? +[ ]*[a-f0-9]+: f2 0f e6 0d 78 56 34 12 cvtpd2dq xmm1,XMMWORD PTR \[rip\+0x12345678\][ ]*(#.*)? +[ ]*[a-f0-9]+: 0f 5a 0d 78 56 34 12 cvtps2pd xmm1,QWORD PTR \[rip\+0x12345678\][ ]*(#.*)? +[ ]*[a-f0-9]+: f3 0f 5b 0d 78 56 34 12 cvttps2dq xmm1,XMMWORD PTR \[rip\+0x12345678\][ ]*(#.*)? +[ ]*[a-f0-9]+: f2 0f 7c 0d 78 56 34 12 haddps xmm1,XMMWORD PTR \[rip\+0x12345678\][ ]*(#.*)? +[ ]*[a-f0-9]+: f3 0f 7f 0d 78 56 34 12 movdqu XMMWORD PTR \[rip\+0x12345678\],xmm1[ ]*(#.*)? +[ ]*[a-f0-9]+: f3 0f 6f 0d 78 56 34 12 movdqu xmm1,XMMWORD PTR \[rip\+0x12345678\][ ]*(#.*)? +[ ]*[a-f0-9]+: 66 0f 17 0d 78 56 34 12 movhpd QWORD PTR \[rip\+0x12345678\],xmm1[ ]*(#.*)? +[ ]*[a-f0-9]+: 66 0f 16 0d 78 56 34 12 movhpd xmm1,QWORD PTR \[rip\+0x12345678\][ ]*(#.*)? +[ ]*[a-f0-9]+: 0f 17 0d 78 56 34 12 movhps QWORD PTR \[rip\+0x12345678\],xmm1[ ]*(#.*)? +[ ]*[a-f0-9]+: 0f 16 0d 78 56 34 12 movhps xmm1,QWORD PTR \[rip\+0x12345678\][ ]*(#.*)? +[ ]*[a-f0-9]+: 66 0f 13 0d 78 56 34 12 movlpd QWORD PTR \[rip\+0x12345678\],xmm1[ ]*(#.*)? +[ ]*[a-f0-9]+: 66 0f 12 0d 78 56 34 12 movlpd xmm1,QWORD PTR \[rip\+0x12345678\][ ]*(#.*)? +[ ]*[a-f0-9]+: 0f 13 0d 78 56 34 12 movlps QWORD PTR \[rip\+0x12345678\],xmm1[ ]*(#.*)? +[ ]*[a-f0-9]+: 0f 12 0d 78 56 34 12 movlps xmm1,QWORD PTR \[rip\+0x12345678\][ ]*(#.*)? +[ ]*[a-f0-9]+: f3 0f 16 0d 78 56 34 12 movshdup xmm1,XMMWORD PTR \[rip\+0x12345678\][ ]*(#.*)? +[ ]*[a-f0-9]+: f3 0f 12 0d 78 56 34 12 movsldup xmm1,XMMWORD PTR \[rip\+0x12345678\][ ]*(#.*)? +[ ]*[a-f0-9]+: f3 0f 70 0d 78 56 34 12 90 pshufhw xmm1,XMMWORD PTR \[rip\+0x12345678\],0x90[ ]*(#.*)? +[ ]*[a-f0-9]+: f2 0f 70 0d 78 56 34 12 90 pshuflw xmm1,XMMWORD PTR \[rip\+0x12345678\],0x90[ ]*(#.*)? +[ ]*[a-f0-9]+: 0f 60 0d 78 56 34 12 punpcklbw mm1,DWORD PTR \[rip\+0x12345678\][ ]*(#.*)? +[ ]*[a-f0-9]+: 0f 62 0d 78 56 34 12 punpckldq mm1,DWORD PTR \[rip\+0x12345678\][ ]*(#.*)? +[ ]*[a-f0-9]+: 0f 61 0d 78 56 34 12 punpcklwd mm1,DWORD PTR \[rip\+0x12345678\][ ]*(#.*)? +[ ]*[a-f0-9]+: 66 0f 2e 0d 78 56 34 12 ucomisd xmm1,QWORD PTR \[rip\+0x12345678\][ ]*(#.*)? +[ ]*[a-f0-9]+: 0f 2e 0d 78 56 34 12 ucomiss xmm1,DWORD PTR \[rip\+0x12345678\][ ]*(#.*)? diff --git a/gas/testsuite/gas/i386/x86-64-simd.d b/gas/testsuite/gas/i386/x86-64-simd.d new file mode 100644 index 0000000..f00b2c1 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-simd.d @@ -0,0 +1,36 @@ +#as: -J +#objdump: -dw +#name: x86-64 SIMD + +.*: +file format .* + +Disassembly of section .text: + +0+ <_start>: +[ ]*[a-f0-9]+: f2 0f d0 0d 78 56 34 12 addsubps 0x12345678\(%rip\),%xmm1[ ]*(#.*)? +[ ]*[a-f0-9]+: 66 0f 2f 0d 78 56 34 12 comisd 0x12345678\(%rip\),%xmm1[ ]*(#.*)? +[ ]*[a-f0-9]+: 0f 2f 0d 78 56 34 12 comiss 0x12345678\(%rip\),%xmm1[ ]*(#.*)? +[ ]*[a-f0-9]+: f3 0f e6 0d 78 56 34 12 cvtdq2pd 0x12345678\(%rip\),%xmm1[ ]*(#.*)? +[ ]*[a-f0-9]+: f2 0f e6 0d 78 56 34 12 cvtpd2dq 0x12345678\(%rip\),%xmm1[ ]*(#.*)? +[ ]*[a-f0-9]+: 0f 5a 0d 78 56 34 12 cvtps2pd 0x12345678\(%rip\),%xmm1[ ]*(#.*)? +[ ]*[a-f0-9]+: f3 0f 5b 0d 78 56 34 12 cvttps2dq 0x12345678\(%rip\),%xmm1[ ]*(#.*)? +[ ]*[a-f0-9]+: f2 0f 7c 0d 78 56 34 12 haddps 0x12345678\(%rip\),%xmm1[ ]*(#.*)? +[ ]*[a-f0-9]+: f3 0f 7f 0d 78 56 34 12 movdqu %xmm1,0x12345678\(%rip\)[ ]*(#.*)? +[ ]*[a-f0-9]+: f3 0f 6f 0d 78 56 34 12 movdqu 0x12345678\(%rip\),%xmm1[ ]*(#.*)? +[ ]*[a-f0-9]+: 66 0f 17 0d 78 56 34 12 movhpd %xmm1,0x12345678\(%rip\)[ ]*(#.*)? +[ ]*[a-f0-9]+: 66 0f 16 0d 78 56 34 12 movhpd 0x12345678\(%rip\),%xmm1[ ]*(#.*)? +[ ]*[a-f0-9]+: 0f 17 0d 78 56 34 12 movhps %xmm1,0x12345678\(%rip\)[ ]*(#.*)? +[ ]*[a-f0-9]+: 0f 16 0d 78 56 34 12 movhps 0x12345678\(%rip\),%xmm1[ ]*(#.*)? +[ ]*[a-f0-9]+: 66 0f 13 0d 78 56 34 12 movlpd %xmm1,0x12345678\(%rip\)[ ]*(#.*)? +[ ]*[a-f0-9]+: 66 0f 12 0d 78 56 34 12 movlpd 0x12345678\(%rip\),%xmm1[ ]*(#.*)? +[ ]*[a-f0-9]+: 0f 13 0d 78 56 34 12 movlps %xmm1,0x12345678\(%rip\)[ ]*(#.*)? +[ ]*[a-f0-9]+: 0f 12 0d 78 56 34 12 movlps 0x12345678\(%rip\),%xmm1[ ]*(#.*)? +[ ]*[a-f0-9]+: f3 0f 16 0d 78 56 34 12 movshdup 0x12345678\(%rip\),%xmm1[ ]*(#.*)? +[ ]*[a-f0-9]+: f3 0f 12 0d 78 56 34 12 movsldup 0x12345678\(%rip\),%xmm1[ ]*(#.*)? +[ ]*[a-f0-9]+: f3 0f 70 0d 78 56 34 12 90 pshufhw \$0x90,0x12345678\(%rip\),%xmm1[ ]*(#.*)? +[ ]*[a-f0-9]+: f2 0f 70 0d 78 56 34 12 90 pshuflw \$0x90,0x12345678\(%rip\),%xmm1[ ]*(#.*)? +[ ]*[a-f0-9]+: 0f 60 0d 78 56 34 12 punpcklbw 0x12345678\(%rip\),%mm1[ ]*(#.*)? +[ ]*[a-f0-9]+: 0f 62 0d 78 56 34 12 punpckldq 0x12345678\(%rip\),%mm1[ ]*(#.*)? +[ ]*[a-f0-9]+: 0f 61 0d 78 56 34 12 punpcklwd 0x12345678\(%rip\),%mm1[ ]*(#.*)? +[ ]*[a-f0-9]+: 66 0f 2e 0d 78 56 34 12 ucomisd 0x12345678\(%rip\),%xmm1[ ]*(#.*)? +[ ]*[a-f0-9]+: 0f 2e 0d 78 56 34 12 ucomiss 0x12345678\(%rip\),%xmm1[ ]*(#.*)? diff --git a/gas/testsuite/gas/i386/x86-64-simd.s b/gas/testsuite/gas/i386/x86-64-simd.s new file mode 100644 index 0000000..579c1ec --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-simd.s @@ -0,0 +1,29 @@ + .text +_start: + addsubps 0x12345678(%rip),%xmm1 + comisd 0x12345678(%rip),%xmm1 + comiss 0x12345678(%rip),%xmm1 + cvtdq2pd 0x12345678(%rip),%xmm1 + cvtpd2dq 0x12345678(%rip),%xmm1 + cvtps2pd 0x12345678(%rip),%xmm1 + cvttps2dq 0x12345678(%rip),%xmm1 + haddps 0x12345678(%rip),%xmm1 + movdqu %xmm1,0x12345678(%rip) + movdqu 0x12345678(%rip),%xmm1 + movhpd %xmm1,0x12345678(%rip) + movhpd 0x12345678(%rip),%xmm1 + movhps %xmm1,0x12345678(%rip) + movhps 0x12345678(%rip),%xmm1 + movlpd %xmm1,0x12345678(%rip) + movlpd 0x12345678(%rip),%xmm1 + movlps %xmm1,0x12345678(%rip) + movlps 0x12345678(%rip),%xmm1 + movshdup 0x12345678(%rip),%xmm1 + movsldup 0x12345678(%rip),%xmm1 + pshufhw $0x90,0x12345678(%rip),%xmm1 + pshuflw $0x90,0x12345678(%rip),%xmm1 + punpcklbw 0x12345678(%rip),%mm1 + punpckldq 0x12345678(%rip),%mm1 + punpcklwd 0x12345678(%rip),%mm1 + ucomisd 0x12345678(%rip),%xmm1 + ucomiss 0x12345678(%rip),%xmm1 |