31 lines · plain
1# RUN: llvm-mc %s -triple=riscv32 -mattr=+smctr -M no-aliases -show-encoding \2# RUN: | FileCheck -check-prefixes=CHECK,CHECK-INST %s3# RUN: llvm-mc %s -triple=riscv64 -mattr=+smctr -M no-aliases -show-encoding \4# RUN: | FileCheck -check-prefixes=CHECK,CHECK-INST %s5# RUN: llvm-mc %s -triple=riscv32 -mattr=+ssctr -M no-aliases -show-encoding \6# RUN: | FileCheck -check-prefixes=CHECK,CHECK-INST %s7# RUN: llvm-mc %s -triple=riscv64 -mattr=+ssctr -M no-aliases -show-encoding \8# RUN: | FileCheck -check-prefixes=CHECK,CHECK-INST %s9# RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=+smctr < %s \10# RUN: | llvm-objdump --mattr=+smctr -M no-aliases -d - \11# RUN: | FileCheck -check-prefix=CHECK-INST %s12# RUN: llvm-mc -filetype=obj -triple riscv64 -mattr=+smctr < %s \13# RUN: | llvm-objdump --mattr=+smctr -M no-aliases -d - \14# RUN: | FileCheck -check-prefix=CHECK-INST %s15# RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=+ssctr < %s \16# RUN: | llvm-objdump --mattr=+ssctr -M no-aliases -d - \17# RUN: | FileCheck -check-prefix=CHECK-INST %s18# RUN: llvm-mc -filetype=obj -triple riscv64 -mattr=+ssctr < %s \19# RUN: | llvm-objdump --mattr=+ssctr -M no-aliases -d - \20# RUN: | FileCheck -check-prefix=CHECK-INST %s21 22# RUN: not llvm-mc -triple riscv32 -M no-aliases -show-encoding < %s 2>&1 \23# RUN: | FileCheck -check-prefixes=CHECK-NO-EXT %s24# RUN: not llvm-mc -triple riscv64 -defsym=RV64=1 -M no-aliases -show-encoding < %s 2>&1 \25# RUN: | FileCheck -check-prefixes=CHECK-NO-EXT %s26 27# CHECK-INST: sctrclr28# CHECK: encoding: [0x73,0x00,0x40,0x10]29# CHECK-NO-EXT: error: instruction requires the following: 'Smctr' (Control Transfer Records Machine Level) or 'Ssctr' (Control Transfer Records Supervisor Level){{$}}30sctrclr31