1 # Instructions that are invalid.
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
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
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
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
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
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
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
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