* 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>
|
||||
|
||||
* 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 "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.
|
||||
|
|
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