54 lines · plain
1# RUN: not llvm-mc -triple=riscv32 -mattr=zcmp -M no-aliases -show-encoding < %s 2>&1 \2# RUN: | FileCheck -check-prefixes=CHECK-ERROR %s3 4# CHECK-ERROR: :[[@LINE+1]]:11: error: invalid operand for instruction5cm.mvsa01 a1, a26 7# CHECK-ERROR: :[[@LINE+1]]:11: error: rs1 and rs2 must be different8cm.mvsa01 s0, s09 10# CHECK-ERROR: :[[@LINE+1]]:11: error: invalid operand for instruction11cm.mva01s a1, a212 13# CHECK-ERROR: :[[@LINE+1]]:12: error: invalid register list, '{ra, s0-s10}' or '{x1, x8-x9, x18-x26}' is not supported14cm.popretz {ra, s0-s10}, 11215 16# CHECK-ERROR: :[[@LINE+1]]:25: error: stack adjustment for register list must be a multiple of 16 bytes in the range [16, 64]17cm.popretz {ra, s0-s1}, 11218 19# CHECK-ERROR: :[[@LINE+1]]:15: error: stack adjustment for register list must be a multiple of 16 bytes in the range [-64, -16]20cm.push {ra}, 1621 22# CHECK-ERROR: :[[@LINE+1]]:21: error: stack adjustment for register list must be a multiple of 16 bytes in the range [16, 64]23cm.pop {ra, s0-s1}, -3224 25# CHECK-ERROR: :[[@LINE+1]]:15: error: stack adjustment for register list must be a multiple of 16 bytes in the range [-64, -16]26cm.push {ra}, -827 28# CHECK-ERROR: :[[@LINE+1]]:9: error: register list must start from 'ra' or 'x1'29cm.pop {s0}, -4030 31# CHECK-ERROR: :[[@LINE+1]]:13: error: register must be 's0'32cm.pop {ra, t1}, -4033 34# CHECK-ERROR: :[[@LINE+1]]:16: error: register must be in the range 's1' to 's11'35cm.pop {ra, s0-t1}, -4036 37# CHECK-ERROR: :[[@LINE+1]]:20: error: register must be 'x18'38cm.pop {x1, x8-x9, x28}, -4039 40# CHECK-ERROR: :[[@LINE+1]]:24: error: register must be in the range 'x19' to 'x27'41cm.pop {x1, x8-x9, x18-x28}, -4042 43# CHECK-ERROR: :[[@LINE+1]]:24: error: register must be in the range 'x19' to 'x27'44cm.pop {x1, x8-x9, x18-x17}, -4045 46# CHECK-ERROR: :[[@LINE+1]]:16: error: register must be 'x9'47cm.pop {x1, x8-f8, x18-x17}, -4048 49# CHECK-ERROR: :[[@LINE+1]]:9: error: operand must be {ra [, s0[-sN]]} or {x1 [, x8[-x9][, x18[-xN]]]}50cm.push x1, -1651 52# CHECK-ERROR: :[[@LINE+1]]:16: error: register must be in the range 's1' to 's11'53cm.pop {ra, s0-f8}, -4054