130 lines · plain
1# Xqcics - Qualcomm uC Conditional Select Extension2# RUN: not llvm-mc -triple riscv32 -mattr=+experimental-xqcics < %s 2>&1 \3# RUN: | FileCheck -check-prefixes=CHECK,CHECK-IMM %s4# RUN: not llvm-mc -triple riscv32 -mattr=-experimental-xqcics < %s 2>&1 \5# RUN: | FileCheck -check-prefixes=CHECK,CHECK-EXT %s6 7# CHECK-PLUS: :[[@LINE+2]]:14: error: register must be a GPR excluding zero (x0)8# CHECK-MINUS: :[[@LINE+1]]:14: error: invalid operand for instruction9qc.selecteqi 9, 15, x4, x310 11# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction12qc.selecteqi x9, 15, x413 14# CHECK-IMM: :[[@LINE+1]]:18: error: immediate must be an integer in the range [-16, 15]15qc.selecteqi x9, 16, x4, x316 17# CHECK-EXT: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcics' (Qualcomm uC Conditional Select Extension)18qc.selecteqi x9, 15, x4, x319 20 21# CHECK-PLUS: :[[@LINE+2]]:14: error: register must be a GPR excluding zero (x0)22# CHECK-MINUS: :[[@LINE+1]]:14: error: invalid operand for instruction23qc.selectieq 8, x4, x3, 1224 25# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction26qc.selectieq x8, x4, x327 28# CHECK-IMM: :[[@LINE+1]]:26: error: immediate must be an integer in the range [-16, 15]29qc.selectieq x8, x4, x3, 1730 31# CHECK-EXT: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcics' (Qualcomm uC Conditional Select Extension)32qc.selectieq x8, x4, x3, 1233 34 35# CHECK-PLUS: :[[@LINE+2]]:15: error: register must be a GPR excluding zero (x0)36# CHECK-MINUS: :[[@LINE+1]]:15: error: invalid operand for instruction37qc.selectieqi 9, 11, x3, 1238 39# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction40qc.selectieqi x9, 11, x341 42# CHECK-IMM: :[[@LINE+1]]:19: error: immediate must be an integer in the range [-16, 15]43qc.selectieqi x9, 16, x3, 1244 45# CHECK-IMM: :[[@LINE+1]]:27: error: immediate must be an integer in the range [-16, 15]46qc.selectieqi x9, 11, x3, 1847 48# CHECK-EXT: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcics' (Qualcomm uC Conditional Select Extension)49qc.selectieqi x9, 11, x3, 1250 51 52# CHECK-PLUS: :[[@LINE+2]]:15: error: register must be a GPR excluding zero (x0)53# CHECK-MINUS: :[[@LINE+1]]:15: error: invalid operand for instruction54qc.selectiieq 9, x3, 11, 1255 56# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction57qc.selectiieq x9, x3, 1158 59# CHECK-IMM: :[[@LINE+1]]:23: error: immediate must be an integer in the range [-16, 15]60qc.selectiieq x9, x3, 16, 1261 62# CHECK-IMM: :[[@LINE+1]]:27: error: immediate must be an integer in the range [-16, 15]63qc.selectiieq x9, x3, 11, 1764 65# CHECK-EXT: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcics' (Qualcomm uC Conditional Select Extension)66qc.selectiieq x9, x3, 11, 1267 68 69# CHECK-PLUS: :[[@LINE+2]]:15: error: register must be a GPR excluding zero (x0)70# CHECK-MINUS: :[[@LINE+1]]:15: error: invalid operand for instruction71qc.selectiine 8, x3, 10, 1172 73# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction74qc.selectiine x8, x3, 1075 76# CHECK-IMM: :[[@LINE+1]]:23: error: immediate must be an integer in the range [-16, 15]77qc.selectiine x8, x3, 16, 1178 79# CHECK-IMM: :[[@LINE+1]]:27: error: immediate must be an integer in the range [-16, 15]80qc.selectiine x8, x3, 12, 1881 82# CHECK-EXT: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcics' (Qualcomm uC Conditional Select Extension)83qc.selectiine x8, x3, 10, 1184 85 86# CHECK-PLUS: :[[@LINE+2]]:14: error: register must be a GPR excluding zero (x0)87# CHECK-MINUS: :[[@LINE+1]]:14: error: invalid operand for instruction88qc.selectine 8, x3, x4, 1189 90# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction91qc.selectine x8, x3, x492 93# CHECK-IMM: :[[@LINE+1]]:26: error: immediate must be an integer in the range [-16, 15]94qc.selectine x8, x3, x4, 1695 96# CHECK-EXT: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcics' (Qualcomm uC Conditional Select Extension)97qc.selectine x8, x3, x4, 1198 99 100# CHECK-PLUS: :[[@LINE+2]]:15: error: register must be a GPR excluding zero (x0)101# CHECK-MINUS: :[[@LINE+1]]:15: error: invalid operand for instruction102qc.selectinei 8, 11, x3, 12103 104# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction105qc.selectinei x8, 11, x3106 107# CHECK-IMM: :[[@LINE+1]]:19: error: immediate must be an integer in the range [-16, 15]108qc.selectinei x8, 16, x3, 12109 110# CHECK-IMM: :[[@LINE+1]]:27: error: immediate must be an integer in the range [-16, 15]111qc.selectinei x8, 11, x3, 18112 113# CHECK-EXT: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcics' (Qualcomm uC Conditional Select Extension)114qc.selectinei x8, 11, x3, 12115 116 117# CHECK-PLUS: :[[@LINE+2]]:14: error: register must be a GPR excluding zero (x0)118# CHECK-MINUS: :[[@LINE+1]]:14: error: invalid operand for instruction119qc.selectnei 8, 11, x3, x5120 121# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction122qc.selectnei x8, 11, x3123 124# CHECK-IMM: :[[@LINE+1]]:18: error: immediate must be an integer in the range [-16, 15]125qc.selectnei x8, 16, x3, x5126 127# CHECK-EXT: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcics' (Qualcomm uC Conditional Select Extension)128qc.selectnei x8, 11, x3, x5129 130