diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index a331751a57..871508e580 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,13 @@ +2008-04-23 H.J. Lu + + * gas/i386/sse2.s: Add tests for pmuludq, paddq and psubq. + * gas/i386/x86-64-simd.s: Likewise. + + * gas/i386/sse2.d: Updated. + * gas/i386/x86-64-simd.d: Likewise. + * gas/i386/x86-64-simd-intel.d: Likewise. + * gas/i386/x86-64-simd-suffix.d: Likewise. + 2008-04-23 David S. Miller * gas/sparc/pc2210.d: New file. diff --git a/gas/testsuite/gas/i386/sse2.d b/gas/testsuite/gas/i386/sse2.d index 55ebb1325c..0c87e86cc6 100644 --- a/gas/testsuite/gas/i386/sse2.d +++ b/gas/testsuite/gas/i386/sse2.d @@ -7,150 +7,160 @@ Disassembly of section .text: 0+ : -[ ]+0: 0f c3 00[ ]+movnti %eax,\(%eax\) -[ ]+3: 0f ae f8[ ]+sfence -[ ]+6: 0f ae e8[ ]+lfence -[ ]+9: 0f ae f0[ ]+mfence -[ ]+c: 66 0f 58 01[ ]+addpd[ ]+\(%ecx\),%xmm0 -[ ]+10: 66 0f 58 ca[ ]+addpd[ ]+%xmm2,%xmm1 -[ ]+14: f2 0f 58 13[ ]+addsd[ ]+\(%ebx\),%xmm2 -[ ]+18: f2 0f 58 dc[ ]+addsd[ ]+%xmm4,%xmm3 -[ ]+1c: 66 0f 55 65 00[ ]+andnpd 0x0\(%ebp\),%xmm4 -[ ]+21: 66 0f 55 ee[ ]+andnpd %xmm6,%xmm5 -[ ]+25: 66 0f 54 37[ ]+andpd[ ]+\(%edi\),%xmm6 -[ ]+29: 66 0f 54 f8[ ]+andpd[ ]+%xmm0,%xmm7 -[ ]+2d: 66 0f c2 c1 02[ ]+cmplepd %xmm1,%xmm0 -[ ]+32: 66 0f c2 0a 03[ ]+cmpunordpd \(%edx\),%xmm1 -[ ]+37: f2 0f c2 d2 04[ ]+cmpneqsd %xmm2,%xmm2 -[ ]+3c: f2 0f c2 1c 24 05[ ]+cmpnltsd \(%esp\),%xmm3 -[ ]+42: 66 0f c2 e5 06[ ]+cmpnlepd %xmm5,%xmm4 -[ ]+47: 66 0f c2 2e 07[ ]+cmpordpd \(%esi\),%xmm5 -[ ]+4c: f2 0f c2 f7 00[ ]+cmpeqsd %xmm7,%xmm6 -[ ]+51: f2 0f c2 38 01[ ]+cmpltsd \(%eax\),%xmm7 -[ ]+56: 66 0f c2 c1 00[ ]+cmpeqpd %xmm1,%xmm0 -[ ]+5b: 66 0f c2 0a 00[ ]+cmpeqpd \(%edx\),%xmm1 -[ ]+60: f2 0f c2 d2 00[ ]+cmpeqsd %xmm2,%xmm2 -[ ]+65: f2 0f c2 1c 24 00[ ]+cmpeqsd \(%esp\),%xmm3 -[ ]+6b: 66 0f c2 e5 01[ ]+cmpltpd %xmm5,%xmm4 -[ ]+70: 66 0f c2 2e 01[ ]+cmpltpd \(%esi\),%xmm5 -[ ]+75: f2 0f c2 f7 01[ ]+cmpltsd %xmm7,%xmm6 -[ ]+7a: f2 0f c2 38 01[ ]+cmpltsd \(%eax\),%xmm7 -[ ]+7f: 66 0f c2 01 02[ ]+cmplepd \(%ecx\),%xmm0 -[ ]+84: 66 0f c2 ca 02[ ]+cmplepd %xmm2,%xmm1 -[ ]+89: f2 0f c2 13 02[ ]+cmplesd \(%ebx\),%xmm2 -[ ]+8e: f2 0f c2 dc 02[ ]+cmplesd %xmm4,%xmm3 -[ ]+93: 66 0f c2 65 00 03[ ]+cmpunordpd 0x0\(%ebp\),%xmm4 -[ ]+99: 66 0f c2 ee 03[ ]+cmpunordpd %xmm6,%xmm5 -[ ]+9e: f2 0f c2 37 03[ ]+cmpunordsd \(%edi\),%xmm6 -[ ]+a3: f2 0f c2 f8 03[ ]+cmpunordsd %xmm0,%xmm7 -[ ]+a8: 66 0f c2 c1 04[ ]+cmpneqpd %xmm1,%xmm0 -[ ]+ad: 66 0f c2 0a 04[ ]+cmpneqpd \(%edx\),%xmm1 -[ ]+b2: f2 0f c2 d2 04[ ]+cmpneqsd %xmm2,%xmm2 -[ ]+b7: f2 0f c2 1c 24 04[ ]+cmpneqsd \(%esp\),%xmm3 -[ ]+bd: 66 0f c2 e5 05[ ]+cmpnltpd %xmm5,%xmm4 -[ ]+c2: 66 0f c2 2e 05[ ]+cmpnltpd \(%esi\),%xmm5 -[ ]+c7: f2 0f c2 f7 05[ ]+cmpnltsd %xmm7,%xmm6 -[ ]+cc: f2 0f c2 38 05[ ]+cmpnltsd \(%eax\),%xmm7 -[ ]+d1: 66 0f c2 01 06[ ]+cmpnlepd \(%ecx\),%xmm0 -[ ]+d6: 66 0f c2 ca 06[ ]+cmpnlepd %xmm2,%xmm1 -[ ]+db: f2 0f c2 13 06[ ]+cmpnlesd \(%ebx\),%xmm2 -[ ]+e0: f2 0f c2 dc 06[ ]+cmpnlesd %xmm4,%xmm3 -[ ]+e5: 66 0f c2 65 00 07[ ]+cmpordpd 0x0\(%ebp\),%xmm4 -[ ]+eb: 66 0f c2 ee 07[ ]+cmpordpd %xmm6,%xmm5 -[ ]+f0: f2 0f c2 37 07[ ]+cmpordsd \(%edi\),%xmm6 -[ ]+f5: f2 0f c2 f8 07[ ]+cmpordsd %xmm0,%xmm7 -[ ]+fa: 66 0f 2f c1[ ]+comisd %xmm1,%xmm0 -[ ]+fe: 66 0f 2f 0a[ ]+comisd \(%edx\),%xmm1 - 102: 66 0f 2a d3[ ]+cvtpi2pd %mm3,%xmm2 - 106: 66 0f 2a 1c 24[ ]+cvtpi2pd \(%esp\),%xmm3 - 10b: f2 0f 2a e5[ ]+cvtsi2sd %ebp,%xmm4 - 10f: f2 0f 2a 2e[ ]+cvtsi2sdl \(%esi\),%xmm5 - 113: 66 0f 2d f7[ ]+cvtpd2pi %xmm7,%mm6 - 117: 66 0f 2d 38[ ]+cvtpd2pi \(%eax\),%mm7 - 11b: f2 0f 2d 01[ ]+cvtsd2si \(%ecx\),%eax - 11f: f2 0f 2d ca[ ]+cvtsd2si %xmm2,%ecx - 123: 66 0f 2c 13[ ]+cvttpd2pi \(%ebx\),%mm2 - 127: 66 0f 2c dc[ ]+cvttpd2pi %xmm4,%mm3 - 12b: f2 0f 2c 65 00[ ]+cvttsd2si 0x0\(%ebp\),%esp - 130: f2 0f 2c ee[ ]+cvttsd2si %xmm6,%ebp - 134: 66 0f 5e c1[ ]+divpd[ ]+%xmm1,%xmm0 - 138: 66 0f 5e 0a[ ]+divpd[ ]+\(%edx\),%xmm1 - 13c: f2 0f 5e d3[ ]+divsd[ ]+%xmm3,%xmm2 - 140: f2 0f 5e 1c 24[ ]+divsd[ ]+\(%esp\),%xmm3 - 145: 0f ae 55 00[ ]+ldmxcsr 0x0\(%ebp\) - 149: 0f ae 1e[ ]+stmxcsr \(%esi\) - 14c: 0f ae f8[ ]+sfence - 14f: 66 0f 5f c1[ ]+maxpd[ ]+%xmm1,%xmm0 - 153: 66 0f 5f 0a[ ]+maxpd[ ]+\(%edx\),%xmm1 - 157: f2 0f 5f d3[ ]+maxsd[ ]+%xmm3,%xmm2 - 15b: f2 0f 5f 1c 24[ ]+maxsd[ ]+\(%esp\),%xmm3 - 160: 66 0f 5d e5[ ]+minpd[ ]+%xmm5,%xmm4 - 164: 66 0f 5d 2e[ ]+minpd[ ]+\(%esi\),%xmm5 - 168: f2 0f 5d f7[ ]+minsd[ ]+%xmm7,%xmm6 - 16c: f2 0f 5d 38[ ]+minsd[ ]+\(%eax\),%xmm7 - 170: 66 0f 28 c1[ ]+movapd %xmm1,%xmm0 - 174: 66 0f 29 11[ ]+movapd %xmm2,\(%ecx\) - 178: 66 0f 28 12[ ]+movapd \(%edx\),%xmm2 - 17c: 66 0f 17 2c 24[ ]+movhpd %xmm5,\(%esp\) - 181: 66 0f 16 2e[ ]+movhpd \(%esi\),%xmm5 - 185: 66 0f 13 07[ ]+movlpd %xmm0,\(%edi\) - 189: 66 0f 12 00[ ]+movlpd \(%eax\),%xmm0 - 18d: 66 0f 50 ca[ ]+movmskpd %xmm2,%ecx - 191: 66 0f 10 d3[ ]+movupd %xmm3,%xmm2 - 195: 66 0f 11 22[ ]+movupd %xmm4,\(%edx\) - 199: 66 0f 10 65 00[ ]+movupd 0x0\(%ebp\),%xmm4 - 19e: f2 0f 10 ee[ ]+movsd[ ]+%xmm6,%xmm5 - 1a2: f2 0f 11 3e[ ]+movsd[ ]+%xmm7,\(%esi\) - 1a6: f2 0f 10 38[ ]+movsd[ ]+\(%eax\),%xmm7 - 1aa: 66 0f 59 c1[ ]+mulpd[ ]+%xmm1,%xmm0 - 1ae: 66 0f 59 0a[ ]+mulpd[ ]+\(%edx\),%xmm1 - 1b2: f2 0f 59 d2[ ]+mulsd[ ]+%xmm2,%xmm2 - 1b6: f2 0f 59 1c 24[ ]+mulsd[ ]+\(%esp\),%xmm3 - 1bb: 66 0f 56 e5[ ]+orpd[ ]+%xmm5,%xmm4 - 1bf: 66 0f 56 2e[ ]+orpd[ ]+\(%esi\),%xmm5 - 1c3: 66 0f c6 37 02[ ]+shufpd \$0x2,\(%edi\),%xmm6 - 1c8: 66 0f c6 f8 03[ ]+shufpd \$0x3,%xmm0,%xmm7 - 1cd: 66 0f 51 c1[ ]+sqrtpd %xmm1,%xmm0 - 1d1: 66 0f 51 0a[ ]+sqrtpd \(%edx\),%xmm1 - 1d5: f2 0f 51 d2[ ]+sqrtsd %xmm2,%xmm2 - 1d9: f2 0f 51 1c 24[ ]+sqrtsd \(%esp\),%xmm3 - 1de: 66 0f 5c e5[ ]+subpd[ ]+%xmm5,%xmm4 - 1e2: 66 0f 5c 2e[ ]+subpd[ ]+\(%esi\),%xmm5 - 1e6: f2 0f 5c f7[ ]+subsd[ ]+%xmm7,%xmm6 - 1ea: f2 0f 5c 38[ ]+subsd[ ]+\(%eax\),%xmm7 - 1ee: 66 0f 2e 01[ ]+ucomisd \(%ecx\),%xmm0 - 1f2: 66 0f 2e ca[ ]+ucomisd %xmm2,%xmm1 - 1f6: 66 0f 15 13[ ]+unpckhpd \(%ebx\),%xmm2 - 1fa: 66 0f 15 dc[ ]+unpckhpd %xmm4,%xmm3 - 1fe: 66 0f 14 65 00[ ]+unpcklpd 0x0\(%ebp\),%xmm4 - 203: 66 0f 14 ee[ ]+unpcklpd %xmm6,%xmm5 - 207: 66 0f 57 37[ ]+xorpd[ ]+\(%edi\),%xmm6 - 20b: 66 0f 57 f8[ ]+xorpd[ ]+%xmm0,%xmm7 - 20f: 66 0f 2b 33[ ]+movntpd %xmm6,\(%ebx\) - 213: 66 0f 57 c8[ ]+xorpd[ ]+%xmm0,%xmm1 - 217: f3 0f e6 c8[ ]+cvtdq2pd %xmm0,%xmm1 - 21b: f2 0f e6 c8[ ]+cvtpd2dq %xmm0,%xmm1 - 21f: 0f 5b c8[ ]+cvtdq2ps %xmm0,%xmm1 - 222: 66 0f 5a c8[ ]+cvtpd2ps %xmm0,%xmm1 - 226: 0f 5a c8[ ]+cvtps2pd %xmm0,%xmm1 - 229: 66 0f 5b c8[ ]+cvtps2dq %xmm0,%xmm1 - 22d: f2 0f 5a c8[ ]+cvtsd2ss %xmm0,%xmm1 - 231: f3 0f 5a c8[ ]+cvtss2sd %xmm0,%xmm1 - 235: 66 0f e6 c8[ ]+cvttpd2dq %xmm0,%xmm1 - 239: f3 0f 5b c8[ ]+cvttps2dq %xmm0,%xmm1 - 23d: 66 0f f7 c8[ ]+maskmovdqu %xmm0,%xmm1 - 241: 66 0f 6f c8[ ]+movdqa %xmm0,%xmm1 - 245: 66 0f 7f 06[ ]+movdqa %xmm0,\(%esi\) - 249: f3 0f 6f c8[ ]+movdqu %xmm0,%xmm1 - 24d: f3 0f 7f 06[ ]+movdqu %xmm0,\(%esi\) - 251: f2 0f d6 c8[ ]+movdq2q %xmm0,%mm1 - 255: f3 0f d6 c8[ ]+movq2dq %mm0,%xmm1 - 259: 66 0f f4 c8[ ]+pmuludq %xmm0,%xmm1 - 25d: 66 0f f4 c8[ ]+pmuludq %xmm0,%xmm1 - 261: 66 0f 70 c8 01[ ]+pshufd \$0x1,%xmm0,%xmm1 - 266: f3 0f 70 c8 01[ ]+pshufhw \$0x1,%xmm0,%xmm1 - 26b: f2 0f 70 c8 01[ ]+pshuflw \$0x1,%xmm0,%xmm1 - 270: 66 0f 73 f8 01[ ]+pslldq \$0x1,%xmm0 - 275: 66 0f 73 d8 01[ ]+psrldq \$0x1,%xmm0 - 27a: 66 0f 6d c8[ ]+punpckhqdq %xmm0,%xmm1 - 27e: 66 90[ ]+xchg[ ]+%ax,%ax +[ ]*[a-f0-9]+: 0f c3 00 movnti %eax,\(%eax\) +[ ]*[a-f0-9]+: 0f ae f8 sfence +[ ]*[a-f0-9]+: 0f ae e8 lfence +[ ]*[a-f0-9]+: 0f ae f0 mfence +[ ]*[a-f0-9]+: 66 0f 58 01 addpd \(%ecx\),%xmm0 +[ ]*[a-f0-9]+: 66 0f 58 ca addpd %xmm2,%xmm1 +[ ]*[a-f0-9]+: f2 0f 58 13 addsd \(%ebx\),%xmm2 +[ ]*[a-f0-9]+: f2 0f 58 dc addsd %xmm4,%xmm3 +[ ]*[a-f0-9]+: 66 0f 55 65 00 andnpd 0x0\(%ebp\),%xmm4 +[ ]*[a-f0-9]+: 66 0f 55 ee andnpd %xmm6,%xmm5 +[ ]*[a-f0-9]+: 66 0f 54 37 andpd \(%edi\),%xmm6 +[ ]*[a-f0-9]+: 66 0f 54 f8 andpd %xmm0,%xmm7 +[ ]*[a-f0-9]+: 66 0f c2 c1 02 cmplepd %xmm1,%xmm0 +[ ]*[a-f0-9]+: 66 0f c2 0a 03 cmpunordpd \(%edx\),%xmm1 +[ ]*[a-f0-9]+: f2 0f c2 d2 04 cmpneqsd %xmm2,%xmm2 +[ ]*[a-f0-9]+: f2 0f c2 1c 24 05 cmpnltsd \(%esp\),%xmm3 +[ ]*[a-f0-9]+: 66 0f c2 e5 06 cmpnlepd %xmm5,%xmm4 +[ ]*[a-f0-9]+: 66 0f c2 2e 07 cmpordpd \(%esi\),%xmm5 +[ ]*[a-f0-9]+: f2 0f c2 f7 00 cmpeqsd %xmm7,%xmm6 +[ ]*[a-f0-9]+: f2 0f c2 38 01 cmpltsd \(%eax\),%xmm7 +[ ]*[a-f0-9]+: 66 0f c2 c1 00 cmpeqpd %xmm1,%xmm0 +[ ]*[a-f0-9]+: 66 0f c2 0a 00 cmpeqpd \(%edx\),%xmm1 +[ ]*[a-f0-9]+: f2 0f c2 d2 00 cmpeqsd %xmm2,%xmm2 +[ ]*[a-f0-9]+: f2 0f c2 1c 24 00 cmpeqsd \(%esp\),%xmm3 +[ ]*[a-f0-9]+: 66 0f c2 e5 01 cmpltpd %xmm5,%xmm4 +[ ]*[a-f0-9]+: 66 0f c2 2e 01 cmpltpd \(%esi\),%xmm5 +[ ]*[a-f0-9]+: f2 0f c2 f7 01 cmpltsd %xmm7,%xmm6 +[ ]*[a-f0-9]+: f2 0f c2 38 01 cmpltsd \(%eax\),%xmm7 +[ ]*[a-f0-9]+: 66 0f c2 01 02 cmplepd \(%ecx\),%xmm0 +[ ]*[a-f0-9]+: 66 0f c2 ca 02 cmplepd %xmm2,%xmm1 +[ ]*[a-f0-9]+: f2 0f c2 13 02 cmplesd \(%ebx\),%xmm2 +[ ]*[a-f0-9]+: f2 0f c2 dc 02 cmplesd %xmm4,%xmm3 +[ ]*[a-f0-9]+: 66 0f c2 65 00 03 cmpunordpd 0x0\(%ebp\),%xmm4 +[ ]*[a-f0-9]+: 66 0f c2 ee 03 cmpunordpd %xmm6,%xmm5 +[ ]*[a-f0-9]+: f2 0f c2 37 03 cmpunordsd \(%edi\),%xmm6 +[ ]*[a-f0-9]+: f2 0f c2 f8 03 cmpunordsd %xmm0,%xmm7 +[ ]*[a-f0-9]+: 66 0f c2 c1 04 cmpneqpd %xmm1,%xmm0 +[ ]*[a-f0-9]+: 66 0f c2 0a 04 cmpneqpd \(%edx\),%xmm1 +[ ]*[a-f0-9]+: f2 0f c2 d2 04 cmpneqsd %xmm2,%xmm2 +[ ]*[a-f0-9]+: f2 0f c2 1c 24 04 cmpneqsd \(%esp\),%xmm3 +[ ]*[a-f0-9]+: 66 0f c2 e5 05 cmpnltpd %xmm5,%xmm4 +[ ]*[a-f0-9]+: 66 0f c2 2e 05 cmpnltpd \(%esi\),%xmm5 +[ ]*[a-f0-9]+: f2 0f c2 f7 05 cmpnltsd %xmm7,%xmm6 +[ ]*[a-f0-9]+: f2 0f c2 38 05 cmpnltsd \(%eax\),%xmm7 +[ ]*[a-f0-9]+: 66 0f c2 01 06 cmpnlepd \(%ecx\),%xmm0 +[ ]*[a-f0-9]+: 66 0f c2 ca 06 cmpnlepd %xmm2,%xmm1 +[ ]*[a-f0-9]+: f2 0f c2 13 06 cmpnlesd \(%ebx\),%xmm2 +[ ]*[a-f0-9]+: f2 0f c2 dc 06 cmpnlesd %xmm4,%xmm3 +[ ]*[a-f0-9]+: 66 0f c2 65 00 07 cmpordpd 0x0\(%ebp\),%xmm4 +[ ]*[a-f0-9]+: 66 0f c2 ee 07 cmpordpd %xmm6,%xmm5 +[ ]*[a-f0-9]+: f2 0f c2 37 07 cmpordsd \(%edi\),%xmm6 +[ ]*[a-f0-9]+: f2 0f c2 f8 07 cmpordsd %xmm0,%xmm7 +[ ]*[a-f0-9]+: 66 0f 2f c1 comisd %xmm1,%xmm0 +[ ]*[a-f0-9]+: 66 0f 2f 0a comisd \(%edx\),%xmm1 +[ ]*[a-f0-9]+: 66 0f 2a d3 cvtpi2pd %mm3,%xmm2 +[ ]*[a-f0-9]+: 66 0f 2a 1c 24 cvtpi2pd \(%esp\),%xmm3 +[ ]*[a-f0-9]+: f2 0f 2a e5 cvtsi2sd %ebp,%xmm4 +[ ]*[a-f0-9]+: f2 0f 2a 2e cvtsi2sdl \(%esi\),%xmm5 +[ ]*[a-f0-9]+: 66 0f 2d f7 cvtpd2pi %xmm7,%mm6 +[ ]*[a-f0-9]+: 66 0f 2d 38 cvtpd2pi \(%eax\),%mm7 +[ ]*[a-f0-9]+: f2 0f 2d 01 cvtsd2si \(%ecx\),%eax +[ ]*[a-f0-9]+: f2 0f 2d ca cvtsd2si %xmm2,%ecx +[ ]*[a-f0-9]+: 66 0f 2c 13 cvttpd2pi \(%ebx\),%mm2 +[ ]*[a-f0-9]+: 66 0f 2c dc cvttpd2pi %xmm4,%mm3 +[ ]*[a-f0-9]+: f2 0f 2c 65 00 cvttsd2si 0x0\(%ebp\),%esp +[ ]*[a-f0-9]+: f2 0f 2c ee cvttsd2si %xmm6,%ebp +[ ]*[a-f0-9]+: 66 0f 5e c1 divpd %xmm1,%xmm0 +[ ]*[a-f0-9]+: 66 0f 5e 0a divpd \(%edx\),%xmm1 +[ ]*[a-f0-9]+: f2 0f 5e d3 divsd %xmm3,%xmm2 +[ ]*[a-f0-9]+: f2 0f 5e 1c 24 divsd \(%esp\),%xmm3 +[ ]*[a-f0-9]+: 0f ae 55 00 ldmxcsr 0x0\(%ebp\) +[ ]*[a-f0-9]+: 0f ae 1e stmxcsr \(%esi\) +[ ]*[a-f0-9]+: 0f ae f8 sfence +[ ]*[a-f0-9]+: 66 0f 5f c1 maxpd %xmm1,%xmm0 +[ ]*[a-f0-9]+: 66 0f 5f 0a maxpd \(%edx\),%xmm1 +[ ]*[a-f0-9]+: f2 0f 5f d3 maxsd %xmm3,%xmm2 +[ ]*[a-f0-9]+: f2 0f 5f 1c 24 maxsd \(%esp\),%xmm3 +[ ]*[a-f0-9]+: 66 0f 5d e5 minpd %xmm5,%xmm4 +[ ]*[a-f0-9]+: 66 0f 5d 2e minpd \(%esi\),%xmm5 +[ ]*[a-f0-9]+: f2 0f 5d f7 minsd %xmm7,%xmm6 +[ ]*[a-f0-9]+: f2 0f 5d 38 minsd \(%eax\),%xmm7 +[ ]*[a-f0-9]+: 66 0f 28 c1 movapd %xmm1,%xmm0 +[ ]*[a-f0-9]+: 66 0f 29 11 movapd %xmm2,\(%ecx\) +[ ]*[a-f0-9]+: 66 0f 28 12 movapd \(%edx\),%xmm2 +[ ]*[a-f0-9]+: 66 0f 17 2c 24 movhpd %xmm5,\(%esp\) +[ ]*[a-f0-9]+: 66 0f 16 2e movhpd \(%esi\),%xmm5 +[ ]*[a-f0-9]+: 66 0f 13 07 movlpd %xmm0,\(%edi\) +[ ]*[a-f0-9]+: 66 0f 12 00 movlpd \(%eax\),%xmm0 +[ ]*[a-f0-9]+: 66 0f 50 ca movmskpd %xmm2,%ecx +[ ]*[a-f0-9]+: 66 0f 10 d3 movupd %xmm3,%xmm2 +[ ]*[a-f0-9]+: 66 0f 11 22 movupd %xmm4,\(%edx\) +[ ]*[a-f0-9]+: 66 0f 10 65 00 movupd 0x0\(%ebp\),%xmm4 +[ ]*[a-f0-9]+: f2 0f 10 ee movsd %xmm6,%xmm5 +[ ]*[a-f0-9]+: f2 0f 11 3e movsd %xmm7,\(%esi\) +[ ]*[a-f0-9]+: f2 0f 10 38 movsd \(%eax\),%xmm7 +[ ]*[a-f0-9]+: 66 0f 59 c1 mulpd %xmm1,%xmm0 +[ ]*[a-f0-9]+: 66 0f 59 0a mulpd \(%edx\),%xmm1 +[ ]*[a-f0-9]+: f2 0f 59 d2 mulsd %xmm2,%xmm2 +[ ]*[a-f0-9]+: f2 0f 59 1c 24 mulsd \(%esp\),%xmm3 +[ ]*[a-f0-9]+: 66 0f 56 e5 orpd %xmm5,%xmm4 +[ ]*[a-f0-9]+: 66 0f 56 2e orpd \(%esi\),%xmm5 +[ ]*[a-f0-9]+: 66 0f c6 37 02 shufpd \$0x2,\(%edi\),%xmm6 +[ ]*[a-f0-9]+: 66 0f c6 f8 03 shufpd \$0x3,%xmm0,%xmm7 +[ ]*[a-f0-9]+: 66 0f 51 c1 sqrtpd %xmm1,%xmm0 +[ ]*[a-f0-9]+: 66 0f 51 0a sqrtpd \(%edx\),%xmm1 +[ ]*[a-f0-9]+: f2 0f 51 d2 sqrtsd %xmm2,%xmm2 +[ ]*[a-f0-9]+: f2 0f 51 1c 24 sqrtsd \(%esp\),%xmm3 +[ ]*[a-f0-9]+: 66 0f 5c e5 subpd %xmm5,%xmm4 +[ ]*[a-f0-9]+: 66 0f 5c 2e subpd \(%esi\),%xmm5 +[ ]*[a-f0-9]+: f2 0f 5c f7 subsd %xmm7,%xmm6 +[ ]*[a-f0-9]+: f2 0f 5c 38 subsd \(%eax\),%xmm7 +[ ]*[a-f0-9]+: 66 0f 2e 01 ucomisd \(%ecx\),%xmm0 +[ ]*[a-f0-9]+: 66 0f 2e ca ucomisd %xmm2,%xmm1 +[ ]*[a-f0-9]+: 66 0f 15 13 unpckhpd \(%ebx\),%xmm2 +[ ]*[a-f0-9]+: 66 0f 15 dc unpckhpd %xmm4,%xmm3 +[ ]*[a-f0-9]+: 66 0f 14 65 00 unpcklpd 0x0\(%ebp\),%xmm4 +[ ]*[a-f0-9]+: 66 0f 14 ee unpcklpd %xmm6,%xmm5 +[ ]*[a-f0-9]+: 66 0f 57 37 xorpd \(%edi\),%xmm6 +[ ]*[a-f0-9]+: 66 0f 57 f8 xorpd %xmm0,%xmm7 +[ ]*[a-f0-9]+: 66 0f 2b 33 movntpd %xmm6,\(%ebx\) +[ ]*[a-f0-9]+: 66 0f 57 c8 xorpd %xmm0,%xmm1 +[ ]*[a-f0-9]+: f3 0f e6 c8 cvtdq2pd %xmm0,%xmm1 +[ ]*[a-f0-9]+: f2 0f e6 c8 cvtpd2dq %xmm0,%xmm1 +[ ]*[a-f0-9]+: 0f 5b c8 cvtdq2ps %xmm0,%xmm1 +[ ]*[a-f0-9]+: 66 0f 5a c8 cvtpd2ps %xmm0,%xmm1 +[ ]*[a-f0-9]+: 0f 5a c8 cvtps2pd %xmm0,%xmm1 +[ ]*[a-f0-9]+: 66 0f 5b c8 cvtps2dq %xmm0,%xmm1 +[ ]*[a-f0-9]+: f2 0f 5a c8 cvtsd2ss %xmm0,%xmm1 +[ ]*[a-f0-9]+: f3 0f 5a c8 cvtss2sd %xmm0,%xmm1 +[ ]*[a-f0-9]+: 66 0f e6 c8 cvttpd2dq %xmm0,%xmm1 +[ ]*[a-f0-9]+: f3 0f 5b c8 cvttps2dq %xmm0,%xmm1 +[ ]*[a-f0-9]+: 66 0f f7 c8 maskmovdqu %xmm0,%xmm1 +[ ]*[a-f0-9]+: 66 0f 6f c8 movdqa %xmm0,%xmm1 +[ ]*[a-f0-9]+: 66 0f 7f 06 movdqa %xmm0,\(%esi\) +[ ]*[a-f0-9]+: f3 0f 6f c8 movdqu %xmm0,%xmm1 +[ ]*[a-f0-9]+: f3 0f 7f 06 movdqu %xmm0,\(%esi\) +[ ]*[a-f0-9]+: f2 0f d6 c8 movdq2q %xmm0,%mm1 +[ ]*[a-f0-9]+: f3 0f d6 c8 movq2dq %mm0,%xmm1 +[ ]*[a-f0-9]+: 0f f4 c8 pmuludq %mm0,%mm1 +[ ]*[a-f0-9]+: 0f f4 08 pmuludq \(%eax\),%mm1 +[ ]*[a-f0-9]+: 66 0f f4 c8 pmuludq %xmm0,%xmm1 +[ ]*[a-f0-9]+: 66 0f f4 08 pmuludq \(%eax\),%xmm1 +[ ]*[a-f0-9]+: 66 0f 70 c8 01 pshufd \$0x1,%xmm0,%xmm1 +[ ]*[a-f0-9]+: f3 0f 70 c8 01 pshufhw \$0x1,%xmm0,%xmm1 +[ ]*[a-f0-9]+: f2 0f 70 c8 01 pshuflw \$0x1,%xmm0,%xmm1 +[ ]*[a-f0-9]+: 66 0f 73 f8 01 pslldq \$0x1,%xmm0 +[ ]*[a-f0-9]+: 66 0f 73 d8 01 psrldq \$0x1,%xmm0 +[ ]*[a-f0-9]+: 66 0f 6d c8 punpckhqdq %xmm0,%xmm1 +[ ]*[a-f0-9]+: 0f d4 c1 paddq %mm1,%mm0 +[ ]*[a-f0-9]+: 0f d4 00 paddq \(%eax\),%mm0 +[ ]*[a-f0-9]+: 66 0f d4 c1 paddq %xmm1,%xmm0 +[ ]*[a-f0-9]+: 66 0f d4 00 paddq \(%eax\),%xmm0 +[ ]*[a-f0-9]+: 0f fb c1 psubq %mm1,%mm0 +[ ]*[a-f0-9]+: 0f fb 00 psubq \(%eax\),%mm0 +[ ]*[a-f0-9]+: 66 0f fb c1 psubq %xmm1,%xmm0 +[ ]*[a-f0-9]+: 66 0f fb 00 psubq \(%eax\),%xmm0 +#pass diff --git a/gas/testsuite/gas/i386/sse2.s b/gas/testsuite/gas/i386/sse2.s index edb79fcba3..c6375dcb06 100644 --- a/gas/testsuite/gas/i386/sse2.s +++ b/gas/testsuite/gas/i386/sse2.s @@ -137,13 +137,21 @@ foo: movdqu %xmm0, (%esi) movdq2q %xmm0, %mm1 movq2dq %mm0, %xmm1 + pmuludq %mm0, %mm1 + pmuludq (%eax), %mm1 pmuludq %xmm0, %xmm1 - pmuludq %xmm0, %xmm1 + pmuludq (%eax), %xmm1 pshufd $1, %xmm0, %xmm1 pshufhw $1, %xmm0, %xmm1 pshuflw $1, %xmm0, %xmm1 pslldq $1, %xmm0 psrldq $1, %xmm0 punpckhqdq %xmm0, %xmm1 - - .p2align 4 + paddq %mm1,%mm0 + paddq (%eax),%mm0 + paddq %xmm1,%xmm0 + paddq (%eax),%xmm0 + psubq %mm1,%mm0 + psubq (%eax),%mm0 + psubq %xmm1,%xmm0 + psubq (%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 53efdbc911..0322a96973 100644 --- a/gas/testsuite/gas/i386/x86-64-simd-intel.d +++ b/gas/testsuite/gas/i386/x86-64-simd-intel.d @@ -113,13 +113,25 @@ Disassembly of section .text: [ ]*[a-f0-9]+: f3 0f c2 38 10 cmpss xmm7,DWORD PTR \[rax\],0x10 [ ]*[a-f0-9]+: f2 0f c2 f7 10 cmpsd xmm6,xmm7,0x10 [ ]*[a-f0-9]+: f2 0f c2 38 10 cmpsd xmm7,QWORD PTR \[rax\],0x10 -[ ]*[a-f0-9]+: f2 0f d0 0d 78 56 34 12 addsubps xmm1,XMMWORD PTR \[rip\+0x12345678\] # 123458be <_start\+0x123458be> -[ ]*[a-f0-9]+: 66 0f 2f 0d 78 56 34 12 comisd xmm1,QWORD PTR \[rip\+0x12345678\] # 123458c6 <_start\+0x123458c6> -[ ]*[a-f0-9]+: 0f 2f 0d 78 56 34 12 comiss xmm1,DWORD PTR \[rip\+0x12345678\] # 123458cd <_start\+0x123458cd> -[ ]*[a-f0-9]+: f3 0f e6 0d 78 56 34 12 cvtdq2pd xmm1,QWORD PTR \[rip\+0x12345678\] # 123458d5 <_start\+0x123458d5> -[ ]*[a-f0-9]+: f2 0f e6 0d 78 56 34 12 cvtpd2dq xmm1,XMMWORD PTR \[rip\+0x12345678\] # 123458dd <_start\+0x123458dd> -[ ]*[a-f0-9]+: 0f 5a 0d 78 56 34 12 cvtps2pd xmm1,QWORD PTR \[rip\+0x12345678\] # 123458e4 <_start\+0x123458e4> -[ ]*[a-f0-9]+: f3 0f 5b 0d 78 56 34 12 cvttps2dq xmm1,XMMWORD PTR \[rip\+0x12345678\] # 123458ec <_start\+0x123458ec> +[ ]*[a-f0-9]+: 0f d4 c1 paddq mm0,mm1 +[ ]*[a-f0-9]+: 0f d4 00 paddq mm0,QWORD PTR \[rax\] +[ ]*[a-f0-9]+: 66 0f d4 c1 paddq xmm0,xmm1 +[ ]*[a-f0-9]+: 66 0f d4 00 paddq xmm0,XMMWORD PTR \[rax\] +[ ]*[a-f0-9]+: 0f fb c1 psubq mm0,mm1 +[ ]*[a-f0-9]+: 0f fb 00 psubq mm0,QWORD PTR \[rax\] +[ ]*[a-f0-9]+: 66 0f fb c1 psubq xmm0,xmm1 +[ ]*[a-f0-9]+: 66 0f fb 00 psubq xmm0,XMMWORD PTR \[rax\] +[ ]*[a-f0-9]+: 0f f4 c1 pmuludq mm0,mm1 +[ ]*[a-f0-9]+: 0f f4 00 pmuludq mm0,QWORD PTR \[rax\] +[ ]*[a-f0-9]+: 66 0f f4 c1 pmuludq xmm0,xmm1 +[ ]*[a-f0-9]+: 66 0f f4 00 pmuludq xmm0,XMMWORD PTR \[rax\] +[ ]*[a-f0-9]+: f2 0f d0 0d 78 56 34 12 addsubps xmm1,XMMWORD PTR \[rip\+0x12345678\] # 123458e8 <_start\+0x123458e8> +[ ]*[a-f0-9]+: 66 0f 2f 0d 78 56 34 12 comisd xmm1,QWORD PTR \[rip\+0x12345678\] # 123458f0 <_start\+0x123458f0> +[ ]*[a-f0-9]+: 0f 2f 0d 78 56 34 12 comiss xmm1,DWORD PTR \[rip\+0x12345678\] # 123458f7 <_start\+0x123458f7> +[ ]*[a-f0-9]+: f3 0f e6 0d 78 56 34 12 cvtdq2pd xmm1,QWORD PTR \[rip\+0x12345678\] # 123458ff <_start\+0x123458ff> +[ ]*[a-f0-9]+: f2 0f e6 0d 78 56 34 12 cvtpd2dq xmm1,XMMWORD PTR \[rip\+0x12345678\] # 12345907 <_start\+0x12345907> +[ ]*[a-f0-9]+: 0f 5a 0d 78 56 34 12 cvtps2pd xmm1,QWORD PTR \[rip\+0x12345678\] # 1234590e <_start\+0x1234590e> +[ ]*[a-f0-9]+: f3 0f 5b 0d 78 56 34 12 cvttps2dq xmm1,XMMWORD PTR \[rip\+0x12345678\] # 12345916 <_start\+0x12345916> [ ]*[a-f0-9]+: f3 0f 2a c8 cvtsi2ss xmm1,eax [ ]*[a-f0-9]+: f2 0f 2a c8 cvtsi2sd xmm1,eax [ ]*[a-f0-9]+: f3 0f 2a c8 cvtsi2ss xmm1,eax @@ -136,32 +148,32 @@ Disassembly of section .text: [ ]*[a-f0-9]+: f2 48 0f 2a 08 cvtsi2sd xmm1,QWORD PTR \[rax\] [ ]*[a-f0-9]+: f3 48 0f 2a 08 cvtsi2ss xmm1,QWORD PTR \[rax\] [ ]*[a-f0-9]+: f2 48 0f 2a 08 cvtsi2sd xmm1,QWORD PTR \[rax\] -[ ]*[a-f0-9]+: f2 0f 7c 0d 78 56 34 12 haddps xmm1,XMMWORD PTR \[rip\+0x12345678\] # 1234593c <_start\+0x1234593c> -[ ]*[a-f0-9]+: f3 0f 7f 0d 78 56 34 12 movdqu XMMWORD PTR \[rip\+0x12345678\],xmm1 # 12345944 <_start\+0x12345944> -[ ]*[a-f0-9]+: f3 0f 6f 0d 78 56 34 12 movdqu xmm1,XMMWORD PTR \[rip\+0x12345678\] # 1234594c <_start\+0x1234594c> -[ ]*[a-f0-9]+: 66 0f 17 0d 78 56 34 12 movhpd QWORD PTR \[rip\+0x12345678\],xmm1 # 12345954 <_start\+0x12345954> -[ ]*[a-f0-9]+: 66 0f 16 0d 78 56 34 12 movhpd xmm1,QWORD PTR \[rip\+0x12345678\] # 1234595c <_start\+0x1234595c> -[ ]*[a-f0-9]+: 0f 17 0d 78 56 34 12 movhps QWORD PTR \[rip\+0x12345678\],xmm1 # 12345963 <_start\+0x12345963> -[ ]*[a-f0-9]+: 0f 16 0d 78 56 34 12 movhps xmm1,QWORD PTR \[rip\+0x12345678\] # 1234596a <_start\+0x1234596a> -[ ]*[a-f0-9]+: 66 0f 13 0d 78 56 34 12 movlpd QWORD PTR \[rip\+0x12345678\],xmm1 # 12345972 <_start\+0x12345972> -[ ]*[a-f0-9]+: 66 0f 12 0d 78 56 34 12 movlpd xmm1,QWORD PTR \[rip\+0x12345678\] # 1234597a <_start\+0x1234597a> -[ ]*[a-f0-9]+: 0f 13 0d 78 56 34 12 movlps QWORD PTR \[rip\+0x12345678\],xmm1 # 12345981 <_start\+0x12345981> -[ ]*[a-f0-9]+: 0f 12 0d 78 56 34 12 movlps xmm1,QWORD PTR \[rip\+0x12345678\] # 12345988 <_start\+0x12345988> -[ ]*[a-f0-9]+: 66 0f d6 0d 78 56 34 12 movq QWORD PTR \[rip\+0x12345678\],xmm1 # 12345990 <_start\+0x12345990> -[ ]*[a-f0-9]+: f3 0f 7e 0d 78 56 34 12 movq xmm1,QWORD PTR \[rip\+0x12345678\] # 12345998 <_start\+0x12345998> -[ ]*[a-f0-9]+: f3 0f 16 0d 78 56 34 12 movshdup xmm1,XMMWORD PTR \[rip\+0x12345678\] # 123459a0 <_start\+0x123459a0> -[ ]*[a-f0-9]+: f3 0f 12 0d 78 56 34 12 movsldup xmm1,XMMWORD PTR \[rip\+0x12345678\] # 123459a8 <_start\+0x123459a8> -[ ]*[a-f0-9]+: f3 0f 70 0d 78 56 34 12 90 pshufhw xmm1,XMMWORD PTR \[rip\+0x12345678\],0x90 # 123459b1 <_start\+0x123459b1> -[ ]*[a-f0-9]+: f2 0f 70 0d 78 56 34 12 90 pshuflw xmm1,XMMWORD PTR \[rip\+0x12345678\],0x90 # 123459ba <_start\+0x123459ba> -[ ]*[a-f0-9]+: 0f 60 0d 78 56 34 12 punpcklbw mm1,DWORD PTR \[rip\+0x12345678\] # 123459c1 <_start\+0x123459c1> -[ ]*[a-f0-9]+: 0f 62 0d 78 56 34 12 punpckldq mm1,DWORD PTR \[rip\+0x12345678\] # 123459c8 <_start\+0x123459c8> -[ ]*[a-f0-9]+: 0f 61 0d 78 56 34 12 punpcklwd mm1,DWORD PTR \[rip\+0x12345678\] # 123459cf <_start\+0x123459cf> -[ ]*[a-f0-9]+: 66 0f 60 0d 78 56 34 12 punpcklbw xmm1,XMMWORD PTR \[rip\+0x12345678\] # 123459d7 <_start\+0x123459d7> -[ ]*[a-f0-9]+: 66 0f 62 0d 78 56 34 12 punpckldq xmm1,XMMWORD PTR \[rip\+0x12345678\] # 123459df <_start\+0x123459df> -[ ]*[a-f0-9]+: 66 0f 61 0d 78 56 34 12 punpcklwd xmm1,XMMWORD PTR \[rip\+0x12345678\] # 123459e7 <_start\+0x123459e7> -[ ]*[a-f0-9]+: 66 0f 6c 0d 78 56 34 12 punpcklqdq xmm1,XMMWORD PTR \[rip\+0x12345678\] # 123459ef <_start\+0x123459ef> -[ ]*[a-f0-9]+: 66 0f 2e 0d 78 56 34 12 ucomisd xmm1,QWORD PTR \[rip\+0x12345678\] # 123459f7 <_start\+0x123459f7> -[ ]*[a-f0-9]+: 0f 2e 0d 78 56 34 12 ucomiss xmm1,DWORD PTR \[rip\+0x12345678\] # 123459fe <_start\+0x123459fe> +[ ]*[a-f0-9]+: f2 0f 7c 0d 78 56 34 12 haddps xmm1,XMMWORD PTR \[rip\+0x12345678\] # 12345966 <_start\+0x12345966> +[ ]*[a-f0-9]+: f3 0f 7f 0d 78 56 34 12 movdqu XMMWORD PTR \[rip\+0x12345678\],xmm1 # 1234596e <_start\+0x1234596e> +[ ]*[a-f0-9]+: f3 0f 6f 0d 78 56 34 12 movdqu xmm1,XMMWORD PTR \[rip\+0x12345678\] # 12345976 <_start\+0x12345976> +[ ]*[a-f0-9]+: 66 0f 17 0d 78 56 34 12 movhpd QWORD PTR \[rip\+0x12345678\],xmm1 # 1234597e <_start\+0x1234597e> +[ ]*[a-f0-9]+: 66 0f 16 0d 78 56 34 12 movhpd xmm1,QWORD PTR \[rip\+0x12345678\] # 12345986 <_start\+0x12345986> +[ ]*[a-f0-9]+: 0f 17 0d 78 56 34 12 movhps QWORD PTR \[rip\+0x12345678\],xmm1 # 1234598d <_start\+0x1234598d> +[ ]*[a-f0-9]+: 0f 16 0d 78 56 34 12 movhps xmm1,QWORD PTR \[rip\+0x12345678\] # 12345994 <_start\+0x12345994> +[ ]*[a-f0-9]+: 66 0f 13 0d 78 56 34 12 movlpd QWORD PTR \[rip\+0x12345678\],xmm1 # 1234599c <_start\+0x1234599c> +[ ]*[a-f0-9]+: 66 0f 12 0d 78 56 34 12 movlpd xmm1,QWORD PTR \[rip\+0x12345678\] # 123459a4 <_start\+0x123459a4> +[ ]*[a-f0-9]+: 0f 13 0d 78 56 34 12 movlps QWORD PTR \[rip\+0x12345678\],xmm1 # 123459ab <_start\+0x123459ab> +[ ]*[a-f0-9]+: 0f 12 0d 78 56 34 12 movlps xmm1,QWORD PTR \[rip\+0x12345678\] # 123459b2 <_start\+0x123459b2> +[ ]*[a-f0-9]+: 66 0f d6 0d 78 56 34 12 movq QWORD PTR \[rip\+0x12345678\],xmm1 # 123459ba <_start\+0x123459ba> +[ ]*[a-f0-9]+: f3 0f 7e 0d 78 56 34 12 movq xmm1,QWORD PTR \[rip\+0x12345678\] # 123459c2 <_start\+0x123459c2> +[ ]*[a-f0-9]+: f3 0f 16 0d 78 56 34 12 movshdup xmm1,XMMWORD PTR \[rip\+0x12345678\] # 123459ca <_start\+0x123459ca> +[ ]*[a-f0-9]+: f3 0f 12 0d 78 56 34 12 movsldup xmm1,XMMWORD PTR \[rip\+0x12345678\] # 123459d2 <_start\+0x123459d2> +[ ]*[a-f0-9]+: f3 0f 70 0d 78 56 34 12 90 pshufhw xmm1,XMMWORD PTR \[rip\+0x12345678\],0x90 # 123459db <_start\+0x123459db> +[ ]*[a-f0-9]+: f2 0f 70 0d 78 56 34 12 90 pshuflw xmm1,XMMWORD PTR \[rip\+0x12345678\],0x90 # 123459e4 <_start\+0x123459e4> +[ ]*[a-f0-9]+: 0f 60 0d 78 56 34 12 punpcklbw mm1,DWORD PTR \[rip\+0x12345678\] # 123459eb <_start\+0x123459eb> +[ ]*[a-f0-9]+: 0f 62 0d 78 56 34 12 punpckldq mm1,DWORD PTR \[rip\+0x12345678\] # 123459f2 <_start\+0x123459f2> +[ ]*[a-f0-9]+: 0f 61 0d 78 56 34 12 punpcklwd mm1,DWORD PTR \[rip\+0x12345678\] # 123459f9 <_start\+0x123459f9> +[ ]*[a-f0-9]+: 66 0f 60 0d 78 56 34 12 punpcklbw xmm1,XMMWORD PTR \[rip\+0x12345678\] # 12345a01 <_start\+0x12345a01> +[ ]*[a-f0-9]+: 66 0f 62 0d 78 56 34 12 punpckldq xmm1,XMMWORD PTR \[rip\+0x12345678\] # 12345a09 <_start\+0x12345a09> +[ ]*[a-f0-9]+: 66 0f 61 0d 78 56 34 12 punpcklwd xmm1,XMMWORD PTR \[rip\+0x12345678\] # 12345a11 <_start\+0x12345a11> +[ ]*[a-f0-9]+: 66 0f 6c 0d 78 56 34 12 punpcklqdq xmm1,XMMWORD PTR \[rip\+0x12345678\] # 12345a19 <_start\+0x12345a19> +[ ]*[a-f0-9]+: 66 0f 2e 0d 78 56 34 12 ucomisd xmm1,QWORD PTR \[rip\+0x12345678\] # 12345a21 <_start\+0x12345a21> +[ ]*[a-f0-9]+: 0f 2e 0d 78 56 34 12 ucomiss xmm1,DWORD PTR \[rip\+0x12345678\] # 12345a28 <_start\+0x12345a28> [ ]*[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\] @@ -220,4 +232,16 @@ Disassembly of section .text: [ ]*[a-f0-9]+: f3 0f c2 38 10 cmpss xmm7,DWORD PTR \[rax\],0x10 [ ]*[a-f0-9]+: f2 0f c2 f7 10 cmpsd xmm6,xmm7,0x10 [ ]*[a-f0-9]+: f2 0f c2 38 10 cmpsd xmm7,QWORD PTR \[rax\],0x10 +[ ]*[a-f0-9]+: 0f d4 08 paddq mm1,QWORD PTR \[rax\] +[ ]*[a-f0-9]+: 0f d4 08 paddq mm1,QWORD PTR \[rax\] +[ ]*[a-f0-9]+: 66 0f d4 08 paddq xmm1,XMMWORD PTR \[rax\] +[ ]*[a-f0-9]+: 66 0f d4 08 paddq xmm1,XMMWORD PTR \[rax\] +[ ]*[a-f0-9]+: 0f fb 08 psubq mm1,QWORD PTR \[rax\] +[ ]*[a-f0-9]+: 0f fb 08 psubq mm1,QWORD PTR \[rax\] +[ ]*[a-f0-9]+: 66 0f fb 08 psubq xmm1,XMMWORD PTR \[rax\] +[ ]*[a-f0-9]+: 66 0f fb 08 psubq xmm1,XMMWORD PTR \[rax\] +[ ]*[a-f0-9]+: 0f f4 08 pmuludq mm1,QWORD PTR \[rax\] +[ ]*[a-f0-9]+: 0f f4 08 pmuludq mm1,QWORD PTR \[rax\] +[ ]*[a-f0-9]+: 66 0f f4 08 pmuludq xmm1,XMMWORD PTR \[rax\] +[ ]*[a-f0-9]+: 66 0f f4 08 pmuludq xmm1,XMMWORD PTR \[rax\] #pass diff --git a/gas/testsuite/gas/i386/x86-64-simd-suffix.d b/gas/testsuite/gas/i386/x86-64-simd-suffix.d index f5be3b9088..e4431e0e25 100644 --- a/gas/testsuite/gas/i386/x86-64-simd-suffix.d +++ b/gas/testsuite/gas/i386/x86-64-simd-suffix.d @@ -113,13 +113,25 @@ Disassembly of section .text: [ ]*[a-f0-9]+: f3 0f c2 38 10 cmpss \$0x10,\(%rax\),%xmm7 [ ]*[a-f0-9]+: f2 0f c2 f7 10 cmpsd \$0x10,%xmm7,%xmm6 [ ]*[a-f0-9]+: f2 0f c2 38 10 cmpsd \$0x10,\(%rax\),%xmm7 -[ ]*[a-f0-9]+: f2 0f d0 0d 78 56 34 12 addsubps 0x12345678\(%rip\),%xmm1 # 123458be <_start\+0x123458be> -[ ]*[a-f0-9]+: 66 0f 2f 0d 78 56 34 12 comisd 0x12345678\(%rip\),%xmm1 # 123458c6 <_start\+0x123458c6> -[ ]*[a-f0-9]+: 0f 2f 0d 78 56 34 12 comiss 0x12345678\(%rip\),%xmm1 # 123458cd <_start\+0x123458cd> -[ ]*[a-f0-9]+: f3 0f e6 0d 78 56 34 12 cvtdq2pd 0x12345678\(%rip\),%xmm1 # 123458d5 <_start\+0x123458d5> -[ ]*[a-f0-9]+: f2 0f e6 0d 78 56 34 12 cvtpd2dq 0x12345678\(%rip\),%xmm1 # 123458dd <_start\+0x123458dd> -[ ]*[a-f0-9]+: 0f 5a 0d 78 56 34 12 cvtps2pd 0x12345678\(%rip\),%xmm1 # 123458e4 <_start\+0x123458e4> -[ ]*[a-f0-9]+: f3 0f 5b 0d 78 56 34 12 cvttps2dq 0x12345678\(%rip\),%xmm1 # 123458ec <_start\+0x123458ec> +[ ]*[a-f0-9]+: 0f d4 c1 paddq %mm1,%mm0 +[ ]*[a-f0-9]+: 0f d4 00 paddq \(%rax\),%mm0 +[ ]*[a-f0-9]+: 66 0f d4 c1 paddq %xmm1,%xmm0 +[ ]*[a-f0-9]+: 66 0f d4 00 paddq \(%rax\),%xmm0 +[ ]*[a-f0-9]+: 0f fb c1 psubq %mm1,%mm0 +[ ]*[a-f0-9]+: 0f fb 00 psubq \(%rax\),%mm0 +[ ]*[a-f0-9]+: 66 0f fb c1 psubq %xmm1,%xmm0 +[ ]*[a-f0-9]+: 66 0f fb 00 psubq \(%rax\),%xmm0 +[ ]*[a-f0-9]+: 0f f4 c1 pmuludq %mm1,%mm0 +[ ]*[a-f0-9]+: 0f f4 00 pmuludq \(%rax\),%mm0 +[ ]*[a-f0-9]+: 66 0f f4 c1 pmuludq %xmm1,%xmm0 +[ ]*[a-f0-9]+: 66 0f f4 00 pmuludq \(%rax\),%xmm0 +[ ]*[a-f0-9]+: f2 0f d0 0d 78 56 34 12 addsubps 0x12345678\(%rip\),%xmm1 # 123458e8 <_start\+0x123458e8> +[ ]*[a-f0-9]+: 66 0f 2f 0d 78 56 34 12 comisd 0x12345678\(%rip\),%xmm1 # 123458f0 <_start\+0x123458f0> +[ ]*[a-f0-9]+: 0f 2f 0d 78 56 34 12 comiss 0x12345678\(%rip\),%xmm1 # 123458f7 <_start\+0x123458f7> +[ ]*[a-f0-9]+: f3 0f e6 0d 78 56 34 12 cvtdq2pd 0x12345678\(%rip\),%xmm1 # 123458ff <_start\+0x123458ff> +[ ]*[a-f0-9]+: f2 0f e6 0d 78 56 34 12 cvtpd2dq 0x12345678\(%rip\),%xmm1 # 12345907 <_start\+0x12345907> +[ ]*[a-f0-9]+: 0f 5a 0d 78 56 34 12 cvtps2pd 0x12345678\(%rip\),%xmm1 # 1234590e <_start\+0x1234590e> +[ ]*[a-f0-9]+: f3 0f 5b 0d 78 56 34 12 cvttps2dq 0x12345678\(%rip\),%xmm1 # 12345916 <_start\+0x12345916> [ ]*[a-f0-9]+: f3 0f 2a c8 cvtsi2ssl %eax,%xmm1 [ ]*[a-f0-9]+: f2 0f 2a c8 cvtsi2sdl %eax,%xmm1 [ ]*[a-f0-9]+: f3 0f 2a c8 cvtsi2ssl %eax,%xmm1 @@ -136,32 +148,32 @@ Disassembly of section .text: [ ]*[a-f0-9]+: f2 48 0f 2a 08 cvtsi2sdq \(%rax\),%xmm1 [ ]*[a-f0-9]+: f3 48 0f 2a 08 cvtsi2ssq \(%rax\),%xmm1 [ ]*[a-f0-9]+: f2 48 0f 2a 08 cvtsi2sdq \(%rax\),%xmm1 -[ ]*[a-f0-9]+: f2 0f 7c 0d 78 56 34 12 haddps 0x12345678\(%rip\),%xmm1 # 1234593c <_start\+0x1234593c> -[ ]*[a-f0-9]+: f3 0f 7f 0d 78 56 34 12 movdqu %xmm1,0x12345678\(%rip\) # 12345944 <_start\+0x12345944> -[ ]*[a-f0-9]+: f3 0f 6f 0d 78 56 34 12 movdqu 0x12345678\(%rip\),%xmm1 # 1234594c <_start\+0x1234594c> -[ ]*[a-f0-9]+: 66 0f 17 0d 78 56 34 12 movhpd %xmm1,0x12345678\(%rip\) # 12345954 <_start\+0x12345954> -[ ]*[a-f0-9]+: 66 0f 16 0d 78 56 34 12 movhpd 0x12345678\(%rip\),%xmm1 # 1234595c <_start\+0x1234595c> -[ ]*[a-f0-9]+: 0f 17 0d 78 56 34 12 movhps %xmm1,0x12345678\(%rip\) # 12345963 <_start\+0x12345963> -[ ]*[a-f0-9]+: 0f 16 0d 78 56 34 12 movhps 0x12345678\(%rip\),%xmm1 # 1234596a <_start\+0x1234596a> -[ ]*[a-f0-9]+: 66 0f 13 0d 78 56 34 12 movlpd %xmm1,0x12345678\(%rip\) # 12345972 <_start\+0x12345972> -[ ]*[a-f0-9]+: 66 0f 12 0d 78 56 34 12 movlpd 0x12345678\(%rip\),%xmm1 # 1234597a <_start\+0x1234597a> -[ ]*[a-f0-9]+: 0f 13 0d 78 56 34 12 movlps %xmm1,0x12345678\(%rip\) # 12345981 <_start\+0x12345981> -[ ]*[a-f0-9]+: 0f 12 0d 78 56 34 12 movlps 0x12345678\(%rip\),%xmm1 # 12345988 <_start\+0x12345988> -[ ]*[a-f0-9]+: 66 0f d6 0d 78 56 34 12 movq %xmm1,0x12345678\(%rip\) # 12345990 <_start\+0x12345990> -[ ]*[a-f0-9]+: f3 0f 7e 0d 78 56 34 12 movq 0x12345678\(%rip\),%xmm1 # 12345998 <_start\+0x12345998> -[ ]*[a-f0-9]+: f3 0f 16 0d 78 56 34 12 movshdup 0x12345678\(%rip\),%xmm1 # 123459a0 <_start\+0x123459a0> -[ ]*[a-f0-9]+: f3 0f 12 0d 78 56 34 12 movsldup 0x12345678\(%rip\),%xmm1 # 123459a8 <_start\+0x123459a8> -[ ]*[a-f0-9]+: f3 0f 70 0d 78 56 34 12 90 pshufhw \$0x90,0x12345678\(%rip\),%xmm1 # 123459b1 <_start\+0x123459b1> -[ ]*[a-f0-9]+: f2 0f 70 0d 78 56 34 12 90 pshuflw \$0x90,0x12345678\(%rip\),%xmm1 # 123459ba <_start\+0x123459ba> -[ ]*[a-f0-9]+: 0f 60 0d 78 56 34 12 punpcklbw 0x12345678\(%rip\),%mm1 # 123459c1 <_start\+0x123459c1> -[ ]*[a-f0-9]+: 0f 62 0d 78 56 34 12 punpckldq 0x12345678\(%rip\),%mm1 # 123459c8 <_start\+0x123459c8> -[ ]*[a-f0-9]+: 0f 61 0d 78 56 34 12 punpcklwd 0x12345678\(%rip\),%mm1 # 123459cf <_start\+0x123459cf> -[ ]*[a-f0-9]+: 66 0f 60 0d 78 56 34 12 punpcklbw 0x12345678\(%rip\),%xmm1 # 123459d7 <_start\+0x123459d7> -[ ]*[a-f0-9]+: 66 0f 62 0d 78 56 34 12 punpckldq 0x12345678\(%rip\),%xmm1 # 123459df <_start\+0x123459df> -[ ]*[a-f0-9]+: 66 0f 61 0d 78 56 34 12 punpcklwd 0x12345678\(%rip\),%xmm1 # 123459e7 <_start\+0x123459e7> -[ ]*[a-f0-9]+: 66 0f 6c 0d 78 56 34 12 punpcklqdq 0x12345678\(%rip\),%xmm1 # 123459ef <_start\+0x123459ef> -[ ]*[a-f0-9]+: 66 0f 2e 0d 78 56 34 12 ucomisd 0x12345678\(%rip\),%xmm1 # 123459f7 <_start\+0x123459f7> -[ ]*[a-f0-9]+: 0f 2e 0d 78 56 34 12 ucomiss 0x12345678\(%rip\),%xmm1 # 123459fe <_start\+0x123459fe> +[ ]*[a-f0-9]+: f2 0f 7c 0d 78 56 34 12 haddps 0x12345678\(%rip\),%xmm1 # 12345966 <_start\+0x12345966> +[ ]*[a-f0-9]+: f3 0f 7f 0d 78 56 34 12 movdqu %xmm1,0x12345678\(%rip\) # 1234596e <_start\+0x1234596e> +[ ]*[a-f0-9]+: f3 0f 6f 0d 78 56 34 12 movdqu 0x12345678\(%rip\),%xmm1 # 12345976 <_start\+0x12345976> +[ ]*[a-f0-9]+: 66 0f 17 0d 78 56 34 12 movhpd %xmm1,0x12345678\(%rip\) # 1234597e <_start\+0x1234597e> +[ ]*[a-f0-9]+: 66 0f 16 0d 78 56 34 12 movhpd 0x12345678\(%rip\),%xmm1 # 12345986 <_start\+0x12345986> +[ ]*[a-f0-9]+: 0f 17 0d 78 56 34 12 movhps %xmm1,0x12345678\(%rip\) # 1234598d <_start\+0x1234598d> +[ ]*[a-f0-9]+: 0f 16 0d 78 56 34 12 movhps 0x12345678\(%rip\),%xmm1 # 12345994 <_start\+0x12345994> +[ ]*[a-f0-9]+: 66 0f 13 0d 78 56 34 12 movlpd %xmm1,0x12345678\(%rip\) # 1234599c <_start\+0x1234599c> +[ ]*[a-f0-9]+: 66 0f 12 0d 78 56 34 12 movlpd 0x12345678\(%rip\),%xmm1 # 123459a4 <_start\+0x123459a4> +[ ]*[a-f0-9]+: 0f 13 0d 78 56 34 12 movlps %xmm1,0x12345678\(%rip\) # 123459ab <_start\+0x123459ab> +[ ]*[a-f0-9]+: 0f 12 0d 78 56 34 12 movlps 0x12345678\(%rip\),%xmm1 # 123459b2 <_start\+0x123459b2> +[ ]*[a-f0-9]+: 66 0f d6 0d 78 56 34 12 movq %xmm1,0x12345678\(%rip\) # 123459ba <_start\+0x123459ba> +[ ]*[a-f0-9]+: f3 0f 7e 0d 78 56 34 12 movq 0x12345678\(%rip\),%xmm1 # 123459c2 <_start\+0x123459c2> +[ ]*[a-f0-9]+: f3 0f 16 0d 78 56 34 12 movshdup 0x12345678\(%rip\),%xmm1 # 123459ca <_start\+0x123459ca> +[ ]*[a-f0-9]+: f3 0f 12 0d 78 56 34 12 movsldup 0x12345678\(%rip\),%xmm1 # 123459d2 <_start\+0x123459d2> +[ ]*[a-f0-9]+: f3 0f 70 0d 78 56 34 12 90 pshufhw \$0x90,0x12345678\(%rip\),%xmm1 # 123459db <_start\+0x123459db> +[ ]*[a-f0-9]+: f2 0f 70 0d 78 56 34 12 90 pshuflw \$0x90,0x12345678\(%rip\),%xmm1 # 123459e4 <_start\+0x123459e4> +[ ]*[a-f0-9]+: 0f 60 0d 78 56 34 12 punpcklbw 0x12345678\(%rip\),%mm1 # 123459eb <_start\+0x123459eb> +[ ]*[a-f0-9]+: 0f 62 0d 78 56 34 12 punpckldq 0x12345678\(%rip\),%mm1 # 123459f2 <_start\+0x123459f2> +[ ]*[a-f0-9]+: 0f 61 0d 78 56 34 12 punpcklwd 0x12345678\(%rip\),%mm1 # 123459f9 <_start\+0x123459f9> +[ ]*[a-f0-9]+: 66 0f 60 0d 78 56 34 12 punpcklbw 0x12345678\(%rip\),%xmm1 # 12345a01 <_start\+0x12345a01> +[ ]*[a-f0-9]+: 66 0f 62 0d 78 56 34 12 punpckldq 0x12345678\(%rip\),%xmm1 # 12345a09 <_start\+0x12345a09> +[ ]*[a-f0-9]+: 66 0f 61 0d 78 56 34 12 punpcklwd 0x12345678\(%rip\),%xmm1 # 12345a11 <_start\+0x12345a11> +[ ]*[a-f0-9]+: 66 0f 6c 0d 78 56 34 12 punpcklqdq 0x12345678\(%rip\),%xmm1 # 12345a19 <_start\+0x12345a19> +[ ]*[a-f0-9]+: 66 0f 2e 0d 78 56 34 12 ucomisd 0x12345678\(%rip\),%xmm1 # 12345a21 <_start\+0x12345a21> +[ ]*[a-f0-9]+: 0f 2e 0d 78 56 34 12 ucomiss 0x12345678\(%rip\),%xmm1 # 12345a28 <_start\+0x12345a28> [ ]*[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 @@ -220,4 +232,16 @@ Disassembly of section .text: [ ]*[a-f0-9]+: f3 0f c2 38 10 cmpss \$0x10,\(%rax\),%xmm7 [ ]*[a-f0-9]+: f2 0f c2 f7 10 cmpsd \$0x10,%xmm7,%xmm6 [ ]*[a-f0-9]+: f2 0f c2 38 10 cmpsd \$0x10,\(%rax\),%xmm7 +[ ]*[a-f0-9]+: 0f d4 08 paddq \(%rax\),%mm1 +[ ]*[a-f0-9]+: 0f d4 08 paddq \(%rax\),%mm1 +[ ]*[a-f0-9]+: 66 0f d4 08 paddq \(%rax\),%xmm1 +[ ]*[a-f0-9]+: 66 0f d4 08 paddq \(%rax\),%xmm1 +[ ]*[a-f0-9]+: 0f fb 08 psubq \(%rax\),%mm1 +[ ]*[a-f0-9]+: 0f fb 08 psubq \(%rax\),%mm1 +[ ]*[a-f0-9]+: 66 0f fb 08 psubq \(%rax\),%xmm1 +[ ]*[a-f0-9]+: 66 0f fb 08 psubq \(%rax\),%xmm1 +[ ]*[a-f0-9]+: 0f f4 08 pmuludq \(%rax\),%mm1 +[ ]*[a-f0-9]+: 0f f4 08 pmuludq \(%rax\),%mm1 +[ ]*[a-f0-9]+: 66 0f f4 08 pmuludq \(%rax\),%xmm1 +[ ]*[a-f0-9]+: 66 0f f4 08 pmuludq \(%rax\),%xmm1 #pass diff --git a/gas/testsuite/gas/i386/x86-64-simd.d b/gas/testsuite/gas/i386/x86-64-simd.d index 3f0b98d24c..606448d18d 100644 --- a/gas/testsuite/gas/i386/x86-64-simd.d +++ b/gas/testsuite/gas/i386/x86-64-simd.d @@ -112,13 +112,25 @@ Disassembly of section .text: [ ]*[a-f0-9]+: f3 0f c2 38 10 cmpss \$0x10,\(%rax\),%xmm7 [ ]*[a-f0-9]+: f2 0f c2 f7 10 cmpsd \$0x10,%xmm7,%xmm6 [ ]*[a-f0-9]+: f2 0f c2 38 10 cmpsd \$0x10,\(%rax\),%xmm7 -[ ]*[a-f0-9]+: f2 0f d0 0d 78 56 34 12 addsubps 0x12345678\(%rip\),%xmm1 # 123458be <_start\+0x123458be> -[ ]*[a-f0-9]+: 66 0f 2f 0d 78 56 34 12 comisd 0x12345678\(%rip\),%xmm1 # 123458c6 <_start\+0x123458c6> -[ ]*[a-f0-9]+: 0f 2f 0d 78 56 34 12 comiss 0x12345678\(%rip\),%xmm1 # 123458cd <_start\+0x123458cd> -[ ]*[a-f0-9]+: f3 0f e6 0d 78 56 34 12 cvtdq2pd 0x12345678\(%rip\),%xmm1 # 123458d5 <_start\+0x123458d5> -[ ]*[a-f0-9]+: f2 0f e6 0d 78 56 34 12 cvtpd2dq 0x12345678\(%rip\),%xmm1 # 123458dd <_start\+0x123458dd> -[ ]*[a-f0-9]+: 0f 5a 0d 78 56 34 12 cvtps2pd 0x12345678\(%rip\),%xmm1 # 123458e4 <_start\+0x123458e4> -[ ]*[a-f0-9]+: f3 0f 5b 0d 78 56 34 12 cvttps2dq 0x12345678\(%rip\),%xmm1 # 123458ec <_start\+0x123458ec> +[ ]*[a-f0-9]+: 0f d4 c1 paddq %mm1,%mm0 +[ ]*[a-f0-9]+: 0f d4 00 paddq \(%rax\),%mm0 +[ ]*[a-f0-9]+: 66 0f d4 c1 paddq %xmm1,%xmm0 +[ ]*[a-f0-9]+: 66 0f d4 00 paddq \(%rax\),%xmm0 +[ ]*[a-f0-9]+: 0f fb c1 psubq %mm1,%mm0 +[ ]*[a-f0-9]+: 0f fb 00 psubq \(%rax\),%mm0 +[ ]*[a-f0-9]+: 66 0f fb c1 psubq %xmm1,%xmm0 +[ ]*[a-f0-9]+: 66 0f fb 00 psubq \(%rax\),%xmm0 +[ ]*[a-f0-9]+: 0f f4 c1 pmuludq %mm1,%mm0 +[ ]*[a-f0-9]+: 0f f4 00 pmuludq \(%rax\),%mm0 +[ ]*[a-f0-9]+: 66 0f f4 c1 pmuludq %xmm1,%xmm0 +[ ]*[a-f0-9]+: 66 0f f4 00 pmuludq \(%rax\),%xmm0 +[ ]*[a-f0-9]+: f2 0f d0 0d 78 56 34 12 addsubps 0x12345678\(%rip\),%xmm1 # 123458e8 <_start\+0x123458e8> +[ ]*[a-f0-9]+: 66 0f 2f 0d 78 56 34 12 comisd 0x12345678\(%rip\),%xmm1 # 123458f0 <_start\+0x123458f0> +[ ]*[a-f0-9]+: 0f 2f 0d 78 56 34 12 comiss 0x12345678\(%rip\),%xmm1 # 123458f7 <_start\+0x123458f7> +[ ]*[a-f0-9]+: f3 0f e6 0d 78 56 34 12 cvtdq2pd 0x12345678\(%rip\),%xmm1 # 123458ff <_start\+0x123458ff> +[ ]*[a-f0-9]+: f2 0f e6 0d 78 56 34 12 cvtpd2dq 0x12345678\(%rip\),%xmm1 # 12345907 <_start\+0x12345907> +[ ]*[a-f0-9]+: 0f 5a 0d 78 56 34 12 cvtps2pd 0x12345678\(%rip\),%xmm1 # 1234590e <_start\+0x1234590e> +[ ]*[a-f0-9]+: f3 0f 5b 0d 78 56 34 12 cvttps2dq 0x12345678\(%rip\),%xmm1 # 12345916 <_start\+0x12345916> [ ]*[a-f0-9]+: f3 0f 2a c8 cvtsi2ss %eax,%xmm1 [ ]*[a-f0-9]+: f2 0f 2a c8 cvtsi2sd %eax,%xmm1 [ ]*[a-f0-9]+: f3 0f 2a c8 cvtsi2ss %eax,%xmm1 @@ -135,32 +147,32 @@ Disassembly of section .text: [ ]*[a-f0-9]+: f2 48 0f 2a 08 cvtsi2sdq \(%rax\),%xmm1 [ ]*[a-f0-9]+: f3 48 0f 2a 08 cvtsi2ssq \(%rax\),%xmm1 [ ]*[a-f0-9]+: f2 48 0f 2a 08 cvtsi2sdq \(%rax\),%xmm1 -[ ]*[a-f0-9]+: f2 0f 7c 0d 78 56 34 12 haddps 0x12345678\(%rip\),%xmm1 # 1234593c <_start\+0x1234593c> -[ ]*[a-f0-9]+: f3 0f 7f 0d 78 56 34 12 movdqu %xmm1,0x12345678\(%rip\) # 12345944 <_start\+0x12345944> -[ ]*[a-f0-9]+: f3 0f 6f 0d 78 56 34 12 movdqu 0x12345678\(%rip\),%xmm1 # 1234594c <_start\+0x1234594c> -[ ]*[a-f0-9]+: 66 0f 17 0d 78 56 34 12 movhpd %xmm1,0x12345678\(%rip\) # 12345954 <_start\+0x12345954> -[ ]*[a-f0-9]+: 66 0f 16 0d 78 56 34 12 movhpd 0x12345678\(%rip\),%xmm1 # 1234595c <_start\+0x1234595c> -[ ]*[a-f0-9]+: 0f 17 0d 78 56 34 12 movhps %xmm1,0x12345678\(%rip\) # 12345963 <_start\+0x12345963> -[ ]*[a-f0-9]+: 0f 16 0d 78 56 34 12 movhps 0x12345678\(%rip\),%xmm1 # 1234596a <_start\+0x1234596a> -[ ]*[a-f0-9]+: 66 0f 13 0d 78 56 34 12 movlpd %xmm1,0x12345678\(%rip\) # 12345972 <_start\+0x12345972> -[ ]*[a-f0-9]+: 66 0f 12 0d 78 56 34 12 movlpd 0x12345678\(%rip\),%xmm1 # 1234597a <_start\+0x1234597a> -[ ]*[a-f0-9]+: 0f 13 0d 78 56 34 12 movlps %xmm1,0x12345678\(%rip\) # 12345981 <_start\+0x12345981> -[ ]*[a-f0-9]+: 0f 12 0d 78 56 34 12 movlps 0x12345678\(%rip\),%xmm1 # 12345988 <_start\+0x12345988> -[ ]*[a-f0-9]+: 66 0f d6 0d 78 56 34 12 movq %xmm1,0x12345678\(%rip\) # 12345990 <_start\+0x12345990> -[ ]*[a-f0-9]+: f3 0f 7e 0d 78 56 34 12 movq 0x12345678\(%rip\),%xmm1 # 12345998 <_start\+0x12345998> -[ ]*[a-f0-9]+: f3 0f 16 0d 78 56 34 12 movshdup 0x12345678\(%rip\),%xmm1 # 123459a0 <_start\+0x123459a0> -[ ]*[a-f0-9]+: f3 0f 12 0d 78 56 34 12 movsldup 0x12345678\(%rip\),%xmm1 # 123459a8 <_start\+0x123459a8> -[ ]*[a-f0-9]+: f3 0f 70 0d 78 56 34 12 90 pshufhw \$0x90,0x12345678\(%rip\),%xmm1 # 123459b1 <_start\+0x123459b1> -[ ]*[a-f0-9]+: f2 0f 70 0d 78 56 34 12 90 pshuflw \$0x90,0x12345678\(%rip\),%xmm1 # 123459ba <_start\+0x123459ba> -[ ]*[a-f0-9]+: 0f 60 0d 78 56 34 12 punpcklbw 0x12345678\(%rip\),%mm1 # 123459c1 <_start\+0x123459c1> -[ ]*[a-f0-9]+: 0f 62 0d 78 56 34 12 punpckldq 0x12345678\(%rip\),%mm1 # 123459c8 <_start\+0x123459c8> -[ ]*[a-f0-9]+: 0f 61 0d 78 56 34 12 punpcklwd 0x12345678\(%rip\),%mm1 # 123459cf <_start\+0x123459cf> -[ ]*[a-f0-9]+: 66 0f 60 0d 78 56 34 12 punpcklbw 0x12345678\(%rip\),%xmm1 # 123459d7 <_start\+0x123459d7> -[ ]*[a-f0-9]+: 66 0f 62 0d 78 56 34 12 punpckldq 0x12345678\(%rip\),%xmm1 # 123459df <_start\+0x123459df> -[ ]*[a-f0-9]+: 66 0f 61 0d 78 56 34 12 punpcklwd 0x12345678\(%rip\),%xmm1 # 123459e7 <_start\+0x123459e7> -[ ]*[a-f0-9]+: 66 0f 6c 0d 78 56 34 12 punpcklqdq 0x12345678\(%rip\),%xmm1 # 123459ef <_start\+0x123459ef> -[ ]*[a-f0-9]+: 66 0f 2e 0d 78 56 34 12 ucomisd 0x12345678\(%rip\),%xmm1 # 123459f7 <_start\+0x123459f7> -[ ]*[a-f0-9]+: 0f 2e 0d 78 56 34 12 ucomiss 0x12345678\(%rip\),%xmm1 # 123459fe <_start\+0x123459fe> +[ ]*[a-f0-9]+: f2 0f 7c 0d 78 56 34 12 haddps 0x12345678\(%rip\),%xmm1 # 12345966 <_start\+0x12345966> +[ ]*[a-f0-9]+: f3 0f 7f 0d 78 56 34 12 movdqu %xmm1,0x12345678\(%rip\) # 1234596e <_start\+0x1234596e> +[ ]*[a-f0-9]+: f3 0f 6f 0d 78 56 34 12 movdqu 0x12345678\(%rip\),%xmm1 # 12345976 <_start\+0x12345976> +[ ]*[a-f0-9]+: 66 0f 17 0d 78 56 34 12 movhpd %xmm1,0x12345678\(%rip\) # 1234597e <_start\+0x1234597e> +[ ]*[a-f0-9]+: 66 0f 16 0d 78 56 34 12 movhpd 0x12345678\(%rip\),%xmm1 # 12345986 <_start\+0x12345986> +[ ]*[a-f0-9]+: 0f 17 0d 78 56 34 12 movhps %xmm1,0x12345678\(%rip\) # 1234598d <_start\+0x1234598d> +[ ]*[a-f0-9]+: 0f 16 0d 78 56 34 12 movhps 0x12345678\(%rip\),%xmm1 # 12345994 <_start\+0x12345994> +[ ]*[a-f0-9]+: 66 0f 13 0d 78 56 34 12 movlpd %xmm1,0x12345678\(%rip\) # 1234599c <_start\+0x1234599c> +[ ]*[a-f0-9]+: 66 0f 12 0d 78 56 34 12 movlpd 0x12345678\(%rip\),%xmm1 # 123459a4 <_start\+0x123459a4> +[ ]*[a-f0-9]+: 0f 13 0d 78 56 34 12 movlps %xmm1,0x12345678\(%rip\) # 123459ab <_start\+0x123459ab> +[ ]*[a-f0-9]+: 0f 12 0d 78 56 34 12 movlps 0x12345678\(%rip\),%xmm1 # 123459b2 <_start\+0x123459b2> +[ ]*[a-f0-9]+: 66 0f d6 0d 78 56 34 12 movq %xmm1,0x12345678\(%rip\) # 123459ba <_start\+0x123459ba> +[ ]*[a-f0-9]+: f3 0f 7e 0d 78 56 34 12 movq 0x12345678\(%rip\),%xmm1 # 123459c2 <_start\+0x123459c2> +[ ]*[a-f0-9]+: f3 0f 16 0d 78 56 34 12 movshdup 0x12345678\(%rip\),%xmm1 # 123459ca <_start\+0x123459ca> +[ ]*[a-f0-9]+: f3 0f 12 0d 78 56 34 12 movsldup 0x12345678\(%rip\),%xmm1 # 123459d2 <_start\+0x123459d2> +[ ]*[a-f0-9]+: f3 0f 70 0d 78 56 34 12 90 pshufhw \$0x90,0x12345678\(%rip\),%xmm1 # 123459db <_start\+0x123459db> +[ ]*[a-f0-9]+: f2 0f 70 0d 78 56 34 12 90 pshuflw \$0x90,0x12345678\(%rip\),%xmm1 # 123459e4 <_start\+0x123459e4> +[ ]*[a-f0-9]+: 0f 60 0d 78 56 34 12 punpcklbw 0x12345678\(%rip\),%mm1 # 123459eb <_start\+0x123459eb> +[ ]*[a-f0-9]+: 0f 62 0d 78 56 34 12 punpckldq 0x12345678\(%rip\),%mm1 # 123459f2 <_start\+0x123459f2> +[ ]*[a-f0-9]+: 0f 61 0d 78 56 34 12 punpcklwd 0x12345678\(%rip\),%mm1 # 123459f9 <_start\+0x123459f9> +[ ]*[a-f0-9]+: 66 0f 60 0d 78 56 34 12 punpcklbw 0x12345678\(%rip\),%xmm1 # 12345a01 <_start\+0x12345a01> +[ ]*[a-f0-9]+: 66 0f 62 0d 78 56 34 12 punpckldq 0x12345678\(%rip\),%xmm1 # 12345a09 <_start\+0x12345a09> +[ ]*[a-f0-9]+: 66 0f 61 0d 78 56 34 12 punpcklwd 0x12345678\(%rip\),%xmm1 # 12345a11 <_start\+0x12345a11> +[ ]*[a-f0-9]+: 66 0f 6c 0d 78 56 34 12 punpcklqdq 0x12345678\(%rip\),%xmm1 # 12345a19 <_start\+0x12345a19> +[ ]*[a-f0-9]+: 66 0f 2e 0d 78 56 34 12 ucomisd 0x12345678\(%rip\),%xmm1 # 12345a21 <_start\+0x12345a21> +[ ]*[a-f0-9]+: 0f 2e 0d 78 56 34 12 ucomiss 0x12345678\(%rip\),%xmm1 # 12345a28 <_start\+0x12345a28> [ ]*[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 @@ -219,4 +231,16 @@ Disassembly of section .text: [ ]*[a-f0-9]+: f3 0f c2 38 10 cmpss \$0x10,\(%rax\),%xmm7 [ ]*[a-f0-9]+: f2 0f c2 f7 10 cmpsd \$0x10,%xmm7,%xmm6 [ ]*[a-f0-9]+: f2 0f c2 38 10 cmpsd \$0x10,\(%rax\),%xmm7 +[ ]*[a-f0-9]+: 0f d4 08 paddq \(%rax\),%mm1 +[ ]*[a-f0-9]+: 0f d4 08 paddq \(%rax\),%mm1 +[ ]*[a-f0-9]+: 66 0f d4 08 paddq \(%rax\),%xmm1 +[ ]*[a-f0-9]+: 66 0f d4 08 paddq \(%rax\),%xmm1 +[ ]*[a-f0-9]+: 0f fb 08 psubq \(%rax\),%mm1 +[ ]*[a-f0-9]+: 0f fb 08 psubq \(%rax\),%mm1 +[ ]*[a-f0-9]+: 66 0f fb 08 psubq \(%rax\),%xmm1 +[ ]*[a-f0-9]+: 66 0f fb 08 psubq \(%rax\),%xmm1 +[ ]*[a-f0-9]+: 0f f4 08 pmuludq \(%rax\),%mm1 +[ ]*[a-f0-9]+: 0f f4 08 pmuludq \(%rax\),%mm1 +[ ]*[a-f0-9]+: 66 0f f4 08 pmuludq \(%rax\),%xmm1 +[ ]*[a-f0-9]+: 66 0f f4 08 pmuludq \(%rax\),%xmm1 #pass diff --git a/gas/testsuite/gas/i386/x86-64-simd.s b/gas/testsuite/gas/i386/x86-64-simd.s index 5c1d8d1f32..2b44a4e636 100644 --- a/gas/testsuite/gas/i386/x86-64-simd.s +++ b/gas/testsuite/gas/i386/x86-64-simd.s @@ -110,6 +110,21 @@ cmpss $0x10,(%rax),%xmm7 cmpsd $0x10,%xmm7,%xmm6 cmpsd $0x10,(%rax),%xmm7 + paddq %mm1,%mm0 + paddq (%rax),%mm0 + paddq %xmm1,%xmm0 + paddq (%rax),%xmm0 + + psubq %mm1,%mm0 + psubq (%rax),%mm0 + psubq %xmm1,%xmm0 + psubq (%rax),%xmm0 + + pmuludq %mm1,%mm0 + pmuludq (%rax),%mm0 + pmuludq %xmm1,%xmm0 + pmuludq (%rax),%xmm0 + .intel_syntax noprefix addsubps xmm1,XMMWORD PTR [rip+0x12345678] @@ -219,3 +234,15 @@ cmpss xmm6,xmm7,0x10 cmpss xmm7,DWORD PTR [rax],0x10 cmpsd xmm6,xmm7,0x10 cmpsd xmm7,QWORD PTR [rax],0x10 +paddq mm1,QWORD PTR [rax] +paddq mm1,QWORD PTR [rax] +paddq xmm1,XMMWORD PTR [rax] +paddq xmm1,XMMWORD PTR [rax] +psubq mm1,QWORD PTR [rax] +psubq mm1,QWORD PTR [rax] +psubq xmm1,XMMWORD PTR [rax] +psubq xmm1,XMMWORD PTR [rax] +pmuludq mm1,QWORD PTR [rax] +pmuludq mm1,QWORD PTR [rax] +pmuludq xmm1,XMMWORD PTR [rax] +pmuludq xmm1,XMMWORD PTR [rax]