blob: 07a588f1ace02199242499903fd47259e7c830e4 [file] [log] [blame]
Simon Atanasyan2390aa12012-04-06 19:15:24 +00001// 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 \
Daniel Sandersb7689ba2014-07-02 13:21:52 +00005// RUN: | FileCheck -check-prefix=MIPS32R2-EB-AS %s
6// MIPS32R2-EB-AS: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB"
7// MIPS32R2-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
Simon Atanasyan217dc2d2012-05-29 19:07:33 +00008//
9// RUN: %clang -target mips-linux-gnu -### \
10// RUN: -no-integrated-as -fPIC -c %s 2>&1 \
Daniel Sandersb7689ba2014-07-02 13:21:52 +000011// RUN: | FileCheck -check-prefix=MIPS32R2-EB-PIC %s
12// MIPS32R2-EB-PIC: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB"
13// MIPS32R2-EB-PIC: "-KPIC"
Simon Atanasyan2390aa12012-04-06 19:15:24 +000014//
15// RUN: %clang -target mipsel-linux-gnu -### \
16// RUN: -no-integrated-as -c %s 2>&1 \
Daniel Sandersb7689ba2014-07-02 13:21:52 +000017// RUN: | FileCheck -check-prefix=MIPS32R2-DEF-EL-AS %s
18// MIPS32R2-DEF-EL-AS: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EL"
Simon Atanasyan2390aa12012-04-06 19:15:24 +000019//
20// RUN: %clang -target mips64-linux-gnu -### \
21// RUN: -no-integrated-as -c %s 2>&1 \
Daniel Sandersb7689ba2014-07-02 13:21:52 +000022// RUN: | FileCheck -check-prefix=MIPS64R2-EB-AS %s
23// MIPS64R2-EB-AS: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "64" "-EB"
Simon Atanasyan2390aa12012-04-06 19:15:24 +000024//
25// RUN: %clang -target mips64el-linux-gnu -### \
26// RUN: -no-integrated-as -c %s 2>&1 \
Daniel Sandersb7689ba2014-07-02 13:21:52 +000027// RUN: | FileCheck -check-prefix=MIPS64R2-DEF-EL-AS %s
28// MIPS64R2-DEF-EL-AS: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "64" "-EL"
Simon Atanasyan571d7bd2012-04-07 22:31:29 +000029//
30// RUN: %clang -target mips-linux-gnu -mabi=eabi -### \
31// RUN: -no-integrated-as -c %s 2>&1 \
32// RUN: | FileCheck -check-prefix=MIPS-EABI %s
Simon Atanasyan1a3665b62014-01-27 13:59:04 +000033// MIPS-EABI: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "eabi" "-EB"
Simon Atanasyan571d7bd2012-04-07 22:31:29 +000034//
35// RUN: %clang -target mips64-linux-gnu -mabi=n32 -### \
36// RUN: -no-integrated-as -c %s 2>&1 \
37// RUN: | FileCheck -check-prefix=MIPS-N32 %s
Simon Atanasyan1a3665b62014-01-27 13:59:04 +000038// MIPS-N32: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "n32" "-EB"
Simon Atanasyan464a7f72012-09-10 08:32:41 +000039//
Simon Atanasyan0da400c2013-02-27 14:55:49 +000040// RUN: %clang -target mipsel-linux-gnu -mabi=32 -### \
41// RUN: -no-integrated-as -c %s 2>&1 \
Daniel Sandersb7689ba2014-07-02 13:21:52 +000042// RUN: | FileCheck -check-prefix=MIPS32R2-EL-AS %s
43// MIPS32R2-EL-AS: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EL"
Simon Atanasyan0da400c2013-02-27 14:55:49 +000044//
45// RUN: %clang -target mips64el-linux-gnu -mabi=64 -### \
46// RUN: -no-integrated-as -c %s 2>&1 \
Daniel Sandersb7689ba2014-07-02 13:21:52 +000047// RUN: | FileCheck -check-prefix=MIPS64R2-EL-AS %s
48// MIPS64R2-EL-AS: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "64" "-EL"
Simon Atanasyan0da400c2013-02-27 14:55:49 +000049//
Simon Atanasyan464a7f72012-09-10 08:32:41 +000050// RUN: %clang -target mips-linux-gnu -march=mips32r2 -### \
51// RUN: -no-integrated-as -c %s 2>&1 \
52// RUN: | FileCheck -check-prefix=MIPS-32R2 %s
53// MIPS-32R2: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB"
Simon Atanasyan2efe53e2012-09-21 20:19:32 +000054//
Simon Atanasyan4e16a422014-07-04 12:37:04 +000055// RUN: %clang -target mips64-linux-gnu -march=octeon -### \
56// RUN: -no-integrated-as -c %s 2>&1 \
57// RUN: | FileCheck -check-prefix=MIPS-OCTEON %s
58// MIPS-OCTEON: as{{(.exe)?}}" "-march" "octeon" "-mabi" "64" "-EB"
59//
Simon Atanasyan26610c52014-07-04 12:36:56 +000060// RUN: %clang -target mips-linux-gnu -mips1 -### \
61// RUN: -no-integrated-as -c %s 2>&1 \
62// RUN: | FileCheck -check-prefix=MIPS-ALIAS-1 %s
63// MIPS-ALIAS-1: as{{(.exe)?}}" "-march" "mips1" "-mabi" "32" "-EB"
64//
65// RUN: %clang -target mips-linux-gnu -mips2 -### \
66// RUN: -no-integrated-as -c %s 2>&1 \
67// RUN: | FileCheck -check-prefix=MIPS-ALIAS-2 %s
68// MIPS-ALIAS-2: as{{(.exe)?}}" "-march" "mips2" "-mabi" "32" "-EB"
69//
70// RUN: %clang -target mips-linux-gnu -mips3 -### \
71// RUN: -no-integrated-as -c %s 2>&1 \
72// RUN: | FileCheck -check-prefix=MIPS-ALIAS-3 %s
73// MIPS-ALIAS-3: as{{(.exe)?}}" "-march" "mips3" "-mabi" "32" "-EB"
74//
75// RUN: %clang -target mips-linux-gnu -mips4 -### \
76// RUN: -no-integrated-as -c %s 2>&1 \
77// RUN: | FileCheck -check-prefix=MIPS-ALIAS-4 %s
78// MIPS-ALIAS-4: as{{(.exe)?}}" "-march" "mips4" "-mabi" "32" "-EB"
79//
80// RUN: %clang -target mips-linux-gnu -mips5 -### \
81// RUN: -no-integrated-as -c %s 2>&1 \
82// RUN: | FileCheck -check-prefix=MIPS-ALIAS-5 %s
83// MIPS-ALIAS-5: as{{(.exe)?}}" "-march" "mips5" "-mabi" "32" "-EB"
84//
Simon Atanasyan2efe53e2012-09-21 20:19:32 +000085// RUN: %clang -target mips-linux-gnu -mips32 -### \
86// RUN: -no-integrated-as -c %s 2>&1 \
87// RUN: | FileCheck -check-prefix=MIPS-ALIAS-32 %s
88// MIPS-ALIAS-32: as{{(.exe)?}}" "-march" "mips32" "-mabi" "32" "-EB"
89//
90// RUN: %clang -target mips-linux-gnu -mips32r2 -### \
91// RUN: -no-integrated-as -c %s 2>&1 \
92// RUN: | FileCheck -check-prefix=MIPS-ALIAS-32R2 %s
93// MIPS-ALIAS-32R2: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB"
94//
Simon Atanasyan0091a072014-06-30 08:10:01 +000095// RUN: %clang -target mips64-linux-gnu -mips64 -### \
Simon Atanasyan2efe53e2012-09-21 20:19:32 +000096// RUN: -no-integrated-as -c %s 2>&1 \
97// RUN: | FileCheck -check-prefix=MIPS-ALIAS-64 %s
98// MIPS-ALIAS-64: as{{(.exe)?}}" "-march" "mips64" "-mabi" "64" "-EB"
99//
Simon Atanasyan0091a072014-06-30 08:10:01 +0000100// RUN: %clang -target mips64-linux-gnu -mips64r2 -### \
Simon Atanasyan2efe53e2012-09-21 20:19:32 +0000101// RUN: -no-integrated-as -c %s 2>&1 \
102// RUN: | FileCheck -check-prefix=MIPS-ALIAS-64R2 %s
103// MIPS-ALIAS-64R2: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "64" "-EB"
Simon Atanasyan036d16d2013-04-30 07:47:13 +0000104//
105// RUN: %clang -target mips-linux-gnu -mno-mips16 -mips16 -### \
106// RUN: -no-integrated-as -c %s 2>&1 \
107// RUN: | FileCheck -check-prefix=MIPS-16 %s
Simon Atanasyan1a3665b62014-01-27 13:59:04 +0000108// MIPS-16: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB" "-mips16"
Simon Atanasyan036d16d2013-04-30 07:47:13 +0000109//
110// RUN: %clang -target mips-linux-gnu -mips16 -mno-mips16 -### \
111// RUN: -no-integrated-as -c %s 2>&1 \
112// RUN: | FileCheck -check-prefix=MIPS-N16 %s
113// MIPS-N16: as{{(.exe)?}}"
Saleem Abdulrasoola56fc7c2014-02-22 23:37:54 +0000114// MIPS-N16-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mips16"
Simon Atanasyan036d16d2013-04-30 07:47:13 +0000115//
116// RUN: %clang -target mips-linux-gnu -mno-micromips -mmicromips -### \
117// RUN: -no-integrated-as -c %s 2>&1 \
118// RUN: | FileCheck -check-prefix=MIPS-MICRO %s
Simon Atanasyan1a3665b62014-01-27 13:59:04 +0000119// MIPS-MICRO: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB" "-mmicromips"
Simon Atanasyan036d16d2013-04-30 07:47:13 +0000120//
121// RUN: %clang -target mips-linux-gnu -mmicromips -mno-micromips -### \
122// RUN: -no-integrated-as -c %s 2>&1 \
123// RUN: | FileCheck -check-prefix=MIPS-NMICRO %s
124// MIPS-NMICRO: as{{(.exe)?}}"
Saleem Abdulrasoola56fc7c2014-02-22 23:37:54 +0000125// MIPS-NMICRO-NOT: {{[A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mmicromips"
Simon Atanasyan036d16d2013-04-30 07:47:13 +0000126//
127// RUN: %clang -target mips-linux-gnu -mno-dsp -mdsp -### \
128// RUN: -no-integrated-as -c %s 2>&1 \
129// RUN: | FileCheck -check-prefix=MIPS-DSP %s
Simon Atanasyan1a3665b62014-01-27 13:59:04 +0000130// MIPS-DSP: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB" "-mdsp"
Simon Atanasyan036d16d2013-04-30 07:47:13 +0000131//
132// RUN: %clang -target mips-linux-gnu -mdsp -mno-dsp -### \
133// RUN: -no-integrated-as -c %s 2>&1 \
134// RUN: | FileCheck -check-prefix=MIPS-NDSP %s
135// MIPS-NDSP: as{{(.exe)?}}"
Saleem Abdulrasoola56fc7c2014-02-22 23:37:54 +0000136// MIPS-NDSP-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mdsp"
Simon Atanasyan036d16d2013-04-30 07:47:13 +0000137//
138// RUN: %clang -target mips-linux-gnu -mno-dspr2 -mdspr2 -### \
139// RUN: -no-integrated-as -c %s 2>&1 \
140// RUN: | FileCheck -check-prefix=MIPS-DSPR2 %s
Simon Atanasyan1a3665b62014-01-27 13:59:04 +0000141// MIPS-DSPR2: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB" "-mdspr2"
Simon Atanasyan036d16d2013-04-30 07:47:13 +0000142//
143// RUN: %clang -target mips-linux-gnu -mdspr2 -mno-dspr2 -### \
144// RUN: -no-integrated-as -c %s 2>&1 \
145// RUN: | FileCheck -check-prefix=MIPS-NDSPR2 %s
146// MIPS-NDSPR2: as{{(.exe)?}}"
Saleem Abdulrasoola56fc7c2014-02-22 23:37:54 +0000147// MIPS-NDSPR2-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mdspr2"
Simon Atanasyan22127ce2013-09-24 09:09:16 +0000148//
149// RUN: %clang -target mips-linux-gnu -mnan=legacy -mnan=2008 -### \
150// RUN: -no-integrated-as -c %s 2>&1 \
151// RUN: | FileCheck -check-prefix=MIPS-NAN2008 %s
Simon Atanasyan1a3665b62014-01-27 13:59:04 +0000152// MIPS-NAN2008: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB" "-mnan=2008"
Simon Atanasyan22127ce2013-09-24 09:09:16 +0000153//
154// RUN: %clang -target mips-linux-gnu -mnan=2008 -mnan=legacy -### \
155// RUN: -no-integrated-as -c %s 2>&1 \
156// RUN: | FileCheck -check-prefix=MIPS-NAN-LEGACY %s
157// MIPS-NAN-LEGACY: as{{(.exe)?}}"
Saleem Abdulrasoola56fc7c2014-02-22 23:37:54 +0000158// MIPS-NAN-LEGACY-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mnan={{.*}}"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000159//
160// RUN: %clang -target mips-linux-gnu -mfp64 -mfp32 -### \
161// RUN: -no-integrated-as -c %s 2>&1 \
162// RUN: | FileCheck -check-prefix=MIPS-MFP32 %s
Simon Atanasyan1a3665b62014-01-27 13:59:04 +0000163// MIPS-MFP32: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB" "-mfp32"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000164//
165// RUN: %clang -target mips-linux-gnu -mfp32 -mfp64 -### \
166// RUN: -no-integrated-as -c %s 2>&1 \
167// RUN: | FileCheck -check-prefix=MIPS-MFP64 %s
Simon Atanasyan1a3665b62014-01-27 13:59:04 +0000168// MIPS-MFP64: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB" "-mfp64"
Simon Atanasyanbd986632013-11-26 11:58:04 +0000169//
170// RUN: %clang -target mips-linux-gnu -mno-msa -mmsa -### \
171// RUN: -no-integrated-as -c %s 2>&1 \
172// RUN: | FileCheck -check-prefix=MIPS-MSA %s
Simon Atanasyan1a3665b62014-01-27 13:59:04 +0000173// MIPS-MSA: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB" "-mmsa"
Simon Atanasyanbd986632013-11-26 11:58:04 +0000174//
175// RUN: %clang -target mips-linux-gnu -mmsa -mno-msa -### \
176// RUN: -no-integrated-as -c %s 2>&1 \
177// RUN: | FileCheck -check-prefix=MIPS-NMSA %s
178// MIPS-NMSA: as{{(.exe)?}}"
Saleem Abdulrasoola56fc7c2014-02-22 23:37:54 +0000179// MIPS-NMSA-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mmsa"
Daniel Sandersadbbfd12014-07-02 15:21:50 +0000180//
181// We've already tested MIPS32r2 and MIPS64r2 thoroughly. Do minimal tests on
182// the remaining CPU's since it was possible to pass on a -mabi with no value
183// when the CPU name is absent from a StringSwitch in getMipsCPUAndABI()
184// RUN: %clang -target mips-linux-gnu -### -no-integrated-as -c %s -mcpu=mips1 \
185// RUN: 2>&1 | FileCheck -check-prefix=MIPS1-EB-AS %s
186// MIPS1-EB-AS: as{{(.exe)?}}" "-march" "mips1" "-mabi" "32" "-EB"
187// MIPS1-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
188//
189// RUN: %clang -target mips-linux-gnu -### -no-integrated-as -c %s -mcpu=mips2 \
190// RUN: 2>&1 | FileCheck -check-prefix=MIPS2-EB-AS %s
191// MIPS2-EB-AS: as{{(.exe)?}}" "-march" "mips2" "-mabi" "32" "-EB"
192// MIPS2-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
193//
194// RUN: %clang -target mips64-linux-gnu -### -no-integrated-as -c %s -mcpu=mips3 \
195// RUN: 2>&1 | FileCheck -check-prefix=MIPS3-EB-AS %s
196// MIPS3-EB-AS: as{{(.exe)?}}" "-march" "mips3" "-mabi" "64" "-EB"
197// MIPS3-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
198//
199// RUN: %clang -target mips64-linux-gnu -### -no-integrated-as -c %s -mcpu=mips4 \
200// RUN: 2>&1 | FileCheck -check-prefix=MIPS4-EB-AS %s
201// MIPS4-EB-AS: as{{(.exe)?}}" "-march" "mips4" "-mabi" "64" "-EB"
202// MIPS4-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
203//
204// RUN: %clang -target mips64-linux-gnu -### -no-integrated-as -c %s -mcpu=mips5 \
205// RUN: 2>&1 | FileCheck -check-prefix=MIPS5-EB-AS %s
206// MIPS5-EB-AS: as{{(.exe)?}}" "-march" "mips5" "-mabi" "64" "-EB"
207// MIPS5-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
208//
209// RUN: %clang -target mips-linux-gnu -### -no-integrated-as -c %s -mcpu=mips32 \
210// RUN: 2>&1 | FileCheck -check-prefix=MIPS32-EB-AS %s
211// MIPS32-EB-AS: as{{(.exe)?}}" "-march" "mips32" "-mabi" "32" "-EB"
212// MIPS32-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
213//
214// RUN: %clang -target mips-linux-gnu -### -no-integrated-as -c %s -mcpu=mips32r6 \
215// RUN: 2>&1 | FileCheck -check-prefix=MIPS32R6-EB-AS %s
216// MIPS32R6-EB-AS: as{{(.exe)?}}" "-march" "mips32r6" "-mabi" "32" "-EB"
217// MIPS32R6-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
218//
219// RUN: %clang -target mips64-linux-gnu -### -no-integrated-as -c %s -mcpu=mips64 \
220// RUN: 2>&1 | FileCheck -check-prefix=MIPS64-EB-AS %s
221// MIPS64-EB-AS: as{{(.exe)?}}" "-march" "mips64" "-mabi" "64" "-EB"
222// MIPS64-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
223//
224// RUN: %clang -target mips64-linux-gnu -### -no-integrated-as -c %s -mcpu=mips64r6 \
225// RUN: 2>&1 | FileCheck -check-prefix=MIPS64R6-EB-AS %s
226// MIPS64R6-EB-AS: as{{(.exe)?}}" "-march" "mips64r6" "-mabi" "64" "-EB"
227// MIPS64R6-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"