1 # RUN: llvm-mc %s -arch=mips -mcpu=mips32 -show-encoding | FileCheck %s
2 # RUN: llvm-mc %s -arch=mips -mcpu=mips32 2>&1 | \
3 # RUN: FileCheck %s --check-prefix=WARNING
7 blt $7, $8, local_label
8 # CHECK: slt $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2a]
9 # CHECK: bnez $1, local_label # encoding: [0x14,0x20,A,A]
10 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
12 blt $7, $8, global_label
13 # CHECK: slt $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2a]
14 # CHECK: bnez $1, global_label # encoding: [0x14,0x20,A,A]
15 # CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
17 blt $7, $0, local_label
18 # CHECK: bltz $7, local_label # encoding: [0x04,0xe0,A,A]
19 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
21 blt $0, $8, local_label
22 # CHECK: bgtz $8, local_label # encoding: [0x1d,0x00,A,A]
23 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
25 blt $0, $0, local_label
26 # CHECK: bltz $zero, local_label # encoding: [0x04,0x00,A,A]
27 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
30 bltu $7, $8, local_label
31 # CHECK: sltu $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2b]
32 # CHECK: bnez $1, local_label # encoding: [0x14,0x20,A,A]
33 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
35 bltu $7, $8, global_label
36 # CHECK: sltu $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2b]
37 # CHECK: bnez $1, global_label # encoding: [0x14,0x20,A,A]
38 # CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
40 bltu $7, $0, local_label
42 bltu $0, $8, local_label
43 # CHECK: bnez $8, local_label # encoding: [0x15,0x00,A,A]
44 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
46 bltu $0, $0, local_label
49 ble $7, $8, local_label
50 # CHECK: slt $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2a]
51 # CHECK: beqz $1, local_label # encoding: [0x10,0x20,A,A]
52 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
54 ble $7, $8, global_label
55 # CHECK: slt $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2a]
56 # CHECK: beqz $1, global_label # encoding: [0x10,0x20,A,A]
57 # CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
59 ble $7, $0, local_label
60 # CHECK: blez $7, local_label # encoding: [0x18,0xe0,A,A]
61 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
63 ble $0, $8, local_label
64 # CHECK: bgez $8, local_label # encoding: [0x05,0x01,A,A]
65 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
67 ble $0, $0, local_label
68 # WARNING: :[[@LINE-1]]:3: warning: branch is always taken
69 # CHECK: blez $zero, local_label # encoding: [0x18,0x00,A,A]
70 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
73 bleu $7, $8, local_label
74 # CHECK: sltu $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2b]
75 # CHECK: beqz $1, local_label # encoding: [0x10,0x20,A,A]
76 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
78 bleu $7, $8, global_label
79 # CHECK: sltu $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2b]
80 # CHECK: beqz $1, global_label # encoding: [0x10,0x20,A,A]
81 # CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
83 bleu $7, $0, local_label
84 # CHECK: beqz $7, local_label # encoding: [0x10,0xe0,A,A]
85 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
87 bleu $0, $8, local_label
88 # WARNING: :[[@LINE-1]]:3: warning: branch is always taken
89 # CHECK: b local_label # encoding: [0x10,0x00,A,A]
90 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
92 bleu $0, $0, local_label
93 # WARNING: :[[@LINE-1]]:3: warning: branch is always taken
94 # CHECK: b local_label # encoding: [0x10,0x00,A,A]
95 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
98 bge $7, $8, local_label
99 # CHECK: slt $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2a]
100 # CHECK: beqz $1, local_label # encoding: [0x10,0x20,A,A]
101 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
103 bge $7, $8, global_label
104 # CHECK: slt $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2a]
105 # CHECK: beqz $1, global_label # encoding: [0x10,0x20,A,A]
106 # CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
108 bge $7, $0, local_label
109 # CHECK: bgez $7, local_label # encoding: [0x04,0xe1,A,A]
110 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
112 bge $0, $8, local_label
113 # CHECK: blez $8, local_label # encoding: [0x19,0x00,A,A]
114 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
116 bge $0, $0, local_label
117 # WARNING: :[[@LINE-1]]:3: warning: branch is always taken
118 # CHECK: bgez $zero, local_label # encoding: [0x04,0x01,A,A]
119 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
122 bgeu $7, $8, local_label
123 # CHECK: sltu $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2b]
124 # CHECK: beqz $1, local_label # encoding: [0x10,0x20,A,A]
125 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
127 bgeu $7, $8, global_label
128 # CHECK: sltu $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2b]
129 # CHECK: beqz $1, global_label # encoding: [0x10,0x20,A,A]
130 # CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
132 bgeu $7, $0, local_label
133 # WARNING: :[[@LINE-1]]:3: warning: branch is always taken
134 # CHECK: b local_label # encoding: [0x10,0x00,A,A]
135 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
137 bgeu $0, $8, local_label
138 # CHECK: beqz $8, local_label # encoding: [0x11,0x00,A,A]
139 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
141 bgeu $0, $0, local_label
142 # WARNING: :[[@LINE-1]]:3: warning: branch is always taken
143 # CHECK: b local_label # encoding: [0x10,0x00,A,A]
144 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
147 bgt $7, $8, local_label
148 # CHECK: slt $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2a]
149 # CHECK: bnez $1, local_label # encoding: [0x14,0x20,A,A]
150 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
152 bgt $7, $8, global_label
153 # CHECK: slt $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2a]
154 # CHECK: bnez $1, global_label # encoding: [0x14,0x20,A,A]
155 # CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
157 bgt $7, $0, local_label
158 # CHECK: bgtz $7, local_label # encoding: [0x1c,0xe0,A,A]
159 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
161 bgt $0, $8, local_label
162 # CHECK: bltz $8, local_label # encoding: [0x05,0x00,A,A]
163 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
165 bgt $0, $0, local_label
166 # CHECK: bgtz $zero, local_label # encoding: [0x1c,0x00,A,A]
167 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
170 bgtu $7, $8, local_label
171 # CHECK: sltu $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2b]
172 # CHECK: bnez $1, local_label # encoding: [0x14,0x20,A,A]
173 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
175 bgtu $7, $8, global_label
176 # CHECK: sltu $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2b]
177 # CHECK: bnez $1, global_label # encoding: [0x14,0x20,A,A]
178 # CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
180 bgtu $7, $0, local_label
181 # CHECK: bnez $7, local_label # encoding: [0x14,0xe0,A,A]
182 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
184 bgtu $0, $8, local_label
186 bgtu $0, $0, local_label
187 # CHECK: bnez $zero, local_label # encoding: [0x14,0x00,A,A]
188 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16