1 # Instructions that are invalid. 2 # 3 # RUN: not llvm-mc %s -arch=mips -mcpu=mips32r6 -mattr=+crc 2>%t1 4 # RUN: FileCheck %s < %t1 5 # RUN: not llvm-mc %s -arch=mips64 -mcpu=mips64r6 -mattr=+crc 2>%t1 6 # RUN: FileCheck %s < %t1 7 8 .set noat 9 crc32b $1, $2, $2 # CHECK: :[[@LINE]]:3: error: source and destination must match 10 crc32b $1, $2, $3 # CHECK: :[[@LINE]]:3: error: source and destination must match 11 crc32b $1, $2, 2 # CHECK: :[[@LINE]]:19: error: invalid operand for instruction 12 crc32b $1, 2, $2 # CHECK: :[[@LINE]]:15: error: invalid operand for instruction 13 crc32b 1, $2, $2 # CHECK: :[[@LINE]]:11: error: invalid operand for instruction 14 crc32b $1, $2 # CHECK: :[[@LINE]]:3: error: too few operands for instruction 15 crc32b $1 # CHECK: :[[@LINE]]:3: error: too few operands for instruction 16 crc32b $1, $2, 0($2) # CHECK: :[[@LINE]]:19: error: invalid operand for instruction 17 18 crc32h $1, $2, $2 # CHECK: :[[@LINE]]:3: error: source and destination must match 19 crc32h $1, $2, $3 # CHECK: :[[@LINE]]:3: error: source and destination must match 20 crc32h $1, $2, 2 # CHECK: :[[@LINE]]:19: error: invalid operand for instruction 21 crc32h $1, 2, $2 # CHECK: :[[@LINE]]:15: error: invalid operand for instruction 22 crc32h 1, $2, $2 # CHECK: :[[@LINE]]:11: error: invalid operand for instruction 23 crc32h $1, $2 # CHECK: :[[@LINE]]:3: error: too few operands for instruction 24 crc32h $1 # CHECK: :[[@LINE]]:3: error: too few operands for instruction 25 crc32h $1, $2, 0($2) # CHECK: :[[@LINE]]:19: error: invalid operand for instruction 26 27 crc32w $1, $2, $2 # CHECK: :[[@LINE]]:3: error: source and destination must match 28 crc32w $1, $2, $3 # CHECK: :[[@LINE]]:3: error: source and destination must match 29 crc32w $1, $2, 2 # CHECK: :[[@LINE]]:19: error: invalid operand for instruction 30 crc32w $1, 2, $2 # CHECK: :[[@LINE]]:15: error: invalid operand for instruction 31 crc32w 1, $2, $2 # CHECK: :[[@LINE]]:11: error: invalid operand for instruction 32 crc32w $1, $2 # CHECK: :[[@LINE]]:3: error: too few operands for instruction 33 crc32w $1 # CHECK: :[[@LINE]]:3: error: too few operands for instruction 34 crc32w $1, $2, 0($2) # CHECK: :[[@LINE]]:19: error: invalid operand for instruction 35 36 crc32cb $1, $2, $2 # CHECK: :[[@LINE]]:3: error: source and destination must match 37 crc32cb $1, $2, $3 # CHECK: :[[@LINE]]:3: error: source and destination must match 38 crc32cb $1, $2, 2 # CHECK: :[[@LINE]]:20: error: invalid operand for instruction 39 crc32cb $1, 2, $2 # CHECK: :[[@LINE]]:16: error: invalid operand for instruction 40 crc32cb 1, $2, $2 # CHECK: :[[@LINE]]:12: error: invalid operand for instruction 41 crc32cb $1, $2 # CHECK: :[[@LINE]]:3: error: too few operands for instruction 42 crc32cb $1 # CHECK: :[[@LINE]]:3: error: too few operands for instruction 43 crc32cb $1, $2, 0($2) # CHECK: :[[@LINE]]:20: error: invalid operand for instruction 44 45 crc32ch $1, $2, $2 # CHECK: :[[@LINE]]:3: error: source and destination must match 46 crc32ch $1, $2, $3 # CHECK: :[[@LINE]]:3: error: source and destination must match 47 crc32ch $1, $2, 2 # CHECK: :[[@LINE]]:20: error: invalid operand for instruction 48 crc32ch $1, 2, $2 # CHECK: :[[@LINE]]:16: error: invalid operand for instruction 49 crc32ch 1, $2, $2 # CHECK: :[[@LINE]]:12: error: invalid operand for instruction 50 crc32ch $1, $2 # CHECK: :[[@LINE]]:3: error: too few operands for instruction 51 crc32ch $1 # CHECK: :[[@LINE]]:3: error: too few operands for instruction 52 crc32ch $1, $2, 0($2) # CHECK: :[[@LINE]]:20: error: invalid operand for instruction 53 54 crc32cw $1, $2, $2 # CHECK: :[[@LINE]]:3: error: source and destination must match 55 crc32cw $1, $2, $3 # CHECK: :[[@LINE]]:3: error: source and destination must match 56 crc32cw $1, $2, 2 # CHECK: :[[@LINE]]:20: error: invalid operand for instruction 57 crc32cw $1, 2, $2 # CHECK: :[[@LINE]]:16: error: invalid operand for instruction 58 crc32cw 1, $2, $2 # CHECK: :[[@LINE]]:12: error: invalid operand for instruction 59 crc32cw $1, $2 # CHECK: :[[@LINE]]:3: error: too few operands for instruction 60 crc32cw $1 # CHECK: :[[@LINE]]:3: error: too few operands for instruction 61 crc32cw $1, $2, 0($2) # CHECK: :[[@LINE]]:20: error: invalid operand for instruction 62 63 crc32 $1, $2, $2 # CHECK: :[[@LINE]]:3: error: unknown instruction 64 crcb $1, $2, $2 # CHECK: :[[@LINE]]:3: error: unknown instruction 65 crc $1, $2, $2 # CHECK: :[[@LINE]]:3: error: unknown instruction 66