blob: 27517accba604ea7af33821badd362f35fa4ffc9 [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 Atanasyan26610c52014-07-04 12:36:56 +000055// RUN: %clang -target mips-linux-gnu -mips1 -### \
56// RUN: -no-integrated-as -c %s 2>&1 \
57// RUN: | FileCheck -check-prefix=MIPS-ALIAS-1 %s
58// MIPS-ALIAS-1: as{{(.exe)?}}" "-march" "mips1" "-mabi" "32" "-EB"
59//
60// RUN: %clang -target mips-linux-gnu -mips2 -### \
61// RUN: -no-integrated-as -c %s 2>&1 \
62// RUN: | FileCheck -check-prefix=MIPS-ALIAS-2 %s
63// MIPS-ALIAS-2: as{{(.exe)?}}" "-march" "mips2" "-mabi" "32" "-EB"
64//
65// RUN: %clang -target mips-linux-gnu -mips3 -### \
66// RUN: -no-integrated-as -c %s 2>&1 \
67// RUN: | FileCheck -check-prefix=MIPS-ALIAS-3 %s
68// MIPS-ALIAS-3: as{{(.exe)?}}" "-march" "mips3" "-mabi" "32" "-EB"
69//
70// RUN: %clang -target mips-linux-gnu -mips4 -### \
71// RUN: -no-integrated-as -c %s 2>&1 \
72// RUN: | FileCheck -check-prefix=MIPS-ALIAS-4 %s
73// MIPS-ALIAS-4: as{{(.exe)?}}" "-march" "mips4" "-mabi" "32" "-EB"
74//
75// RUN: %clang -target mips-linux-gnu -mips5 -### \
76// RUN: -no-integrated-as -c %s 2>&1 \
77// RUN: | FileCheck -check-prefix=MIPS-ALIAS-5 %s
78// MIPS-ALIAS-5: as{{(.exe)?}}" "-march" "mips5" "-mabi" "32" "-EB"
79//
Simon Atanasyan2efe53e2012-09-21 20:19:32 +000080// RUN: %clang -target mips-linux-gnu -mips32 -### \
81// RUN: -no-integrated-as -c %s 2>&1 \
82// RUN: | FileCheck -check-prefix=MIPS-ALIAS-32 %s
83// MIPS-ALIAS-32: as{{(.exe)?}}" "-march" "mips32" "-mabi" "32" "-EB"
84//
85// RUN: %clang -target mips-linux-gnu -mips32r2 -### \
86// RUN: -no-integrated-as -c %s 2>&1 \
87// RUN: | FileCheck -check-prefix=MIPS-ALIAS-32R2 %s
88// MIPS-ALIAS-32R2: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB"
89//
Simon Atanasyan0091a072014-06-30 08:10:01 +000090// RUN: %clang -target mips64-linux-gnu -mips64 -### \
Simon Atanasyan2efe53e2012-09-21 20:19:32 +000091// RUN: -no-integrated-as -c %s 2>&1 \
92// RUN: | FileCheck -check-prefix=MIPS-ALIAS-64 %s
93// MIPS-ALIAS-64: as{{(.exe)?}}" "-march" "mips64" "-mabi" "64" "-EB"
94//
Simon Atanasyan0091a072014-06-30 08:10:01 +000095// RUN: %clang -target mips64-linux-gnu -mips64r2 -### \
Simon Atanasyan2efe53e2012-09-21 20:19:32 +000096// RUN: -no-integrated-as -c %s 2>&1 \
97// RUN: | FileCheck -check-prefix=MIPS-ALIAS-64R2 %s
98// MIPS-ALIAS-64R2: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "64" "-EB"
Simon Atanasyan036d16d2013-04-30 07:47:13 +000099//
100// RUN: %clang -target mips-linux-gnu -mno-mips16 -mips16 -### \
101// RUN: -no-integrated-as -c %s 2>&1 \
102// RUN: | FileCheck -check-prefix=MIPS-16 %s
Simon Atanasyan1a3665b62014-01-27 13:59:04 +0000103// MIPS-16: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB" "-mips16"
Simon Atanasyan036d16d2013-04-30 07:47:13 +0000104//
105// RUN: %clang -target mips-linux-gnu -mips16 -mno-mips16 -### \
106// RUN: -no-integrated-as -c %s 2>&1 \
107// RUN: | FileCheck -check-prefix=MIPS-N16 %s
108// MIPS-N16: as{{(.exe)?}}"
Saleem Abdulrasoola56fc7c2014-02-22 23:37:54 +0000109// MIPS-N16-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mips16"
Simon Atanasyan036d16d2013-04-30 07:47:13 +0000110//
111// RUN: %clang -target mips-linux-gnu -mno-micromips -mmicromips -### \
112// RUN: -no-integrated-as -c %s 2>&1 \
113// RUN: | FileCheck -check-prefix=MIPS-MICRO %s
Simon Atanasyan1a3665b62014-01-27 13:59:04 +0000114// MIPS-MICRO: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB" "-mmicromips"
Simon Atanasyan036d16d2013-04-30 07:47:13 +0000115//
116// RUN: %clang -target mips-linux-gnu -mmicromips -mno-micromips -### \
117// RUN: -no-integrated-as -c %s 2>&1 \
118// RUN: | FileCheck -check-prefix=MIPS-NMICRO %s
119// MIPS-NMICRO: as{{(.exe)?}}"
Saleem Abdulrasoola56fc7c2014-02-22 23:37:54 +0000120// MIPS-NMICRO-NOT: {{[A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mmicromips"
Simon Atanasyan036d16d2013-04-30 07:47:13 +0000121//
122// RUN: %clang -target mips-linux-gnu -mno-dsp -mdsp -### \
123// RUN: -no-integrated-as -c %s 2>&1 \
124// RUN: | FileCheck -check-prefix=MIPS-DSP %s
Simon Atanasyan1a3665b62014-01-27 13:59:04 +0000125// MIPS-DSP: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB" "-mdsp"
Simon Atanasyan036d16d2013-04-30 07:47:13 +0000126//
127// RUN: %clang -target mips-linux-gnu -mdsp -mno-dsp -### \
128// RUN: -no-integrated-as -c %s 2>&1 \
129// RUN: | FileCheck -check-prefix=MIPS-NDSP %s
130// MIPS-NDSP: as{{(.exe)?}}"
Saleem Abdulrasoola56fc7c2014-02-22 23:37:54 +0000131// MIPS-NDSP-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mdsp"
Simon Atanasyan036d16d2013-04-30 07:47:13 +0000132//
133// RUN: %clang -target mips-linux-gnu -mno-dspr2 -mdspr2 -### \
134// RUN: -no-integrated-as -c %s 2>&1 \
135// RUN: | FileCheck -check-prefix=MIPS-DSPR2 %s
Simon Atanasyan1a3665b62014-01-27 13:59:04 +0000136// MIPS-DSPR2: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB" "-mdspr2"
Simon Atanasyan036d16d2013-04-30 07:47:13 +0000137//
138// RUN: %clang -target mips-linux-gnu -mdspr2 -mno-dspr2 -### \
139// RUN: -no-integrated-as -c %s 2>&1 \
140// RUN: | FileCheck -check-prefix=MIPS-NDSPR2 %s
141// MIPS-NDSPR2: as{{(.exe)?}}"
Saleem Abdulrasoola56fc7c2014-02-22 23:37:54 +0000142// MIPS-NDSPR2-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mdspr2"
Simon Atanasyan22127ce2013-09-24 09:09:16 +0000143//
144// RUN: %clang -target mips-linux-gnu -mnan=legacy -mnan=2008 -### \
145// RUN: -no-integrated-as -c %s 2>&1 \
146// RUN: | FileCheck -check-prefix=MIPS-NAN2008 %s
Simon Atanasyan1a3665b62014-01-27 13:59:04 +0000147// MIPS-NAN2008: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB" "-mnan=2008"
Simon Atanasyan22127ce2013-09-24 09:09:16 +0000148//
149// RUN: %clang -target mips-linux-gnu -mnan=2008 -mnan=legacy -### \
150// RUN: -no-integrated-as -c %s 2>&1 \
151// RUN: | FileCheck -check-prefix=MIPS-NAN-LEGACY %s
152// MIPS-NAN-LEGACY: as{{(.exe)?}}"
Saleem Abdulrasoola56fc7c2014-02-22 23:37:54 +0000153// MIPS-NAN-LEGACY-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mnan={{.*}}"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000154//
155// RUN: %clang -target mips-linux-gnu -mfp64 -mfp32 -### \
156// RUN: -no-integrated-as -c %s 2>&1 \
157// RUN: | FileCheck -check-prefix=MIPS-MFP32 %s
Simon Atanasyan1a3665b62014-01-27 13:59:04 +0000158// MIPS-MFP32: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB" "-mfp32"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000159//
160// RUN: %clang -target mips-linux-gnu -mfp32 -mfp64 -### \
161// RUN: -no-integrated-as -c %s 2>&1 \
162// RUN: | FileCheck -check-prefix=MIPS-MFP64 %s
Simon Atanasyan1a3665b62014-01-27 13:59:04 +0000163// MIPS-MFP64: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB" "-mfp64"
Simon Atanasyanbd986632013-11-26 11:58:04 +0000164//
165// RUN: %clang -target mips-linux-gnu -mno-msa -mmsa -### \
166// RUN: -no-integrated-as -c %s 2>&1 \
167// RUN: | FileCheck -check-prefix=MIPS-MSA %s
Simon Atanasyan1a3665b62014-01-27 13:59:04 +0000168// MIPS-MSA: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB" "-mmsa"
Simon Atanasyanbd986632013-11-26 11:58:04 +0000169//
170// RUN: %clang -target mips-linux-gnu -mmsa -mno-msa -### \
171// RUN: -no-integrated-as -c %s 2>&1 \
172// RUN: | FileCheck -check-prefix=MIPS-NMSA %s
173// MIPS-NMSA: as{{(.exe)?}}"
Saleem Abdulrasoola56fc7c2014-02-22 23:37:54 +0000174// MIPS-NMSA-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mmsa"
Daniel Sandersadbbfd12014-07-02 15:21:50 +0000175//
176// We've already tested MIPS32r2 and MIPS64r2 thoroughly. Do minimal tests on
177// the remaining CPU's since it was possible to pass on a -mabi with no value
178// when the CPU name is absent from a StringSwitch in getMipsCPUAndABI()
179// RUN: %clang -target mips-linux-gnu -### -no-integrated-as -c %s -mcpu=mips1 \
180// RUN: 2>&1 | FileCheck -check-prefix=MIPS1-EB-AS %s
181// MIPS1-EB-AS: as{{(.exe)?}}" "-march" "mips1" "-mabi" "32" "-EB"
182// MIPS1-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
183//
184// RUN: %clang -target mips-linux-gnu -### -no-integrated-as -c %s -mcpu=mips2 \
185// RUN: 2>&1 | FileCheck -check-prefix=MIPS2-EB-AS %s
186// MIPS2-EB-AS: as{{(.exe)?}}" "-march" "mips2" "-mabi" "32" "-EB"
187// MIPS2-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
188//
189// RUN: %clang -target mips64-linux-gnu -### -no-integrated-as -c %s -mcpu=mips3 \
190// RUN: 2>&1 | FileCheck -check-prefix=MIPS3-EB-AS %s
191// MIPS3-EB-AS: as{{(.exe)?}}" "-march" "mips3" "-mabi" "64" "-EB"
192// MIPS3-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
193//
194// RUN: %clang -target mips64-linux-gnu -### -no-integrated-as -c %s -mcpu=mips4 \
195// RUN: 2>&1 | FileCheck -check-prefix=MIPS4-EB-AS %s
196// MIPS4-EB-AS: as{{(.exe)?}}" "-march" "mips4" "-mabi" "64" "-EB"
197// MIPS4-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
198//
199// RUN: %clang -target mips64-linux-gnu -### -no-integrated-as -c %s -mcpu=mips5 \
200// RUN: 2>&1 | FileCheck -check-prefix=MIPS5-EB-AS %s
201// MIPS5-EB-AS: as{{(.exe)?}}" "-march" "mips5" "-mabi" "64" "-EB"
202// MIPS5-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
203//
204// RUN: %clang -target mips-linux-gnu -### -no-integrated-as -c %s -mcpu=mips32 \
205// RUN: 2>&1 | FileCheck -check-prefix=MIPS32-EB-AS %s
206// MIPS32-EB-AS: as{{(.exe)?}}" "-march" "mips32" "-mabi" "32" "-EB"
207// MIPS32-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
208//
209// RUN: %clang -target mips-linux-gnu -### -no-integrated-as -c %s -mcpu=mips32r6 \
210// RUN: 2>&1 | FileCheck -check-prefix=MIPS32R6-EB-AS %s
211// MIPS32R6-EB-AS: as{{(.exe)?}}" "-march" "mips32r6" "-mabi" "32" "-EB"
212// MIPS32R6-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
213//
214// RUN: %clang -target mips64-linux-gnu -### -no-integrated-as -c %s -mcpu=mips64 \
215// RUN: 2>&1 | FileCheck -check-prefix=MIPS64-EB-AS %s
216// MIPS64-EB-AS: as{{(.exe)?}}" "-march" "mips64" "-mabi" "64" "-EB"
217// MIPS64-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
218//
219// RUN: %clang -target mips64-linux-gnu -### -no-integrated-as -c %s -mcpu=mips64r6 \
220// RUN: 2>&1 | FileCheck -check-prefix=MIPS64R6-EB-AS %s
221// MIPS64R6-EB-AS: as{{(.exe)?}}" "-march" "mips64r6" "-mabi" "64" "-EB"
222// MIPS64R6-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"