summaryrefslogtreecommitdiffstats
path: root/llvm/test/MC/RISCV/rv64c-valid.s
diff options
context:
space:
mode:
authorSimon Cook <simon.cook@embecosm.com>2019-12-10 16:44:48 +0000
committerSimon Cook <simon.cook@embecosm.com>2019-12-10 16:44:48 +0000
commita6e50e40e6ddaaefff944dc97379b51af7687cae (patch)
tree1f9446dac22498e4cf2c6315eb42842d48efe7ec /llvm/test/MC/RISCV/rv64c-valid.s
parent0be81968a283fd4161cb9ac9748d5ed200926292 (diff)
downloadbcm5719-llvm-a6e50e40e6ddaaefff944dc97379b51af7687cae.tar.gz
bcm5719-llvm-a6e50e40e6ddaaefff944dc97379b51af7687cae.zip
[RISCV] Improve assembler missing feature warnings
This adds support for printing improved missing feature error messages from the assembler, which now indicates which feature caused the parse to fail. Differential Revision: https://reviews.llvm.org/D69899
Diffstat (limited to 'llvm/test/MC/RISCV/rv64c-valid.s')
-rw-r--r--llvm/test/MC/RISCV/rv64c-valid.s28
1 files changed, 17 insertions, 11 deletions
diff --git a/llvm/test/MC/RISCV/rv64c-valid.s b/llvm/test/MC/RISCV/rv64c-valid.s
index 277a6b26d88..85933e96a83 100644
--- a/llvm/test/MC/RISCV/rv64c-valid.s
+++ b/llvm/test/MC/RISCV/rv64c-valid.s
@@ -10,27 +10,29 @@
# RUN: | FileCheck -check-prefixes=CHECK-NO-EXT %s
# RUN: not llvm-mc -triple riscv32 -mattr=+c \
# RUN: -riscv-no-aliases -show-encoding < %s 2>&1 \
-# RUN: | FileCheck -check-prefixes=CHECK-NO-EXT %s
-
-# FIXME: error messages for rv32c are misleading
+# RUN: | FileCheck -check-prefixes=CHECK-NO-RV64 %s
# TODO: more exhaustive testing of immediate encoding.
# CHECK-ASM-AND-OBJ: c.ldsp ra, 0(sp)
# CHECK-ASM: encoding: [0x82,0x60]
-# CHECK-NO-EXT: error: instruction use requires an option to be enabled
+# CHECK-NO-EXT: error: instruction requires the following: 'C' (Compressed Instructions)
+# CHECK-NO-RV64: error: instruction requires the following: RV64I Base Instruction Set
c.ldsp ra, 0(sp)
# CHECK-ASM-AND-OBJ: c.sdsp ra, 504(sp)
# CHECK-ASM: encoding: [0x86,0xff]
-# CHECK-NO-EXT: error: instruction use requires an option to be enabled
+# CHECK-NO-EXT: error: instruction requires the following: 'C' (Compressed Instructions)
+# CHECK-NO-RV64: error: instruction requires the following: RV64I Base Instruction Set
c.sdsp ra, 504(sp)
# CHECK-ASM-AND-OBJ: c.ld a4, 0(a3)
# CHECK-ASM: encoding: [0x98,0x62]
-# CHECK-NO-EXT: error: instruction use requires an option to be enabled
+# CHECK-NO-EXT: error: instruction requires the following: 'C' (Compressed Instructions)
+# CHECK-NO-RV64: error: instruction requires the following: RV64I Base Instruction Set
c.ld a4, 0(a3)
# CHECK-ASM-AND-OBJ: c.sd a5, 248(a3)
# CHECK-ASM: encoding: [0xfc,0xfe]
-# CHECK-NO-EXT: error: instruction use requires an option to be enabled
+# CHECK-NO-EXT: error: instruction requires the following: 'C' (Compressed Instructions)
+# CHECK-NO-RV64: error: instruction requires the following: RV64I Base Instruction Set
c.sd a5, 248(a3)
# CHECK-ASM-AND-OBJ: c.subw a3, a4
@@ -38,21 +40,25 @@ c.sd a5, 248(a3)
c.subw a3, a4
# CHECK-ASM-AND-OBJ: c.addw a0, a2
# CHECK-ASM: encoding: [0x31,0x9d]
-# CHECK-NO-EXT: error: instruction use requires an option to be enabled
+# CHECK-NO-EXT: error: instruction requires the following: 'C' (Compressed Instructions)
+# CHECK-NO-RV64: error: instruction requires the following: RV64I Base Instruction Set
c.addw a0, a2
# CHECK-ASM-AND-OBJ: c.addiw a3, -32
# CHECK-ASM: encoding: [0x81,0x36]
-# CHECK-NO-EXT: error: instruction use requires an option to be enabled
+# CHECK-NO-EXT: error: instruction requires the following: 'C' (Compressed Instructions)
+# CHECK-NO-RV64: error: instruction requires the following: RV64I Base Instruction Set
c.addiw a3, -32
# CHECK-ASM-AND-OBJ: c.addiw a3, 31
# CHECK-ASM: encoding: [0xfd,0x26]
-# CHECK-NO-EXT: error: instruction use requires an option to be enabled
+# CHECK-NO-EXT: error: instruction requires the following: 'C' (Compressed Instructions)
+# CHECK-NO-RV64: error: instruction requires the following: RV64I Base Instruction Set
c.addiw a3, 31
# CHECK-ASM-AND-OBJ: c.slli s0, 1
# CHECK-ASM: encoding: [0x06,0x04]
-# CHECK-NO-EXT: error: instruction use requires an option to be enabled
+# CHECK-NO-EXT: error: instruction requires the following: 'C' (Compressed Instructions)
+# CHECK-NO-RV64: error: instruction requires the following: RV64I Base Instruction Set
c.slli s0, 1
# CHECK-ASM-AND-OBJ: c.srli a3, 63
# CHECK-ASM: encoding: [0xfd,0x92]
OpenPOWER on IntegriCloud