blob: 4d956208f064227cb26fc7984d48706e190af708 [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
Daniel Sanders379d44b2014-07-16 11:52:23 +00006// 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
Daniel Sanders7e7baa92014-08-08 18:39:01 +00009// MIPS32R2-EB-AS: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
Daniel Sandersb7689ba2014-07-02 13:21:52 +000010// MIPS32R2-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
Simon Atanasyan217dc2d2012-05-29 19:07:33 +000011//
12// RUN: %clang -target mips-linux-gnu -### \
13// RUN: -no-integrated-as -fPIC -c %s 2>&1 \
Daniel Sandersb7689ba2014-07-02 13:21:52 +000014// RUN: | FileCheck -check-prefix=MIPS32R2-EB-PIC %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +000015// MIPS32R2-EB-PIC: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-call_nonpic" "-EB"
Daniel Sandersb7689ba2014-07-02 13:21:52 +000016// MIPS32R2-EB-PIC: "-KPIC"
Simon Atanasyan2390aa12012-04-06 19:15:24 +000017//
18// RUN: %clang -target mipsel-linux-gnu -### \
19// RUN: -no-integrated-as -c %s 2>&1 \
Daniel Sandersb7689ba2014-07-02 13:21:52 +000020// RUN: | FileCheck -check-prefix=MIPS32R2-DEF-EL-AS %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +000021// MIPS32R2-DEF-EL-AS: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EL"
Simon Atanasyan2390aa12012-04-06 19:15:24 +000022//
23// RUN: %clang -target mips64-linux-gnu -### \
24// RUN: -no-integrated-as -c %s 2>&1 \
Daniel Sandersb7689ba2014-07-02 13:21:52 +000025// RUN: | FileCheck -check-prefix=MIPS64R2-EB-AS %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +000026// MIPS64R2-EB-AS: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "64" "-mno-shared" "-KPIC" "-EB"
Simon Atanasyan2390aa12012-04-06 19:15:24 +000027//
28// RUN: %clang -target mips64el-linux-gnu -### \
29// RUN: -no-integrated-as -c %s 2>&1 \
Daniel Sandersb7689ba2014-07-02 13:21:52 +000030// RUN: | FileCheck -check-prefix=MIPS64R2-DEF-EL-AS %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +000031// MIPS64R2-DEF-EL-AS: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "64" "-mno-shared" "-KPIC" "-EL"
Simon Atanasyan571d7bd2012-04-07 22:31:29 +000032//
Simon Atanasyan571d7bd2012-04-07 22:31:29 +000033// RUN: %clang -target mips64-linux-gnu -mabi=n32 -### \
34// RUN: -no-integrated-as -c %s 2>&1 \
35// RUN: | FileCheck -check-prefix=MIPS-N32 %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +000036// MIPS-N32: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "n32" "-mno-shared" "-call_nonpic" "-EB"
Simon Atanasyan464a7f72012-09-10 08:32:41 +000037//
Simon Atanasyan0da400c2013-02-27 14:55:49 +000038// RUN: %clang -target mipsel-linux-gnu -mabi=32 -### \
39// RUN: -no-integrated-as -c %s 2>&1 \
Daniel Sandersb7689ba2014-07-02 13:21:52 +000040// RUN: | FileCheck -check-prefix=MIPS32R2-EL-AS %s
Daniel Sanders379d44b2014-07-16 11:52:23 +000041// RUN: %clang -target mips-linux-gnu -mabi=32 -### \
42// RUN: -no-integrated-as -c %s -EL 2>&1 \
43// RUN: | FileCheck -check-prefix=MIPS32R2-EL-AS %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +000044// MIPS32R2-EL-AS: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EL"
Simon Atanasyan0da400c2013-02-27 14:55:49 +000045//
46// RUN: %clang -target mips64el-linux-gnu -mabi=64 -### \
47// RUN: -no-integrated-as -c %s 2>&1 \
Daniel Sandersb7689ba2014-07-02 13:21:52 +000048// RUN: | FileCheck -check-prefix=MIPS64R2-EL-AS %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +000049// MIPS64R2-EL-AS: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "64" "-mno-shared" "-KPIC" "-EL"
Simon Atanasyan0da400c2013-02-27 14:55:49 +000050//
Simon Atanasyan464a7f72012-09-10 08:32:41 +000051// RUN: %clang -target mips-linux-gnu -march=mips32r2 -### \
52// RUN: -no-integrated-as -c %s 2>&1 \
53// RUN: | FileCheck -check-prefix=MIPS-32R2 %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +000054// MIPS-32R2: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
Simon Atanasyan2efe53e2012-09-21 20:19:32 +000055//
Daniel Sandersff952582015-10-05 12:24:30 +000056// RUN: %clang -target mips-linux-gnu -march=p5600 -### \
57// RUN: -no-integrated-as -c %s 2>&1 \
58// RUN: | FileCheck -check-prefix=MIPS-P5600 %s
59// MIPS-P5600: as{{(.exe)?}}" "-march" "p5600" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
60//
Simon Atanasyan4e16a422014-07-04 12:37:04 +000061// RUN: %clang -target mips64-linux-gnu -march=octeon -### \
62// RUN: -no-integrated-as -c %s 2>&1 \
63// RUN: | FileCheck -check-prefix=MIPS-OCTEON %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +000064// MIPS-OCTEON: as{{(.exe)?}}" "-march" "octeon" "-mabi" "64" "-mno-shared" "-KPIC" "-EB"
Simon Atanasyan4e16a422014-07-04 12:37:04 +000065//
Simon Atanasyan26610c52014-07-04 12:36:56 +000066// RUN: %clang -target mips-linux-gnu -mips1 -### \
67// RUN: -no-integrated-as -c %s 2>&1 \
68// RUN: | FileCheck -check-prefix=MIPS-ALIAS-1 %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +000069// MIPS-ALIAS-1: as{{(.exe)?}}" "-march" "mips1" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
Simon Atanasyan26610c52014-07-04 12:36:56 +000070//
71// RUN: %clang -target mips-linux-gnu -mips2 -### \
72// RUN: -no-integrated-as -c %s 2>&1 \
73// RUN: | FileCheck -check-prefix=MIPS-ALIAS-2 %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +000074// MIPS-ALIAS-2: as{{(.exe)?}}" "-march" "mips2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
Simon Atanasyan26610c52014-07-04 12:36:56 +000075//
76// RUN: %clang -target mips-linux-gnu -mips3 -### \
77// RUN: -no-integrated-as -c %s 2>&1 \
78// RUN: | FileCheck -check-prefix=MIPS-ALIAS-3 %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +000079// MIPS-ALIAS-3: as{{(.exe)?}}" "-march" "mips3" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
Simon Atanasyan26610c52014-07-04 12:36:56 +000080//
81// RUN: %clang -target mips-linux-gnu -mips4 -### \
82// RUN: -no-integrated-as -c %s 2>&1 \
83// RUN: | FileCheck -check-prefix=MIPS-ALIAS-4 %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +000084// MIPS-ALIAS-4: as{{(.exe)?}}" "-march" "mips4" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
Simon Atanasyan26610c52014-07-04 12:36:56 +000085//
86// RUN: %clang -target mips-linux-gnu -mips5 -### \
87// RUN: -no-integrated-as -c %s 2>&1 \
88// RUN: | FileCheck -check-prefix=MIPS-ALIAS-5 %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +000089// MIPS-ALIAS-5: as{{(.exe)?}}" "-march" "mips5" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
Simon Atanasyan26610c52014-07-04 12:36:56 +000090//
Simon Atanasyan2efe53e2012-09-21 20:19:32 +000091// RUN: %clang -target mips-linux-gnu -mips32 -### \
92// RUN: -no-integrated-as -c %s 2>&1 \
93// RUN: | FileCheck -check-prefix=MIPS-ALIAS-32 %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +000094// MIPS-ALIAS-32: as{{(.exe)?}}" "-march" "mips32" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
Simon Atanasyan2efe53e2012-09-21 20:19:32 +000095//
96// RUN: %clang -target mips-linux-gnu -mips32r2 -### \
97// RUN: -no-integrated-as -c %s 2>&1 \
98// RUN: | FileCheck -check-prefix=MIPS-ALIAS-32R2 %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +000099// MIPS-ALIAS-32R2: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
Simon Atanasyan2efe53e2012-09-21 20:19:32 +0000100//
Simon Atanasyan162feb52015-02-20 23:37:40 +0000101// RUN: %clang -target mips-linux-gnu -mips32r3 -### \
102// RUN: -no-integrated-as -c %s 2>&1 \
103// RUN: | FileCheck -check-prefix=MIPS-ALIAS-32R3 %s
104// MIPS-ALIAS-32R3: as{{(.exe)?}}" "-march" "mips32r3" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
105//
106// RUN: %clang -target mips-linux-gnu -mips32r5 -### \
107// RUN: -no-integrated-as -c %s 2>&1 \
108// RUN: | FileCheck -check-prefix=MIPS-ALIAS-32R5 %s
109// MIPS-ALIAS-32R5: as{{(.exe)?}}" "-march" "mips32r5" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
110//
Daniel Sanders0c8d95a2014-07-09 14:21:18 +0000111// RUN: %clang -target mips-linux-gnu -mips32r6 -### \
112// RUN: -no-integrated-as -c %s 2>&1 \
113// RUN: | FileCheck -check-prefix=MIPS-ALIAS-32R6 %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +0000114// MIPS-ALIAS-32R6: as{{(.exe)?}}" "-march" "mips32r6" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
Daniel Sanders0c8d95a2014-07-09 14:21:18 +0000115//
Simon Atanasyan0091a072014-06-30 08:10:01 +0000116// RUN: %clang -target mips64-linux-gnu -mips64 -### \
Simon Atanasyan2efe53e2012-09-21 20:19:32 +0000117// RUN: -no-integrated-as -c %s 2>&1 \
118// RUN: | FileCheck -check-prefix=MIPS-ALIAS-64 %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +0000119// MIPS-ALIAS-64: as{{(.exe)?}}" "-march" "mips64" "-mabi" "64" "-mno-shared" "-KPIC" "-EB"
Simon Atanasyan2efe53e2012-09-21 20:19:32 +0000120//
Simon Atanasyan0091a072014-06-30 08:10:01 +0000121// RUN: %clang -target mips64-linux-gnu -mips64r2 -### \
Simon Atanasyan2efe53e2012-09-21 20:19:32 +0000122// RUN: -no-integrated-as -c %s 2>&1 \
123// RUN: | FileCheck -check-prefix=MIPS-ALIAS-64R2 %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +0000124// MIPS-ALIAS-64R2: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "64" "-mno-shared" "-KPIC" "-EB"
Simon Atanasyan036d16d2013-04-30 07:47:13 +0000125//
Simon Atanasyan162feb52015-02-20 23:37:40 +0000126// RUN: %clang -target mips64-linux-gnu -mips64r3 -### \
127// RUN: -no-integrated-as -c %s 2>&1 \
128// RUN: | FileCheck -check-prefix=MIPS-ALIAS-64R3 %s
129// MIPS-ALIAS-64R3: as{{(.exe)?}}" "-march" "mips64r3" "-mabi" "64" "-mno-shared" "-KPIC" "-EB"
130//
131// RUN: %clang -target mips64-linux-gnu -mips64r5 -### \
132// RUN: -no-integrated-as -c %s 2>&1 \
133// RUN: | FileCheck -check-prefix=MIPS-ALIAS-64R5 %s
134// MIPS-ALIAS-64R5: as{{(.exe)?}}" "-march" "mips64r5" "-mabi" "64" "-mno-shared" "-KPIC" "-EB"
135//
Daniel Sanders0c8d95a2014-07-09 14:21:18 +0000136// RUN: %clang -target mips64-linux-gnu -mips64r6 -### \
137// RUN: -no-integrated-as -c %s 2>&1 \
138// RUN: | FileCheck -check-prefix=MIPS-ALIAS-64R6 %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +0000139// MIPS-ALIAS-64R6: as{{(.exe)?}}" "-march" "mips64r6" "-mabi" "64" "-mno-shared" "-KPIC" "-EB"
Daniel Sanders0c8d95a2014-07-09 14:21:18 +0000140//
Simon Atanasyan036d16d2013-04-30 07:47:13 +0000141// RUN: %clang -target mips-linux-gnu -mno-mips16 -mips16 -### \
142// RUN: -no-integrated-as -c %s 2>&1 \
143// RUN: | FileCheck -check-prefix=MIPS-16 %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +0000144// MIPS-16: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" "-mips16"
Simon Atanasyan036d16d2013-04-30 07:47:13 +0000145//
146// RUN: %clang -target mips-linux-gnu -mips16 -mno-mips16 -### \
147// RUN: -no-integrated-as -c %s 2>&1 \
148// RUN: | FileCheck -check-prefix=MIPS-N16 %s
149// MIPS-N16: as{{(.exe)?}}"
Daniel Sanders379d44b2014-07-16 11:52:23 +0000150// MIPS-N16: -no-mips16
Simon Atanasyan036d16d2013-04-30 07:47:13 +0000151//
152// RUN: %clang -target mips-linux-gnu -mno-micromips -mmicromips -### \
153// RUN: -no-integrated-as -c %s 2>&1 \
154// RUN: | FileCheck -check-prefix=MIPS-MICRO %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +0000155// MIPS-MICRO: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" "-mmicromips"
Simon Atanasyan036d16d2013-04-30 07:47:13 +0000156//
157// RUN: %clang -target mips-linux-gnu -mmicromips -mno-micromips -### \
158// RUN: -no-integrated-as -c %s 2>&1 \
159// RUN: | FileCheck -check-prefix=MIPS-NMICRO %s
160// MIPS-NMICRO: as{{(.exe)?}}"
Saleem Abdulrasoola56fc7c2014-02-22 23:37:54 +0000161// MIPS-NMICRO-NOT: {{[A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mmicromips"
Simon Atanasyan036d16d2013-04-30 07:47:13 +0000162//
163// RUN: %clang -target mips-linux-gnu -mno-dsp -mdsp -### \
164// RUN: -no-integrated-as -c %s 2>&1 \
165// RUN: | FileCheck -check-prefix=MIPS-DSP %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +0000166// MIPS-DSP: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" "-mdsp"
Simon Atanasyan036d16d2013-04-30 07:47:13 +0000167//
168// RUN: %clang -target mips-linux-gnu -mdsp -mno-dsp -### \
169// RUN: -no-integrated-as -c %s 2>&1 \
170// RUN: | FileCheck -check-prefix=MIPS-NDSP %s
171// MIPS-NDSP: as{{(.exe)?}}"
Saleem Abdulrasoola56fc7c2014-02-22 23:37:54 +0000172// MIPS-NDSP-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mdsp"
Simon Atanasyan036d16d2013-04-30 07:47:13 +0000173//
174// RUN: %clang -target mips-linux-gnu -mno-dspr2 -mdspr2 -### \
175// RUN: -no-integrated-as -c %s 2>&1 \
176// RUN: | FileCheck -check-prefix=MIPS-DSPR2 %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +0000177// MIPS-DSPR2: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" "-mdspr2"
Simon Atanasyan036d16d2013-04-30 07:47:13 +0000178//
179// RUN: %clang -target mips-linux-gnu -mdspr2 -mno-dspr2 -### \
180// RUN: -no-integrated-as -c %s 2>&1 \
181// RUN: | FileCheck -check-prefix=MIPS-NDSPR2 %s
182// MIPS-NDSPR2: as{{(.exe)?}}"
Saleem Abdulrasoola56fc7c2014-02-22 23:37:54 +0000183// MIPS-NDSPR2-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mdspr2"
Simon Atanasyan22127ce2013-09-24 09:09:16 +0000184//
185// RUN: %clang -target mips-linux-gnu -mnan=legacy -mnan=2008 -### \
186// RUN: -no-integrated-as -c %s 2>&1 \
187// RUN: | FileCheck -check-prefix=MIPS-NAN2008 %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +0000188// MIPS-NAN2008: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" "-mnan=2008"
Simon Atanasyan22127ce2013-09-24 09:09:16 +0000189//
190// RUN: %clang -target mips-linux-gnu -mnan=2008 -mnan=legacy -### \
191// RUN: -no-integrated-as -c %s 2>&1 \
192// RUN: | FileCheck -check-prefix=MIPS-NAN-LEGACY %s
193// MIPS-NAN-LEGACY: as{{(.exe)?}}"
Saleem Abdulrasoola56fc7c2014-02-22 23:37:54 +0000194// MIPS-NAN-LEGACY-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mnan={{.*}}"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000195//
Daniel Sanders379d44b2014-07-16 11:52:23 +0000196// RUN: %clang -target mips-linux-gnu -mfp64 -mfpxx -mfp32 -### \
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000197// RUN: -no-integrated-as -c %s 2>&1 \
198// RUN: | FileCheck -check-prefix=MIPS-MFP32 %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +0000199// MIPS-MFP32: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" "-mfp32"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000200//
Daniel Sanders379d44b2014-07-16 11:52:23 +0000201// RUN: %clang -target mips-linux-gnu -mfp32 -mfp64 -mfpxx -### \
202// RUN: -no-integrated-as -c %s 2>&1 \
203// RUN: | FileCheck -check-prefix=MIPS-MFPXX %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +0000204// MIPS-MFPXX: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" "-mfpxx"
Daniel Sanders379d44b2014-07-16 11:52:23 +0000205//
206// RUN: %clang -target mips-linux-gnu -mfpxx -mfp32 -mfp64 -### \
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000207// RUN: -no-integrated-as -c %s 2>&1 \
208// RUN: | FileCheck -check-prefix=MIPS-MFP64 %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +0000209// MIPS-MFP64: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" "-mfp64"
Simon Atanasyanbd986632013-11-26 11:58:04 +0000210//
211// RUN: %clang -target mips-linux-gnu -mno-msa -mmsa -### \
212// RUN: -no-integrated-as -c %s 2>&1 \
213// RUN: | FileCheck -check-prefix=MIPS-MSA %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +0000214// MIPS-MSA: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" "-mmsa"
Simon Atanasyanbd986632013-11-26 11:58:04 +0000215//
216// RUN: %clang -target mips-linux-gnu -mmsa -mno-msa -### \
217// RUN: -no-integrated-as -c %s 2>&1 \
218// RUN: | FileCheck -check-prefix=MIPS-NMSA %s
219// MIPS-NMSA: as{{(.exe)?}}"
Saleem Abdulrasoola56fc7c2014-02-22 23:37:54 +0000220// MIPS-NMSA-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mmsa"
Daniel Sandersadbbfd12014-07-02 15:21:50 +0000221//
222// We've already tested MIPS32r2 and MIPS64r2 thoroughly. Do minimal tests on
223// the remaining CPU's since it was possible to pass on a -mabi with no value
224// when the CPU name is absent from a StringSwitch in getMipsCPUAndABI()
225// RUN: %clang -target mips-linux-gnu -### -no-integrated-as -c %s -mcpu=mips1 \
226// RUN: 2>&1 | FileCheck -check-prefix=MIPS1-EB-AS %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +0000227// MIPS1-EB-AS: as{{(.exe)?}}" "-march" "mips1" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
Daniel Sandersadbbfd12014-07-02 15:21:50 +0000228// MIPS1-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
229//
230// RUN: %clang -target mips-linux-gnu -### -no-integrated-as -c %s -mcpu=mips2 \
231// RUN: 2>&1 | FileCheck -check-prefix=MIPS2-EB-AS %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +0000232// MIPS2-EB-AS: as{{(.exe)?}}" "-march" "mips2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
Daniel Sandersadbbfd12014-07-02 15:21:50 +0000233// MIPS2-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
234//
235// RUN: %clang -target mips64-linux-gnu -### -no-integrated-as -c %s -mcpu=mips3 \
236// RUN: 2>&1 | FileCheck -check-prefix=MIPS3-EB-AS %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +0000237// MIPS3-EB-AS: as{{(.exe)?}}" "-march" "mips3" "-mabi" "64" "-mno-shared" "-KPIC" "-EB"
Daniel Sandersadbbfd12014-07-02 15:21:50 +0000238//
239// RUN: %clang -target mips64-linux-gnu -### -no-integrated-as -c %s -mcpu=mips4 \
240// RUN: 2>&1 | FileCheck -check-prefix=MIPS4-EB-AS %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +0000241// MIPS4-EB-AS: as{{(.exe)?}}" "-march" "mips4" "-mabi" "64" "-mno-shared" "-KPIC" "-EB"
Daniel Sandersadbbfd12014-07-02 15:21:50 +0000242//
243// RUN: %clang -target mips64-linux-gnu -### -no-integrated-as -c %s -mcpu=mips5 \
244// RUN: 2>&1 | FileCheck -check-prefix=MIPS5-EB-AS %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +0000245// MIPS5-EB-AS: as{{(.exe)?}}" "-march" "mips5" "-mabi" "64" "-mno-shared" "-KPIC" "-EB"
Daniel Sandersadbbfd12014-07-02 15:21:50 +0000246//
247// RUN: %clang -target mips-linux-gnu -### -no-integrated-as -c %s -mcpu=mips32 \
248// RUN: 2>&1 | FileCheck -check-prefix=MIPS32-EB-AS %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +0000249// MIPS32-EB-AS: as{{(.exe)?}}" "-march" "mips32" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
Daniel Sandersadbbfd12014-07-02 15:21:50 +0000250// MIPS32-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
251//
252// RUN: %clang -target mips-linux-gnu -### -no-integrated-as -c %s -mcpu=mips32r6 \
253// RUN: 2>&1 | FileCheck -check-prefix=MIPS32R6-EB-AS %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +0000254// MIPS32R6-EB-AS: as{{(.exe)?}}" "-march" "mips32r6" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB"
Daniel Sandersadbbfd12014-07-02 15:21:50 +0000255// MIPS32R6-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
256//
257// RUN: %clang -target mips64-linux-gnu -### -no-integrated-as -c %s -mcpu=mips64 \
258// RUN: 2>&1 | FileCheck -check-prefix=MIPS64-EB-AS %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +0000259// MIPS64-EB-AS: as{{(.exe)?}}" "-march" "mips64" "-mabi" "64" "-mno-shared" "-KPIC" "-EB"
Daniel Sandersadbbfd12014-07-02 15:21:50 +0000260//
261// RUN: %clang -target mips64-linux-gnu -### -no-integrated-as -c %s -mcpu=mips64r6 \
262// RUN: 2>&1 | FileCheck -check-prefix=MIPS64R6-EB-AS %s
Daniel Sanders7e7baa92014-08-08 18:39:01 +0000263// MIPS64R6-EB-AS: as{{(.exe)?}}" "-march" "mips64r6" "-mabi" "64" "-mno-shared" "-KPIC" "-EB"
Daniel Sanders379d44b2014-07-16 11:52:23 +0000264//
265// RUN: %clang -target mips-linux-gnu -### -no-integrated-as -msoft-float -mhard-float -c %s 2>&1 \
266// RUN: | FileCheck -check-prefix=HARDFLOAT --implicit-check-not=-msoft-float %s
267// HARDFLOAT: as{{(.exe)?}}"
268// HARDFLOAT: -mhard-float
269//
270// RUN: %clang -target mips-linux-gnu -### -no-integrated-as -mhard-float -msoft-float -c %s 2>&1 \
271// RUN: | FileCheck -check-prefix=SOFTFLOAT --implicit-check-not=-mhard-float %s
272// SOFTFLOAT: as{{(.exe)?}}"
273// SOFTFLOAT: -msoft-float
274//
275// RUN: %clang -target mips-linux-gnu -### -no-integrated-as -mno-odd-spreg -modd-spreg -c %s 2>&1 \
276// RUN: | FileCheck -check-prefix=ODDSPREG --implicit-check-not=-mno-odd-spreg %s
277// ODDSPREG: as{{(.exe)?}}"
278// ODDSPREG: -modd-spreg
279//
280// RUN: %clang -target mips-linux-gnu -### -no-integrated-as -modd-spreg -mno-odd-spreg -c %s 2>&1 \
281// RUN: | FileCheck -check-prefix=NOODDSPREG --implicit-check-not=-modd-spreg %s
282// NOODDSPREG: as{{(.exe)?}}"
283// NOODDSPREG: -mno-odd-spreg
Toma Tabacub36d6102015-06-11 12:13:18 +0000284//
285// RUN: %clang -target mips-linux-gnu -### -no-integrated-as -mdouble-float -msingle-float -c %s 2>&1 \
286// RUN: | FileCheck -check-prefix=SINGLEFLOAT --implicit-check-not=-mdouble-float %s
287// SINGLEFLOAT: as{{(.exe)?}}"
288// SINGLEFLOAT: -msingle-float
289//
290// RUN: %clang -target mips-linux-gnu -### -no-integrated-as -msingle-float -mdouble-float -c %s 2>&1 \
291// RUN: | FileCheck -check-prefix=DOUBLEFLOAT --implicit-check-not=-msingle-float %s
292// DOUBLEFLOAT: as{{(.exe)?}}"
293// DOUBLEFLOAT: -mdouble-float
Toma Tabacu94ea6862015-06-16 13:54:13 +0000294//
295// RUN: %clang -target mips-linux-gnu -### -no-integrated-as -msoft-float -c %s 2>&1 \
296// RUN: | FileCheck -check-prefix=SOFTFLOAT-IMPLICIT-FPXX --implicit-check-not=-mfpxx %s
297// SOFTFLOAT-IMPLICIT-FPXX: as{{(.exe)?}}"
298// SOFTFLOAT-IMPLICIT-FPXX: -msoft-float
299//
300// RUN: %clang -target mips-linux-gnu -### -no-integrated-as -msoft-float -mfpxx -c %s 2>&1 \
301// RUN: | FileCheck -check-prefix=SOFTFLOAT-EXPLICIT-FPXX %s
302// SOFTFLOAT-EXPLICIT-FPXX: as{{(.exe)?}}"
303// SOFTFLOAT-EXPLICIT-FPXX: -mfpxx
304// SOFTFLOAT-EXPLICIT-FPXX: -msoft-float
305//
306// RUN: %clang -target mips-mti-linux-gnu -### -no-integrated-as -msoft-float -c %s 2>&1 \
307// RUN: | FileCheck -check-prefix=MTI-SOFTFLOAT-IMPLICIT-FPXX --implicit-check-not=-mfpxx %s
308// MTI-SOFTFLOAT-IMPLICIT-FPXX: as{{(.exe)?}}"
309// MTI-SOFTFLOAT-IMPLICIT-FPXX: -msoft-float
310//
311// RUN: %clang -target mips-mti-linux-gnu -### -no-integrated-as -msoft-float -mfpxx -c %s 2>&1 \
312// RUN: | FileCheck -check-prefix=MTI-SOFTFLOAT-EXPLICIT-FPXX %s
313// MTI-SOFTFLOAT-EXPLICIT-FPXX: as{{(.exe)?}}"
314// MTI-SOFTFLOAT-EXPLICIT-FPXX: -mfpxx
315// MTI-SOFTFLOAT-EXPLICIT-FPXX: -msoft-float
316//
317// RUN: %clang -target mips-img-linux-gnu -### -no-integrated-as -msoft-float -c %s 2>&1 \
318// RUN: | FileCheck -check-prefix=IMG-SOFTFLOAT-IMPLICIT-FPXX --implicit-check-not=-mfpxx %s
319// IMG-SOFTFLOAT-IMPLICIT-FPXX: as{{(.exe)?}}"
320// IMG-SOFTFLOAT-IMPLICIT-FPXX: -msoft-float
321//
322// RUN: %clang -target mips-img-linux-gnu -### -no-integrated-as -msoft-float -mfpxx -c %s 2>&1 \
323// RUN: | FileCheck -check-prefix=IMG-SOFTFLOAT-EXPLICIT-FPXX %s
324// IMG-SOFTFLOAT-EXPLICIT-FPXX: as{{(.exe)?}}"
325// IMG-SOFTFLOAT-EXPLICIT-FPXX: -mfpxx
326// IMG-SOFTFLOAT-EXPLICIT-FPXX: -msoft-float
327//
328// RUN: %clang -target mips-linux-gnu -### -no-integrated-as -msingle-float -c %s 2>&1 \
329// RUN: | FileCheck -check-prefix=SINGLEFLOAT-IMPLICIT-FPXX --implicit-check-not=-mfpxx %s
330// SINGLEFLOAT-IMPLICIT-FPXX: as{{(.exe)?}}"
331// SINGLEFLOAT-IMPLICIT-FPXX: -msingle-float
332//
333// RUN: %clang -target mips-linux-gnu -### -no-integrated-as -msingle-float -mfpxx -c %s 2>&1 \
334// RUN: | FileCheck -check-prefix=SINGLEFLOAT-EXPLICIT-FPXX %s
335// SINGLEFLOAT-EXPLICIT-FPXX: as{{(.exe)?}}"
336// SINGLEFLOAT-EXPLICIT-FPXX: -mfpxx
337// SINGLEFLOAT-EXPLICIT-FPXX: -msingle-float
338//
339// RUN: %clang -target mips-mti-linux-gnu -### -no-integrated-as -msingle-float -c %s 2>&1 \
340// RUN: | FileCheck -check-prefix=MTI-SINGLEFLOAT-IMPLICIT-FPXX --implicit-check-not=-mfpxx %s
341// MTI-SINGLEFLOAT-IMPLICIT-FPXX: as{{(.exe)?}}"
342// MTI-SINGLEFLOAT-IMPLICIT-FPXX: -msingle-float
343//
344// RUN: %clang -target mips-mti-linux-gnu -### -no-integrated-as -msingle-float -mfpxx -c %s 2>&1 \
345// RUN: | FileCheck -check-prefix=MTI-SINGLEFLOAT-EXPLICIT-FPXX %s
346// MTI-SINGLEFLOAT-EXPLICIT-FPXX: as{{(.exe)?}}"
347// MTI-SINGLEFLOAT-EXPLICIT-FPXX: -mfpxx
348// MTI-SINGLEFLOAT-EXPLICIT-FPXX: -msingle-float
349//
350// RUN: %clang -target mips-img-linux-gnu -### -no-integrated-as -msingle-float -c %s 2>&1 \
351// RUN: | FileCheck -check-prefix=IMG-SINGLEFLOAT-IMPLICIT-FPXX --implicit-check-not=-mfpxx %s
352// IMG-SINGLEFLOAT-IMPLICIT-FPXX: as{{(.exe)?}}"
353// IMG-SINGLEFLOAT-IMPLICIT-FPXX: -msingle-float
354//
355// RUN: %clang -target mips-img-linux-gnu -### -no-integrated-as -msingle-float -mfpxx -c %s 2>&1 \
356// RUN: | FileCheck -check-prefix=IMG-SINGLEFLOAT-EXPLICIT-FPXX %s
357// IMG-SINGLEFLOAT-EXPLICIT-FPXX: as{{(.exe)?}}"
358// IMG-SINGLEFLOAT-EXPLICIT-FPXX: -mfpxx
359// IMG-SINGLEFLOAT-EXPLICIT-FPXX: -msingle-float