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