1 // Check passing options to the assembler for MIPS targets.
2 //
3 // RUN: %clang -target mips-linux-gnu -### \
4 // RUN:   -no-integrated-as -c %s 2>&1 \
5 // RUN:   | FileCheck -check-prefix=MIPS32R2-EB-AS %s
6 // RUN: %clang -target mipsel-linux-gnu -### \
7 // RUN:   -no-integrated-as -c -EB %s 2>&1 \
8 // RUN:   | FileCheck -check-prefix=MIPS32R2-EB-AS %s
9 // MIPS32R2-EB-AS: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
10 // MIPS32R2-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
11 //
12 // RUN: %clang -target mips-linux-gnu -### \
13 // RUN:   -no-integrated-as -fPIC -c %s 2>&1 \
14 // RUN:   | FileCheck -check-prefix=MIPS32R2-EB-PIC %s
15 // MIPS32R2-EB-PIC: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-call_nonpic" "-EB"
16 // MIPS32R2-EB-PIC: "-KPIC"
17 //
18 // RUN: %clang -target mipsel-linux-gnu -### \
19 // RUN:   -no-integrated-as -c %s 2>&1 \
20 // RUN:   | FileCheck -check-prefix=MIPS32R2-DEF-EL-AS %s
21 // MIPS32R2-DEF-EL-AS: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EL"
22 //
23 // RUN: %clang -target mips64-linux-gnu -### \
24 // RUN:   -no-integrated-as -fno-pic -mno-abicalls -c %s 2>&1 \
25 // RUN:   | FileCheck -check-prefix=MIPS64R2-EB-AS %s
26 // MIPS64R2-EB-AS: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "64" "-mno-shared" "-EB"
27 //
28 // RUN: %clang -target mips64-linux-gnu -### \
29 // RUN:   -no-integrated-as -c %s 2>&1 \
30 // RUN:   | FileCheck -check-prefix=MIPS64R2-EB-AS-PIC %s
31 // MIPS64R2-EB-AS-PIC: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "64" "-EB" "-KPIC"
32 //
33 // RUN: %clang -target mips64el-linux-gnu -### \
34 // RUN:   -no-integrated-as -c -fno-pic -mno-abicalls %s 2>&1 \
35 // RUN:   | FileCheck -check-prefix=MIPS64R2-DEF-EL-AS %s
36 // MIPS64R2-DEF-EL-AS: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "64"  "-mno-shared" "-EL"
37 //
38 // RUN: %clang -target mips64el-linux-gnu -### \
39 // RUN:   -no-integrated-as -c %s 2>&1 \
40 // RUN:   | FileCheck -check-prefix=MIPS64R2-DEF-EL-AS-PIC %s
41 // MIPS64R2-DEF-EL-AS-PIC: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "64" "-EL" "-KPIC"
42 //
43 // RUN: %clang -target mips64-linux-gnu -mabi=n32 -### \
44 // RUN:   -no-integrated-as -c %s 2>&1 \
45 // RUN:   | FileCheck -check-prefix=MIPS-N32-PIC %s
46 // MIPS-N32-PIC: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "n32" "-call_nonpic" "-EB" "-KPIC"
47 //
48 // RUN: %clang -target mips64-linux-gnu -mabi=n32 -### \
49 // RUN:   -no-integrated-as -c %s -fno-pic 2>&1 \
50 // RUN:   | FileCheck -check-prefix=MIPS-N32 %s
51 // MIPS-N32: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "n32" "-mno-shared" "-call_nonpic" "-EB"
52 //
53 // RUN: %clang -target mipsel-linux-gnu -mabi=32 -### \
54 // RUN:   -no-integrated-as -c %s 2>&1 \
55 // RUN:   | FileCheck -check-prefix=MIPS32R2-EL-AS %s
56 // RUN: %clang -target mips-linux-gnu -mabi=32 -### \
57 // RUN:   -no-integrated-as -c %s -EL 2>&1 \
58 // RUN:   | FileCheck -check-prefix=MIPS32R2-EL-AS %s
59 // MIPS32R2-EL-AS: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EL"
60 //
61 // RUN: %clang -target mips64el-linux-gnu -mabi=64 -### \
62 // RUN:   -no-integrated-as -c %s 2>&1 \
63 // RUN:   | FileCheck -check-prefix=MIPS64R2-EL-AS-PIC %s
64 // MIPS64R2-EL-AS-PIC: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "64" "-EL" "-KPIC"
65 //
66 // RUN: %clang -target mips64el-linux-gnu -mabi=64 -### \
67 // RUN:   -no-integrated-as -c %s -fno-pic -mno-abicalls 2>&1 \
68 // RUN:   | FileCheck -check-prefix=MIPS64R2-EL-AS %s
69 // MIPS64R2-EL-AS: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "64" "-mno-shared" "-EL"
70 //
71 // RUN: %clang -target mips-linux-gnu -march=mips32r2 -### \
72 // RUN:   -no-integrated-as -c %s 2>&1 \
73 // RUN:   | FileCheck -check-prefix=MIPS-32R2 %s
74 // MIPS-32R2: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
75 //
76 // RUN: %clang -target mips-linux-gnu -march=p5600 -### \
77 // RUN:   -no-integrated-as -c %s 2>&1 \
78 // RUN:   | FileCheck -check-prefix=MIPS-P5600 %s
79 // MIPS-P5600: as{{(.exe)?}}" "-march" "p5600" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
80 //
81 // RUN: %clang -target mips64-linux-gnu -march=octeon -### \
82 // RUN:   -no-integrated-as -c %s 2>&1 \
83 // RUN:   | FileCheck -check-prefix=MIPS-OCTEON-PIC %s
84 // MIPS-OCTEON-PIC: as{{(.exe)?}}" "-march" "octeon" "-mabi" "64" "-EB" "-KPIC"
85 //
86 // RUN: %clang -target mips64-linux-gnu -march=octeon -### \
87 // RUN:   -no-integrated-as -c %s -fno-pic -mno-abicalls 2>&1 \
88 // RUN:   | FileCheck -check-prefix=MIPS-OCTEON %s
89 // MIPS-OCTEON: as{{(.exe)?}}" "-march" "octeon" "-mabi" "64" "-mno-shared" "-EB"
90 //
91 // RUN: %clang -target mips64-linux-gnu -march=octeon+ -### \
92 // RUN:   -no-integrated-as -c %s 2>&1 \
93 // RUN:   | FileCheck -check-prefix=MIPS-OCTEONP-PIC %s
94 // MIPS-OCTEONP-PIC: as{{(.exe)?}}" "-march" "octeon+" "-mabi" "64" "-EB" "-KPIC"
95 //
96 // RUN: %clang -target mips64-linux-gnu -march=octeon+ -### \
97 // RUN:   -no-integrated-as -c %s -fno-pic -mno-abicalls 2>&1 \
98 // RUN:   | FileCheck -check-prefix=MIPS-OCTEONP %s
99 // MIPS-OCTEONP: as{{(.exe)?}}" "-march" "octeon+" "-mabi" "64" "-mno-shared" "-EB"
100 //
101 // RUN: %clang -target mips-linux-gnu -mips1 -### \
102 // RUN:   -no-integrated-as -c %s 2>&1 \
103 // RUN:   | FileCheck -check-prefix=MIPS-ALIAS-1 %s
104 // MIPS-ALIAS-1: as{{(.exe)?}}" "-march" "mips1" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
105 //
106 // RUN: %clang -target mips-linux-gnu -mips2 -### \
107 // RUN:   -no-integrated-as -c %s 2>&1 \
108 // RUN:   | FileCheck -check-prefix=MIPS-ALIAS-2 %s
109 // MIPS-ALIAS-2: as{{(.exe)?}}" "-march" "mips2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
110 //
111 // RUN: %clang -target mips-linux-gnu -mips3 -### \
112 // RUN:   -no-integrated-as -c %s 2>&1 \
113 // RUN:   | FileCheck -check-prefix=MIPS-ALIAS-3 %s
114 // MIPS-ALIAS-3: as{{(.exe)?}}" "-march" "mips3" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
115 //
116 // RUN: %clang -target mips-linux-gnu -mips4 -### \
117 // RUN:   -no-integrated-as -c %s 2>&1 \
118 // RUN:   | FileCheck -check-prefix=MIPS-ALIAS-4 %s
119 // MIPS-ALIAS-4: as{{(.exe)?}}" "-march" "mips4" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
120 //
121 // RUN: %clang -target mips-linux-gnu -mips5 -### \
122 // RUN:   -no-integrated-as -c %s 2>&1 \
123 // RUN:   | FileCheck -check-prefix=MIPS-ALIAS-5 %s
124 // MIPS-ALIAS-5: as{{(.exe)?}}" "-march" "mips5" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
125 //
126 // RUN: %clang -target mips-linux-gnu -mips32 -### \
127 // RUN:   -no-integrated-as -c %s 2>&1 \
128 // RUN:   | FileCheck -check-prefix=MIPS-ALIAS-32 %s
129 // MIPS-ALIAS-32: as{{(.exe)?}}" "-march" "mips32" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
130 //
131 // RUN: %clang -target mips-linux-gnu -mips32r2 -### \
132 // RUN:   -no-integrated-as -c %s 2>&1 \
133 // RUN:   | FileCheck -check-prefix=MIPS-ALIAS-32R2 %s
134 // MIPS-ALIAS-32R2: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
135 //
136 // RUN: %clang -target mips-linux-gnu -mips32r3 -### \
137 // RUN:   -no-integrated-as -c %s 2>&1 \
138 // RUN:   | FileCheck -check-prefix=MIPS-ALIAS-32R3 %s
139 // MIPS-ALIAS-32R3: as{{(.exe)?}}" "-march" "mips32r3" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
140 //
141 // RUN: %clang -target mips-linux-gnu -mips32r5 -### \
142 // RUN:   -no-integrated-as -c %s 2>&1 \
143 // RUN:   | FileCheck -check-prefix=MIPS-ALIAS-32R5 %s
144 // MIPS-ALIAS-32R5: as{{(.exe)?}}" "-march" "mips32r5" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
145 //
146 // RUN: %clang -target mips-linux-gnu -mips32r6 -### \
147 // RUN:   -no-integrated-as -c %s 2>&1 \
148 // RUN:   | FileCheck -check-prefix=MIPS-ALIAS-32R6 %s
149 // MIPS-ALIAS-32R6: as{{(.exe)?}}" "-march" "mips32r6" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
150 //
151 // RUN: %clang -target mips64-linux-gnu -mips64 -### \
152 // RUN:   -no-integrated-as -c %s 2>&1 \
153 // RUN:   | FileCheck -check-prefix=MIPS-ALIAS-64-PIC %s
154 // MIPS-ALIAS-64-PIC: as{{(.exe)?}}" "-march" "mips64" "-mabi" "64" "-EB" "-KPIC"
155 //
156 // RUN: %clang -target mips64-linux-gnu -mips64 -### \
157 // RUN:   -no-integrated-as -c -fno-pic -mno-abicalls %s 2>&1 \
158 // RUN:   | FileCheck -check-prefix=MIPS-ALIAS-64 %s
159 // MIPS-ALIAS-64: as{{(.exe)?}}" "-march" "mips64" "-mabi" "64" "-mno-shared" "-EB"
160 //
161 // RUN: %clang -target mips64-linux-gnu -mips64r2 -### \
162 // RUN:   -no-integrated-as -c %s 2>&1 \
163 // RUN:   | FileCheck -check-prefix=MIPS-ALIAS-64R2-PIC %s
164 // MIPS-ALIAS-64R2-PIC: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "64" "-EB" "-KPIC"
165 //
166 // RUN: %clang -target mips64-linux-gnu -mips64r3 -### \
167 // RUN:   -no-integrated-as -c %s 2>&1 \
168 // RUN:   | FileCheck -check-prefix=MIPS-ALIAS-64R3-PIC %s
169 // MIPS-ALIAS-64R3-PIC: as{{(.exe)?}}" "-march" "mips64r3" "-mabi" "64" "-EB" "-KPIC"
170 //
171 // RUN: %clang -target mips64-linux-gnu -mips64r3 -### \
172 // RUN:   -no-integrated-as -c %s -fno-pic -mno-abicalls 2>&1 \
173 // RUN:   | FileCheck -check-prefix=MIPS-ALIAS-64R3 %s
174 // MIPS-ALIAS-64R3: as{{(.exe)?}}" "-march" "mips64r3" "-mabi" "64" "-mno-shared" "-EB"
175 //
176 // RUN: %clang -target mips64-linux-gnu -mips64r5 -### \
177 // RUN:   -no-integrated-as -c %s 2>&1 \
178 // RUN:   | FileCheck -check-prefix=MIPS-ALIAS-64R5-PIC %s
179 // MIPS-ALIAS-64R5-PIC: as{{(.exe)?}}" "-march" "mips64r5" "-mabi" "64" "-EB" "-KPIC"
180 //
181 // RUN: %clang -target mips64-linux-gnu -mips64r5 -### \
182 // RUN:   -no-integrated-as -c %s -fno-pic -mno-abicalls 2>&1 \
183 // RUN:   | FileCheck -check-prefix=MIPS-ALIAS-64R5 %s
184 // MIPS-ALIAS-64R5: as{{(.exe)?}}" "-march" "mips64r5" "-mabi" "64" "-mno-shared" "-EB"
185 //
186 // RUN: %clang -target mips64-linux-gnu -mips64r6 -### \
187 // RUN:   -no-integrated-as -c %s 2>&1 \
188 // RUN:   | FileCheck -check-prefix=MIPS-ALIAS-64R6-PIC %s
189 // MIPS-ALIAS-64R6-PIC: as{{(.exe)?}}" "-march" "mips64r6" "-mabi" "64" "-EB" "-KPIC"
190 //
191 // RUN: %clang -target mips64-linux-gnu -mips64r6 -### \
192 // RUN:   -no-integrated-as -c %s -fno-pic -mno-abicalls 2>&1 \
193 // RUN:   | FileCheck -check-prefix=MIPS-ALIAS-64R6 %s
194 // MIPS-ALIAS-64R6: as{{(.exe)?}}" "-march" "mips64r6" "-mabi" "64" "-mno-shared" "-EB"
195 //
196 // RUN: %clang -target mips-linux-gnu -mno-mips16 -mips16 -### \
197 // RUN:   -no-integrated-as -c %s 2>&1 \
198 // RUN:   | FileCheck -check-prefix=MIPS-16 %s
199 // MIPS-16: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" "-mips16"
200 //
201 // RUN: %clang -target mips-linux-gnu -mips16 -mno-mips16 -### \
202 // RUN:   -no-integrated-as -c %s 2>&1 \
203 // RUN:   | FileCheck -check-prefix=MIPS-N16 %s
204 // MIPS-N16: as{{(.exe)?}}"
205 // MIPS-N16: -no-mips16
206 //
207 // RUN: %clang -target mips-linux-gnu -mno-micromips -mmicromips -### \
208 // RUN:   -no-integrated-as -c %s 2>&1 \
209 // RUN:   | FileCheck -check-prefix=MIPS-MICRO %s
210 // MIPS-MICRO: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" "-mmicromips"
211 //
212 // RUN: %clang -target mips-linux-gnu -mmicromips -mno-micromips -### \
213 // RUN:   -no-integrated-as -c %s 2>&1 \
214 // RUN:   | FileCheck -check-prefix=MIPS-NMICRO %s
215 // MIPS-NMICRO: as{{(.exe)?}}"
216 // MIPS-NMICRO-NOT: {{[A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mmicromips"
217 //
218 // RUN: %clang -target mips-linux-gnu -mno-dsp -mdsp -### \
219 // RUN:   -no-integrated-as -c %s 2>&1 \
220 // RUN:   | FileCheck -check-prefix=MIPS-DSP %s
221 // MIPS-DSP: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" "-mdsp"
222 //
223 // RUN: %clang -target mips-linux-gnu -mdsp -mno-dsp -### \
224 // RUN:   -no-integrated-as -c %s 2>&1 \
225 // RUN:   | FileCheck -check-prefix=MIPS-NDSP %s
226 // MIPS-NDSP: as{{(.exe)?}}"
227 // MIPS-NDSP-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mdsp"
228 //
229 // RUN: %clang -target mips-linux-gnu -mno-dspr2 -mdspr2 -### \
230 // RUN:   -no-integrated-as -c %s 2>&1 \
231 // RUN:   | FileCheck -check-prefix=MIPS-DSPR2 %s
232 // MIPS-DSPR2: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" "-mdspr2"
233 //
234 // RUN: %clang -target mips-linux-gnu -mdspr2 -mno-dspr2 -### \
235 // RUN:   -no-integrated-as -c %s 2>&1 \
236 // RUN:   | FileCheck -check-prefix=MIPS-NDSPR2 %s
237 // MIPS-NDSPR2: as{{(.exe)?}}"
238 // MIPS-NDSPR2-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mdspr2"
239 //
240 // RUN: %clang -target mips-linux-gnu -mnan=legacy -mnan=2008 -### \
241 // RUN:   -no-integrated-as -c %s 2>&1 \
242 // RUN:   | FileCheck -check-prefix=MIPS-NAN2008 %s
243 // MIPS-NAN2008: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" "-mnan=2008"
244 //
245 // RUN: %clang -target mips-linux-gnu -mnan=2008 -mnan=legacy -### \
246 // RUN:   -no-integrated-as -c %s 2>&1 \
247 // RUN:   | FileCheck -check-prefix=MIPS-NAN-LEGACY %s
248 // MIPS-NAN-LEGACY: as{{(.exe)?}}"
249 // MIPS-NAN-LEGACY-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mnan={{.*}}"
250 //
251 // RUN: %clang -target mips-linux-gnu -mfp64 -mfpxx -mfp32 -### \
252 // RUN:   -no-integrated-as -c %s 2>&1 \
253 // RUN:   | FileCheck -check-prefix=MIPS-MFP32 %s
254 // MIPS-MFP32: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" "-mfp32"
255 //
256 // RUN: %clang -target mips-linux-gnu -mfp32 -mfp64 -mfpxx -### \
257 // RUN:   -no-integrated-as -c %s 2>&1 \
258 // RUN:   | FileCheck -check-prefix=MIPS-MFPXX %s
259 // MIPS-MFPXX: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" "-mfpxx"
260 //
261 // RUN: %clang -target mips-linux-gnu -mfpxx -mfp32 -mfp64 -### \
262 // RUN:   -no-integrated-as -c %s 2>&1 \
263 // RUN:   | FileCheck -check-prefix=MIPS-MFP64 %s
264 // MIPS-MFP64: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" "-mfp64"
265 //
266 // RUN: %clang -target mips-linux-gnu -mno-msa -mmsa -### \
267 // RUN:   -no-integrated-as -c %s 2>&1 \
268 // RUN:   | FileCheck -check-prefix=MIPS-MSA %s
269 // MIPS-MSA: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" "-mmsa"
270 //
271 // RUN: %clang -target mips-linux-gnu -mmsa -mno-msa -### \
272 // RUN:   -no-integrated-as -c %s 2>&1 \
273 // RUN:   | FileCheck -check-prefix=MIPS-NMSA %s
274 // MIPS-NMSA: as{{(.exe)?}}"
275 // MIPS-NMSA-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mmsa"
276 //
277 // We've already tested MIPS32r2 and MIPS64r2 thoroughly. Do minimal tests on
278 // the remaining CPU's since it was possible to pass on a -mabi with no value
279 // when the CPU name is absent from a StringSwitch in getMipsCPUAndABI()
280 // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -c %s -mcpu=mips1 \
281 // RUN:   2>&1 | FileCheck -check-prefix=MIPS1-EB-AS %s
282 // MIPS1-EB-AS: as{{(.exe)?}}" "-march" "mips1" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
283 // MIPS1-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
284 //
285 // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -c %s -mcpu=mips2 \
286 // RUN:   2>&1 | FileCheck -check-prefix=MIPS2-EB-AS %s
287 // MIPS2-EB-AS: as{{(.exe)?}}" "-march" "mips2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
288 // MIPS2-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
289 //
290 // RUN: %clang -target mips64-linux-gnu -### -no-integrated-as -c %s -mcpu=mips3 \
291 // RUN:   2>&1 | FileCheck -check-prefix=MIPS3-EB-AS %s
292 // MIPS3-EB-AS: as{{(.exe)?}}" "-march" "mips3" "-mabi" "64" "-EB" "-KPIC"
293 //
294 // RUN: %clang -target mips64-linux-gnu -### -no-integrated-as -c %s -mcpu=mips4 \
295 // RUN:   2>&1 | FileCheck -check-prefix=MIPS4-EB-AS %s
296 // MIPS4-EB-AS: as{{(.exe)?}}" "-march" "mips4" "-mabi" "64" "-EB" "-KPIC"
297 //
298 // RUN: %clang -target mips64-linux-gnu -### -no-integrated-as -c %s -mcpu=mips5 \
299 // RUN:   2>&1 | FileCheck -check-prefix=MIPS5-EB-AS %s
300 // MIPS5-EB-AS: as{{(.exe)?}}" "-march" "mips5" "-mabi" "64" "-EB" "-KPIC"
301 //
302 // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -c %s -mcpu=mips32 \
303 // RUN:   2>&1 | FileCheck -check-prefix=MIPS32-EB-AS %s
304 // MIPS32-EB-AS: as{{(.exe)?}}" "-march" "mips32" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
305 // MIPS32-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
306 //
307 // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -c %s -mcpu=mips32r6 \
308 // RUN:   2>&1 | FileCheck -check-prefix=MIPS32R6-EB-AS %s
309 // MIPS32R6-EB-AS: as{{(.exe)?}}" "-march" "mips32r6" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
310 // MIPS32R6-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
311 //
312 // RUN: %clang -target mips64-linux-gnu -### -no-integrated-as -c %s -mcpu=mips64 \
313 // RUN:   2>&1 | FileCheck -check-prefix=MIPS64-EB-AS %s
314 // MIPS64-EB-AS: as{{(.exe)?}}" "-march" "mips64" "-mabi" "64" "-EB" "-KPIC"
315 //
316 // RUN: %clang -target mips64-linux-gnu -### -no-integrated-as -c %s -mcpu=mips64r6 \
317 // RUN:   2>&1 | FileCheck -check-prefix=MIPS64R6-EB-AS %s
318 // MIPS64R6-EB-AS: as{{(.exe)?}}" "-march" "mips64r6" "-mabi" "64" "-EB" "-KPIC"
319 //
320 // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -msoft-float -mhard-float -c %s 2>&1 \
321 // RUN:   | FileCheck -check-prefix=HARDFLOAT --implicit-check-not=-msoft-float %s
322 // HARDFLOAT: as{{(.exe)?}}"
323 // HARDFLOAT: -mhard-float
324 //
325 // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -mhard-float -msoft-float -c %s 2>&1 \
326 // RUN:   | FileCheck -check-prefix=SOFTFLOAT --implicit-check-not=-mhard-float %s
327 // SOFTFLOAT: as{{(.exe)?}}"
328 // SOFTFLOAT: -msoft-float
329 //
330 // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -mno-odd-spreg -modd-spreg -c %s 2>&1 \
331 // RUN:   | FileCheck -check-prefix=ODDSPREG --implicit-check-not=-mno-odd-spreg %s
332 // ODDSPREG: as{{(.exe)?}}"
333 // ODDSPREG: -modd-spreg
334 //
335 // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -modd-spreg -mno-odd-spreg -c %s 2>&1 \
336 // RUN:   | FileCheck -check-prefix=NOODDSPREG --implicit-check-not=-modd-spreg %s
337 // NOODDSPREG: as{{(.exe)?}}"
338 // NOODDSPREG: -mno-odd-spreg
339 //
340 // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -mdouble-float -msingle-float -c %s 2>&1 \
341 // RUN:   | FileCheck -check-prefix=SINGLEFLOAT --implicit-check-not=-mdouble-float %s
342 // SINGLEFLOAT: as{{(.exe)?}}"
343 // SINGLEFLOAT: -msingle-float
344 //
345 // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -msingle-float -mdouble-float -c %s 2>&1 \
346 // RUN:   | FileCheck -check-prefix=DOUBLEFLOAT --implicit-check-not=-msingle-float %s
347 // DOUBLEFLOAT: as{{(.exe)?}}"
348 // DOUBLEFLOAT: -mdouble-float
349 //
350 // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -msoft-float -c %s 2>&1 \
351 // RUN:   | FileCheck -check-prefix=SOFTFLOAT-IMPLICIT-FPXX --implicit-check-not=-mfpxx %s
352 // SOFTFLOAT-IMPLICIT-FPXX: as{{(.exe)?}}"
353 // SOFTFLOAT-IMPLICIT-FPXX: -msoft-float
354 //
355 // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -msoft-float -mfpxx -c %s 2>&1 \
356 // RUN:   | FileCheck -check-prefix=SOFTFLOAT-EXPLICIT-FPXX %s
357 // SOFTFLOAT-EXPLICIT-FPXX: as{{(.exe)?}}"
358 // SOFTFLOAT-EXPLICIT-FPXX: -mfpxx
359 // SOFTFLOAT-EXPLICIT-FPXX: -msoft-float
360 //
361 // RUN: %clang -target mips-mti-linux-gnu -### -no-integrated-as -msoft-float -c %s 2>&1 \
362 // RUN:   | FileCheck -check-prefix=MTI-SOFTFLOAT-IMPLICIT-FPXX --implicit-check-not=-mfpxx %s
363 // MTI-SOFTFLOAT-IMPLICIT-FPXX: as{{(.exe)?}}"
364 // MTI-SOFTFLOAT-IMPLICIT-FPXX: -msoft-float
365 //
366 // RUN: %clang -target mips-mti-linux-gnu -### -no-integrated-as -msoft-float -mfpxx -c %s 2>&1 \
367 // RUN:   | FileCheck -check-prefix=MTI-SOFTFLOAT-EXPLICIT-FPXX %s
368 // MTI-SOFTFLOAT-EXPLICIT-FPXX: as{{(.exe)?}}"
369 // MTI-SOFTFLOAT-EXPLICIT-FPXX: -mfpxx
370 // MTI-SOFTFLOAT-EXPLICIT-FPXX: -msoft-float
371 //
372 // RUN: %clang -target mips-img-linux-gnu -### -no-integrated-as -msoft-float -c %s 2>&1 \
373 // RUN:   | FileCheck -check-prefix=IMG-SOFTFLOAT-IMPLICIT-FPXX --implicit-check-not=-mfpxx %s
374 // IMG-SOFTFLOAT-IMPLICIT-FPXX: as{{(.exe)?}}"
375 // IMG-SOFTFLOAT-IMPLICIT-FPXX: -msoft-float
376 //
377 // RUN: %clang -target mips-img-linux-gnu -### -no-integrated-as -msoft-float -mfpxx -c %s 2>&1 \
378 // RUN:   | FileCheck -check-prefix=IMG-SOFTFLOAT-EXPLICIT-FPXX %s
379 // IMG-SOFTFLOAT-EXPLICIT-FPXX: as{{(.exe)?}}"
380 // IMG-SOFTFLOAT-EXPLICIT-FPXX: -mfpxx
381 // IMG-SOFTFLOAT-EXPLICIT-FPXX: -msoft-float
382 //
383 // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -msingle-float -c %s 2>&1 \
384 // RUN:   | FileCheck -check-prefix=SINGLEFLOAT-IMPLICIT-FPXX --implicit-check-not=-mfpxx %s
385 // SINGLEFLOAT-IMPLICIT-FPXX: as{{(.exe)?}}"
386 // SINGLEFLOAT-IMPLICIT-FPXX: -msingle-float
387 //
388 // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -msingle-float -mfpxx -c %s 2>&1 \
389 // RUN:   | FileCheck -check-prefix=SINGLEFLOAT-EXPLICIT-FPXX %s
390 // SINGLEFLOAT-EXPLICIT-FPXX: as{{(.exe)?}}"
391 // SINGLEFLOAT-EXPLICIT-FPXX: -mfpxx
392 // SINGLEFLOAT-EXPLICIT-FPXX: -msingle-float
393 //
394 // RUN: %clang -target mips-mti-linux-gnu -### -no-integrated-as -msingle-float -c %s 2>&1 \
395 // RUN:   | FileCheck -check-prefix=MTI-SINGLEFLOAT-IMPLICIT-FPXX --implicit-check-not=-mfpxx %s
396 // MTI-SINGLEFLOAT-IMPLICIT-FPXX: as{{(.exe)?}}"
397 // MTI-SINGLEFLOAT-IMPLICIT-FPXX: -msingle-float
398 //
399 // RUN: %clang -target mips-mti-linux-gnu -### -no-integrated-as -msingle-float -mfpxx -c %s 2>&1 \
400 // RUN:   | FileCheck -check-prefix=MTI-SINGLEFLOAT-EXPLICIT-FPXX %s
401 // MTI-SINGLEFLOAT-EXPLICIT-FPXX: as{{(.exe)?}}"
402 // MTI-SINGLEFLOAT-EXPLICIT-FPXX: -mfpxx
403 // MTI-SINGLEFLOAT-EXPLICIT-FPXX: -msingle-float
404 //
405 // RUN: %clang -target mips-img-linux-gnu -### -no-integrated-as -msingle-float -c %s 2>&1 \
406 // RUN:   | FileCheck -check-prefix=IMG-SINGLEFLOAT-IMPLICIT-FPXX --implicit-check-not=-mfpxx %s
407 // IMG-SINGLEFLOAT-IMPLICIT-FPXX: as{{(.exe)?}}"
408 // IMG-SINGLEFLOAT-IMPLICIT-FPXX: -msingle-float
409 //
410 // RUN: %clang -target mips-img-linux-gnu -### -no-integrated-as -msingle-float -mfpxx -c %s 2>&1 \
411 // RUN:   | FileCheck -check-prefix=IMG-SINGLEFLOAT-EXPLICIT-FPXX %s
412 // IMG-SINGLEFLOAT-EXPLICIT-FPXX: as{{(.exe)?}}"
413 // IMG-SINGLEFLOAT-EXPLICIT-FPXX: -mfpxx
414 // IMG-SINGLEFLOAT-EXPLICIT-FPXX: -msingle-float
415