1# RUN: not llvm-mc -triple riscv32 -mattr=+e < %s 2>&1 | FileCheck %s 2# RUN: llvm-mc -filetype=obj -triple=riscv32 < %s \ 3# RUN: | llvm-objdump --mattr=+e -M no-aliases -d -r - \ 4# RUN: | FileCheck -check-prefix=CHECK-DIS %s 5 6# Perform a simple sanity check that registers x16-x31 (and the equivalent 7# ABI names) are rejected for RV32E, when both assembling and disassembling. 8 9 10# CHECK-DIS: 37 18 00 00 <unknown> 11# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction 12lui x16, 1 13# CHECK-DIS: b7 28 00 00 <unknown> 14# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction 15lui x17, 2 16# CHECK-DIS: 37 39 00 00 <unknown> 17# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction 18lui x18, 3 19# CHECK-DIS: b7 49 00 00 <unknown> 20# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction 21lui x19, 4 22# CHECK-DIS: 37 5a 00 00 <unknown> 23# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction 24lui x20, 5 25# CHECK-DIS: b7 6a 00 00 <unknown> 26# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction 27lui x21, 6 28# CHECK-DIS: 37 7b 00 00 <unknown> 29# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction 30lui x22, 7 31# CHECK-DIS: b7 8b 00 00 <unknown> 32# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction 33lui x23, 8 34# CHECK-DIS: 37 9c 00 00 <unknown> 35# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction 36lui x24, 9 37# CHECK-DIS: b7 ac 00 00 <unknown> 38# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction 39lui x25, 10 40# CHECK-DIS: 37 bd 00 00 <unknown> 41# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction 42lui x26, 11 43# CHECK-DIS: b7 cd 00 00 <unknown> 44# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction 45lui x27, 12 46# CHECK-DIS: 37 de 00 00 <unknown> 47# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction 48lui x28, 13 49# CHECK-DIS: b7 ee 00 00 <unknown> 50# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction 51lui x29, 14 52# CHECK-DIS: 37 ff 00 00 <unknown> 53# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction 54lui x30, 15 55# CHECK-DIS: b7 0f 01 00 <unknown> 56# CHECK: :[[@LINE+1]]:5: error: invalid operand for instruction 57lui x31, 16 58 59# CHECK-DIS: 17 18 01 00 <unknown> 60# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction 61auipc a6, 17 62# CHECK-DIS: 97 28 01 00 <unknown> 63# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction 64auipc a7, 18 65# CHECK-DIS: 17 39 01 00 <unknown> 66# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction 67auipc s2, 19 68# CHECK-DIS: 97 49 01 00 <unknown> 69# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction 70auipc s3, 20 71# CHECK-DIS: 17 5a 01 00 <unknown> 72# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction 73auipc s4, 21 74# CHECK-DIS: 97 6a 01 00 <unknown> 75# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction 76auipc s5, 22 77# CHECK-DIS: 17 7b 01 00 <unknown> 78# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction 79auipc s6, 23 80# CHECK-DIS: 97 8b 01 00 <unknown> 81# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction 82auipc s7, 24 83# CHECK-DIS: 17 9c 01 00 <unknown> 84# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction 85auipc s8, 25 86# CHECK-DIS: 97 ac 01 00 <unknown> 87# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction 88auipc s9, 26 89# CHECK-DIS: 17 bd 01 00 <unknown> 90# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction 91auipc s10, 27 92# CHECK-DIS: 97 cd 01 00 <unknown> 93# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction 94auipc s11, 28 95# CHECK-DIS: 17 de 01 00 <unknown> 96# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction 97auipc t3, 29 98# CHECK-DIS: 97 ee 01 00 <unknown> 99# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction 100auipc t4, 30 101# CHECK-DIS: 17 ff 01 00 <unknown> 102# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction 103auipc t5, 31 104# CHECK-DIS: 97 0f 02 00 <unknown> 105# CHECK: :[[@LINE+1]]:7: error: invalid operand for instruction 106auipc t6, 32 107