summaryrefslogtreecommitdiff
path: root/test/riprel.pl
diff options
context:
space:
mode:
Diffstat (limited to 'test/riprel.pl')
-rwxr-xr-xtest/riprel.pl29
1 files changed, 29 insertions, 0 deletions
diff --git a/test/riprel.pl b/test/riprel.pl
new file mode 100755
index 0000000..61af723
--- /dev/null
+++ b/test/riprel.pl
@@ -0,0 +1,29 @@
+#!/usr/bin/perl
+
+print ";Testname=unoptimized; Arguments=-fbin -oriprel.bin -O0; Files=stdout stderr riprel.bin\n";
+print ";Testname=optimized; Arguments=-fbin -oriprel.bin -Ox; Files=stdout stderr riprel.bin\n";
+
+
+print "\tbits 64\n";
+
+foreach $mode ('abs', 'rel') {
+ print "\n\tdefault $mode\n\n";
+
+ foreach $so ('', 'fs:', 'es:') {
+ foreach $rq ('', 'abs ', 'rel ') {
+ foreach $ao ('', 'a64 ', 'a32 ') {
+ foreach $sq ('', 'dword ', 'qword ') {
+ foreach $v ('foo', '0xaaaaaaaaaaaaaaaa', '0xbbbbbbbb',
+ '0xffffffffcccccccc') {
+ foreach $r ( 'al', 'bl', 'ax', 'bx', 'eax', 'ebx', 'rax', 'rbx') {
+ print "\tmov $r,[$ao$rq$sq$so$v]\n";
+ }
+ }
+ print "\n";
+ }
+ }
+ }
+ }
+}
+
+print "\nfoo:\n";