summaryrefslogtreecommitdiff
path: root/testsuite
diff options
context:
space:
mode:
authorDavid Schleef <ds@ginger.bigkitten.com>2008-02-18 14:01:21 -0800
committerDavid Schleef <ds@ginger.bigkitten.com>2008-02-18 14:01:21 -0800
commit7f3e10f25c4315c2fd9d9000d7dee9bf8abefa4c (patch)
tree942f77328e8c7e1c7af56a7b2822dd6f021271aa /testsuite
parentf06e19392112ec45b4d9d9eaf4524fb31cee5298 (diff)
downloadliboil-7f3e10f25c4315c2fd9d9000d7dee9bf8abefa4c.tar.gz
Add SSE3 and SSSE3 flags.
Diffstat (limited to 'testsuite')
-rwxr-xr-xtestsuite/instruction/check-instructions.pl39
-rw-r--r--testsuite/instruction/list-impls.c2
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");
}