Cure recent x86 warts.

This commit is contained in:
Alan Modra 2001-01-12 03:34:49 +00:00
parent 0d2bcfafbf
commit 6e0b89ee6c
11 changed files with 287 additions and 263 deletions

View file

@ -1,3 +1,8 @@
2001-01-12 Alan Modra <alan@linuxcare.com.au>
* configure.in ([bfd_elf64_x86_64_vec]): Set target64.
* configure: Regenerate.
2001-01-11 Peter Targett <peter.targett@arccores.com>
* bfd-in2.h (bfd_architecture): Add bfd_mach_arc_5,

27
bfd/configure vendored
View file

@ -5958,7 +5958,8 @@ do
bfd_elf32_hppa_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
bfd_elf32_i370_vec) tb="$tb elf32-i370.lo elf32.lo $elf" ;;
bfd_elf32_i386_vec) tb="$tb elf32-i386.lo elf32.lo $elf" ;;
bfd_elf64_x86_64_vec) tb="$tb elf64-x86-64.lo elf64.lo $elf" ;;
bfd_elf64_x86_64_vec) tb="$tb elf64-x86-64.lo elf64.lo $elf"
target64=true ;;
bfd_elf32_i860_vec) tb="$tb elf32-i860.lo elf32.lo $elf" ;;
bfd_elf32_i860_little_vec) tb="$tb elf32-i860.lo elf32.lo $elf" ;;
bfd_elf32_i960_vec) tb="$tb elf32-i960.lo elf32.lo $elf" ;;
@ -6176,17 +6177,17 @@ for ac_hdr in unistd.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
echo "configure:6180: checking for $ac_hdr" >&5
echo "configure:6181: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 6185 "configure"
#line 6186 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:6190: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
{ (eval echo configure:6191: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@ -6215,12 +6216,12 @@ done
for ac_func in getpagesize
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
echo "configure:6219: checking for $ac_func" >&5
echo "configure:6220: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 6224 "configure"
#line 6225 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@ -6243,7 +6244,7 @@ $ac_func();
; return 0; }
EOF
if { (eval echo configure:6247: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
if { (eval echo configure:6248: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@ -6268,7 +6269,7 @@ fi
done
echo $ac_n "checking for working mmap""... $ac_c" 1>&6
echo "configure:6272: checking for working mmap" >&5
echo "configure:6273: checking for working mmap" >&5
if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@ -6276,7 +6277,7 @@ else
ac_cv_func_mmap_fixed_mapped=no
else
cat > conftest.$ac_ext <<EOF
#line 6280 "configure"
#line 6281 "configure"
#include "confdefs.h"
/* Thanks to Mike Haertel and Jim Avera for this test.
@ -6416,7 +6417,7 @@ main()
}
EOF
if { (eval echo configure:6420: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
if { (eval echo configure:6421: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_mmap_fixed_mapped=yes
else
@ -6441,12 +6442,12 @@ fi
for ac_func in madvise mprotect
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
echo "configure:6445: checking for $ac_func" >&5
echo "configure:6446: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 6450 "configure"
#line 6451 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@ -6469,7 +6470,7 @@ $ac_func();
; return 0; }
EOF
if { (eval echo configure:6473: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
if { (eval echo configure:6474: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else

View file

@ -507,7 +507,8 @@ do
bfd_elf32_hppa_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
bfd_elf32_i370_vec) tb="$tb elf32-i370.lo elf32.lo $elf" ;;
bfd_elf32_i386_vec) tb="$tb elf32-i386.lo elf32.lo $elf" ;;
bfd_elf64_x86_64_vec) tb="$tb elf64-x86-64.lo elf64.lo $elf" ;;
bfd_elf64_x86_64_vec) tb="$tb elf64-x86-64.lo elf64.lo $elf"
target64=true ;;
bfd_elf32_i860_vec) tb="$tb elf32-i860.lo elf32.lo $elf" ;;
bfd_elf32_i860_little_vec) tb="$tb elf32-i860.lo elf32.lo $elf" ;;
bfd_elf32_i960_vec) tb="$tb elf32-i960.lo elf32.lo $elf" ;;

View file

@ -1,3 +1,8 @@
2001-01-12 Alan Modra <alan@linuxcare.com.au>
* config/tc-i386.c (md_longopts): Recognize "--64" only for ELF.
(md_parse_option): Always accept "--32".
2001-01-11 Peter Targett <peter.targett@arccores.com>
* as.h (TC_ARC): Ensure struc-symbol.h included.

View file

@ -4366,11 +4366,14 @@ const char *md_shortopts = "kVQ:sq";
#else
const char *md_shortopts = "q";
#endif
struct option md_longopts[] = {
#define OPTION_32 (OPTION_MD_BASE + 0)
{"32", no_argument, NULL, OPTION_32},
#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)
#define OPTION_64 (OPTION_MD_BASE + 1)
{"64", no_argument, NULL, OPTION_64},
#endif
{NULL, no_argument, NULL, 0}
};
size_t md_longopts_size = sizeof (md_longopts);
@ -4405,36 +4408,29 @@ md_parse_option (c, arg)
/* -s: On i386 Solaris, this tells the native assembler to use
.stab instead of .stab.excl. We always use .stab anyhow. */
break;
#endif
#ifdef OBJ_ELF
case OPTION_32:
case OPTION_64:
{
const char **list, **l;
default_arch = c == OPTION_32 ? "i386" : "x86_64";
list = bfd_target_list ();
for (l = list; *l != NULL; l++)
{
if (c == OPTION_32)
{
if (strcmp (*l, "elf32-i386") == 0)
break;
}
else
{
if (strcmp (*l, "elf64-x86-64") == 0)
break;
}
}
if (strcmp (*l, "elf64-x86-64") == 0)
{
default_arch = "x86_64";
break;
}
if (*l == NULL)
as_fatal (_("No compiled in support for %d bit object file format"),
c == OPTION_32 ? 32 : 64);
as_fatal (_("No compiled in support for x86_64"));
free (list);
}
break;
#endif
case OPTION_32:
default_arch = "i386";
break;
default:
return 0;
}

View file

@ -1,3 +1,14 @@
2001-01-12 Alan Modra <alan@linuxcare.com.au>
* gas/i386/i386.exp (gas_64_check): Correct target string.
Use gas_64_check rather than target string to decided whether
x86_64 checks should run.
* gas/i386/sse2.s: Add a label to cure objdump "no symbols" error.
* gas/i386/ssemmx2.s: Likewise.
* gas/i386/sse2.d: Update to suit.
* gas/i386/ssemmx2.s: Likewise.
2001-01-11 Peter Targett <peter.targett@arccores.com>
* gas/arc/alias.*: Removed.

View file

@ -20,8 +20,9 @@ proc gas_64_check { } {
global srcdir
catch "exec $srcdir/lib/run $NM $NMFLAGS --help" nm_help
return [regexp "targets:.*x86_64" $nm_help];
return [regexp "targets:.*x86-64" $nm_help];
}
proc gas_32_check { } {
global NM
global NMFLAGS
@ -61,7 +62,8 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]]
}
set ASFLAGS "$old_ASFLAGS"
}
if [istarget "x86_64-*-*"] then {
if [gas_64_check] then {
global ASFLAGS
set old_ASFLAGS "$ASFLAGS"

View file

@ -6,7 +6,7 @@
Disassembly of section .text:
0+ <.text>:
0+ <foo>:
[ ]+0: 0f c3 00[ ]+movnti %eax,\(%eax\)
[ ]+3: 0f ae f8[ ]+sfence
[ ]+6: 0f ae e8[ ]+lfence

View file

@ -1,147 +1,149 @@
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
foo:
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

View file

@ -6,7 +6,7 @@
Disassembly of section .text:
0+ <.text>:
0+ <foo>:
[ ]+0: 66 0f e0 c1[ ]+pavgb[ ]+%xmm1,%xmm0
[ ]+4: 66 0f e0 0a[ ]+pavgb[ ]+\(%edx\),%xmm1
[ ]+8: 66 0f e3 d3[ ]+pavgw[ ]+%xmm3,%xmm2

View file

@ -1,80 +1,81 @@
.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
.code32
foo:
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