[mips][ias] Implement ulh macro.
[oota-llvm.git] / test / MC / Mips / set-nomacro.s
1 # RUN: llvm-mc %s -arch=mips -mcpu=mips32 2>&1 | FileCheck %s
2
3 # CHECK-NOT: warning: macro instruction expanded into multiple instructions
4   .set macro
5   li  $8, -16
6   li  $8, 16
7   li  $8, 161616
8
9   la  $8, 16
10   la  $8, 161616
11   la  $8, 16($9)
12   la  $8, 161616($9)
13   la  $8, symbol
14
15   jal $25
16   jal $4, $25
17
18   bne $2, 0, 1332
19   bne $2, 1, 1332
20   beq $2, 0, 1332
21   beq $2, 1, 1332
22
23   blt $7, $8, local_label
24   blt $7, $0, local_label
25   blt $0, $8, local_label
26   blt $0, $0, local_label
27
28   bltu $7, $8, local_label
29   bltu $7, $0, local_label
30   bltu $0, $8, local_label
31   bltu $0, $0, local_label
32
33   ble $7, $8, local_label
34   ble $7, $0, local_label
35   ble $0, $8, local_label
36   ble $0, $0, local_label
37
38   bleu $7, $8, local_label
39   bleu $7, $0, local_label
40   bleu $0, $8, local_label
41   bleu $0, $0, local_label
42
43   bge $7, $8, local_label
44   bge $7, $0, local_label
45   bge $0, $8, local_label
46   bge $0, $0, local_label
47
48   bgeu $7, $8, local_label
49   bgeu $7, $0, local_label
50   bgeu $0, $8, local_label
51   bgeu $0, $0, local_label
52
53   bgt $7, $8, local_label
54   bgt $7, $0, local_label
55   bgt $0, $8, local_label
56   bgt $0, $0, local_label
57
58   bgtu $7, $8, local_label
59   bgtu $7, $0, local_label
60   bgtu $0, $8, local_label
61   bgtu $0, $0, local_label
62
63   ulh $5, 0
64   ulhu $5, 0
65
66   ulw $8, 2
67   ulw $8, 0x8000
68   ulw $8, 2($9)
69   ulw $8, 0x8000($9)
70
71   jal foo
72   .option pic2
73   jal foo
74   .option pic0
75
76   add $4, $5, $6
77
78   .set noreorder
79   .set nomacro
80   li  $8, -16
81 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
82   li  $8, 16
83 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
84   li  $8, 161616
85 # CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
86
87   la  $8, 16
88 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
89   la  $8, 161616
90 # CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
91   la  $8, 16($9)
92 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
93   la  $8, 161616($9)
94 # CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
95   la  $8, symbol
96 # CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
97
98   jal $25
99 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
100   jal $4, $25
101 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
102
103   bne $2, 0, 1332
104 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
105   bne $2, 1, 1332
106 # CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
107   beq $2, 0, 1332
108 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
109   beq $2, 1, 1332
110 # CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
111
112   blt $7, $8, local_label
113 # CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
114   blt $7, $0, local_label
115 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
116   blt $0, $8, local_label
117 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
118   blt $0, $0, local_label
119 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
120
121   bltu $7, $8, local_label
122 # CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
123   bltu $7, $0, local_label
124 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
125   bltu $0, $8, local_label
126 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
127   bltu $0, $0, local_label
128 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
129
130   ble $7, $8, local_label
131 # CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
132   ble $7, $0, local_label
133 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
134   ble $0, $8, local_label
135 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
136   ble $0, $0, local_label
137 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
138
139   bleu $7, $8, local_label
140 # CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
141   bleu $7, $0, local_label
142 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
143   bleu $0, $8, local_label
144 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
145   bleu $0, $0, local_label
146 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
147
148   bge $7, $8, local_label
149 # CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
150   bge $7, $0, local_label
151 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
152   bge $0, $8, local_label
153 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
154   bge $0, $0, local_label
155 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
156
157   bgeu $7, $8, local_label
158 # CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
159   bgeu $7, $0, local_label
160 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
161   bgeu $0, $8, local_label
162 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
163   bgeu $0, $0, local_label
164 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
165
166   bgt $7, $8, local_label
167 # CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
168   bgt $7, $0, local_label
169 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
170   bgt $0, $8, local_label
171 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
172   bgt $0, $0, local_label
173 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
174
175   bgtu $7, $8, local_label
176 # CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
177   bgtu $7, $0, local_label
178 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
179   bgtu $0, $8, local_label
180 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
181   bgtu $0, $0, local_label
182 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
183
184   ulh $5, 0
185 # CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
186   ulhu $5, 0
187 # CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
188
189   ulw $8, 2
190 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
191   ulw $8, 0x8000
192 # CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
193   ulw $8, 2($9)
194 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
195   ulw $8, 0x8000($9)
196 # CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
197
198   jal foo
199 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
200   .option pic2
201   jal foo
202 # CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
203   .option pic0
204
205   add $4, $5, $6
206 # CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions