summaryrefslogtreecommitdiffstats
path: root/llvm/test/MC/RISCV/rv32c-valid.s
diff options
context:
space:
mode:
authorAlex Bradbury <asb@lowrisc.org>2017-12-07 12:50:32 +0000
committerAlex Bradbury <asb@lowrisc.org>2017-12-07 12:50:32 +0000
commit9f6aec4b7aab9a0c0d33bff634af0e148ed580ef (patch)
tree3c927837c770161d62d555607491b2ba10679f83 /llvm/test/MC/RISCV/rv32c-valid.s
parent87a54d611042449aff1c8f6ceee417af85dee193 (diff)
downloadbcm5719-llvm-9f6aec4b7aab9a0c0d33bff634af0e148ed580ef.tar.gz
bcm5719-llvm-9f6aec4b7aab9a0c0d33bff634af0e148ed580ef.zip
[RISCV] MC layer support for load/store instructions of the C (compressed) extension
Differential Revision: https://reviews.llvm.org/D40001 Patch by Shiva Chen. llvm-svn: 320037
Diffstat (limited to 'llvm/test/MC/RISCV/rv32c-valid.s')
-rw-r--r--llvm/test/MC/RISCV/rv32c-valid.s23
1 files changed, 23 insertions, 0 deletions
diff --git a/llvm/test/MC/RISCV/rv32c-valid.s b/llvm/test/MC/RISCV/rv32c-valid.s
new file mode 100644
index 00000000000..86c2dff5698
--- /dev/null
+++ b/llvm/test/MC/RISCV/rv32c-valid.s
@@ -0,0 +1,23 @@
+# RUN: llvm-mc -triple=riscv32 -mattr=+c -show-encoding < %s \
+# RUN: | FileCheck -check-prefixes=CHECK,CHECK-INST %s
+# RUN: llvm-mc -triple=riscv64 -mattr=+c -show-encoding < %s \
+# RUN: | FileCheck -check-prefixes=CHECK,CHECK-INST %s
+# RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=+c < %s \
+# RUN: | llvm-objdump -mattr=+c -d - | FileCheck -check-prefix=CHECK-INST %s
+# RUN: llvm-mc -filetype=obj -triple riscv64 -mattr=+c < %s \
+# RUN: | llvm-objdump -mattr=+c -d - | FileCheck -check-prefix=CHECK-INST %s
+
+# TODO: more exhaustive testing of immediate encoding.
+
+# CHECK-INST: c.lwsp ra, 0(sp)
+# CHECK: encoding: [0x82,0x40]
+c.lwsp ra, 0(sp)
+# CHECK-INST: c.swsp ra, 252(sp)
+# CHECK: encoding: [0x86,0xdf]
+c.swsp ra, 252(sp)
+# CHECK-INST: c.lw a2, 0(a0)
+# CHECK: encoding: [0x10,0x41]
+c.lw a2, 0(a0)
+# CHECK-INST: c.sw a5, 124(a3)
+# CHECK: encoding: [0xfc,0xde]
+c.sw a5, 124(a3)
OpenPOWER on IntegriCloud