From: Jan Hubicka Date: Wed, 10 Jan 2001 14:32:32 +0000 (+0000) Subject: * i386.exp: Add ssemmx2 and sse2 tests. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=de9d65b5dc1cb19594d17e7f9e6915aa511c4a79;p=binutils-gdb.git * i386.exp: Add ssemmx2 and sse2 tests. (sse2.d, sse2.s, ssemmx2.d, ssemmx2.s): New tests. --- diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 8f90b4697bb..29183b8c8a3 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,8 @@ +Wed Jan 10 15:14:54 MET 2001 Jan Hubicka + + * i386.exp: Add ssemmx2 and sse2 tests. + (sse2.d, sse2.s, ssemmx2.d, ssemmx2.s): New tests. + 2001-01-09 Nick Clifton * gas/arm/pic.d: Fix patterns to match new behaviour of diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp index 365669488d0..84496610aeb 100644 --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -49,6 +49,8 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]] run_dump_test "amd" run_dump_test "katmai" run_dump_test "jump" + run_dump_test "ssemmx2" + run_dump_test "sse2" # These tests require support for 8 and 16 bit relocs, # so we only run them for ELF and COFF targets. diff --git a/gas/testsuite/gas/i386/sse2.d b/gas/testsuite/gas/i386/sse2.d new file mode 100644 index 00000000000..5ea977b15cd --- /dev/null +++ b/gas/testsuite/gas/i386/sse2.d @@ -0,0 +1,156 @@ +#as: -J +#objdump: -dw +#name: i386 sse2 + +.*: +file format .* + +Disassembly of section .text: + +0+ <.text>: +[ ]+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,1\),%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,1\),%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,1\),%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 %xmm3,%xmm2 + 106: 66 0f 2a 1c 24[ ]+cvtpi2pd \(%esp,1\),%xmm3 + 10b: f2 0f 2a e5[ ]+cvtsi2sd %ebp,%xmm4 + 10f: f2 0f 2a 2e[ ]+cvtsi2sd \(%esi\),%xmm5 + 113: 66 0f 2d f7[ ]+cvtpd2pi %xmm7,%xmm6 + 117: 66 0f 2d 38[ ]+cvtpd2pi \(%eax\),%xmm7 + 11b: f2 0f 2d 01[ ]+cvtsd2si \(%ecx\),%eax + 11f: f2 0f 2d ca[ ]+cvtsd2si %xmm2,%ecx + 123: 66 0f 2c 13[ ]+cvttpd2pi \(%ebx\),%xmm2 + 127: 66 0f 2c dc[ ]+cvttpd2pi %xmm4,%xmm3 + 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,1\),%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,1\),%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,1\) + 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,%cx + 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,1\),%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,1\),%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 6f c8[ ]+movdqa %xmm0,%xmm1 + 249: f3 0f 6f c8[ ]+movdqu %xmm0,%xmm1 + 24d: f3 0f 6f c8[ ]+movdqu %xmm0,%xmm1 + 251: f2 0f d6 c8[ ]+movdq2q %mm1,%mm0 + 255: f3 0f d6 c8 66[ ]+movq2dq %mm0,%xmm0 + 25a: 0f f4 c8[ ]+pmuludq %mm0,%mm1 + 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,%xmm3 + 27e: 89 f6[ ]+mov[ ]+%esi,%esi diff --git a/gas/testsuite/gas/i386/sse2.s b/gas/testsuite/gas/i386/sse2.s new file mode 100644 index 00000000000..96ae296934a --- /dev/null +++ b/gas/testsuite/gas/i386/sse2.s @@ -0,0 +1,147 @@ +movnti %eax, (%eax) +sfence +lfence +mfence +addpd (%ecx),%xmm0 +addpd %xmm2,%xmm1 +addsd (%ebx),%xmm2 +addsd %xmm4,%xmm3 +andnpd 0x0(%ebp),%xmm4 +andnpd %xmm6,%xmm5 +andpd (%edi),%xmm6 +andpd %xmm0,%xmm7 +cmppd $0x2,%xmm1,%xmm0 +cmppd $0x3,(%edx),%xmm1 +cmpsd $0x4,%xmm2,%xmm2 +cmpsd $0x5,(%esp,1),%xmm3 +cmppd $0x6,%xmm5,%xmm4 +cmppd $0x7,(%esi),%xmm5 +cmpsd $0x0,%xmm7,%xmm6 +cmpsd $0x1,(%eax),%xmm7 +cmpeqpd %xmm1,%xmm0 +cmpeqpd (%edx),%xmm1 +cmpeqsd %xmm2,%xmm2 +cmpeqsd (%esp,1),%xmm3 +cmpltpd %xmm5,%xmm4 +cmpltpd (%esi),%xmm5 +cmpltsd %xmm7,%xmm6 +cmpltsd (%eax),%xmm7 +cmplepd (%ecx),%xmm0 +cmplepd %xmm2,%xmm1 +cmplesd (%ebx),%xmm2 +cmplesd %xmm4,%xmm3 +cmpunordpd 0x0(%ebp),%xmm4 +cmpunordpd %xmm6,%xmm5 +cmpunordsd (%edi),%xmm6 +cmpunordsd %xmm0,%xmm7 +cmpneqpd %xmm1,%xmm0 +cmpneqpd (%edx),%xmm1 +cmpneqsd %xmm2,%xmm2 +cmpneqsd (%esp,1),%xmm3 +cmpnltpd %xmm5,%xmm4 +cmpnltpd (%esi),%xmm5 +cmpnltsd %xmm7,%xmm6 +cmpnltsd (%eax),%xmm7 +cmpnlepd (%ecx),%xmm0 +cmpnlepd %xmm2,%xmm1 +cmpnlesd (%ebx),%xmm2 +cmpnlesd %xmm4,%xmm3 +cmpordpd 0x0(%ebp),%xmm4 +cmpordpd %xmm6,%xmm5 +cmpordsd (%edi),%xmm6 +cmpordsd %xmm0,%xmm7 +comisd %xmm1,%xmm0 +comisd (%edx),%xmm1 +cvtpi2pd %mm3,%xmm2 +cvtpi2pd (%esp,1),%xmm3 +cvtsi2sd %ebp,%xmm4 +cvtsi2sd (%esi),%xmm5 +cvtpd2pi %xmm7,%mm6 +cvtpd2pi (%eax),%mm7 +cvtsd2si (%ecx),%eax +cvtsd2si %xmm2,%ecx +cvttpd2pi (%ebx),%mm2 +cvttpd2pi %xmm4,%mm3 +cvttsd2si 0x0(%ebp),%esp +cvttsd2si %xmm6,%ebp +divpd %xmm1,%xmm0 +divpd (%edx),%xmm1 +divsd %xmm3,%xmm2 +divsd (%esp,1),%xmm3 +ldmxcsr 0x0(%ebp) +stmxcsr (%esi) +sfence +maxpd %xmm1,%xmm0 +maxpd (%edx),%xmm1 +maxsd %xmm3,%xmm2 +maxsd (%esp,1),%xmm3 +minpd %xmm5,%xmm4 +minpd (%esi),%xmm5 +minsd %xmm7,%xmm6 +minsd (%eax),%xmm7 +movapd %xmm1,%xmm0 +movapd %xmm2,(%ecx) +movapd (%edx),%xmm2 +movhpd %xmm5,(%esp,1) +movhpd (%esi),%xmm5 +movlpd %xmm0,(%edi) +movlpd (%eax),%xmm0 +movmskpd %xmm2,%ecx +movupd %xmm3,%xmm2 +movupd %xmm4,(%edx) +movupd 0x0(%ebp),%xmm4 +movsd %xmm6,%xmm5 +movsd %xmm7,(%esi) +movsd (%eax),%xmm7 +mulpd %xmm1,%xmm0 +mulpd (%edx),%xmm1 +mulsd %xmm2,%xmm2 +mulsd (%esp,1),%xmm3 +orpd %xmm5,%xmm4 +orpd (%esi),%xmm5 +shufpd $0x2,(%edi),%xmm6 +shufpd $0x3,%xmm0,%xmm7 +sqrtpd %xmm1,%xmm0 +sqrtpd (%edx),%xmm1 +sqrtsd %xmm2,%xmm2 +sqrtsd (%esp,1),%xmm3 +subpd %xmm5,%xmm4 +subpd (%esi),%xmm5 +subsd %xmm7,%xmm6 +subsd (%eax),%xmm7 +ucomisd (%ecx),%xmm0 +ucomisd %xmm2,%xmm1 +unpckhpd (%ebx),%xmm2 +unpckhpd %xmm4,%xmm3 +unpcklpd 0x0(%ebp),%xmm4 +unpcklpd %xmm6,%xmm5 +xorpd (%edi),%xmm6 +xorpd %xmm0,%xmm7 +movntpd %xmm6,(%ebx) +xorpd %xmm0, %xmm1 +cvtdq2pd %xmm0, %xmm1 +cvtpd2dq %xmm0, %xmm1 +cvtdq2ps %xmm0, %xmm1 +cvtpd2ps %xmm0, %xmm1 +cvtps2pd %xmm0, %xmm1 +cvtps2dq %xmm0, %mm1 +cvtsd2ss %xmm0, %xmm1 +cvtss2sd %xmm0, %xmm1 +cvttpd2dq %xmm0, %xmm1 +cvttps2dq %xmm0, %xmm1 +maskmovdqu %xmm0, %xmm1 +movdqa %xmm0, %xmm1 +movdqa %xmm0, %xmm1 +movdqu %xmm0, %xmm1 +movdqu %xmm0, %xmm1 +movdq2q %mm0, %xmm1 +movq2dq %xmm0, %mm1 +pmuludq %xmm0, %xmm1 +pmuludq %xmm0, %xmm1 +pshufd $1, %xmm0, %xmm1 +pshufhw $1, %xmm0, %xmm1 +pshuflw $1, %xmm0, %xmm1 +pslldq $1, %xmm0 +psrldq $1, %xmm0 +punpckhqdq %xmm0, %xmm1 +.p2align 4 diff --git a/gas/testsuite/gas/i386/ssemmx2.d b/gas/testsuite/gas/i386/ssemmx2.d new file mode 100644 index 00000000000..1dd7ef519bf --- /dev/null +++ b/gas/testsuite/gas/i386/ssemmx2.d @@ -0,0 +1,88 @@ +#as: -J +#objdump: -dw +#name: i386 ssemmx2 + +.*: +file format .* + +Disassembly of section .text: + +0+ <.text>: +[ ]+0: 66 0f e0 c1[ ]+pavgb[ ]+%xmm1,%xmm0 +[ ]+4: 66 0f e0 0a[ ]+pavgb[ ]+\(%edx\),%xmm1 +[ ]+8: 66 0f e3 d3[ ]+pavgw[ ]+%xmm3,%xmm2 +[ ]+c: 66 0f e3 1c 24[ ]+pavgw[ ]+\(%esp,1\),%xmm3 +[ ]+11: 66 0f c5 c8 00[ ]+pextrw \$0x0,%xmm1,%ax +[ ]+16: 66 0f c4 09 01[ ]+pinsrw \$0x1,\(%ecx\),%xmm1 +[ ]+1b: 66 0f c4 d2 02[ ]+pinsrw \$0x2,%dx,%xmm2 +[ ]+20: 66 0f ee c1[ ]+pmaxsw %xmm1,%xmm0 +[ ]+24: 66 0f ee 0a[ ]+pmaxsw \(%edx\),%xmm1 +[ ]+28: 66 0f de d2[ ]+pmaxub %xmm2,%xmm2 +[ ]+2c: 66 0f de 1c 24[ ]+pmaxub \(%esp,1\),%xmm3 +[ ]+31: 66 0f ea e5[ ]+pminsw %xmm5,%xmm4 +[ ]+35: 66 0f ea 2e[ ]+pminsw \(%esi\),%xmm5 +[ ]+39: 66 0f da f7[ ]+pminub %xmm7,%xmm6 +[ ]+3d: 66 0f da 38[ ]+pminub \(%eax\),%xmm7 +[ ]+41: 66 0f d7 e8[ ]+pmovmskb %xmm5,%ax +[ ]+45: 66 0f e4 e5[ ]+pmulhuw %xmm5,%xmm4 +[ ]+49: 66 0f e4 2e[ ]+pmulhuw \(%esi\),%xmm5 +[ ]+4d: 66 0f f6 f7[ ]+psadbw %xmm7,%xmm6 +[ ]+51: 66 0f f6 38[ ]+psadbw \(%eax\),%xmm7 +[ ]+55: 66 0f 70 da 01[ ]+pshufd \$0x1,%xmm2,%xmm3 +[ ]+5a: 66 0f 70 75 00 04[ ]+pshufd \$0x4,0x0\(%ebp\),%xmm6 +[ ]+60: f3 0f 70 da 01[ ]+pshufhw \$0x1,%xmm2,%xmm3 +[ ]+65: f3 0f 70 75 00 04[ ]+pshufhw \$0x4,0x0\(%ebp\),%xmm6 +[ ]+6b: f2 0f 70 da 01[ ]+pshuflw \$0x1,%xmm2,%xmm3 +[ ]+70: f2 0f 70 75 00 04[ ]+pshuflw \$0x4,0x0\(%ebp\),%xmm6 +[ ]+76: 66 0f e7 10[ ]+movntq %xmm2,\(%eax\) +[ ]+7a: 66 0f 60 90 90 90 90 90 punpcklbw 0x90909090\(%eax\),%xmm2 +[ ]+82: 66 0f 61 90 90 90 90 90 punpcklwd 0x90909090\(%eax\),%xmm2 +[ ]+8a: 66 0f 62 90 90 90 90 90 punpckldq 0x90909090\(%eax\),%xmm2 +[ ]+92: 66 0f 63 90 90 90 90 90 packsswb 0x90909090\(%eax\),%xmm2 +[ ]+9a: 66 0f 64 90 90 90 90 90 pcmpgtb 0x90909090\(%eax\),%xmm2 +[ ]+a2: 66 0f 65 90 90 90 90 90 pcmpgtw 0x90909090\(%eax\),%xmm2 +[ ]+aa: 66 0f 66 90 90 90 90 90 pcmpgtd 0x90909090\(%eax\),%xmm2 +[ ]+b2: 66 0f 67 90 90 90 90 90 packuswb 0x90909090\(%eax\),%xmm2 +[ ]+ba: 66 0f 68 90 90 90 90 90 punpckhbw 0x90909090\(%eax\),%xmm2 +[ ]+c2: 66 0f 69 90 90 90 90 90 punpckhwd 0x90909090\(%eax\),%xmm2 +[ ]+ca: 66 0f 6a 90 90 90 90 90 punpckhdq 0x90909090\(%eax\),%xmm2 +[ ]+d2: 66 0f 6b 90 90 90 90 90 packssdw 0x90909090\(%eax\),%xmm2 +[ ]+da: 66 0f 6e 90 90 90 90 90 movd[ ]+0x90909090\(%eax\),%xmm2 +[ ]+e2: f3 0f 7e 90 90 90 90 90 movq[ ]+%xmm2,0x90909090\(%eax\) +[ ]+ea: 66 0f 71 d0 90[ ]+psrlw[ ]+\$0x90,%xmm0 +[ ]+ef: 66 0f 72 d0 90[ ]+psrld[ ]+\$0x90,%xmm0 +[ ]+f4: 66 0f 73 d0 90[ ]+psrlq[ ]+\$0x90,%xmm0 +[ ]+f9: 66 0f 74 90 90 90 90 90 pcmpeqb 0x90909090\(%eax\),%xmm2 + 101: 66 0f 75 90 90 90 90 90 pcmpeqw 0x90909090\(%eax\),%xmm2 + 109: 66 0f 76 90 90 90 90 90 pcmpeqd 0x90909090\(%eax\),%xmm2 + 111: 66 0f 7e 90 90 90 90 90 movd[ ]+%xmm2,0x90909090\(%eax\) + 119: 66 0f d6 90 90 90 90 90 movq[ ]+%xmm2,0x90909090\(%eax\) + 121: 66 0f d1 90 90 90 90 90 psrlw[ ]+0x90909090\(%eax\),%xmm2 + 129: 66 0f d2 90 90 90 90 90 psrld[ ]+0x90909090\(%eax\),%xmm2 + 131: 66 0f d3 90 90 90 90 90 psrlq[ ]+0x90909090\(%eax\),%xmm2 + 139: 66 0f d5 90 90 90 90 90 pmullw 0x90909090\(%eax\),%xmm2 + 141: 66 0f d8 90 90 90 90 90 psubusb 0x90909090\(%eax\),%xmm2 + 149: 66 0f d9 90 90 90 90 90 psubusw 0x90909090\(%eax\),%xmm2 + 151: 66 0f db 90 90 90 90 90 pand[ ]+0x90909090\(%eax\),%xmm2 + 159: 66 0f dc 90 90 90 90 90 paddusb 0x90909090\(%eax\),%xmm2 + 161: 66 0f dd 90 90 90 90 90 paddusw 0x90909090\(%eax\),%xmm2 + 169: 66 0f df 90 90 90 90 90 pandn[ ]+0x90909090\(%eax\),%xmm2 + 171: 66 0f e1 90 90 90 90 90 psraw[ ]+0x90909090\(%eax\),%xmm2 + 179: 66 0f e2 90 90 90 90 90 psrad[ ]+0x90909090\(%eax\),%xmm2 + 181: 66 0f e5 90 90 90 90 90 pmulhw 0x90909090\(%eax\),%xmm2 + 189: 66 0f e8 90 90 90 90 90 psubsb 0x90909090\(%eax\),%xmm2 + 191: 66 0f e9 90 90 90 90 90 psubsw 0x90909090\(%eax\),%xmm2 + 199: 66 0f eb 90 90 90 90 90 por[ ]+0x90909090\(%eax\),%xmm2 + 1a1: 66 0f ec 90 90 90 90 90 paddsb 0x90909090\(%eax\),%xmm2 + 1a9: 66 0f ed 90 90 90 90 90 paddsw 0x90909090\(%eax\),%xmm2 + 1b1: 66 0f ef 90 90 90 90 90 pxor[ ]+0x90909090\(%eax\),%xmm2 + 1b9: 66 0f f1 90 90 90 90 90 psllw[ ]+0x90909090\(%eax\),%xmm2 + 1c1: 66 0f f2 90 90 90 90 90 pslld[ ]+0x90909090\(%eax\),%xmm2 + 1c9: 66 0f f3 90 90 90 90 90 psllq[ ]+0x90909090\(%eax\),%xmm2 + 1d1: 66 0f f5 90 90 90 90 90 pmaddwd 0x90909090\(%eax\),%xmm2 + 1d9: 66 0f f8 90 90 90 90 90 psubb[ ]+0x90909090\(%eax\),%xmm2 + 1e1: 66 0f f9 90 90 90 90 90 psubw[ ]+0x90909090\(%eax\),%xmm2 + 1e9: 66 0f fa 90 90 90 90 90 psubd[ ]+0x90909090\(%eax\),%xmm2 + 1f1: 66 0f fc 90 90 90 90 90 paddb[ ]+0x90909090\(%eax\),%xmm2 + 1f9: 66 0f fd 90 90 90 90 90 paddw[ ]+0x90909090\(%eax\),%xmm2 + 201: 66 0f fe 90 90 90 90 90 paddd[ ]+0x90909090\(%eax\),%xmm2 + 209: 8d b4 26 00 00 00 00 lea[ ]+0x0\(%esi,1\),%esi diff --git a/gas/testsuite/gas/i386/ssemmx2.s b/gas/testsuite/gas/i386/ssemmx2.s new file mode 100644 index 00000000000..5e67fc98041 --- /dev/null +++ b/gas/testsuite/gas/i386/ssemmx2.s @@ -0,0 +1,80 @@ +.code32 +pavgb %xmm1,%xmm0 +pavgb (%edx),%xmm1 +pavgw %xmm3,%xmm2 +pavgw (%esp,1),%xmm3 +pextrw $0x0,%xmm1,%eax +pinsrw $0x1,(%ecx),%xmm1 +pinsrw $0x2,%edx,%xmm2 +pmaxsw %xmm1,%xmm0 +pmaxsw (%edx),%xmm1 +pmaxub %xmm2,%xmm2 +pmaxub (%esp,1),%xmm3 +pminsw %xmm5,%xmm4 +pminsw (%esi),%xmm5 +pminub %xmm7,%xmm6 +pminub (%eax),%xmm7 +pmovmskb %xmm5,%eax +pmulhuw %xmm5,%xmm4 +pmulhuw (%esi),%xmm5 +psadbw %xmm7,%xmm6 +psadbw (%eax),%xmm7 +pshufd $0x1,%xmm2,%xmm3 +pshufd $0x4,0x0(%ebp),%xmm6 +pshufhw $0x1,%xmm2,%xmm3 +pshufhw $0x4,0x0(%ebp),%xmm6 +pshuflw $0x1,%xmm2,%xmm3 +pshuflw $0x4,0x0(%ebp),%xmm6 +movntq %xmm2,(%eax) +punpcklbw 0x90909090(%eax),%xmm2 +punpcklwd 0x90909090(%eax),%xmm2 +punpckldq 0x90909090(%eax),%xmm2 +packsswb 0x90909090(%eax),%xmm2 +pcmpgtb 0x90909090(%eax),%xmm2 +pcmpgtw 0x90909090(%eax),%xmm2 +pcmpgtd 0x90909090(%eax),%xmm2 +packuswb 0x90909090(%eax),%xmm2 +punpckhbw 0x90909090(%eax),%xmm2 +punpckhwd 0x90909090(%eax),%xmm2 +punpckhdq 0x90909090(%eax),%xmm2 +packssdw 0x90909090(%eax),%xmm2 +movd 0x90909090(%eax),%xmm2 +movq 0x90909090(%eax),%xmm2 +psrlw $0x90,%xmm0 +psrld $0x90,%xmm0 +psrlq $0x90,%xmm0 +pcmpeqb 0x90909090(%eax),%xmm2 +pcmpeqw 0x90909090(%eax),%xmm2 +pcmpeqd 0x90909090(%eax),%xmm2 +movd %xmm2,0x90909090(%eax) +movq %xmm2,0x90909090(%eax) +psrlw 0x90909090(%eax),%xmm2 +psrld 0x90909090(%eax),%xmm2 +psrlq 0x90909090(%eax),%xmm2 +pmullw 0x90909090(%eax),%xmm2 +psubusb 0x90909090(%eax),%xmm2 +psubusw 0x90909090(%eax),%xmm2 +pand 0x90909090(%eax),%xmm2 +paddusb 0x90909090(%eax),%xmm2 +paddusw 0x90909090(%eax),%xmm2 +pandn 0x90909090(%eax),%xmm2 +psraw 0x90909090(%eax),%xmm2 +psrad 0x90909090(%eax),%xmm2 +pmulhw 0x90909090(%eax),%xmm2 +psubsb 0x90909090(%eax),%xmm2 +psubsw 0x90909090(%eax),%xmm2 +por 0x90909090(%eax),%xmm2 +paddsb 0x90909090(%eax),%xmm2 +paddsw 0x90909090(%eax),%xmm2 +pxor 0x90909090(%eax),%xmm2 +psllw 0x90909090(%eax),%xmm2 +pslld 0x90909090(%eax),%xmm2 +psllq 0x90909090(%eax),%xmm2 +pmaddwd 0x90909090(%eax),%xmm2 +psubb 0x90909090(%eax),%xmm2 +psubw 0x90909090(%eax),%xmm2 +psubd 0x90909090(%eax),%xmm2 +paddb 0x90909090(%eax),%xmm2 +paddw 0x90909090(%eax),%xmm2 +paddd 0x90909090(%eax),%xmm2 +.p2align 4