summaryrefslogtreecommitdiffstats
path: root/test/MC/Mips/mips-control-instructions.s
diff options
context:
space:
mode:
authorVladimir Medic <Vladimir.Medic@imgtec.com>2013-07-17 14:05:19 +0000
committerVladimir Medic <Vladimir.Medic@imgtec.com>2013-07-17 14:05:19 +0000
commit16f385f90f481195bfcf6b139ced4cee033bb887 (patch)
tree971d4f72b0bf0fca2858ffdade72ab7140fd47be /test/MC/Mips/mips-control-instructions.s
parentc88ac4a344bdb5b3ade5c24d67e1227c4d3a8978 (diff)
Implement eret and deret(return from exception) instructions for Mips. Test examples are given.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186507 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC/Mips/mips-control-instructions.s')
-rw-r--r--test/MC/Mips/mips-control-instructions.s28
1 files changed, 28 insertions, 0 deletions
diff --git a/test/MC/Mips/mips-control-instructions.s b/test/MC/Mips/mips-control-instructions.s
new file mode 100644
index 000000000000..ee709402af9a
--- /dev/null
+++ b/test/MC/Mips/mips-control-instructions.s
@@ -0,0 +1,28 @@
+# RUN: llvm-mc %s -triple=mips-unknown-unknown -show-encoding -mcpu=mips32r2 | \
+# RUN: FileCheck -check-prefix=CHECK32 %s
+# RUN: llvm-mc %s -triple=mips-unknown-unknown -show-encoding -mcpu=mips64r2 | \
+# RUN: FileCheck -check-prefix=CHECK64 %s
+
+# CHECK32: break # encoding: [0x00,0x00,0x00,0x0d]
+# CHECK32: break 7, 0 # encoding: [0x00,0x07,0x00,0x0d]
+# CHECK32: break 7, 5 # encoding: [0x00,0x07,0x01,0x4d]
+# CHECK32: syscall # encoding: [0x00,0x00,0x00,0x0c]
+# CHECK32: syscall 13396 # encoding: [0x00,0x0d,0x15,0x0c]
+# CHECK32: eret # encoding: [0x42,0x00,0x00,0x18]
+# CHECK32: deret # encoding: [0x42,0x00,0x00,0x1f]
+
+# CHECK64: break # encoding: [0x00,0x00,0x00,0x0d]
+# CHECK64: break 7, 0 # encoding: [0x00,0x07,0x00,0x0d]
+# CHECK64: break 7, 5 # encoding: [0x00,0x07,0x01,0x4d]
+# CHECK64: syscall # encoding: [0x00,0x00,0x00,0x0c]
+# CHECK64: syscall 13396 # encoding: [0x00,0x0d,0x15,0x0c]
+# CHECK64: eret # encoding: [0x42,0x00,0x00,0x18]
+# CHECK64: deret # encoding: [0x42,0x00,0x00,0x1f]
+
+ break
+ break 7
+ break 7,5
+ syscall
+ syscall 0x3454
+ eret
+ deret