* i386.exp: Add ssemmx2 and sse2 tests.
(sse2.d, sse2.s, ssemmx2.d, ssemmx2.s): New tests.
This commit is contained in:
parent
7c2b079e27
commit
de9d65b5dc
6 changed files with 478 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
Wed Jan 10 15:14:54 MET 2001 Jan Hubicka <jh@suse.cz>
|
||||||
|
|
||||||
|
* i386.exp: Add ssemmx2 and sse2 tests.
|
||||||
|
(sse2.d, sse2.s, ssemmx2.d, ssemmx2.s): New tests.
|
||||||
|
|
||||||
2001-01-09 Nick Clifton <nickc@redhat.com>
|
2001-01-09 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
* gas/arm/pic.d: Fix patterns to match new behaviour of
|
* gas/arm/pic.d: Fix patterns to match new behaviour of
|
||||||
|
|
|
@ -49,6 +49,8 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]]
|
||||||
run_dump_test "amd"
|
run_dump_test "amd"
|
||||||
run_dump_test "katmai"
|
run_dump_test "katmai"
|
||||||
run_dump_test "jump"
|
run_dump_test "jump"
|
||||||
|
run_dump_test "ssemmx2"
|
||||||
|
run_dump_test "sse2"
|
||||||
|
|
||||||
# These tests require support for 8 and 16 bit relocs,
|
# These tests require support for 8 and 16 bit relocs,
|
||||||
# so we only run them for ELF and COFF targets.
|
# so we only run them for ELF and COFF targets.
|
||||||
|
|
156
gas/testsuite/gas/i386/sse2.d
Normal file
156
gas/testsuite/gas/i386/sse2.d
Normal file
|
@ -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
|
147
gas/testsuite/gas/i386/sse2.s
Normal file
147
gas/testsuite/gas/i386/sse2.s
Normal file
|
@ -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
|
88
gas/testsuite/gas/i386/ssemmx2.d
Normal file
88
gas/testsuite/gas/i386/ssemmx2.d
Normal file
|
@ -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
|
80
gas/testsuite/gas/i386/ssemmx2.s
Normal file
80
gas/testsuite/gas/i386/ssemmx2.s
Normal file
|
@ -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
|
Loading…
Reference in a new issue