1# RUN: not llvm-mc %s -arch=mips -mcpu=mips32r2 2>%t1
2# RUN: FileCheck %s < %t1 --check-prefix=32-BIT
3# RUN: not llvm-mc %s -arch=mips64 -mcpu=mips64 -target-abi n32 2>&1 | \
4# RUN:   FileCheck %s --check-prefix=64-BIT
5# RUN: not llvm-mc %s -arch=mips64 -mcpu=mips64 -target-abi n64 2>&1 | \
6# RUN:   FileCheck %s --check-prefix=64-BIT
7
8  .text
9  dli $5, 1
10  # 32-BIT: :[[@LINE-1]]:3: error: instruction requires a 64-bit architecture
11  bne $2, 0x100010001, 1332
12  # 32-BIT: :[[@LINE-1]]:3: error: instruction requires a 32-bit immediate
13  beq $2, 0x100010001, 1332
14  # 32-BIT: :[[@LINE-1]]:3: error: instruction requires a 32-bit immediate
15  .set mips32r6
16  ulh $5, 0
17  # 32-BIT: :[[@LINE-1]]:3: error: instruction not supported on mips32r6 or mips64r6
18  # 64-BIT: :[[@LINE-2]]:3: error: instruction not supported on mips32r6 or mips64r6
19  ulhu $5, 0
20  # 32-BIT: :[[@LINE-1]]:3: error: instruction not supported on mips32r6 or mips64r6
21  # 64-BIT: :[[@LINE-2]]:3: error: instruction not supported on mips32r6 or mips64r6
22  .set mips32
23  ulh $5, 1
24  # 32-BIT-NOT: :[[@LINE-1]]:3: error: instruction not supported on mips32r6 or mips64r6
25  # 64-BIT-NOT: :[[@LINE-2]]:3: error: instruction not supported on mips32r6 or mips64r6
26  ulhu $5, 1
27  # 32-BIT-NOT: :[[@LINE-1]]:3: error: instruction not supported on mips32r6 or mips64r6
28  # 64-BIT-NOT: :[[@LINE-2]]:3: error: instruction not supported on mips32r6 or mips64r6
29  .set mips64r6
30  ulh $5, 2
31  # 32-BIT: :[[@LINE-1]]:3: error: instruction not supported on mips32r6 or mips64r6
32  # 64-BIT: :[[@LINE-2]]:3: error: instruction not supported on mips32r6 or mips64r6
33  ulhu $5, 2
34  # 32-BIT: :[[@LINE-1]]:3: error: instruction not supported on mips32r6 or mips64r6
35  # 64-BIT: :[[@LINE-2]]:3: error: instruction not supported on mips32r6 or mips64r6
36
37  .set mips32r6
38  ulw $5, 0
39  # 32-BIT: :[[@LINE-1]]:3: error: instruction not supported on mips32r6 or mips64r6
40  # 64-BIT: :[[@LINE-2]]:3: error: instruction not supported on mips32r6 or mips64r6
41  .set mips32
42  ulw $5, 1
43  # 32-BIT-NOT: :[[@LINE-1]]:3: error: instruction not supported on mips32r6 or mips64r6
44  # 64-BIT-NOT: :[[@LINE-2]]:3: error: instruction not supported on mips32r6 or mips64r6
45  .set mips64r6
46  ulw $5, 2
47  # 32-BIT: :[[@LINE-1]]:3: error: instruction not supported on mips32r6 or mips64r6
48  # 64-BIT: :[[@LINE-2]]:3: error: instruction not supported on mips32r6 or mips64r6
49