summaryrefslogtreecommitdiff
path: root/gas/testsuite/gasp/mri
diff options
context:
space:
mode:
Diffstat (limited to 'gas/testsuite/gasp/mri')
-rw-r--r--gas/testsuite/gasp/mri/embed.asm5
-rw-r--r--gas/testsuite/gasp/mri/embed.out9
-rw-r--r--gas/testsuite/gasp/mri/exists.asm10
-rw-r--r--gas/testsuite/gasp/mri/exists.out24
-rw-r--r--gas/testsuite/gasp/mri/irp.asm4
-rw-r--r--gas/testsuite/gasp/mri/irp.out8
-rw-r--r--gas/testsuite/gasp/mri/irpc.asm3
-rw-r--r--gas/testsuite/gasp/mri/irpc.out8
-rw-r--r--gas/testsuite/gasp/mri/macro.asm8
-rw-r--r--gas/testsuite/gasp/mri/macro.out18
-rw-r--r--gas/testsuite/gasp/mri/narg.asm9
-rw-r--r--gas/testsuite/gasp/mri/narg.out38
-rw-r--r--gas/testsuite/gasp/mri/rept.asm3
-rw-r--r--gas/testsuite/gasp/mri/rept.out16
14 files changed, 163 insertions, 0 deletions
diff --git a/gas/testsuite/gasp/mri/embed.asm b/gas/testsuite/gasp/mri/embed.asm
new file mode 100644
index 00000000000..f1b8f78bf84
--- /dev/null
+++ b/gas/testsuite/gasp/mri/embed.asm
@@ -0,0 +1,5 @@
+embed macro label
+addr&&label dc.l label
+ endm
+
+ embed foo
diff --git a/gas/testsuite/gasp/mri/embed.out b/gas/testsuite/gasp/mri/embed.out
new file mode 100644
index 00000000000..92d925f4b09
--- /dev/null
+++ b/gas/testsuite/gasp/mri/embed.out
@@ -0,0 +1,9 @@
+;embed macro label
+;addr&&label dc.l label
+; endm
+;
+
+; embed foo
+;addrfoo dc.l foo
+addrfoo: dc.l foo
+; \ No newline at end of file
diff --git a/gas/testsuite/gasp/mri/exists.asm b/gas/testsuite/gasp/mri/exists.asm
new file mode 100644
index 00000000000..87220c624e9
--- /dev/null
+++ b/gas/testsuite/gasp/mri/exists.asm
@@ -0,0 +1,10 @@
+exists macro arg1,arg2
+ ifne ==arg2
+ move arg1,arg2
+ elsec
+ push arg1
+ endc
+ endm
+
+ exists foo,bar
+ exists foo
diff --git a/gas/testsuite/gasp/mri/exists.out b/gas/testsuite/gasp/mri/exists.out
new file mode 100644
index 00000000000..e75337d5118
--- /dev/null
+++ b/gas/testsuite/gasp/mri/exists.out
@@ -0,0 +1,24 @@
+;exists macro arg1,arg2
+; ifne ==arg2
+; move arg1,arg2
+; elsec
+; push arg1
+; endc
+; endm
+;
+
+; exists foo,bar
+; ifne -1
+; move foo,bar
+ move foo,bar
+; elsec
+; push foo
+; endc
+; exists foo
+; ifne 0
+; move foo,
+; elsec
+; push foo
+ push foo
+; endc
+; \ No newline at end of file
diff --git a/gas/testsuite/gasp/mri/irp.asm b/gas/testsuite/gasp/mri/irp.asm
new file mode 100644
index 00000000000..cda21d9ed3b
--- /dev/null
+++ b/gas/testsuite/gasp/mri/irp.asm
@@ -0,0 +1,4 @@
+ irp param,arg1,arg2,arg3
+ dc.l param
+ endr
+ end quit
diff --git a/gas/testsuite/gasp/mri/irp.out b/gas/testsuite/gasp/mri/irp.out
new file mode 100644
index 00000000000..9105620406f
--- /dev/null
+++ b/gas/testsuite/gasp/mri/irp.out
@@ -0,0 +1,8 @@
+; irp param,arg1,arg2,arg3
+; dc.l param
+; endr
+ dc.l arg1
+ dc.l arg2
+ dc.l arg3
+; end quit
+ end quit
diff --git a/gas/testsuite/gasp/mri/irpc.asm b/gas/testsuite/gasp/mri/irpc.asm
new file mode 100644
index 00000000000..a51d6878919
--- /dev/null
+++ b/gas/testsuite/gasp/mri/irpc.asm
@@ -0,0 +1,3 @@
+ irpc dummy,1234
+ dc.l dummy
+ endr
diff --git a/gas/testsuite/gasp/mri/irpc.out b/gas/testsuite/gasp/mri/irpc.out
new file mode 100644
index 00000000000..59f8824fa6d
--- /dev/null
+++ b/gas/testsuite/gasp/mri/irpc.out
@@ -0,0 +1,8 @@
+; irpc dummy,1234
+; dc.l dummy
+; endr
+ dc.l 1
+ dc.l 2
+ dc.l 3
+ dc.l 4
+; \ No newline at end of file
diff --git a/gas/testsuite/gasp/mri/macro.asm b/gas/testsuite/gasp/mri/macro.asm
new file mode 100644
index 00000000000..b711bd0b412
--- /dev/null
+++ b/gas/testsuite/gasp/mri/macro.asm
@@ -0,0 +1,8 @@
+get macro arg1,arg2,arg3
+ dc.l arg1
+ arg2
+arg3 dc.l \4
+ move.\0 d0,d1
+ endm
+
+ get.b 1,<dc.l 2>,label,four
diff --git a/gas/testsuite/gasp/mri/macro.out b/gas/testsuite/gasp/mri/macro.out
new file mode 100644
index 00000000000..86eeb944a2e
--- /dev/null
+++ b/gas/testsuite/gasp/mri/macro.out
@@ -0,0 +1,18 @@
+;get macro arg1,arg2,arg3
+; dc.l arg1
+; arg2
+;arg3 dc.l \4
+; move.\0 d0,d1
+; endm
+;
+
+; get.b 1,<dc.l 2>,label,four
+; dc.l 1
+ dc.l 1
+; dc.l 2
+ dc.l 2
+;label dc.l four
+label: dc.l four
+; move.b d0,d1
+ move.b d0,d1
+; \ No newline at end of file
diff --git a/gas/testsuite/gasp/mri/narg.asm b/gas/testsuite/gasp/mri/narg.asm
new file mode 100644
index 00000000000..114c94032e9
--- /dev/null
+++ b/gas/testsuite/gasp/mri/narg.asm
@@ -0,0 +1,9 @@
+loop macro arg1,arg2,arg3
+ dc.l NARG
+ ifne NARG
+ dc.l arg1
+ loop arg2,arg3
+ endc
+ endm
+
+ loop 1,2,3
diff --git a/gas/testsuite/gasp/mri/narg.out b/gas/testsuite/gasp/mri/narg.out
new file mode 100644
index 00000000000..723ebc1142b
--- /dev/null
+++ b/gas/testsuite/gasp/mri/narg.out
@@ -0,0 +1,38 @@
+;loop macro arg1,arg2,arg3
+; dc.l NARG
+; ifne NARG
+; dc.l arg1
+; loop arg2,arg3
+; endc
+; endm
+;
+
+; loop 1,2,3
+; dc.l 3
+ dc.l 3
+; ifne 3
+; dc.l 1
+ dc.l 1
+; loop 2,3
+; dc.l 2
+ dc.l 2
+; ifne 2
+; dc.l 2
+ dc.l 2
+; loop 3,
+; dc.l 1
+ dc.l 1
+; ifne 1
+; dc.l 3
+ dc.l 3
+; loop ,
+; dc.l 0
+ dc.l 0
+; ifne 0
+; dc.l
+; loop ,
+; endc
+; endc
+; endc
+; endc
+; \ No newline at end of file
diff --git a/gas/testsuite/gasp/mri/rept.asm b/gas/testsuite/gasp/mri/rept.asm
new file mode 100644
index 00000000000..d563bb217a7
--- /dev/null
+++ b/gas/testsuite/gasp/mri/rept.asm
@@ -0,0 +1,3 @@
+ rept 3
+ dc.l 1
+ endr
diff --git a/gas/testsuite/gasp/mri/rept.out b/gas/testsuite/gasp/mri/rept.out
new file mode 100644
index 00000000000..da4ed6be579
--- /dev/null
+++ b/gas/testsuite/gasp/mri/rept.out
@@ -0,0 +1,16 @@
+; rept 3
+; dc.l 1
+; endr
+; dc.l 1
+ dc.l 1
+; REPT 2
+; dc.l 1
+; ENDR
+; dc.l 1
+ dc.l 1
+; REPT 1
+; dc.l 1
+; ENDR
+; dc.l 1
+ dc.l 1
+; \ No newline at end of file