OSDN Git Service

gas/testsuite/
authorH.J. Lu <hjl@lucon.org>
Thu, 4 Oct 2007 22:02:10 +0000 (22:02 +0000)
committerH.J. Lu <hjl@lucon.org>
Thu, 4 Oct 2007 22:02:10 +0000 (22:02 +0000)
2007-10-04  H.J. Lu  <hongjiu.lu@intel.com>

* gas/i386/simd.s: Add tests for unpckhpd and unpckhps.
* gas/i386/x86-64-simd.s: Likewise.

* gas/i386/simd-intel.d: Updated.
* gas/i386/simd.d: Likewise.
* gas/i386/x86-64-simd-intel.d: Likewise.
* gas/i386/x86-64-simd.d: Likewise.

opcodes/

2007-10-04  H.J. Lu  <hongjiu.lu@intel.com>

* i386-dis.c (dis386_twobyte): Use EXx instead of EXq on
unpckhpX and unpckhpX.

gas/testsuite/ChangeLog
gas/testsuite/gas/i386/simd-intel.d
gas/testsuite/gas/i386/simd.d
gas/testsuite/gas/i386/simd.s
gas/testsuite/gas/i386/x86-64-simd-intel.d
gas/testsuite/gas/i386/x86-64-simd.d
gas/testsuite/gas/i386/x86-64-simd.s
opcodes/ChangeLog
opcodes/i386-dis.c

index b097e1c..dbf13ee 100644 (file)
@@ -1,3 +1,13 @@
+2007-10-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * gas/i386/simd.s: Add tests for unpckhpd and unpckhps.
+       * gas/i386/x86-64-simd.s: Likewise.
+
+       * gas/i386/simd-intel.d: Updated.
+       * gas/i386/simd.d: Likewise.
+       * gas/i386/x86-64-simd-intel.d: Likewise.
+       * gas/i386/x86-64-simd.d: Likewise.
+
 2007-10-04  David Daney  <ddaney@avtrex.com>
 
        * gas/mips/odd-float.d, gas/mips/odd-float.s: New test.
index a8503a4..9e3a080 100644 (file)
@@ -85,6 +85,10 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    66 0f 38 34 00          pmovzxwq xmm0,DWORD PTR \[eax\]
 [      ]*[a-f0-9]+:    66 0f 38 35 00          pmovzxdq xmm0,QWORD PTR \[eax\]
 [      ]*[a-f0-9]+:    66 0f 3a 21 00 00       insertps xmm0,DWORD PTR \[eax\],0x0
+[      ]*[a-f0-9]+:    66 0f 15 08             unpckhpd xmm1,XMMWORD PTR \[eax\]
+[      ]*[a-f0-9]+:    0f 15 08                unpckhps xmm1,XMMWORD PTR \[eax\]
+[      ]*[a-f0-9]+:    66 0f 14 08             unpcklpd xmm1,XMMWORD PTR \[eax\]
+[      ]*[a-f0-9]+:    0f 14 08                unpcklps xmm1,XMMWORD 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
@@ -162,4 +166,8 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    66 0f 38 34 00          pmovzxwq xmm0,DWORD PTR \[eax\]
 [      ]*[a-f0-9]+:    66 0f 38 35 00          pmovzxdq xmm0,QWORD PTR \[eax\]
 [      ]*[a-f0-9]+:    66 0f 3a 21 00 00       insertps xmm0,DWORD PTR \[eax\],0x0
+[      ]*[a-f0-9]+:    66 0f 15 00             unpckhpd xmm0,XMMWORD PTR \[eax\]
+[      ]*[a-f0-9]+:    0f 15 00                unpckhps xmm0,XMMWORD PTR \[eax\]
+[      ]*[a-f0-9]+:    66 0f 14 00             unpcklpd xmm0,XMMWORD PTR \[eax\]
+[      ]*[a-f0-9]+:    0f 14 00                unpcklps xmm0,XMMWORD PTR \[eax\]
 #pass
index 1e76bb1..d16d3c5 100644 (file)
@@ -84,6 +84,10 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    66 0f 38 34 00          pmovzxwq \(%eax\),%xmm0
 [      ]*[a-f0-9]+:    66 0f 38 35 00          pmovzxdq \(%eax\),%xmm0
 [      ]*[a-f0-9]+:    66 0f 3a 21 00 00       insertps \$0x0,\(%eax\),%xmm0
+[      ]*[a-f0-9]+:    66 0f 15 08             unpckhpd \(%eax\),%xmm1
+[      ]*[a-f0-9]+:    0f 15 08                unpckhps \(%eax\),%xmm1
+[      ]*[a-f0-9]+:    66 0f 14 08             unpcklpd \(%eax\),%xmm1
+[      ]*[a-f0-9]+:    0f 14 08                unpcklps \(%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
@@ -161,4 +165,8 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    66 0f 38 34 00          pmovzxwq \(%eax\),%xmm0
 [      ]*[a-f0-9]+:    66 0f 38 35 00          pmovzxdq \(%eax\),%xmm0
 [      ]*[a-f0-9]+:    66 0f 3a 21 00 00       insertps \$0x0,\(%eax\),%xmm0
+[      ]*[a-f0-9]+:    66 0f 15 00             unpckhpd \(%eax\),%xmm0
+[      ]*[a-f0-9]+:    0f 15 00                unpckhps \(%eax\),%xmm0
+[      ]*[a-f0-9]+:    66 0f 14 00             unpcklpd \(%eax\),%xmm0
+[      ]*[a-f0-9]+:    0f 14 00                unpcklps \(%eax\),%xmm0
 #pass
index b600a6d..dc7bae1 100644 (file)
@@ -80,6 +80,11 @@ _start:
        pmovzxdq (%eax),%xmm0
        insertps $0x0,(%eax),%xmm0
 
+       unpckhpd (%eax),%xmm1
+       unpckhps (%eax),%xmm1
+       unpcklpd (%eax),%xmm1
+       unpcklps (%eax),%xmm1
+
        .intel_syntax noprefix
 
 addsubps xmm1,XMMWORD PTR ds:0x12345678
@@ -159,3 +164,7 @@ pmovzxwd xmm0,QWORD PTR [eax]
 pmovzxwq xmm0,DWORD PTR [eax]
 pmovzxdq xmm0,QWORD PTR [eax]
 insertps xmm0,DWORD PTR [eax],0x0
+unpckhpd xmm0,XMMWORD PTR [eax]
+unpckhps xmm0,XMMWORD PTR [eax]
+unpcklpd xmm0,XMMWORD PTR [eax]
+unpcklps xmm0,XMMWORD PTR [eax]
index 89d0b27..dea1fc0 100644 (file)
@@ -91,39 +91,43 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    66 0f 38 34 00          pmovzxwq xmm0,DWORD PTR \[rax\]
 [      ]*[a-f0-9]+:    66 0f 38 35 00          pmovzxdq xmm0,QWORD PTR \[rax\]
 [      ]*[a-f0-9]+:    66 0f 3a 21 00 00       insertps xmm0,DWORD PTR \[rax\],0x0
-[      ]*[a-f0-9]+:    f2 0f d0 0d 78 56 34 12         addsubps xmm1,XMMWORD PTR \[rip\+0x12345678\]        # 1234585e <_start\+0x1234585e>
-[      ]*[a-f0-9]+:    66 0f 2f 0d 78 56 34 12         comisd xmm1,QWORD PTR \[rip\+0x12345678\]        # 12345866 <_start\+0x12345866>
-[      ]*[a-f0-9]+:    0f 2f 0d 78 56 34 12    comiss xmm1,DWORD PTR \[rip\+0x12345678\]        # 1234586d <_start\+0x1234586d>
-[      ]*[a-f0-9]+:    f3 0f e6 0d 78 56 34 12         cvtdq2pd xmm1,QWORD PTR \[rip\+0x12345678\]        # 12345875 <_start\+0x12345875>
-[      ]*[a-f0-9]+:    f2 0f e6 0d 78 56 34 12         cvtpd2dq xmm1,XMMWORD PTR \[rip\+0x12345678\]        # 1234587d <_start\+0x1234587d>
-[      ]*[a-f0-9]+:    0f 5a 0d 78 56 34 12    cvtps2pd xmm1,QWORD PTR \[rip\+0x12345678\]        # 12345884 <_start\+0x12345884>
-[      ]*[a-f0-9]+:    f3 0f 5b 0d 78 56 34 12         cvttps2dq xmm1,XMMWORD PTR \[rip\+0x12345678\]        # 1234588c <_start\+0x1234588c>
-[      ]*[a-f0-9]+:    f2 0f 7c 0d 78 56 34 12         haddps xmm1,XMMWORD PTR \[rip\+0x12345678\]        # 12345894 <_start\+0x12345894>
-[      ]*[a-f0-9]+:    f3 0f 7f 0d 78 56 34 12         movdqu XMMWORD PTR \[rip\+0x12345678\],xmm1        # 1234589c <_start\+0x1234589c>
-[      ]*[a-f0-9]+:    f3 0f 6f 0d 78 56 34 12         movdqu xmm1,XMMWORD PTR \[rip\+0x12345678\]        # 123458a4 <_start\+0x123458a4>
-[      ]*[a-f0-9]+:    66 0f 17 0d 78 56 34 12         movhpd QWORD PTR \[rip\+0x12345678\],xmm1        # 123458ac <_start\+0x123458ac>
-[      ]*[a-f0-9]+:    66 0f 16 0d 78 56 34 12         movhpd xmm1,QWORD PTR \[rip\+0x12345678\]        # 123458b4 <_start\+0x123458b4>
-[      ]*[a-f0-9]+:    0f 17 0d 78 56 34 12    movhps QWORD PTR \[rip\+0x12345678\],xmm1        # 123458bb <_start\+0x123458bb>
-[      ]*[a-f0-9]+:    0f 16 0d 78 56 34 12    movhps xmm1,QWORD PTR \[rip\+0x12345678\]        # 123458c2 <_start\+0x123458c2>
-[      ]*[a-f0-9]+:    66 0f 13 0d 78 56 34 12         movlpd QWORD PTR \[rip\+0x12345678\],xmm1        # 123458ca <_start\+0x123458ca>
-[      ]*[a-f0-9]+:    66 0f 12 0d 78 56 34 12         movlpd xmm1,QWORD PTR \[rip\+0x12345678\]        # 123458d2 <_start\+0x123458d2>
-[      ]*[a-f0-9]+:    0f 13 0d 78 56 34 12    movlps QWORD PTR \[rip\+0x12345678\],xmm1        # 123458d9 <_start\+0x123458d9>
-[      ]*[a-f0-9]+:    0f 12 0d 78 56 34 12    movlps xmm1,QWORD PTR \[rip\+0x12345678\]        # 123458e0 <_start\+0x123458e0>
-[      ]*[a-f0-9]+:    66 0f d6 0d 78 56 34 12         movq   QWORD PTR \[rip\+0x12345678\],xmm1        # 123458e8 <_start\+0x123458e8>
-[      ]*[a-f0-9]+:    f3 0f 7e 0d 78 56 34 12         movq   xmm1,QWORD PTR \[rip\+0x12345678\]        # 123458f0 <_start\+0x123458f0>
-[      ]*[a-f0-9]+:    f3 0f 16 0d 78 56 34 12         movshdup xmm1,XMMWORD PTR \[rip\+0x12345678\]        # 123458f8 <_start\+0x123458f8>
-[      ]*[a-f0-9]+:    f3 0f 12 0d 78 56 34 12         movsldup xmm1,XMMWORD PTR \[rip\+0x12345678\]        # 12345900 <_start\+0x12345900>
-[      ]*[a-f0-9]+:    f3 0f 70 0d 78 56 34 12 90      pshufhw xmm1,XMMWORD PTR \[rip\+0x12345678\],0x90        # 12345909 <_start\+0x12345909>
-[      ]*[a-f0-9]+:    f2 0f 70 0d 78 56 34 12 90      pshuflw xmm1,XMMWORD PTR \[rip\+0x12345678\],0x90        # 12345912 <_start\+0x12345912>
-[      ]*[a-f0-9]+:    0f 60 0d 78 56 34 12    punpcklbw mm1,DWORD PTR \[rip\+0x12345678\]        # 12345919 <_start\+0x12345919>
-[      ]*[a-f0-9]+:    0f 62 0d 78 56 34 12    punpckldq mm1,DWORD PTR \[rip\+0x12345678\]        # 12345920 <_start\+0x12345920>
-[      ]*[a-f0-9]+:    0f 61 0d 78 56 34 12    punpcklwd mm1,DWORD PTR \[rip\+0x12345678\]        # 12345927 <_start\+0x12345927>
-[      ]*[a-f0-9]+:    66 0f 60 0d 78 56 34 12         punpcklbw xmm1,XMMWORD PTR \[rip\+0x12345678\]        # 1234592f <_start\+0x1234592f>
-[      ]*[a-f0-9]+:    66 0f 62 0d 78 56 34 12         punpckldq xmm1,XMMWORD PTR \[rip\+0x12345678\]        # 12345937 <_start\+0x12345937>
-[      ]*[a-f0-9]+:    66 0f 61 0d 78 56 34 12         punpcklwd xmm1,XMMWORD PTR \[rip\+0x12345678\]        # 1234593f <_start\+0x1234593f>
-[      ]*[a-f0-9]+:    66 0f 6c 0d 78 56 34 12         punpcklqdq xmm1,XMMWORD PTR \[rip\+0x12345678\]        # 12345947 <_start\+0x12345947>
-[      ]*[a-f0-9]+:    66 0f 2e 0d 78 56 34 12         ucomisd xmm1,QWORD PTR \[rip\+0x12345678\]        # 1234594f <_start\+0x1234594f>
-[      ]*[a-f0-9]+:    0f 2e 0d 78 56 34 12    ucomiss xmm1,DWORD PTR \[rip\+0x12345678\]        # 12345956 <_start\+0x12345956>
+[      ]*[a-f0-9]+:    66 0f 15 08             unpckhpd xmm1,XMMWORD PTR \[rax\]
+[      ]*[a-f0-9]+:    0f 15 08                unpckhps xmm1,XMMWORD PTR \[rax\]
+[      ]*[a-f0-9]+:    66 0f 14 08             unpcklpd xmm1,XMMWORD PTR \[rax\]
+[      ]*[a-f0-9]+:    0f 14 08                unpcklps xmm1,XMMWORD PTR \[rax\]
+[      ]*[a-f0-9]+:    f2 0f d0 0d 78 56 34 12         addsubps xmm1,XMMWORD PTR \[rip\+0x12345678\]        # 1234586c <_start\+0x1234586c>
+[      ]*[a-f0-9]+:    66 0f 2f 0d 78 56 34 12         comisd xmm1,QWORD PTR \[rip\+0x12345678\]        # 12345874 <_start\+0x12345874>
+[      ]*[a-f0-9]+:    0f 2f 0d 78 56 34 12    comiss xmm1,DWORD PTR \[rip\+0x12345678\]        # 1234587b <_start\+0x1234587b>
+[      ]*[a-f0-9]+:    f3 0f e6 0d 78 56 34 12         cvtdq2pd xmm1,QWORD PTR \[rip\+0x12345678\]        # 12345883 <_start\+0x12345883>
+[      ]*[a-f0-9]+:    f2 0f e6 0d 78 56 34 12         cvtpd2dq xmm1,XMMWORD PTR \[rip\+0x12345678\]        # 1234588b <_start\+0x1234588b>
+[      ]*[a-f0-9]+:    0f 5a 0d 78 56 34 12    cvtps2pd xmm1,QWORD PTR \[rip\+0x12345678\]        # 12345892 <_start\+0x12345892>
+[      ]*[a-f0-9]+:    f3 0f 5b 0d 78 56 34 12         cvttps2dq xmm1,XMMWORD PTR \[rip\+0x12345678\]        # 1234589a <_start\+0x1234589a>
+[      ]*[a-f0-9]+:    f2 0f 7c 0d 78 56 34 12         haddps xmm1,XMMWORD PTR \[rip\+0x12345678\]        # 123458a2 <_start\+0x123458a2>
+[      ]*[a-f0-9]+:    f3 0f 7f 0d 78 56 34 12         movdqu XMMWORD PTR \[rip\+0x12345678\],xmm1        # 123458aa <_start\+0x123458aa>
+[      ]*[a-f0-9]+:    f3 0f 6f 0d 78 56 34 12         movdqu xmm1,XMMWORD PTR \[rip\+0x12345678\]        # 123458b2 <_start\+0x123458b2>
+[      ]*[a-f0-9]+:    66 0f 17 0d 78 56 34 12         movhpd QWORD PTR \[rip\+0x12345678\],xmm1        # 123458ba <_start\+0x123458ba>
+[      ]*[a-f0-9]+:    66 0f 16 0d 78 56 34 12         movhpd xmm1,QWORD PTR \[rip\+0x12345678\]        # 123458c2 <_start\+0x123458c2>
+[      ]*[a-f0-9]+:    0f 17 0d 78 56 34 12    movhps QWORD PTR \[rip\+0x12345678\],xmm1        # 123458c9 <_start\+0x123458c9>
+[      ]*[a-f0-9]+:    0f 16 0d 78 56 34 12    movhps xmm1,QWORD PTR \[rip\+0x12345678\]        # 123458d0 <_start\+0x123458d0>
+[      ]*[a-f0-9]+:    66 0f 13 0d 78 56 34 12         movlpd QWORD PTR \[rip\+0x12345678\],xmm1        # 123458d8 <_start\+0x123458d8>
+[      ]*[a-f0-9]+:    66 0f 12 0d 78 56 34 12         movlpd xmm1,QWORD PTR \[rip\+0x12345678\]        # 123458e0 <_start\+0x123458e0>
+[      ]*[a-f0-9]+:    0f 13 0d 78 56 34 12    movlps QWORD PTR \[rip\+0x12345678\],xmm1        # 123458e7 <_start\+0x123458e7>
+[      ]*[a-f0-9]+:    0f 12 0d 78 56 34 12    movlps xmm1,QWORD PTR \[rip\+0x12345678\]        # 123458ee <_start\+0x123458ee>
+[      ]*[a-f0-9]+:    66 0f d6 0d 78 56 34 12         movq   QWORD PTR \[rip\+0x12345678\],xmm1        # 123458f6 <_start\+0x123458f6>
+[      ]*[a-f0-9]+:    f3 0f 7e 0d 78 56 34 12         movq   xmm1,QWORD PTR \[rip\+0x12345678\]        # 123458fe <_start\+0x123458fe>
+[      ]*[a-f0-9]+:    f3 0f 16 0d 78 56 34 12         movshdup xmm1,XMMWORD PTR \[rip\+0x12345678\]        # 12345906 <_start\+0x12345906>
+[      ]*[a-f0-9]+:    f3 0f 12 0d 78 56 34 12         movsldup xmm1,XMMWORD PTR \[rip\+0x12345678\]        # 1234590e <_start\+0x1234590e>
+[      ]*[a-f0-9]+:    f3 0f 70 0d 78 56 34 12 90      pshufhw xmm1,XMMWORD PTR \[rip\+0x12345678\],0x90        # 12345917 <_start\+0x12345917>
+[      ]*[a-f0-9]+:    f2 0f 70 0d 78 56 34 12 90      pshuflw xmm1,XMMWORD PTR \[rip\+0x12345678\],0x90        # 12345920 <_start\+0x12345920>
+[      ]*[a-f0-9]+:    0f 60 0d 78 56 34 12    punpcklbw mm1,DWORD PTR \[rip\+0x12345678\]        # 12345927 <_start\+0x12345927>
+[      ]*[a-f0-9]+:    0f 62 0d 78 56 34 12    punpckldq mm1,DWORD PTR \[rip\+0x12345678\]        # 1234592e <_start\+0x1234592e>
+[      ]*[a-f0-9]+:    0f 61 0d 78 56 34 12    punpcklwd mm1,DWORD PTR \[rip\+0x12345678\]        # 12345935 <_start\+0x12345935>
+[      ]*[a-f0-9]+:    66 0f 60 0d 78 56 34 12         punpcklbw xmm1,XMMWORD PTR \[rip\+0x12345678\]        # 1234593d <_start\+0x1234593d>
+[      ]*[a-f0-9]+:    66 0f 62 0d 78 56 34 12         punpckldq xmm1,XMMWORD PTR \[rip\+0x12345678\]        # 12345945 <_start\+0x12345945>
+[      ]*[a-f0-9]+:    66 0f 61 0d 78 56 34 12         punpcklwd xmm1,XMMWORD PTR \[rip\+0x12345678\]        # 1234594d <_start\+0x1234594d>
+[      ]*[a-f0-9]+:    66 0f 6c 0d 78 56 34 12         punpcklqdq xmm1,XMMWORD PTR \[rip\+0x12345678\]        # 12345955 <_start\+0x12345955>
+[      ]*[a-f0-9]+:    66 0f 2e 0d 78 56 34 12         ucomisd xmm1,QWORD PTR \[rip\+0x12345678\]        # 1234595d <_start\+0x1234595d>
+[      ]*[a-f0-9]+:    0f 2e 0d 78 56 34 12    ucomiss xmm1,DWORD PTR \[rip\+0x12345678\]        # 12345964 <_start\+0x12345964>
 [      ]*[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\]
@@ -174,4 +178,8 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    66 0f 38 34 00          pmovzxwq xmm0,DWORD PTR \[rax\]
 [      ]*[a-f0-9]+:    66 0f 38 35 00          pmovzxdq xmm0,QWORD PTR \[rax\]
 [      ]*[a-f0-9]+:    66 0f 3a 21 00 00       insertps xmm0,DWORD PTR \[rax\],0x0
+[      ]*[a-f0-9]+:    66 0f 15 00             unpckhpd xmm0,XMMWORD PTR \[rax\]
+[      ]*[a-f0-9]+:    0f 15 00                unpckhps xmm0,XMMWORD PTR \[rax\]
+[      ]*[a-f0-9]+:    66 0f 14 00             unpcklpd xmm0,XMMWORD PTR \[rax\]
+[      ]*[a-f0-9]+:    0f 14 00                unpcklps xmm0,XMMWORD PTR \[rax\]
 #pass
index 3ff0385..9d6d2dc 100644 (file)
@@ -90,39 +90,43 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    66 0f 38 34 00          pmovzxwq \(%rax\),%xmm0
 [      ]*[a-f0-9]+:    66 0f 38 35 00          pmovzxdq \(%rax\),%xmm0
 [      ]*[a-f0-9]+:    66 0f 3a 21 00 00       insertps \$0x0,\(%rax\),%xmm0
-[      ]*[a-f0-9]+:    f2 0f d0 0d 78 56 34 12         addsubps 0x12345678\(%rip\),%xmm1        # 1234585e <_start\+0x1234585e>
-[      ]*[a-f0-9]+:    66 0f 2f 0d 78 56 34 12         comisd 0x12345678\(%rip\),%xmm1        # 12345866 <_start\+0x12345866>
-[      ]*[a-f0-9]+:    0f 2f 0d 78 56 34 12    comiss 0x12345678\(%rip\),%xmm1        # 1234586d <_start\+0x1234586d>
-[      ]*[a-f0-9]+:    f3 0f e6 0d 78 56 34 12         cvtdq2pd 0x12345678\(%rip\),%xmm1        # 12345875 <_start\+0x12345875>
-[      ]*[a-f0-9]+:    f2 0f e6 0d 78 56 34 12         cvtpd2dq 0x12345678\(%rip\),%xmm1        # 1234587d <_start\+0x1234587d>
-[      ]*[a-f0-9]+:    0f 5a 0d 78 56 34 12    cvtps2pd 0x12345678\(%rip\),%xmm1        # 12345884 <_start\+0x12345884>
-[      ]*[a-f0-9]+:    f3 0f 5b 0d 78 56 34 12         cvttps2dq 0x12345678\(%rip\),%xmm1        # 1234588c <_start\+0x1234588c>
-[      ]*[a-f0-9]+:    f2 0f 7c 0d 78 56 34 12         haddps 0x12345678\(%rip\),%xmm1        # 12345894 <_start\+0x12345894>
-[      ]*[a-f0-9]+:    f3 0f 7f 0d 78 56 34 12         movdqu %xmm1,0x12345678\(%rip\)        # 1234589c <_start\+0x1234589c>
-[      ]*[a-f0-9]+:    f3 0f 6f 0d 78 56 34 12         movdqu 0x12345678\(%rip\),%xmm1        # 123458a4 <_start\+0x123458a4>
-[      ]*[a-f0-9]+:    66 0f 17 0d 78 56 34 12         movhpd %xmm1,0x12345678\(%rip\)        # 123458ac <_start\+0x123458ac>
-[      ]*[a-f0-9]+:    66 0f 16 0d 78 56 34 12         movhpd 0x12345678\(%rip\),%xmm1        # 123458b4 <_start\+0x123458b4>
-[      ]*[a-f0-9]+:    0f 17 0d 78 56 34 12    movhps %xmm1,0x12345678\(%rip\)        # 123458bb <_start\+0x123458bb>
-[      ]*[a-f0-9]+:    0f 16 0d 78 56 34 12    movhps 0x12345678\(%rip\),%xmm1        # 123458c2 <_start\+0x123458c2>
-[      ]*[a-f0-9]+:    66 0f 13 0d 78 56 34 12         movlpd %xmm1,0x12345678\(%rip\)        # 123458ca <_start\+0x123458ca>
-[      ]*[a-f0-9]+:    66 0f 12 0d 78 56 34 12         movlpd 0x12345678\(%rip\),%xmm1        # 123458d2 <_start\+0x123458d2>
-[      ]*[a-f0-9]+:    0f 13 0d 78 56 34 12    movlps %xmm1,0x12345678\(%rip\)        # 123458d9 <_start\+0x123458d9>
-[      ]*[a-f0-9]+:    0f 12 0d 78 56 34 12    movlps 0x12345678\(%rip\),%xmm1        # 123458e0 <_start\+0x123458e0>
-[      ]*[a-f0-9]+:    66 0f d6 0d 78 56 34 12         movq   %xmm1,0x12345678\(%rip\)        # 123458e8 <_start\+0x123458e8>
-[      ]*[a-f0-9]+:    f3 0f 7e 0d 78 56 34 12         movq   0x12345678\(%rip\),%xmm1        # 123458f0 <_start\+0x123458f0>
-[      ]*[a-f0-9]+:    f3 0f 16 0d 78 56 34 12         movshdup 0x12345678\(%rip\),%xmm1        # 123458f8 <_start\+0x123458f8>
-[      ]*[a-f0-9]+:    f3 0f 12 0d 78 56 34 12         movsldup 0x12345678\(%rip\),%xmm1        # 12345900 <_start\+0x12345900>
-[      ]*[a-f0-9]+:    f3 0f 70 0d 78 56 34 12 90      pshufhw \$0x90,0x12345678\(%rip\),%xmm1        # 12345909 <_start\+0x12345909>
-[      ]*[a-f0-9]+:    f2 0f 70 0d 78 56 34 12 90      pshuflw \$0x90,0x12345678\(%rip\),%xmm1        # 12345912 <_start\+0x12345912>
-[      ]*[a-f0-9]+:    0f 60 0d 78 56 34 12    punpcklbw 0x12345678\(%rip\),%mm1        # 12345919 <_start\+0x12345919>
-[      ]*[a-f0-9]+:    0f 62 0d 78 56 34 12    punpckldq 0x12345678\(%rip\),%mm1        # 12345920 <_start\+0x12345920>
-[      ]*[a-f0-9]+:    0f 61 0d 78 56 34 12    punpcklwd 0x12345678\(%rip\),%mm1        # 12345927 <_start\+0x12345927>
-[      ]*[a-f0-9]+:    66 0f 60 0d 78 56 34 12         punpcklbw 0x12345678\(%rip\),%xmm1        # 1234592f <_start\+0x1234592f>
-[      ]*[a-f0-9]+:    66 0f 62 0d 78 56 34 12         punpckldq 0x12345678\(%rip\),%xmm1        # 12345937 <_start\+0x12345937>
-[      ]*[a-f0-9]+:    66 0f 61 0d 78 56 34 12         punpcklwd 0x12345678\(%rip\),%xmm1        # 1234593f <_start\+0x1234593f>
-[      ]*[a-f0-9]+:    66 0f 6c 0d 78 56 34 12         punpcklqdq 0x12345678\(%rip\),%xmm1        # 12345947 <_start\+0x12345947>
-[      ]*[a-f0-9]+:    66 0f 2e 0d 78 56 34 12         ucomisd 0x12345678\(%rip\),%xmm1        # 1234594f <_start\+0x1234594f>
-[      ]*[a-f0-9]+:    0f 2e 0d 78 56 34 12    ucomiss 0x12345678\(%rip\),%xmm1        # 12345956 <_start\+0x12345956>
+[      ]*[a-f0-9]+:    66 0f 15 08             unpckhpd \(%rax\),%xmm1
+[      ]*[a-f0-9]+:    0f 15 08                unpckhps \(%rax\),%xmm1
+[      ]*[a-f0-9]+:    66 0f 14 08             unpcklpd \(%rax\),%xmm1
+[      ]*[a-f0-9]+:    0f 14 08                unpcklps \(%rax\),%xmm1
+[      ]*[a-f0-9]+:    f2 0f d0 0d 78 56 34 12         addsubps 0x12345678\(%rip\),%xmm1        # 1234586c <_start\+0x1234586c>
+[      ]*[a-f0-9]+:    66 0f 2f 0d 78 56 34 12         comisd 0x12345678\(%rip\),%xmm1        # 12345874 <_start\+0x12345874>
+[      ]*[a-f0-9]+:    0f 2f 0d 78 56 34 12    comiss 0x12345678\(%rip\),%xmm1        # 1234587b <_start\+0x1234587b>
+[      ]*[a-f0-9]+:    f3 0f e6 0d 78 56 34 12         cvtdq2pd 0x12345678\(%rip\),%xmm1        # 12345883 <_start\+0x12345883>
+[      ]*[a-f0-9]+:    f2 0f e6 0d 78 56 34 12         cvtpd2dq 0x12345678\(%rip\),%xmm1        # 1234588b <_start\+0x1234588b>
+[      ]*[a-f0-9]+:    0f 5a 0d 78 56 34 12    cvtps2pd 0x12345678\(%rip\),%xmm1        # 12345892 <_start\+0x12345892>
+[      ]*[a-f0-9]+:    f3 0f 5b 0d 78 56 34 12         cvttps2dq 0x12345678\(%rip\),%xmm1        # 1234589a <_start\+0x1234589a>
+[      ]*[a-f0-9]+:    f2 0f 7c 0d 78 56 34 12         haddps 0x12345678\(%rip\),%xmm1        # 123458a2 <_start\+0x123458a2>
+[      ]*[a-f0-9]+:    f3 0f 7f 0d 78 56 34 12         movdqu %xmm1,0x12345678\(%rip\)        # 123458aa <_start\+0x123458aa>
+[      ]*[a-f0-9]+:    f3 0f 6f 0d 78 56 34 12         movdqu 0x12345678\(%rip\),%xmm1        # 123458b2 <_start\+0x123458b2>
+[      ]*[a-f0-9]+:    66 0f 17 0d 78 56 34 12         movhpd %xmm1,0x12345678\(%rip\)        # 123458ba <_start\+0x123458ba>
+[      ]*[a-f0-9]+:    66 0f 16 0d 78 56 34 12         movhpd 0x12345678\(%rip\),%xmm1        # 123458c2 <_start\+0x123458c2>
+[      ]*[a-f0-9]+:    0f 17 0d 78 56 34 12    movhps %xmm1,0x12345678\(%rip\)        # 123458c9 <_start\+0x123458c9>
+[      ]*[a-f0-9]+:    0f 16 0d 78 56 34 12    movhps 0x12345678\(%rip\),%xmm1        # 123458d0 <_start\+0x123458d0>
+[      ]*[a-f0-9]+:    66 0f 13 0d 78 56 34 12         movlpd %xmm1,0x12345678\(%rip\)        # 123458d8 <_start\+0x123458d8>
+[      ]*[a-f0-9]+:    66 0f 12 0d 78 56 34 12         movlpd 0x12345678\(%rip\),%xmm1        # 123458e0 <_start\+0x123458e0>
+[      ]*[a-f0-9]+:    0f 13 0d 78 56 34 12    movlps %xmm1,0x12345678\(%rip\)        # 123458e7 <_start\+0x123458e7>
+[      ]*[a-f0-9]+:    0f 12 0d 78 56 34 12    movlps 0x12345678\(%rip\),%xmm1        # 123458ee <_start\+0x123458ee>
+[      ]*[a-f0-9]+:    66 0f d6 0d 78 56 34 12         movq   %xmm1,0x12345678\(%rip\)        # 123458f6 <_start\+0x123458f6>
+[      ]*[a-f0-9]+:    f3 0f 7e 0d 78 56 34 12         movq   0x12345678\(%rip\),%xmm1        # 123458fe <_start\+0x123458fe>
+[      ]*[a-f0-9]+:    f3 0f 16 0d 78 56 34 12         movshdup 0x12345678\(%rip\),%xmm1        # 12345906 <_start\+0x12345906>
+[      ]*[a-f0-9]+:    f3 0f 12 0d 78 56 34 12         movsldup 0x12345678\(%rip\),%xmm1        # 1234590e <_start\+0x1234590e>
+[      ]*[a-f0-9]+:    f3 0f 70 0d 78 56 34 12 90      pshufhw \$0x90,0x12345678\(%rip\),%xmm1        # 12345917 <_start\+0x12345917>
+[      ]*[a-f0-9]+:    f2 0f 70 0d 78 56 34 12 90      pshuflw \$0x90,0x12345678\(%rip\),%xmm1        # 12345920 <_start\+0x12345920>
+[      ]*[a-f0-9]+:    0f 60 0d 78 56 34 12    punpcklbw 0x12345678\(%rip\),%mm1        # 12345927 <_start\+0x12345927>
+[      ]*[a-f0-9]+:    0f 62 0d 78 56 34 12    punpckldq 0x12345678\(%rip\),%mm1        # 1234592e <_start\+0x1234592e>
+[      ]*[a-f0-9]+:    0f 61 0d 78 56 34 12    punpcklwd 0x12345678\(%rip\),%mm1        # 12345935 <_start\+0x12345935>
+[      ]*[a-f0-9]+:    66 0f 60 0d 78 56 34 12         punpcklbw 0x12345678\(%rip\),%xmm1        # 1234593d <_start\+0x1234593d>
+[      ]*[a-f0-9]+:    66 0f 62 0d 78 56 34 12         punpckldq 0x12345678\(%rip\),%xmm1        # 12345945 <_start\+0x12345945>
+[      ]*[a-f0-9]+:    66 0f 61 0d 78 56 34 12         punpcklwd 0x12345678\(%rip\),%xmm1        # 1234594d <_start\+0x1234594d>
+[      ]*[a-f0-9]+:    66 0f 6c 0d 78 56 34 12         punpcklqdq 0x12345678\(%rip\),%xmm1        # 12345955 <_start\+0x12345955>
+[      ]*[a-f0-9]+:    66 0f 2e 0d 78 56 34 12         ucomisd 0x12345678\(%rip\),%xmm1        # 1234595d <_start\+0x1234595d>
+[      ]*[a-f0-9]+:    0f 2e 0d 78 56 34 12    ucomiss 0x12345678\(%rip\),%xmm1        # 12345964 <_start\+0x12345964>
 [      ]*[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
@@ -173,4 +177,8 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    66 0f 38 34 00          pmovzxwq \(%rax\),%xmm0
 [      ]*[a-f0-9]+:    66 0f 38 35 00          pmovzxdq \(%rax\),%xmm0
 [      ]*[a-f0-9]+:    66 0f 3a 21 00 00       insertps \$0x0,\(%rax\),%xmm0
+[      ]*[a-f0-9]+:    66 0f 15 00             unpckhpd \(%rax\),%xmm0
+[      ]*[a-f0-9]+:    0f 15 00                unpckhps \(%rax\),%xmm0
+[      ]*[a-f0-9]+:    66 0f 14 00             unpcklpd \(%rax\),%xmm0
+[      ]*[a-f0-9]+:    0f 14 00                unpcklps \(%rax\),%xmm0
 #pass
index a09a353..67bad4e 100644 (file)
@@ -86,6 +86,11 @@ _start:
        pmovzxdq (%rax),%xmm0
        insertps $0x0,(%rax),%xmm0
 
+       unpckhpd (%rax),%xmm1
+       unpckhps (%rax),%xmm1
+       unpcklpd (%rax),%xmm1
+       unpcklps (%rax),%xmm1
+
        .intel_syntax noprefix
 
 addsubps xmm1,XMMWORD PTR [rip+0x12345678]        
@@ -171,3 +176,7 @@ pmovzxwd xmm0,QWORD PTR [rax]
 pmovzxwq xmm0,DWORD PTR [rax]
 pmovzxdq xmm0,QWORD PTR [rax]
 insertps xmm0,DWORD PTR [rax],0x0
+unpckhpd xmm0,XMMWORD PTR [rax]
+unpckhps xmm0,XMMWORD PTR [rax]
+unpcklpd xmm0,XMMWORD PTR [rax]
+unpcklps xmm0,XMMWORD PTR [rax]
index 485e3ed..b02c61f 100644 (file)
@@ -1,3 +1,8 @@
+2007-10-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * i386-dis.c (dis386_twobyte): Use EXx instead of EXq on
+       unpckhpX and unpckhpX.
+
 2007-10-04  David Daney  <ddaney@avtrex.com>
 
        * mips-opc.c (mips_builtin_opcodes): Mark lwxc1 as working on FP_S
index cb83f6f..b9708ef 100644 (file)
@@ -1036,8 +1036,8 @@ static const struct dis386 dis386_twobyte[] = {
   { PREFIX_TABLE (PREFIX_0F11) },
   { PREFIX_TABLE (PREFIX_0F12) },
   { MOD_TABLE (MOD_0F13) },
-  { "unpcklpX",                { XM, EXq } },
-  { "unpckhpX",                { XM, EXq } },
+  { "unpcklpX",                { XM, EXx } },
+  { "unpckhpX",                { XM, EXx } },
   { PREFIX_TABLE (PREFIX_0F16) },
   { MOD_TABLE (MOD_0F17) },
   /* 18 */