From 955e1e6a77cac122171c75c5a475732400ea8d92 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Thu, 4 Oct 2007 18:29:29 +0000 Subject: [PATCH] gas/ 2007-10-04 H.J. Lu PR gas/5109 * config/tc-i386.c (process_suffix): Clear QWORD suffix if it is ignored in Intel mode. gas/testsuite/ 2007-10-04 H.J. Lu PR gas/5109 * 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 more tests. * gas/i386/x86-64-simd.s: Likewise. --- gas/ChangeLog | 6 ++ gas/config/tc-i386.c | 6 +- gas/testsuite/ChangeLog | 11 +++ gas/testsuite/gas/i386/simd-intel.d | 77 ++++++++++++++- gas/testsuite/gas/i386/simd.d | 77 ++++++++++++++- gas/testsuite/gas/i386/simd.s | 82 +++++++++++++++- gas/testsuite/gas/i386/x86-64-simd-intel.d | 149 ++++++++++++++++++++++------- gas/testsuite/gas/i386/x86-64-simd.d | 149 ++++++++++++++++++++++------- gas/testsuite/gas/i386/x86-64-simd.s | 92 ++++++++++++++++-- 9 files changed, 558 insertions(+), 91 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 6694d98..1b2e47b 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2007-10-04 H.J. Lu + + PR gas/5109 + * config/tc-i386.c (process_suffix): Clear QWORD suffix if it + is ignored in Intel mode. + 2007-10-04 Helge Deller * read.c (potable): Add string8, string16, string32 and string64. diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 0669c03..56bf31f 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -3384,7 +3384,11 @@ process_suffix (void) } else if (i.suffix == QWORD_MNEM_SUFFIX) { - if (!check_qword_reg ()) + if (intel_syntax + && i.tm.opcode_modifier.ignoresize + && i.tm.opcode_modifier.no_qsuf) + i.suffix = 0; + else if (!check_qword_reg ()) return 0; } else if (i.suffix == WORD_MNEM_SUFFIX) diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index f2cb037..f688114 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,14 @@ +2007-10-04 H.J. Lu + + PR gas/5109 + * 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 more tests. + * gas/i386/x86-64-simd.s: Likewise. + 2007-10-04 Helge Deller * gas/all/gas.exp: Include new test "strings". diff --git a/gas/testsuite/gas/i386/simd-intel.d b/gas/testsuite/gas/i386/simd-intel.d index 661856e..a8503a4 100644 --- a/gas/testsuite/gas/i386/simd-intel.d +++ b/gas/testsuite/gas/i386/simd-intel.d @@ -85,8 +85,81 @@ 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]+: f3 0f 2d 00 cvtss2si eax,DWORD PTR \[eax\] -[ ]*[a-f0-9]+: f3 0f 2c 00 cvttss2si eax,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 +[ ]*[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 60 0d 78 56 34 12 punpcklbw xmm1,XMMWORD PTR ds:0x12345678 +[ ]*[a-f0-9]+: 66 0f 62 0d 78 56 34 12 punpckldq xmm1,XMMWORD PTR ds:0x12345678 +[ ]*[a-f0-9]+: 66 0f 61 0d 78 56 34 12 punpcklwd xmm1,XMMWORD PTR ds:0x12345678 +[ ]*[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 2c 00 cvttsd2si 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]+: f3 0f 2c 00 cvttss2si 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\] +[ ]*[a-f0-9]+: 66 0f 38 20 00 pmovsxbw xmm0,QWORD PTR \[eax\] +[ ]*[a-f0-9]+: 66 0f 38 21 00 pmovsxbd xmm0,DWORD PTR \[eax\] +[ ]*[a-f0-9]+: 66 0f 38 22 00 pmovsxbq xmm0,WORD PTR \[eax\] +[ ]*[a-f0-9]+: 66 0f 38 23 00 pmovsxwd xmm0,QWORD PTR \[eax\] +[ ]*[a-f0-9]+: 66 0f 38 24 00 pmovsxwq xmm0,DWORD PTR \[eax\] +[ ]*[a-f0-9]+: 66 0f 38 25 00 pmovsxdq xmm0,QWORD PTR \[eax\] +[ ]*[a-f0-9]+: 66 0f 38 30 00 pmovzxbw xmm0,QWORD PTR \[eax\] +[ ]*[a-f0-9]+: 66 0f 38 31 00 pmovzxbd xmm0,DWORD PTR \[eax\] +[ ]*[a-f0-9]+: 66 0f 38 32 00 pmovzxbq xmm0,WORD PTR \[eax\] +[ ]*[a-f0-9]+: 66 0f 38 33 00 pmovzxwd xmm0,QWORD PTR \[eax\] +[ ]*[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 #pass diff --git a/gas/testsuite/gas/i386/simd.d b/gas/testsuite/gas/i386/simd.d index 110105e..1e76bb1 100644 --- a/gas/testsuite/gas/i386/simd.d +++ b/gas/testsuite/gas/i386/simd.d @@ -84,8 +84,81 @@ 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]+: f3 0f 2d 00 cvtss2si \(%eax\),%eax -[ ]*[a-f0-9]+: f3 0f 2c 00 cvttss2si \(%eax\),%eax +[ ]*[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 60 0d 78 56 34 12 punpcklbw 0x12345678,%xmm1 +[ ]*[a-f0-9]+: 66 0f 62 0d 78 56 34 12 punpckldq 0x12345678,%xmm1 +[ ]*[a-f0-9]+: 66 0f 61 0d 78 56 34 12 punpcklwd 0x12345678,%xmm1 +[ ]*[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 2c 00 cvttsd2si \(%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]+: f3 0f 2c 00 cvttss2si \(%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 +[ ]*[a-f0-9]+: 66 0f 38 20 00 pmovsxbw \(%eax\),%xmm0 +[ ]*[a-f0-9]+: 66 0f 38 21 00 pmovsxbd \(%eax\),%xmm0 +[ ]*[a-f0-9]+: 66 0f 38 22 00 pmovsxbq \(%eax\),%xmm0 +[ ]*[a-f0-9]+: 66 0f 38 23 00 pmovsxwd \(%eax\),%xmm0 +[ ]*[a-f0-9]+: 66 0f 38 24 00 pmovsxwq \(%eax\),%xmm0 +[ ]*[a-f0-9]+: 66 0f 38 25 00 pmovsxdq \(%eax\),%xmm0 +[ ]*[a-f0-9]+: 66 0f 38 30 00 pmovzxbw \(%eax\),%xmm0 +[ ]*[a-f0-9]+: 66 0f 38 31 00 pmovzxbd \(%eax\),%xmm0 +[ ]*[a-f0-9]+: 66 0f 38 32 00 pmovzxbq \(%eax\),%xmm0 +[ ]*[a-f0-9]+: 66 0f 38 33 00 pmovzxwd \(%eax\),%xmm0 +[ ]*[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 #pass diff --git a/gas/testsuite/gas/i386/simd.s b/gas/testsuite/gas/i386/simd.s index ac4f047..b600a6d 100644 --- a/gas/testsuite/gas/i386/simd.s +++ b/gas/testsuite/gas/i386/simd.s @@ -81,7 +81,81 @@ _start: insertps $0x0,(%eax),%xmm0 .intel_syntax noprefix - cvtss2si eax,DWORD PTR [eax] - cvttss2si eax,DWORD PTR [eax] - cvtsd2si eax,QWORD PTR [eax] - cvttsd2si eax,QWORD PTR [eax] + +addsubps xmm1,XMMWORD PTR ds:0x12345678 +comisd xmm1,QWORD PTR ds:0x12345678 +comiss xmm1,DWORD PTR ds:0x12345678 +cvtdq2pd xmm1,QWORD PTR ds:0x12345678 +cvtpd2dq xmm1,XMMWORD PTR ds:0x12345678 +cvtps2pd xmm1,QWORD PTR ds:0x12345678 +cvttps2dq xmm1,XMMWORD PTR ds:0x12345678 +haddps xmm1,XMMWORD PTR ds:0x12345678 +movdqu XMMWORD PTR ds:0x12345678,xmm1 +movdqu xmm1,XMMWORD PTR ds:0x12345678 +movhpd QWORD PTR ds:0x12345678,xmm1 +movhpd xmm1,QWORD PTR ds:0x12345678 +movhps QWORD PTR ds:0x12345678,xmm1 +movhps xmm1,QWORD PTR ds:0x12345678 +movlpd QWORD PTR ds:0x12345678,xmm1 +movlpd xmm1,QWORD PTR ds:0x12345678 +movlps QWORD PTR ds:0x12345678,xmm1 +movlps xmm1,QWORD PTR ds:0x12345678 +movshdup xmm1,XMMWORD PTR ds:0x12345678 +movsldup xmm1,XMMWORD PTR ds:0x12345678 +pshufhw xmm1,XMMWORD PTR ds:0x12345678,0x90 +pshuflw xmm1,XMMWORD PTR ds:0x12345678,0x90 +punpcklbw mm1,DWORD PTR ds:0x12345678 +punpckldq mm1,DWORD PTR ds:0x12345678 +punpcklwd mm1,DWORD PTR ds:0x12345678 +punpcklbw xmm1,XMMWORD PTR ds:0x12345678 +punpckldq xmm1,XMMWORD PTR ds:0x12345678 +punpcklwd xmm1,XMMWORD PTR ds:0x12345678 +punpcklqdq xmm1,XMMWORD PTR ds:0x12345678 +ucomisd xmm1,QWORD PTR ds:0x12345678 +ucomiss xmm1,DWORD PTR ds:0x12345678 +cmpeqsd xmm0,QWORD PTR [eax] +cmpeqss xmm0,DWORD PTR [eax] +cvtpi2pd xmm0,QWORD PTR [eax] +cvtpi2ps xmm0,QWORD PTR [eax] +cvtps2pi mm0,QWORD PTR [eax] +cvtsd2si eax,QWORD PTR [eax] +cvttsd2si eax,QWORD PTR [eax] +cvtsd2ss xmm0,QWORD PTR [eax] +cvtss2sd xmm0,DWORD PTR [eax] +cvtss2si eax,DWORD PTR [eax] +cvttss2si eax,DWORD PTR [eax] +divsd xmm0,QWORD PTR [eax] +divss xmm0,DWORD PTR [eax] +maxsd xmm0,QWORD PTR [eax] +maxss xmm0,DWORD PTR [eax] +minss xmm0,DWORD PTR [eax] +minss xmm0,DWORD PTR [eax] +movntsd QWORD PTR [eax],xmm0 +movntss DWORD PTR [eax],xmm0 +movsd xmm0,QWORD PTR [eax] +movsd QWORD PTR [eax],xmm0 +movss xmm0,DWORD PTR [eax] +movss DWORD PTR [eax],xmm0 +mulsd xmm0,QWORD PTR [eax] +mulss xmm0,DWORD PTR [eax] +rcpss xmm0,DWORD PTR [eax] +roundsd xmm0,QWORD PTR [eax],0x0 +roundss xmm0,DWORD PTR [eax],0x0 +rsqrtss xmm0,DWORD PTR [eax] +sqrtsd xmm0,QWORD PTR [eax] +sqrtss xmm0,DWORD PTR [eax] +subsd xmm0,QWORD PTR [eax] +subss xmm0,DWORD PTR [eax] +pmovsxbw xmm0,QWORD PTR [eax] +pmovsxbd xmm0,DWORD PTR [eax] +pmovsxbq xmm0,WORD PTR [eax] +pmovsxwd xmm0,QWORD PTR [eax] +pmovsxwq xmm0,DWORD PTR [eax] +pmovsxdq xmm0,QWORD PTR [eax] +pmovzxbw xmm0,QWORD PTR [eax] +pmovzxbd xmm0,DWORD PTR [eax] +pmovzxbq xmm0,WORD PTR [eax] +pmovzxwd xmm0,QWORD PTR [eax] +pmovzxwq xmm0,DWORD PTR [eax] +pmovzxdq xmm0,QWORD PTR [eax] +insertps xmm0,DWORD PTR [eax],0x0 diff --git a/gas/testsuite/gas/i386/x86-64-simd-intel.d b/gas/testsuite/gas/i386/x86-64-simd-intel.d index d121902..89d0b27 100644 --- a/gas/testsuite/gas/i386/x86-64-simd-intel.d +++ b/gas/testsuite/gas/i386/x86-64-simd-intel.d @@ -8,39 +8,39 @@ 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]+: 66 0f d6 0d 78 56 34 12 movq QWORD PTR \[rip\+0x12345678\],xmm1[ ]*(#.*)? -[ ]*[a-f0-9]+: f3 0f 7e 0d 78 56 34 12 movq 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 60 0d 78 56 34 12 punpcklbw xmm1,XMMWORD PTR \[rip\+0x12345678\][ ]*(#.*)? -[ ]*[a-f0-9]+: 66 0f 62 0d 78 56 34 12 punpckldq xmm1,XMMWORD PTR \[rip\+0x12345678\][ ]*(#.*)? -[ ]*[a-f0-9]+: 66 0f 61 0d 78 56 34 12 punpcklwd xmm1,XMMWORD PTR \[rip\+0x12345678\][ ]*(#.*)? -[ ]*[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 d0 0d 78 56 34 12 addsubps xmm1,XMMWORD PTR \[rip\+0x12345678\] # 12345680 <_start\+0x12345680> +[ ]*[a-f0-9]+: 66 0f 2f 0d 78 56 34 12 comisd xmm1,QWORD PTR \[rip\+0x12345678\] # 12345688 <_start\+0x12345688> +[ ]*[a-f0-9]+: 0f 2f 0d 78 56 34 12 comiss xmm1,DWORD PTR \[rip\+0x12345678\] # 1234568f <_start\+0x1234568f> +[ ]*[a-f0-9]+: f3 0f e6 0d 78 56 34 12 cvtdq2pd xmm1,QWORD PTR \[rip\+0x12345678\] # 12345697 <_start\+0x12345697> +[ ]*[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]+: 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\] @@ -91,12 +91,87 @@ 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]+: f3 0f 2d 00 cvtss2si eax,DWORD PTR \[rax\] -[ ]*[a-f0-9]+: f3 48 0f 2d 00 cvtss2si rax,DWORD PTR \[rax\] -[ ]*[a-f0-9]+: f3 0f 2c 00 cvttss2si eax,DWORD PTR \[rax\] -[ ]*[a-f0-9]+: f3 48 0f 2c 00 cvttss2si rax,DWORD PTR \[rax\] +[ ]*[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]+: 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 2c 00 cvttsd2si eax,QWORD PTR \[rax\] [ ]*[a-f0-9]+: f2 48 0f 2c 00 cvttsd2si 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 0f 2d 00 cvtss2si eax,DWORD PTR \[rax\] +[ ]*[a-f0-9]+: f3 48 0f 2d 00 cvtss2si rax,DWORD PTR \[rax\] +[ ]*[a-f0-9]+: f3 0f 2c 00 cvttss2si eax,DWORD PTR \[rax\] +[ ]*[a-f0-9]+: f3 48 0f 2c 00 cvttss2si rax,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\] +[ ]*[a-f0-9]+: 66 0f 38 20 00 pmovsxbw xmm0,QWORD PTR \[rax\] +[ ]*[a-f0-9]+: 66 0f 38 21 00 pmovsxbd xmm0,DWORD PTR \[rax\] +[ ]*[a-f0-9]+: 66 0f 38 22 00 pmovsxbq xmm0,WORD PTR \[rax\] +[ ]*[a-f0-9]+: 66 0f 38 23 00 pmovsxwd xmm0,QWORD PTR \[rax\] +[ ]*[a-f0-9]+: 66 0f 38 24 00 pmovsxwq xmm0,DWORD PTR \[rax\] +[ ]*[a-f0-9]+: 66 0f 38 25 00 pmovsxdq xmm0,QWORD PTR \[rax\] +[ ]*[a-f0-9]+: 66 0f 38 30 00 pmovzxbw xmm0,QWORD PTR \[rax\] +[ ]*[a-f0-9]+: 66 0f 38 31 00 pmovzxbd xmm0,DWORD PTR \[rax\] +[ ]*[a-f0-9]+: 66 0f 38 32 00 pmovzxbq xmm0,WORD PTR \[rax\] +[ ]*[a-f0-9]+: 66 0f 38 33 00 pmovzxwd xmm0,QWORD PTR \[rax\] +[ ]*[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 #pass diff --git a/gas/testsuite/gas/i386/x86-64-simd.d b/gas/testsuite/gas/i386/x86-64-simd.d index 7dfc943..3ff0385 100644 --- a/gas/testsuite/gas/i386/x86-64-simd.d +++ b/gas/testsuite/gas/i386/x86-64-simd.d @@ -7,39 +7,39 @@ 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]+: 66 0f d6 0d 78 56 34 12 movq %xmm1,0x12345678\(%rip\)[ ]*(#.*)? -[ ]*[a-f0-9]+: f3 0f 7e 0d 78 56 34 12 movq 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 60 0d 78 56 34 12 punpcklbw 0x12345678\(%rip\),%xmm1[ ]*(#.*)? -[ ]*[a-f0-9]+: 66 0f 62 0d 78 56 34 12 punpckldq 0x12345678\(%rip\),%xmm1[ ]*(#.*)? -[ ]*[a-f0-9]+: 66 0f 61 0d 78 56 34 12 punpcklwd 0x12345678\(%rip\),%xmm1[ ]*(#.*)? -[ ]*[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 d0 0d 78 56 34 12 addsubps 0x12345678\(%rip\),%xmm1 # 12345680 <_start\+0x12345680> +[ ]*[a-f0-9]+: 66 0f 2f 0d 78 56 34 12 comisd 0x12345678\(%rip\),%xmm1 # 12345688 <_start\+0x12345688> +[ ]*[a-f0-9]+: 0f 2f 0d 78 56 34 12 comiss 0x12345678\(%rip\),%xmm1 # 1234568f <_start\+0x1234568f> +[ ]*[a-f0-9]+: f3 0f e6 0d 78 56 34 12 cvtdq2pd 0x12345678\(%rip\),%xmm1 # 12345697 <_start\+0x12345697> +[ ]*[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]+: 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 @@ -90,12 +90,87 @@ 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]+: f3 0f 2d 00 cvtss2si \(%rax\),%eax -[ ]*[a-f0-9]+: f3 48 0f 2d 00 cvtss2siq \(%rax\),%rax -[ ]*[a-f0-9]+: f3 0f 2c 00 cvttss2si \(%rax\),%eax -[ ]*[a-f0-9]+: f3 48 0f 2c 00 cvttss2siq \(%rax\),%rax +[ ]*[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]+: 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 2c 00 cvttsd2si \(%rax\),%eax [ ]*[a-f0-9]+: f2 48 0f 2c 00 cvttsd2siq \(%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 0f 2d 00 cvtss2si \(%rax\),%eax +[ ]*[a-f0-9]+: f3 48 0f 2d 00 cvtss2siq \(%rax\),%rax +[ ]*[a-f0-9]+: f3 0f 2c 00 cvttss2si \(%rax\),%eax +[ ]*[a-f0-9]+: f3 48 0f 2c 00 cvttss2siq \(%rax\),%rax +[ ]*[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 +[ ]*[a-f0-9]+: 66 0f 38 20 00 pmovsxbw \(%rax\),%xmm0 +[ ]*[a-f0-9]+: 66 0f 38 21 00 pmovsxbd \(%rax\),%xmm0 +[ ]*[a-f0-9]+: 66 0f 38 22 00 pmovsxbq \(%rax\),%xmm0 +[ ]*[a-f0-9]+: 66 0f 38 23 00 pmovsxwd \(%rax\),%xmm0 +[ ]*[a-f0-9]+: 66 0f 38 24 00 pmovsxwq \(%rax\),%xmm0 +[ ]*[a-f0-9]+: 66 0f 38 25 00 pmovsxdq \(%rax\),%xmm0 +[ ]*[a-f0-9]+: 66 0f 38 30 00 pmovzxbw \(%rax\),%xmm0 +[ ]*[a-f0-9]+: 66 0f 38 31 00 pmovzxbd \(%rax\),%xmm0 +[ ]*[a-f0-9]+: 66 0f 38 32 00 pmovzxbq \(%rax\),%xmm0 +[ ]*[a-f0-9]+: 66 0f 38 33 00 pmovzxwd \(%rax\),%xmm0 +[ ]*[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 #pass diff --git a/gas/testsuite/gas/i386/x86-64-simd.s b/gas/testsuite/gas/i386/x86-64-simd.s index 08c2fac..a09a353 100644 --- a/gas/testsuite/gas/i386/x86-64-simd.s +++ b/gas/testsuite/gas/i386/x86-64-simd.s @@ -87,11 +87,87 @@ _start: insertps $0x0,(%rax),%xmm0 .intel_syntax noprefix - cvtss2si eax,DWORD PTR [rax] - cvtss2si rax,DWORD PTR [rax] - cvttss2si eax,DWORD PTR [rax] - cvttss2si rax,DWORD PTR [rax] - cvtsd2si eax,QWORD PTR [rax] - cvtsd2si rax,QWORD PTR [rax] - cvttsd2si eax,QWORD PTR [rax] - cvttsd2si rax,QWORD PTR [rax] + +addsubps xmm1,XMMWORD PTR [rip+0x12345678] +comisd xmm1,QWORD PTR [rip+0x12345678] +comiss xmm1,DWORD PTR [rip+0x12345678] +cvtdq2pd xmm1,QWORD PTR [rip+0x12345678] +cvtpd2dq xmm1,XMMWORD PTR [rip+0x12345678] +cvtps2pd xmm1,QWORD PTR [rip+0x12345678] +cvttps2dq xmm1,XMMWORD PTR [rip+0x12345678] +haddps xmm1,XMMWORD PTR [rip+0x12345678] +movdqu XMMWORD PTR [rip+0x12345678],xmm1 +movdqu xmm1,XMMWORD PTR [rip+0x12345678] +movhpd QWORD PTR [rip+0x12345678],xmm1 +movhpd xmm1,QWORD PTR [rip+0x12345678] +movhps QWORD PTR [rip+0x12345678],xmm1 +movhps xmm1,QWORD PTR [rip+0x12345678] +movlpd QWORD PTR [rip+0x12345678],xmm1 +movlpd xmm1,QWORD PTR [rip+0x12345678] +movlps QWORD PTR [rip+0x12345678],xmm1 +movlps xmm1,QWORD PTR [rip+0x12345678] +movq QWORD PTR [rip+0x12345678],xmm1 +movq xmm1,QWORD PTR [rip+0x12345678] +movshdup xmm1,XMMWORD PTR [rip+0x12345678] +movsldup xmm1,XMMWORD PTR [rip+0x12345678] +pshufhw xmm1,XMMWORD PTR [rip+0x12345678],0x90 +pshuflw xmm1,XMMWORD PTR [rip+0x12345678],0x90 +punpcklbw mm1,DWORD PTR [rip+0x12345678] +punpckldq mm1,DWORD PTR [rip+0x12345678] +punpcklwd mm1,DWORD PTR [rip+0x12345678] +punpcklbw xmm1,XMMWORD PTR [rip+0x12345678] +punpckldq xmm1,XMMWORD PTR [rip+0x12345678] +punpcklwd xmm1,XMMWORD PTR [rip+0x12345678] +punpcklqdq xmm1,XMMWORD PTR [rip+0x12345678] +ucomisd xmm1,QWORD PTR [rip+0x12345678] +ucomiss xmm1,DWORD PTR [rip+0x12345678] +cmpeqsd xmm0,QWORD PTR [rax] +cmpeqss xmm0,DWORD PTR [rax] +cvtpi2pd xmm0,QWORD PTR [rax] +cvtpi2ps xmm0,QWORD PTR [rax] +cvtps2pi mm0,QWORD PTR [rax] +cvtsd2si eax,QWORD PTR [rax] +cvtsd2si rax,QWORD PTR [rax] +cvttsd2si eax,QWORD PTR [rax] +cvttsd2si rax,QWORD PTR [rax] +cvtsd2ss xmm0,QWORD PTR [rax] +cvtss2sd xmm0,DWORD PTR [rax] +cvtss2si eax,DWORD PTR [rax] +cvtss2si rax,DWORD PTR [rax] +cvttss2si eax,DWORD PTR [rax] +cvttss2si rax,DWORD PTR [rax] +divsd xmm0,QWORD PTR [rax] +divss xmm0,DWORD PTR [rax] +maxsd xmm0,QWORD PTR [rax] +maxss xmm0,DWORD PTR [rax] +minss xmm0,DWORD PTR [rax] +minss xmm0,DWORD PTR [rax] +movntsd QWORD PTR [rax],xmm0 +movntss DWORD PTR [rax],xmm0 +movsd xmm0,QWORD PTR [rax] +movsd QWORD PTR [rax],xmm0 +movss xmm0,DWORD PTR [rax] +movss DWORD PTR [rax],xmm0 +mulsd xmm0,QWORD PTR [rax] +mulss xmm0,DWORD PTR [rax] +rcpss xmm0,DWORD PTR [rax] +roundsd xmm0,QWORD PTR [rax],0x0 +roundss xmm0,DWORD PTR [rax],0x0 +rsqrtss xmm0,DWORD PTR [rax] +sqrtsd xmm0,QWORD PTR [rax] +sqrtss xmm0,DWORD PTR [rax] +subsd xmm0,QWORD PTR [rax] +subss xmm0,DWORD PTR [rax] +pmovsxbw xmm0,QWORD PTR [rax] +pmovsxbd xmm0,DWORD PTR [rax] +pmovsxbq xmm0,WORD PTR [rax] +pmovsxwd xmm0,QWORD PTR [rax] +pmovsxwq xmm0,DWORD PTR [rax] +pmovsxdq xmm0,QWORD PTR [rax] +pmovzxbw xmm0,QWORD PTR [rax] +pmovzxbd xmm0,DWORD PTR [rax] +pmovzxbq xmm0,WORD PTR [rax] +pmovzxwd xmm0,QWORD PTR [rax] +pmovzxwq xmm0,DWORD PTR [rax] +pmovzxdq xmm0,QWORD PTR [rax] +insertps xmm0,DWORD PTR [rax],0x0 -- 2.7.4