123 lines · plain
1# RUN: not llvm-mc -triple riscv32 -mattr=+e,+zca < %s 2>&1 | FileCheck %s2# RUN: llvm-mc -filetype=obj -triple=riscv32 -mattr=+zca < %s \3# RUN: | llvm-objdump --mattr=+e,+zca -M no-aliases -d -r - \4# RUN: | FileCheck -check-prefix=CHECK-DIS %s5# RUN: not llvm-mc -triple riscv64 -mattr=+e,+zca < %s 2>&1 | FileCheck %s6# RUN: llvm-mc -filetype=obj -triple=riscv64 -mattr=+zca < %s \7# RUN: | llvm-objdump --mattr=+e,+zca -M no-aliases -d -r - \8# RUN: | FileCheck -check-prefix=CHECK-DIS %s9 10# Perform a simple check that registers x16-x31 (and the equivalent ABI names)11# are rejected for RV32E/RV64E, when both assembling and disassembling.12 13.option push14.option exact15# CHECK-DIS: 00001837 <unknown>16# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction17lui x16, 118# CHECK-DIS: 000028b7 <unknown>19# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction20lui x17, 221# CHECK-DIS: 00003937 <unknown>22# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction23lui x18, 324# CHECK-DIS: 000049b7 <unknown>25# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction26lui x19, 427# CHECK-DIS: 00005a37 <unknown>28# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction29lui x20, 530# CHECK-DIS: 00006ab7 <unknown>31# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction32lui x21, 633# CHECK-DIS: 00007b37 <unknown>34# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction35lui x22, 736# CHECK-DIS: 00008bb7 <unknown>37# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction38lui x23, 839# CHECK-DIS: 00009c37 <unknown>40# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction41lui x24, 942# CHECK-DIS: 0000acb7 <unknown>43# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction44lui x25, 1045# CHECK-DIS: 0000bd37 <unknown>46# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction47lui x26, 1148# CHECK-DIS: 0000cdb7 <unknown>49# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction50lui x27, 1251# CHECK-DIS: 0000de37 <unknown>52# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction53lui x28, 1354# CHECK-DIS: 0000eeb7 <unknown>55# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction56lui x29, 1457# CHECK-DIS: 0000ff37 <unknown>58# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction59lui x30, 1560# CHECK-DIS: 00010fb7 <unknown>61# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction62lui x31, 1663 64# CHECK-DIS: 00011817 <unknown>65# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction66auipc a6, 1767# CHECK-DIS: 00012897 <unknown>68# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction69auipc a7, 1870# CHECK-DIS: 00013917 <unknown>71# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction72auipc s2, 1973# CHECK-DIS: 00014997 <unknown>74# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction75auipc s3, 2076# CHECK-DIS: 00015a17 <unknown>77# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction78auipc s4, 2179# CHECK-DIS: 00016a97 <unknown>80# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction81auipc s5, 2282# CHECK-DIS: 00017b17 <unknown>83# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction84auipc s6, 2385# CHECK-DIS: 00018b97 <unknown>86# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction87auipc s7, 2488# CHECK-DIS: 00019c17 <unknown>89# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction90auipc s8, 2591# CHECK-DIS: 0001ac97 <unknown>92# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction93auipc s9, 2694# CHECK-DIS: 0001bd17 <unknown>95# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction96auipc s10, 2797# CHECK-DIS: 0001cd97 <unknown>98# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction99auipc s11, 28100# CHECK-DIS: 0001de17 <unknown>101# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction102auipc t3, 29103# CHECK-DIS: 0001ee97 <unknown>104# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction105auipc t4, 30106# CHECK-DIS: 0001ff17 <unknown>107# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction108auipc t5, 31109# CHECK-DIS: 00020f97 <unknown>110# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction111auipc t6, 32112.option pop113 114# CHECK-DIS: 0f81 <unknown>115# CHECK: :[[@LINE+1]]:8: error: register must be a GPR excluding zero (x0)116c.addi x31, 0117# CHECK-DIS: 9846 <unknown>118# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction119c.add x16, x17120# CHECK-DIS: 8046 <unknown>121# CHECK: :[[@LINE+1]]:10: error: register must be a GPR excluding zero (x0)122c.mv x0, x17123