diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2007-07-28 23:34:14 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2007-07-28 23:34:14 +0000 |
commit | 09335d057c1d2cbdfa5bb0183011d79c3e997b70 (patch) | |
tree | 745976f56366fa902a8b592822ef97e2d10285e2 /gas | |
parent | bd5a94b03d7bcaab419f50b0eb42593ec426f6f3 (diff) | |
download | fsf-binutils-gdb-09335d057c1d2cbdfa5bb0183011d79c3e997b70.zip fsf-binutils-gdb-09335d057c1d2cbdfa5bb0183011d79c3e997b70.tar.gz fsf-binutils-gdb-09335d057c1d2cbdfa5bb0183011d79c3e997b70.tar.bz2 |
gas/testsuite/
2007-07-28 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/4835
* 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.
* gas/i386/simd.s: Add new tests.
* gas/i386/x86-64-simd.s: Likewise.
opcodes/
2007-07-28 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/4835
* i386-dis.c (Eq): New.
(EMC): Renamed to ...
(EMCq): This. Use q_mode instead of v_mode.
(prefix_user_table): Updated to use EXd, EXq, EMCq, Ed and Eq
when appropriated.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/testsuite/ChangeLog | 11 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/simd-intel.d | 32 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/simd.d | 32 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/simd.s | 32 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-simd-intel.d | 34 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-simd.d | 34 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-simd.s | 34 |
7 files changed, 209 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index a938d3c..572d0cd 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,5 +1,16 @@ 2007-07-28 H.J. Lu <hongjiu.lu@intel.com> + PR binutils/4835 + * 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. + + * gas/i386/simd.s: Add new tests. + * gas/i386/x86-64-simd.s: Likewise. + +2007-07-28 H.J. Lu <hongjiu.lu@intel.com> + * gas/i386/x86-64-opcode.d: Updated. * gas/i386/x86-64-simd-intel.d: Likewise. * gas/i386/x86-64-simd.d: Likewise. diff --git a/gas/testsuite/gas/i386/simd-intel.d b/gas/testsuite/gas/i386/simd-intel.d index a63b8c5..a1e5d3d 100644 --- a/gas/testsuite/gas/i386/simd-intel.d +++ b/gas/testsuite/gas/i386/simd-intel.d @@ -39,3 +39,35 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 66 0f 6c 0d 78 56 34 12 punpcklqdq xmm1,XMMWORD 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 +[ ]*[a-f0-9]+: f2 0f c2 00 00 cmpeqsd xmm0,QWORD PTR \[eax\] +[ ]*[a-f0-9]+: f3 0f c2 00 00 cmpeqss xmm0,DWORD PTR \[eax\] +[ ]*[a-f0-9]+: 66 0f 2a 00 cvtpi2pd xmm0,QWORD PTR \[eax\] +[ ]*[a-f0-9]+: 0f 2a 00 cvtpi2ps xmm0,QWORD PTR \[eax\] +[ ]*[a-f0-9]+: 0f 2d 00 cvtps2pi mm0,QWORD PTR \[eax\] +[ ]*[a-f0-9]+: f2 0f 2d 00 cvtsd2si eax,QWORD PTR \[eax\] +[ ]*[a-f0-9]+: f2 0f 5a 00 cvtsd2ss xmm0,QWORD PTR \[eax\] +[ ]*[a-f0-9]+: f3 0f 5a 00 cvtss2sd xmm0,DWORD PTR \[eax\] +[ ]*[a-f0-9]+: f3 0f 2d 00 cvtss2si eax,DWORD PTR \[eax\] +[ ]*[a-f0-9]+: f2 0f 5e 00 divsd xmm0,QWORD PTR \[eax\] +[ ]*[a-f0-9]+: f3 0f 5e 00 divss xmm0,DWORD PTR \[eax\] +[ ]*[a-f0-9]+: f2 0f 5f 00 maxsd xmm0,QWORD PTR \[eax\] +[ ]*[a-f0-9]+: f3 0f 5f 00 maxss xmm0,DWORD PTR \[eax\] +[ ]*[a-f0-9]+: f3 0f 5d 00 minss xmm0,DWORD PTR \[eax\] +[ ]*[a-f0-9]+: f3 0f 5d 00 minss xmm0,DWORD PTR \[eax\] +[ ]*[a-f0-9]+: f2 0f 2b 00 movntsd QWORD PTR \[eax\],xmm0 +[ ]*[a-f0-9]+: f3 0f 2b 00 movntss DWORD PTR \[eax\],xmm0 +[ ]*[a-f0-9]+: f2 0f 10 00 movsd xmm0,QWORD PTR \[eax\] +[ ]*[a-f0-9]+: f2 0f 11 00 movsd QWORD PTR \[eax\],xmm0 +[ ]*[a-f0-9]+: f3 0f 10 00 movss xmm0,DWORD PTR \[eax\] +[ ]*[a-f0-9]+: f3 0f 11 00 movss DWORD PTR \[eax\],xmm0 +[ ]*[a-f0-9]+: f2 0f 59 00 mulsd xmm0,QWORD PTR \[eax\] +[ ]*[a-f0-9]+: f3 0f 59 00 mulss xmm0,DWORD PTR \[eax\] +[ ]*[a-f0-9]+: f3 0f 53 00 rcpss xmm0,DWORD PTR \[eax\] +[ ]*[a-f0-9]+: 66 0f 3a 0b 00 00 roundsd xmm0,QWORD PTR \[eax\],0x0 +[ ]*[a-f0-9]+: 66 0f 3a 0a 00 00 roundss xmm0,DWORD PTR \[eax\],0x0 +[ ]*[a-f0-9]+: f3 0f 52 00 rsqrtss xmm0,DWORD PTR \[eax\] +[ ]*[a-f0-9]+: f2 0f 51 00 sqrtsd xmm0,QWORD PTR \[eax\] +[ ]*[a-f0-9]+: f3 0f 51 00 sqrtss xmm0,DWORD PTR \[eax\] +[ ]*[a-f0-9]+: f2 0f 5c 00 subsd xmm0,QWORD PTR \[eax\] +[ ]*[a-f0-9]+: f3 0f 5c 00 subss xmm0,DWORD PTR \[eax\] +#pass diff --git a/gas/testsuite/gas/i386/simd.d b/gas/testsuite/gas/i386/simd.d index b04c27b..7776071 100644 --- a/gas/testsuite/gas/i386/simd.d +++ b/gas/testsuite/gas/i386/simd.d @@ -38,3 +38,35 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 66 0f 6c 0d 78 56 34 12 punpcklqdq 0x12345678,%xmm1 [ ]*[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 +[ ]*[a-f0-9]+: f2 0f c2 00 00 cmpeqsd \(%eax\),%xmm0 +[ ]*[a-f0-9]+: f3 0f c2 00 00 cmpeqss \(%eax\),%xmm0 +[ ]*[a-f0-9]+: 66 0f 2a 00 cvtpi2pd \(%eax\),%xmm0 +[ ]*[a-f0-9]+: 0f 2a 00 cvtpi2ps \(%eax\),%xmm0 +[ ]*[a-f0-9]+: 0f 2d 00 cvtps2pi \(%eax\),%mm0 +[ ]*[a-f0-9]+: f2 0f 2d 00 cvtsd2si \(%eax\),%eax +[ ]*[a-f0-9]+: f2 0f 5a 00 cvtsd2ss \(%eax\),%xmm0 +[ ]*[a-f0-9]+: f3 0f 5a 00 cvtss2sd \(%eax\),%xmm0 +[ ]*[a-f0-9]+: f3 0f 2d 00 cvtss2si \(%eax\),%eax +[ ]*[a-f0-9]+: f2 0f 5e 00 divsd \(%eax\),%xmm0 +[ ]*[a-f0-9]+: f3 0f 5e 00 divss \(%eax\),%xmm0 +[ ]*[a-f0-9]+: f2 0f 5f 00 maxsd \(%eax\),%xmm0 +[ ]*[a-f0-9]+: f3 0f 5f 00 maxss \(%eax\),%xmm0 +[ ]*[a-f0-9]+: f3 0f 5d 00 minss \(%eax\),%xmm0 +[ ]*[a-f0-9]+: f3 0f 5d 00 minss \(%eax\),%xmm0 +[ ]*[a-f0-9]+: f2 0f 2b 00 movntsd %xmm0,\(%eax\) +[ ]*[a-f0-9]+: f3 0f 2b 00 movntss %xmm0,\(%eax\) +[ ]*[a-f0-9]+: f2 0f 10 00 movsd \(%eax\),%xmm0 +[ ]*[a-f0-9]+: f2 0f 11 00 movsd %xmm0,\(%eax\) +[ ]*[a-f0-9]+: f3 0f 10 00 movss \(%eax\),%xmm0 +[ ]*[a-f0-9]+: f3 0f 11 00 movss %xmm0,\(%eax\) +[ ]*[a-f0-9]+: f2 0f 59 00 mulsd \(%eax\),%xmm0 +[ ]*[a-f0-9]+: f3 0f 59 00 mulss \(%eax\),%xmm0 +[ ]*[a-f0-9]+: f3 0f 53 00 rcpss \(%eax\),%xmm0 +[ ]*[a-f0-9]+: 66 0f 3a 0b 00 00 roundsd \$0x0,\(%eax\),%xmm0 +[ ]*[a-f0-9]+: 66 0f 3a 0a 00 00 roundss \$0x0,\(%eax\),%xmm0 +[ ]*[a-f0-9]+: f3 0f 52 00 rsqrtss \(%eax\),%xmm0 +[ ]*[a-f0-9]+: f2 0f 51 00 sqrtsd \(%eax\),%xmm0 +[ ]*[a-f0-9]+: f3 0f 51 00 sqrtss \(%eax\),%xmm0 +[ ]*[a-f0-9]+: f2 0f 5c 00 subsd \(%eax\),%xmm0 +[ ]*[a-f0-9]+: f3 0f 5c 00 subss \(%eax\),%xmm0 +#pass diff --git a/gas/testsuite/gas/i386/simd.s b/gas/testsuite/gas/i386/simd.s index 592cd5e..d086151 100644 --- a/gas/testsuite/gas/i386/simd.s +++ b/gas/testsuite/gas/i386/simd.s @@ -31,3 +31,35 @@ _start: punpcklqdq 0x12345678,%xmm1 ucomisd 0x12345678,%xmm1 ucomiss 0x12345678,%xmm1 + + cmpeqsd (%eax),%xmm0 + cmpeqss (%eax),%xmm0 + cvtpi2pd (%eax),%xmm0 + cvtpi2ps (%eax),%xmm0 + cvtps2pi (%eax),%mm0 + cvtsd2si (%eax),%eax + cvtsd2ss (%eax),%xmm0 + cvtss2sd (%eax),%xmm0 + cvtss2si (%eax),%eax + divsd (%eax),%xmm0 + divss (%eax),%xmm0 + maxsd (%eax),%xmm0 + maxss (%eax),%xmm0 + minss (%eax),%xmm0 + minss (%eax),%xmm0 + movntsd %xmm0,(%eax) + movntss %xmm0,(%eax) + movsd (%eax),%xmm0 + movsd %xmm0,(%eax) + movss (%eax),%xmm0 + movss %xmm0,(%eax) + mulsd (%eax),%xmm0 + mulss (%eax),%xmm0 + rcpss (%eax),%xmm0 + roundsd $0,(%eax),%xmm0 + roundss $0,(%eax),%xmm0 + rsqrtss (%eax),%xmm0 + sqrtsd (%eax),%xmm0 + sqrtss (%eax),%xmm0 + subsd (%eax),%xmm0 + subss (%eax),%xmm0 diff --git a/gas/testsuite/gas/i386/x86-64-simd-intel.d b/gas/testsuite/gas/i386/x86-64-simd-intel.d index b7ac86a..240a88d 100644 --- a/gas/testsuite/gas/i386/x86-64-simd-intel.d +++ b/gas/testsuite/gas/i386/x86-64-simd-intel.d @@ -41,3 +41,37 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 66 0f 6c 0d 78 56 34 12 punpcklqdq xmm1,XMMWORD 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\][ ]*(#.*)? +[ ]*[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\] +[ ]*[a-f0-9]+: 0f 2a 00 cvtpi2ps xmm0,QWORD PTR \[rax\] +[ ]*[a-f0-9]+: 0f 2d 00 cvtps2pi mm0,QWORD PTR \[rax\] +[ ]*[a-f0-9]+: f2 0f 2d 00 cvtsd2si eax,QWORD PTR \[rax\] +[ ]*[a-f0-9]+: f2 48 0f 2d 00 cvtsd2si rax,QWORD PTR \[rax\] +[ ]*[a-f0-9]+: f2 0f 5a 00 cvtsd2ss xmm0,QWORD PTR \[rax\] +[ ]*[a-f0-9]+: f3 0f 5a 00 cvtss2sd xmm0,DWORD PTR \[rax\] +[ ]*[a-f0-9]+: f3 48 0f 2d 00 cvtss2si rax,DWORD PTR \[rax\] +[ ]*[a-f0-9]+: f3 0f 2d 00 cvtss2si eax,DWORD PTR \[rax\] +[ ]*[a-f0-9]+: f2 0f 5e 00 divsd xmm0,QWORD PTR \[rax\] +[ ]*[a-f0-9]+: f3 0f 5e 00 divss xmm0,DWORD PTR \[rax\] +[ ]*[a-f0-9]+: f2 0f 5f 00 maxsd xmm0,QWORD PTR \[rax\] +[ ]*[a-f0-9]+: f3 0f 5f 00 maxss xmm0,DWORD PTR \[rax\] +[ ]*[a-f0-9]+: f3 0f 5d 00 minss xmm0,DWORD PTR \[rax\] +[ ]*[a-f0-9]+: f3 0f 5d 00 minss xmm0,DWORD PTR \[rax\] +[ ]*[a-f0-9]+: f2 0f 2b 00 movntsd QWORD PTR \[rax\],xmm0 +[ ]*[a-f0-9]+: f3 0f 2b 00 movntss DWORD PTR \[rax\],xmm0 +[ ]*[a-f0-9]+: f2 0f 10 00 movsd xmm0,QWORD PTR \[rax\] +[ ]*[a-f0-9]+: f2 0f 11 00 movsd QWORD PTR \[rax\],xmm0 +[ ]*[a-f0-9]+: f3 0f 10 00 movss xmm0,DWORD PTR \[rax\] +[ ]*[a-f0-9]+: f3 0f 11 00 movss DWORD PTR \[rax\],xmm0 +[ ]*[a-f0-9]+: f2 0f 59 00 mulsd xmm0,QWORD PTR \[rax\] +[ ]*[a-f0-9]+: f3 0f 59 00 mulss xmm0,DWORD PTR \[rax\] +[ ]*[a-f0-9]+: f3 0f 53 00 rcpss xmm0,DWORD PTR \[rax\] +[ ]*[a-f0-9]+: 66 0f 3a 0b 00 00 roundsd xmm0,QWORD PTR \[rax\],0x0 +[ ]*[a-f0-9]+: 66 0f 3a 0a 00 00 roundss xmm0,DWORD PTR \[rax\],0x0 +[ ]*[a-f0-9]+: f3 0f 52 00 rsqrtss xmm0,DWORD PTR \[rax\] +[ ]*[a-f0-9]+: f2 0f 51 00 sqrtsd xmm0,QWORD PTR \[rax\] +[ ]*[a-f0-9]+: f3 0f 51 00 sqrtss xmm0,DWORD PTR \[rax\] +[ ]*[a-f0-9]+: f2 0f 5c 00 subsd xmm0,QWORD PTR \[rax\] +[ ]*[a-f0-9]+: f3 0f 5c 00 subss xmm0,DWORD PTR \[rax\] +#pass diff --git a/gas/testsuite/gas/i386/x86-64-simd.d b/gas/testsuite/gas/i386/x86-64-simd.d index 12f7831..278ba2e 100644 --- a/gas/testsuite/gas/i386/x86-64-simd.d +++ b/gas/testsuite/gas/i386/x86-64-simd.d @@ -40,3 +40,37 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 66 0f 6c 0d 78 56 34 12 punpcklqdq 0x12345678\(%rip\),%xmm1[ ]*(#.*)? [ ]*[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[ ]*(#.*)? +[ ]*[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 +[ ]*[a-f0-9]+: 0f 2a 00 cvtpi2ps \(%rax\),%xmm0 +[ ]*[a-f0-9]+: 0f 2d 00 cvtps2pi \(%rax\),%mm0 +[ ]*[a-f0-9]+: f2 0f 2d 00 cvtsd2si \(%rax\),%eax +[ ]*[a-f0-9]+: f2 48 0f 2d 00 cvtsd2siq \(%rax\),%rax +[ ]*[a-f0-9]+: f2 0f 5a 00 cvtsd2ss \(%rax\),%xmm0 +[ ]*[a-f0-9]+: f3 0f 5a 00 cvtss2sd \(%rax\),%xmm0 +[ ]*[a-f0-9]+: f3 48 0f 2d 00 cvtss2siq \(%rax\),%rax +[ ]*[a-f0-9]+: f3 0f 2d 00 cvtss2si \(%rax\),%eax +[ ]*[a-f0-9]+: f2 0f 5e 00 divsd \(%rax\),%xmm0 +[ ]*[a-f0-9]+: f3 0f 5e 00 divss \(%rax\),%xmm0 +[ ]*[a-f0-9]+: f2 0f 5f 00 maxsd \(%rax\),%xmm0 +[ ]*[a-f0-9]+: f3 0f 5f 00 maxss \(%rax\),%xmm0 +[ ]*[a-f0-9]+: f3 0f 5d 00 minss \(%rax\),%xmm0 +[ ]*[a-f0-9]+: f3 0f 5d 00 minss \(%rax\),%xmm0 +[ ]*[a-f0-9]+: f2 0f 2b 00 movntsd %xmm0,\(%rax\) +[ ]*[a-f0-9]+: f3 0f 2b 00 movntss %xmm0,\(%rax\) +[ ]*[a-f0-9]+: f2 0f 10 00 movsd \(%rax\),%xmm0 +[ ]*[a-f0-9]+: f2 0f 11 00 movsd %xmm0,\(%rax\) +[ ]*[a-f0-9]+: f3 0f 10 00 movss \(%rax\),%xmm0 +[ ]*[a-f0-9]+: f3 0f 11 00 movss %xmm0,\(%rax\) +[ ]*[a-f0-9]+: f2 0f 59 00 mulsd \(%rax\),%xmm0 +[ ]*[a-f0-9]+: f3 0f 59 00 mulss \(%rax\),%xmm0 +[ ]*[a-f0-9]+: f3 0f 53 00 rcpss \(%rax\),%xmm0 +[ ]*[a-f0-9]+: 66 0f 3a 0b 00 00 roundsd \$0x0,\(%rax\),%xmm0 +[ ]*[a-f0-9]+: 66 0f 3a 0a 00 00 roundss \$0x0,\(%rax\),%xmm0 +[ ]*[a-f0-9]+: f3 0f 52 00 rsqrtss \(%rax\),%xmm0 +[ ]*[a-f0-9]+: f2 0f 51 00 sqrtsd \(%rax\),%xmm0 +[ ]*[a-f0-9]+: f3 0f 51 00 sqrtss \(%rax\),%xmm0 +[ ]*[a-f0-9]+: f2 0f 5c 00 subsd \(%rax\),%xmm0 +[ ]*[a-f0-9]+: f3 0f 5c 00 subss \(%rax\),%xmm0 +#pass diff --git a/gas/testsuite/gas/i386/x86-64-simd.s b/gas/testsuite/gas/i386/x86-64-simd.s index 9422ac2..0fd40ce 100644 --- a/gas/testsuite/gas/i386/x86-64-simd.s +++ b/gas/testsuite/gas/i386/x86-64-simd.s @@ -33,3 +33,37 @@ _start: punpcklqdq 0x12345678(%rip),%xmm1 ucomisd 0x12345678(%rip),%xmm1 ucomiss 0x12345678(%rip),%xmm1 + + cmpeqsd (%rax),%xmm0 + cmpeqss (%rax),%xmm0 + cvtpi2pd (%rax),%xmm0 + cvtpi2ps (%rax),%xmm0 + cvtps2pi (%rax),%mm0 + cvtsd2si (%rax),%eax + cvtsd2siq (%rax),%rax + cvtsd2ss (%rax),%xmm0 + cvtss2sd (%rax),%xmm0 + cvtss2siq (%rax),%rax + cvtss2si (%rax),%eax + divsd (%rax),%xmm0 + divss (%rax),%xmm0 + maxsd (%rax),%xmm0 + maxss (%rax),%xmm0 + minss (%rax),%xmm0 + minss (%rax),%xmm0 + movntsd %xmm0,(%rax) + movntss %xmm0,(%rax) + movsd (%rax),%xmm0 + movsd %xmm0,(%rax) + movss (%rax),%xmm0 + movss %xmm0,(%rax) + mulsd (%rax),%xmm0 + mulss (%rax),%xmm0 + rcpss (%rax),%xmm0 + roundsd $0,(%rax),%xmm0 + roundss $0,(%rax),%xmm0 + rsqrtss (%rax),%xmm0 + sqrtsd (%rax),%xmm0 + sqrtss (%rax),%xmm0 + subsd (%rax),%xmm0 + subss (%rax),%xmm0 |