diff options
author | David Schleef <ds@ginger.bigkitten.com> | 2008-02-18 14:01:21 -0800 |
---|---|---|
committer | David Schleef <ds@ginger.bigkitten.com> | 2008-02-18 14:01:21 -0800 |
commit | 7f3e10f25c4315c2fd9d9000d7dee9bf8abefa4c (patch) | |
tree | 942f77328e8c7e1c7af56a7b2822dd6f021271aa /testsuite | |
parent | f06e19392112ec45b4d9d9eaf4524fb31cee5298 (diff) | |
download | liboil-7f3e10f25c4315c2fd9d9000d7dee9bf8abefa4c.tar.gz |
Add SSE3 and SSSE3 flags.
Diffstat (limited to 'testsuite')
-rwxr-xr-x | testsuite/instruction/check-instructions.pl | 39 | ||||
-rw-r--r-- | testsuite/instruction/list-impls.c | 2 |
2 files changed, 41 insertions, 0 deletions
diff --git a/testsuite/instruction/check-instructions.pl b/testsuite/instruction/check-instructions.pl index 877d030..7ed3aa7 100755 --- a/testsuite/instruction/check-instructions.pl +++ b/testsuite/instruction/check-instructions.pl @@ -48,6 +48,12 @@ sub get_flags }elsif (grep { /^$opcode$/ } @sse2_list) { $exts->{"sse2"} = 1; $debug && print " $opcode: sse2\n"; + }elsif (grep { /^$opcode$/ } @sse3_list) { + $exts->{"sse3"} = 1; + $debug && print " $opcode: sse3\n"; + }elsif (grep { /^$opcode$/ } @ssse3_list) { + $exts->{"ssse3"} = 1; + $debug && print " $opcode: ssse3\n"; }else { print "FIXME:\t\"$opcode\",\n"; $error = 1; @@ -513,6 +519,39 @@ sub check "mfence", ); +@sse3_list = ( + "addsubpd", + "addsubps", + "haddpd", + "haddps", + "hsubpd", + "hsubps", + "lddqu", + "movddup", + "movshdup", + "movsldup", + "fisttp" +); + +@ssse3_list = ( + "psignb", + "psignw", + "psignd", + "pabsb", + "pabsw", + "pabsd", + "palignr", + "pshufb", + "pmulhrsw", + "pmaddubsw", + "phsubw", + "phsubd", + "phsubsw", + "phaddw", + "phaddd", + "phaddsw" +); + #@clflush_list = ( # "clflush", #); diff --git a/testsuite/instruction/list-impls.c b/testsuite/instruction/list-impls.c index 02e79d1..a8cc7c2 100644 --- a/testsuite/instruction/list-impls.c +++ b/testsuite/instruction/list-impls.c @@ -69,6 +69,8 @@ main (int argc, char *argv[]) if (flags & OIL_IMPL_FLAG_MMXEXT) printf(" mmxext"); if (flags & OIL_IMPL_FLAG_SSE) printf(" sse"); if (flags & OIL_IMPL_FLAG_SSE2) printf(" sse2"); + if (flags & OIL_IMPL_FLAG_SSE3) printf(" sse3"); + if (flags & OIL_IMPL_FLAG_SSSE3) printf(" ssse3"); if (flags & OIL_IMPL_FLAG_ALTIVEC) printf(" altivec"); printf("\n"); } |