Clang Project

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