summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xcomparetests.py14
-rwxr-xr-xgentests.py6
-rw-r--r--testcases.txt53
3 files changed, 49 insertions, 24 deletions
diff --git a/comparetests.py b/comparetests.py
index a8b7490..6aa65e2 100755
--- a/comparetests.py
+++ b/comparetests.py
@@ -1,9 +1,21 @@
#!/usr/bin/env python
from glob import glob
import subprocess
-from sys import exit
+from sys import exit,argv
+
+prefixes = []
+for i in range(1, len(argv)):
+ prefixes.append(argv[i])
for path in glob('generated_tests/*.bin'):
+ if prefixes:
+ good = False
+ for prefix in prefixes:
+ if path.startswith(prefix):
+ good = True
+ break
+ if not good:
+ continue
try:
b = subprocess.check_output(['./blastem', path, '-v'])
try:
diff --git a/gentests.py b/gentests.py
index 3bc51f5..bb5cb7a 100755
--- a/gentests.py
+++ b/gentests.py
@@ -377,7 +377,11 @@ def get_variations(mode, size):
elif mode.startswith('#(') and mode.endswith(')'):
inner = mode[2:-1]
start,sep,end = inner.partition('-')
- return [Immediate(num) for num in range(int(start), int(end))]
+ start,end = int(start),int(end)
+ if end-start > 16:
+ return [Immediate(randint(start, end)) for x in range(0,8)]
+ else:
+ return [Immediate(num) for num in range(start, end+1)]
else:
print "Don't know what to do with source type", mode
return None
diff --git a/testcases.txt b/testcases.txt
index e42f0ab..bd24ff2 100644
--- a/testcases.txt
+++ b/testcases.txt
@@ -1,23 +1,32 @@
Name Sizes Src Modes Dst Modes
-add bwl d;a;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l;#n;(n,pc);(n,pc,x) d
-add bwl d (a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l
-adda wl d;a;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l;#n;(n,pc);(n,pc,x) a
-addi bwl #n d;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l
-addq bwl #(1-8) d;a;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l
-addx bwl d d
-addx bwl -(a) -(a)
-and bwl d;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l;#n;(n,pc);(n,pc,x) d
-and bwl d (a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l
-andi bwl #n d;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l
-asl bwl d;#(1-8) d
-asr bwl d;#(1-8) d
-lsl bwl d;#(1-8) d
-lsr bwl d;#(1-8) d
-sub bwl d;a;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l;#n;(n,pc);(n,pc,x) d
-sub bwl d (a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l
-suba wl d;a;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l;#n;(n,pc);(n,pc,x) a
-subi bwl #n d;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l
-subq bwl #(1-8) d;a;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l
-subx bwl d d
-subx bwl -(a) -(a)
-
+#add bwl d;a;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l;#n;(n,pc);(n,pc,x) d
+#add bwl d (a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l
+#adda wl d;a;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l;#n;(n,pc);(n,pc,x) a
+#addi bwl #n d;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l
+#addq bwl #(1-8) d;a;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l
+#addx bwl d d
+#addx bwl -(a) -(a)
+#and bwl d;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l;#n;(n,pc);(n,pc,x) d
+#and bwl d (a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l
+#andi bwl #n d;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l
+#asl bwl d;#(1-8) d
+#asr bwl d;#(1-8) d
+#lsl bwl d;#(1-8) d
+#lsr bwl d;#(1-8) d
+#sub bwl d;a;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l;#n;(n,pc);(n,pc,x) d
+#sub bwl d (a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l
+#suba wl d;a;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l;#n;(n,pc);(n,pc,x) a
+#subi bwl #n d;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l
+#subq bwl #(1-8) d;a;(a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l
+#subx bwl d d
+#subx bwl -(a) -(a)
+bchg b d;#(0-255) (a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l
+bchg l d;#(0-255) d
+bset b d;#(0-255) (a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l
+bset l d;#(0-255) d
+bclr b d;#(0-255) (a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l
+bclr l d;#(0-255) d
+btst b d;#(0-255) (a);(a)+;-(a);(n,a);(n,a,x);(n).w;(n).l
+btst l d;#(0-255) d
+rol bwl d;#(1-8) d
+ror bwl d;#(1-8) d