566 lines · plain
1# Xqcibm - Qualcomm uC Bit Manipulation Extension2# RUN: not llvm-mc -triple riscv32 -mattr=+experimental-xqcibm < %s 2>&1 \3# RUN: | FileCheck -check-prefixes=CHECK,CHECK-PLUS %s4# RUN: not llvm-mc -triple riscv32 -mattr=-experimental-xqcibm < %s 2>&1 \5# RUN: | FileCheck -check-prefixes=CHECK,CHECK-MINUS %s6 7# CHECK-PLUS: :[[@LINE+2]]:18: error: register must be a GPR excluding zero (x0)8# CHECK-MINUS: :[[@LINE+1]]:18: error: invalid operand for instruction9qc.compress2 x7, 510 11# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction12qc.compress2 x713 14# CHECK-PLUS: :[[@LINE+2]]:14: error: register must be a GPR excluding zero (x0)15# CHECK-MINUS: :[[@LINE+1]]:14: error: invalid operand for instruction16qc.compress2 x0,x517 18# CHECK-PLUS: :[[@LINE+2]]:18: error: register must be a GPR excluding zero (x0)19# CHECK-MINUS: :[[@LINE+1]]:18: error: invalid operand for instruction20qc.compress2 x7, x021 22# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcibm' (Qualcomm uC Bit Manipulation Extension)23qc.compress2 x7, x524 25 26# CHECK-PLUS: :[[@LINE+2]]:19: error: register must be a GPR excluding zero (x0)27# CHECK-MINUS: :[[@LINE+1]]:19: error: invalid operand for instruction28qc.compress3 x10, 2229 30# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction31qc.compress3 x1032 33# CHECK-PLUS: :[[@LINE+2]]:14: error: register must be a GPR excluding zero (x0)34# CHECK-MINUS: :[[@LINE+1]]:14: error: invalid operand for instruction35qc.compress3 x0, x2236 37# CHECK-PLUS: :[[@LINE+2]]:19: error: register must be a GPR excluding zero (x0)38# CHECK-MINUS: :[[@LINE+1]]:19: error: invalid operand for instruction39qc.compress3 x10, x040 41# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcibm' (Qualcomm uC Bit Manipulation Extension)42qc.compress3 x10, x2243 44 45# CHECK-PLUS: :[[@LINE+2]]:17: error: register must be a GPR excluding zero (x0)46# CHECK-MINUS: :[[@LINE+1]]:17: error: invalid operand for instruction47qc.expand2 x23, 2348 49# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction50qc.expand2 x2351 52# CHECK-PLUS: :[[@LINE+2]]:12: error: register must be a GPR excluding zero (x0)53# CHECK-MINUS: :[[@LINE+1]]:12: error: invalid operand for instruction54qc.expand2 x0, x2355 56# CHECK-PLUS: :[[@LINE+2]]:17: error: register must be a GPR excluding zero (x0)57# CHECK-MINUS: :[[@LINE+1]]:17: error: invalid operand for instruction58qc.expand2 x23, x059 60# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcibm' (Qualcomm uC Bit Manipulation Extension)61qc.expand2 x23, x2362 63 64# CHECK-PLUS: :[[@LINE+2]]:16: error: register must be a GPR excluding zero (x0)65# CHECK-MINUS: :[[@LINE+1]]:16: error: invalid operand for instruction66qc.expand3 x2, 667 68# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction69qc.expand3 x270 71# CHECK-PLUS: :[[@LINE+2]]:12: error: register must be a GPR excluding zero (x0)72# CHECK-MINUS: :[[@LINE+1]]:12: error: invalid operand for instruction73qc.expand3 x0, x674 75# CHECK-PLUS: :[[@LINE+2]]:16: error: register must be a GPR excluding zero (x0)76# CHECK-MINUS: :[[@LINE+1]]:16: error: invalid operand for instruction77qc.expand3 x2, x078 79# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcibm' (Qualcomm uC Bit Manipulation Extension)80qc.expand3 x2, x681 82 83# CHECK-PLUS: :[[@LINE+2]]:13: error: register must be a GPR excluding zero (x0)84# CHECK-MINUS: :[[@LINE+1]]:13: error: invalid operand for instruction85qc.clo x23, 2486 87# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction88qc.clo x2389 90# CHECK-PLUS: :[[@LINE+2]]:8: error: register must be a GPR excluding zero (x0)91# CHECK-MINUS: :[[@LINE+1]]:8: error: invalid operand for instruction92qc.clo x0, x2493 94# CHECK-PLUS: :[[@LINE+2]]:13: error: register must be a GPR excluding zero (x0)95# CHECK-MINUS: :[[@LINE+1]]:13: error: invalid operand for instruction96qc.clo x23, x097 98# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcibm' (Qualcomm uC Bit Manipulation Extension)99qc.clo x23, x24100 101 102# CHECK-PLUS: :[[@LINE+2]]:13: error: register must be a GPR excluding zero (x0)103# CHECK-MINUS: :[[@LINE+1]]:13: error: invalid operand for instruction104qc.cto x12, 13105 106# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction107qc.cto x12108 109# CHECK-PLUS: :[[@LINE+2]]:8: error: register must be a GPR excluding zero (x0)110# CHECK-MINUS: :[[@LINE+1]]:8: error: invalid operand for instruction111qc.cto x0, x13112 113# CHECK-PLUS: :[[@LINE+2]]:13: error: register must be a GPR excluding zero (x0)114# CHECK-MINUS: :[[@LINE+1]]:13: error: invalid operand for instruction115qc.cto x12, x0116 117# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcibm' (Qualcomm uC Bit Manipulation Extension)118qc.cto x12, x13119 120 121# CHECK-PLUS: :[[@LINE+2]]:16: error: register must be a GPR excluding zero (x0)122# CHECK-MINUS: :[[@LINE+1]]:16: error: invalid operand for instruction123qc.brev32 x20, 24124 125# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction126qc.brev32 x20127 128# CHECK-PLUS: :[[@LINE+2]]:11: error: register must be a GPR excluding zero (x0)129# CHECK-MINUS: :[[@LINE+1]]:11: error: invalid operand for instruction130qc.brev32 x0, x24131 132# CHECK-PLUS: :[[@LINE+2]]:16: error: register must be a GPR excluding zero (x0)133# CHECK-MINUS: :[[@LINE+1]]:16: error: invalid operand for instruction134qc.brev32 x20, x0135 136# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcibm' (Qualcomm uC Bit Manipulation Extension)137qc.brev32 x20, x24138 139 140# CHECK-PLUS: :[[@LINE+2]]:16: error: register must be a GPR excluding zero (x0)141# CHECK-MINUS: :[[@LINE+1]]:16: error: invalid operand for instruction142qc.insbri x10, 20, -1024143 144# CHECK-PLUS: :[[@LINE+2]]:11: error: register must be a GPR excluding zero (x0)145# CHECK-MINUS: :[[@LINE+1]]:11: error: invalid operand for instruction146qc.insbri x0, x20, -1024147 148# CHECK-PLUS: :[[@LINE+2]]:16: error: register must be a GPR excluding zero (x0)149# CHECK-MINUS: :[[@LINE+1]]:16: error: invalid operand for instruction150qc.insbri x10, x0, -1024151 152# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction153qc.insbri x10, x20154 155# CHECK-PLUS: :[[@LINE+1]]:21: error: immediate must be an integer in the range [-1024, 1023]156qc.insbri x10, x20, -1027157 158# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcibm' (Qualcomm uC Bit Manipulation Extension)159qc.insbri x10, x20, -1024160 161 162# CHECK-PLUS: :[[@LINE+2]]:10: error: register must be a GPR excluding zero (x0)163# CHECK-MINUS: :[[@LINE+1]]:10: error: invalid operand for instruction164qc.insbi x0, -10, 12, 15165 166# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction167qc.insbi x6, -10, 12168 169# CHECK-PLUS: :[[@LINE+1]]:14: error: immediate must be an integer in the range [-16, 15]170qc.insbi x6, -17, 12, 15171 172# CHECK-PLUS: :[[@LINE+1]]:19: error: immediate must be an integer in the range [1, 32]173qc.insbi x6, -10, 45, 15174 175# CHECK-PLUS: :[[@LINE+1]]:23: error: immediate must be an integer in the range [0, 31]176qc.insbi x6, -10, 12, 65177 178# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcibm' (Qualcomm uC Bit Manipulation Extension)179qc.insbi x6, -10, 12, 15180 181 182# CHECK: :[[@LINE+1]]:14: error: invalid operand for instruction183qc.insb x10, 7, 6, 31184 185# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction186qc.insb x10, x7, 6187 188# CHECK-PLUS: :[[@LINE+2]]:9: error: register must be a GPR excluding zero (x0)189# CHECK-MINUS: :[[@LINE+1]]:9: error: invalid operand for instruction190qc.insb x0, x7, 6, 31191 192# CHECK-PLUS: :[[@LINE+1]]:18: error: immediate must be an integer in the range [1, 32]193qc.insb x10, x7, 46, 31194 195# CHECK-PLUS: :[[@LINE+1]]:21: error: immediate must be an integer in the range [0, 31]196qc.insb x10, x7, 6, 61197 198# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcibm' (Qualcomm uC Bit Manipulation Extension)199qc.insb x10, x7, 6, 31200 201 202# CHECK: :[[@LINE+1]]:15: error: invalid operand for instruction203qc.insbh x20, 12, 8, 12204 205# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction206qc.insbh x20, x12, 8207 208# CHECK-PLUS: :[[@LINE+2]]:10: error: register must be a GPR excluding zero (x0)209# CHECK-MINUS: :[[@LINE+1]]:10: error: invalid operand for instruction210qc.insbh x0, x12, 8, 12211 212# CHECK-PLUS: :[[@LINE+1]]:20: error: immediate must be an integer in the range [1, 32]213qc.insbh x20, x12, 48, 12214 215# CHECK-PLUS: :[[@LINE+1]]:23: error: immediate must be an integer in the range [0, 31]216qc.insbh x20, x12, 8, 72217 218# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcibm' (Qualcomm uC Bit Manipulation Extension)219qc.insbh x20, x12, 8, 12220 221 222# CHECK-PLUS: :[[@LINE+2]]:14: error: register must be a GPR excluding zero (x0)223# CHECK-MINUS: :[[@LINE+1]]:14: error: invalid operand for instruction224qc.extu x15, 12, 20, 20225 226# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction227qc.extu x15, x12, 20228 229# CHECK-PLUS: :[[@LINE+2]]:9: error: register must be a GPR excluding zero (x0)230# CHECK-MINUS: :[[@LINE+1]]:9: error: invalid operand for instruction231qc.extu x0, x12, 20, 20232 233# CHECK-PLUS: :[[@LINE+2]]:14: error: register must be a GPR excluding zero (x0)234# CHECK-MINUS: :[[@LINE+1]]:14: error: invalid operand for instruction235qc.extu x15, x0, 20, 20236 237# CHECK-PLUS: :[[@LINE+1]]:19: error: immediate must be an integer in the range [1, 32]238qc.extu x15, x12, 0, 20239 240# CHECK-PLUS: :[[@LINE+1]]:23: error: immediate must be an integer in the range [0, 31]241qc.extu x15, x12, 20, 60242 243# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcibm' (Qualcomm uC Bit Manipulation Extension)244qc.extu x15, x12, 20, 20245 246 247# CHECK-PLUS: :[[@LINE+2]]:13: error: register must be a GPR excluding zero (x0)248# CHECK-MINUS: :[[@LINE+1]]:13: error: invalid operand for instruction249qc.ext x27, 6, 31, 1250 251# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction252qc.ext x27, x6, 31253 254# CHECK-PLUS: :[[@LINE+2]]:8: error: register must be a GPR excluding zero (x0)255# CHECK-MINUS: :[[@LINE+1]]:8: error: invalid operand for instruction256qc.ext x0, x6, 31, 1257 258# CHECK-PLUS: :[[@LINE+2]]:13: error: register must be a GPR excluding zero (x0)259# CHECK-MINUS: :[[@LINE+1]]:13: error: invalid operand for instruction260qc.ext x27, x0, 31, 1261 262# CHECK-PLUS: :[[@LINE+1]]:17: error: immediate must be an integer in the range [1, 32]263qc.ext x27, x6, 0, 1264 265# CHECK-PLUS: :[[@LINE+1]]:21: error: immediate must be an integer in the range [0, 31]266qc.ext x27, x6, 31, 41267 268# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcibm' (Qualcomm uC Bit Manipulation Extension)269qc.ext x27, x6, 31, 1270 271 272# CHECK-PLUS: :[[@LINE+2]]:14: error: register must be a GPR excluding t6 (x31)273# CHECK-MINUS: :[[@LINE+1]]:14: error: invalid operand for instruction274qc.extdu x1, 8, 8, 8275 276# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction277qc.extdu x1, x8, 8278 279# CHECK-PLUS: :[[@LINE+2]]:10: error: register must be a GPR excluding zero (x0)280# CHECK-MINUS: :[[@LINE+1]]:10: error: invalid operand for instruction281qc.extdu x0, x8, 8, 8282 283# CHECK-PLUS: :[[@LINE+1]]:18: error: immediate must be an integer in the range [1, 32]284qc.extdu x1, x8, 48, 8285 286# CHECK-PLUS: :[[@LINE+1]]:21: error: immediate must be an integer in the range [0, 31]287qc.extdu x1, x8, 8, 78288 289# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcibm' (Qualcomm uC Bit Manipulation Extension)290qc.extdu x1, x8, 8, 8291 292 293# CHECK-PLUS: :[[@LINE+2]]:14: error: register must be a GPR excluding t6 (x31)294# CHECK-MINUS: :[[@LINE+1]]:14: error: invalid operand for instruction295qc.extd x13, 21, 10, 15296 297# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction298qc.extd x13, x21, 10299 300# CHECK-PLUS: :[[@LINE+2]]:9: error: register must be a GPR excluding zero (x0)301# CHECK-MINUS: :[[@LINE+1]]:9: error: invalid operand for instruction302qc.extd x0, x21, 10, 15303 304# CHECK-PLUS: :[[@LINE+1]]:19: error: immediate must be an integer in the range [1, 32]305qc.extd x13, x21, 60, 15306 307# CHECK-PLUS: :[[@LINE+1]]:23: error: immediate must be an integer in the range [0, 31]308qc.extd x13, x21, 10, 85309 310# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcibm' (Qualcomm uC Bit Manipulation Extension)311qc.extd x13, x21, 10, 15312 313 314# CHECK-PLUS: :[[@LINE+2]]:20: error: register must be a GPR excluding zero (x0)315# CHECK-MINUS: :[[@LINE+1]]:20: error: invalid operand for instruction316qc.insbr x10, x19, 5317 318# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction319qc.insbr x10, x20320 321# CHECK-PLUS: :[[@LINE+2]]:10: error: register must be a GPR excluding zero (x0)322# CHECK-MINUS: :[[@LINE+1]]:10: error: invalid operand for instruction323qc.insbr x0, x19, x5324 325# CHECK-PLUS: :[[@LINE+2]]:20: error: register must be a GPR excluding zero (x0)326# CHECK-MINUS: :[[@LINE+1]]:20: error: invalid operand for instruction327qc.insbr x10, x19, x0328 329# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcibm' (Qualcomm uC Bit Manipulation Extension)330qc.insbr x10, x19, x5331 332 333# CHECK-PLUS: :[[@LINE+2]]:20: error: register must be a GPR excluding zero (x0)334# CHECK-MINUS: :[[@LINE+1]]:20: error: invalid operand for instruction335qc.insbhr x15, x4, 6336 337# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction338qc.insbhr x15, x4339 340# CHECK-PLUS: :[[@LINE+2]]:11: error: register must be a GPR excluding zero (x0)341# CHECK-MINUS: :[[@LINE+1]]:11: error: invalid operand for instruction342qc.insbhr x0, x4, x6343 344# CHECK-PLUS: :[[@LINE+2]]:20: error: register must be a GPR excluding zero (x0)345# CHECK-MINUS: :[[@LINE+1]]:20: error: invalid operand for instruction346qc.insbhr x15, x4, x0347 348# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcibm' (Qualcomm uC Bit Manipulation Extension)349qc.insbhr x15, x4, x6350 351 352# CHECK-PLUS: :[[@LINE+2]]:20: error: register must be a GPR excluding zero (x0)353# CHECK-MINUS: :[[@LINE+1]]:20: error: invalid operand for instruction354qc.insbpr x21, x8, 9355 356# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction357qc.insbpr x21, x8358 359# CHECK-PLUS: :[[@LINE+2]]:11: error: register must be a GPR excluding zero (x0)360# CHECK-MINUS: :[[@LINE+1]]:11: error: invalid operand for instruction361qc.insbpr x0, x8, x9362 363# CHECK-PLUS: :[[@LINE+2]]:20: error: register must be a GPR excluding zero (x0)364# CHECK-MINUS: :[[@LINE+1]]:20: error: invalid operand for instruction365qc.insbpr x21, x8, x0366 367# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcibm' (Qualcomm uC Bit Manipulation Extension)368qc.insbpr x21, x8, x9369 370 371# CHECK-PLUS: :[[@LINE+2]]:20: error: register must be a GPR excluding zero (x0)372# CHECK-MINUS: :[[@LINE+1]]:20: error: invalid operand for instruction373qc.insbprh x2, x3, 11374 375# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction376qc.insbprh x2, x3377 378# CHECK-PLUS: :[[@LINE+2]]:12: error: register must be a GPR excluding zero (x0)379# CHECK-MINUS: :[[@LINE+1]]:12: error: invalid operand for instruction380qc.insbprh x0, x3, x11381 382# CHECK-PLUS: :[[@LINE+2]]:20: error: register must be a GPR excluding zero (x0)383# CHECK-MINUS: :[[@LINE+1]]:20: error: invalid operand for instruction384qc.insbprh x2, x3, x0385 386# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcibm' (Qualcomm uC Bit Manipulation Extension)387qc.insbprh x2, x3, x11388 389 390# CHECK-PLUS: :[[@LINE+2]]:20: error: register must be a GPR excluding zero (x0)391# CHECK-MINUS: :[[@LINE+1]]:20: error: invalid operand for instruction392qc.extdur x9, x19, 29393 394# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction395qc.extdur x9, x19396 397# CHECK-PLUS: :[[@LINE+2]]:11: error: register must be a GPR excluding zero (x0)398# CHECK-MINUS: :[[@LINE+1]]:11: error: invalid operand for instruction399qc.extdur x0, x19, x29400 401# CHECK-PLUS: :[[@LINE+2]]:15: error: register must be a GPR excluding t6 (x31)402# CHECK-MINUS: :[[@LINE+1]]:15: error: invalid operand for instruction403qc.extdur x9, x31, x29404 405# CHECK-PLUS: :[[@LINE+2]]:20: error: register must be a GPR excluding zero (x0)406# CHECK-MINUS: :[[@LINE+1]]:20: error: invalid operand for instruction407qc.extdur x9, x19, x0408 409# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcibm' (Qualcomm uC Bit Manipulation Extension)410qc.extdur x9, x19, x29411 412 413# CHECK-PLUS: :[[@LINE+2]]:20: error: register must be a GPR excluding zero (x0)414# CHECK-MINUS: :[[@LINE+1]]:20: error: invalid operand for instruction415qc.extdr x12, x29, 30416 417# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction418qc.extdr x12, x29419 420# CHECK-PLUS: :[[@LINE+2]]:10: error: register must be a GPR excluding zero (x0)421# CHECK-MINUS: :[[@LINE+1]]:10: error: invalid operand for instruction422qc.extdr x0, x29, x30423 424# CHECK-PLUS: :[[@LINE+2]]:15: error: register must be a GPR excluding t6 (x31)425# CHECK-MINUS: :[[@LINE+1]]:15: error: invalid operand for instruction426qc.extdr x12, x31, x30427 428# CHECK-PLUS: :[[@LINE+2]]:20: error: register must be a GPR excluding zero (x0)429# CHECK-MINUS: :[[@LINE+1]]:20: error: invalid operand for instruction430qc.extdr x12, x29, x0431 432# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcibm' (Qualcomm uC Bit Manipulation Extension)433qc.extdr x12, x29, x30434 435 436# CHECK-PLUS: :[[@LINE+2]]:22: error: register must be a GPR excluding zero (x0)437# CHECK-MINUS: :[[@LINE+1]]:22: error: invalid operand for instruction438qc.extdupr x13, x23, 3439 440# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction441qc.extdupr x13, x23442 443# CHECK-PLUS: :[[@LINE+2]]:12: error: register must be a GPR excluding zero (x0)444# CHECK-MINUS: :[[@LINE+1]]:12: error: invalid operand for instruction445qc.extdupr x0, x23, x3446 447# CHECK-PLUS: :[[@LINE+2]]:17: error: register must be a GPR excluding t6 (x31)448# CHECK-MINUS: :[[@LINE+1]]:17: error: invalid operand for instruction449qc.extdupr x13, x31, x3450 451# CHECK-PLUS: :[[@LINE+2]]:22: error: register must be a GPR excluding zero (x0)452# CHECK-MINUS: :[[@LINE+1]]:22: error: invalid operand for instruction453qc.extdupr x13, x23, x0454 455# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcibm' (Qualcomm uC Bit Manipulation Extension)456qc.extdupr x13, x23, x3457 458 459# CHECK-PLUS: :[[@LINE+2]]:22: error: register must be a GPR excluding zero (x0)460# CHECK-MINUS: :[[@LINE+1]]:22: error: invalid operand for instruction461qc.extduprh x18, x8, 9462 463# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction464qc.extduprh x18, x8465 466# CHECK-PLUS: :[[@LINE+2]]:13: error: register must be a GPR excluding zero (x0)467# CHECK-MINUS: :[[@LINE+1]]:13: error: invalid operand for instruction468qc.extduprh x0, x8, x9469 470# CHECK-PLUS: :[[@LINE+2]]:18: error: register must be a GPR excluding t6 (x31)471# CHECK-MINUS: :[[@LINE+1]]:18: error: invalid operand for instruction472qc.extduprh x18, x31, x9473 474# CHECK-PLUS: :[[@LINE+2]]:22: error: register must be a GPR excluding zero (x0)475# CHECK-MINUS: :[[@LINE+1]]:22: error: invalid operand for instruction476qc.extduprh x18, x8, x0477 478# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcibm' (Qualcomm uC Bit Manipulation Extension)479qc.extduprh x18, x8, x9480 481 482# CHECK-PLUS: :[[@LINE+2]]:19: error: register must be a GPR excluding zero (x0)483# CHECK-MINUS: :[[@LINE+1]]:19: error: invalid operand for instruction484qc.extdpr x1, x4, 15485 486# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction487qc.extdpr x1, x4488 489# CHECK-PLUS: :[[@LINE+2]]:11: error: register must be a GPR excluding zero (x0)490# CHECK-MINUS: :[[@LINE+1]]:11: error: invalid operand for instruction491qc.extdpr x0, x4, x15492 493# CHECK-PLUS: :[[@LINE+2]]:15: error: register must be a GPR excluding t6 (x31)494# CHECK-MINUS: :[[@LINE+1]]:15: error: invalid operand for instruction495qc.extdpr x1, x31, x15496 497# CHECK-PLUS: :[[@LINE+2]]:19: error: register must be a GPR excluding zero (x0)498# CHECK-MINUS: :[[@LINE+1]]:19: error: invalid operand for instruction499qc.extdpr x1, x4, x0500 501# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcibm' (Qualcomm uC Bit Manipulation Extension)502qc.extdpr x1, x4, x15503 504 505# CHECK-PLUS: :[[@LINE+2]]:21: error: register must be a GPR excluding zero (x0)506# CHECK-MINUS: :[[@LINE+1]]:21: error: invalid operand for instruction507qc.extdprh x6, x24, 25508 509# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction510qc.extdprh x6, x24511 512# CHECK-PLUS: :[[@LINE+2]]:12: error: register must be a GPR excluding zero (x0)513# CHECK-MINUS: :[[@LINE+1]]:12: error: invalid operand for instruction514qc.extdprh x0, x24, x25515 516# CHECK-PLUS: :[[@LINE+2]]:16: error: register must be a GPR excluding t6 (x31)517# CHECK-MINUS: :[[@LINE+1]]:16: error: invalid operand for instruction518qc.extdprh x6, x31, x25519 520# CHECK-PLUS: :[[@LINE+2]]:21: error: register must be a GPR excluding zero (x0)521# CHECK-MINUS: :[[@LINE+1]]:21: error: invalid operand for instruction522qc.extdprh x6, x24, x0523 524# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcibm' (Qualcomm uC Bit Manipulation Extension)525qc.extdprh x6, x24, x25526 527 528# CHECK: :[[@LINE+1]]:12: error: invalid operand for instruction529qc.c.bexti x1, 8530 531# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction532qc.c.bexti x15533 534# CHECK-PLUS: :[[@LINE+1]]:17: error: immediate must be an integer in the range [1, 31]535qc.c.bexti x15, 43536 537# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcibm' (Qualcomm uC Bit Manipulation Extension)538qc.c.bexti x9, 8539 540 541# CHECK: :[[@LINE+1]]:12: error: invalid operand for instruction542qc.c.bseti x2, 10543 544# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction545qc.c.bseti x12546 547# CHECK-PLUS: :[[@LINE+1]]:17: error: immediate must be an integer in the range [1, 31]548qc.c.bseti x12, -10549 550# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcibm' (Qualcomm uC Bit Manipulation Extension)551qc.c.bseti x12, 30552 553 554# CHECK-PLUS: :[[@LINE+2]]:11: error: register must be a GPR excluding zero (x0)555# CHECK-MINUS: :[[@LINE+1]]:11: error: invalid operand for instruction556qc.c.extu x0, 10557 558# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction559qc.c.extu x5560 561# CHECK-PLUS: :[[@LINE+1]]:16: error: immediate must be an integer in the range [6, 32]562qc.c.extu x17, 3563 564# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcibm' (Qualcomm uC Bit Manipulation Extension)565qc.c.extu x17, 32566