blob: f7022306fc118cac035e78318692e6c9a321755b [file] [log] [blame]
Simon Atanasyan6f23fa02012-07-05 14:19:39 +00001// Check handling MIPS specific features options.
2//
Daniel Sanderse805f442014-08-08 13:44:50 +00003// -mabicalls
Daniel Sanderse805f442014-08-08 13:44:50 +00004// RUN: %clang -target mips-linux-gnu -### -c %s -mno-abicalls -mabicalls 2>&1 \
5// RUN: | FileCheck --check-prefix=CHECK-MABICALLS %s
Daniel Sandersfeb61302014-08-08 15:47:17 +00006// CHECK-MABICALLS: "-target-feature" "-noabicalls"
Daniel Sanderse805f442014-08-08 13:44:50 +00007//
8// -mno-abicalls
9// RUN: %clang -target mips-linux-gnu -### -c %s -mabicalls -mno-abicalls 2>&1 \
10// RUN: | FileCheck --check-prefix=CHECK-MNOABICALLS %s
Daniel Sandersfeb61302014-08-08 15:47:17 +000011// CHECK-MNOABICALLS: "-target-feature" "+noabicalls"
Daniel Sanderse805f442014-08-08 13:44:50 +000012//
Simon Atanasyan6f23fa02012-07-05 14:19:39 +000013// -mips16
14// RUN: %clang -target mips-linux-gnu -### -c %s \
15// RUN: -mno-mips16 -mips16 2>&1 \
16// RUN: | FileCheck --check-prefix=CHECK-MIPS16 %s
17// CHECK-MIPS16: "-target-feature" "+mips16"
18//
19// -mno-mips16
20// RUN: %clang -target mips-linux-gnu -### -c %s \
21// RUN: -mips16 -mno-mips16 2>&1 \
22// RUN: | FileCheck --check-prefix=CHECK-NOMIPS16 %s
23// CHECK-NOMIPS16: "-target-feature" "-mips16"
Simon Atanasyan9c6f1f72012-07-05 19:23:00 +000024//
Simon Atanasyan60777612013-04-14 14:07:51 +000025// -mmicromips
26// RUN: %clang -target mips-linux-gnu -### -c %s \
27// RUN: -mno-micromips -mmicromips 2>&1 \
28// RUN: | FileCheck --check-prefix=CHECK-MICROMIPS %s
29// CHECK-MICROMIPS: "-target-feature" "+micromips"
30//
31// -mno-micromips
32// RUN: %clang -target mips-linux-gnu -### -c %s \
33// RUN: -mmicromips -mno-micromips 2>&1 \
34// RUN: | FileCheck --check-prefix=CHECK-NOMICROMIPS %s
35// CHECK-NOMICROMIPS: "-target-feature" "-micromips"
36//
Simon Atanasyan9c6f1f72012-07-05 19:23:00 +000037// -mdsp
38// RUN: %clang -target mips-linux-gnu -### -c %s \
39// RUN: -mno-dsp -mdsp 2>&1 \
40// RUN: | FileCheck --check-prefix=CHECK-MDSP %s
41// CHECK-MDSP: "-target-feature" "+dsp"
42//
43// -mno-dsp
44// RUN: %clang -target mips-linux-gnu -### -c %s \
45// RUN: -mdsp -mno-dsp 2>&1 \
46// RUN: | FileCheck --check-prefix=CHECK-NOMDSP %s
47// CHECK-NOMDSP: "-target-feature" "-dsp"
48//
49// -mdspr2
50// RUN: %clang -target mips-linux-gnu -### -c %s \
51// RUN: -mno-dspr2 -mdspr2 2>&1 \
52// RUN: | FileCheck --check-prefix=CHECK-MDSPR2 %s
53// CHECK-MDSPR2: "-target-feature" "+dspr2"
54//
55// -mno-dspr2
56// RUN: %clang -target mips-linux-gnu -### -c %s \
57// RUN: -mdspr2 -mno-dspr2 2>&1 \
58// RUN: | FileCheck --check-prefix=CHECK-NOMDSPR2 %s
59// CHECK-NOMDSPR2: "-target-feature" "-dspr2"
Simon Atanasyanec4b1c12012-08-27 20:55:56 +000060//
Jack Carter44ff1e52013-08-12 17:20:29 +000061// -mmsa
62// RUN: %clang -target mips-linux-gnu -### -c %s \
63// RUN: -mno-msa -mmsa 2>&1 \
64// RUN: | FileCheck --check-prefix=CHECK-MMSA %s
65// CHECK-MMSA: "-target-feature" "+msa"
66//
67// -mno-msa
68// RUN: %clang -target mips-linux-gnu -### -c %s \
69// RUN: -mmsa -mno-msa 2>&1 \
70// RUN: | FileCheck --check-prefix=CHECK-NOMMSA %s
71// CHECK-NOMMSA: "-target-feature" "-msa"
72//
Daniel Sanders28e5d392014-07-10 10:39:51 +000073// -modd-spreg
74// RUN: %clang -target mips-linux-gnu -### -c %s -mno-odd-spreg -modd-spreg 2>&1 \
75// RUN: | FileCheck --check-prefix=CHECK-MODDSPREG %s
76// CHECK-MODDSPREG: "-target-feature" "-nooddspreg"
77//
78// -mno-odd-spreg
79// RUN: %clang -target mips-linux-gnu -### -c %s -modd-spreg -mno-odd-spreg 2>&1 \
80// RUN: | FileCheck --check-prefix=CHECK-NOMODDSPREG %s
81// CHECK-NOMODDSPREG: "-target-feature" "+nooddspreg"
82//
Daniel Sanders2e9427a2014-07-16 09:57:54 +000083// -mfpxx
84// RUN: %clang -target mips-linux-gnu -### -c %s -mfpxx 2>&1 \
85// RUN: | FileCheck --check-prefix=CHECK-MFPXX %s
86// CHECK-MFPXX: "-target-feature" "+fpxx"
87// CHECK-MFPXX: "-target-feature" "+nooddspreg"
88//
89// -mfpxx -modd-spreg
90// RUN: %clang -target mips-linux-gnu -### -c %s -mfpxx -modd-spreg 2>&1 \
91// RUN: | FileCheck --check-prefix=CHECK-MFPXX-ODDSPREG %s
92// CHECK-MFPXX-ODDSPREG: "-target-feature" "+fpxx"
93// CHECK-MFPXX-ODDSPREG: "-target-feature" "-nooddspreg"
94//
Daniel Sanders94694172013-10-17 14:55:58 +000095// -mfp64
96// RUN: %clang -target mips-linux-gnu -### -c %s \
97// RUN: -mfp32 -mfp64 2>&1 \
98// RUN: | FileCheck --check-prefix=CHECK-MFP64 %s
99// CHECK-MFP64: "-target-feature" "+fp64"
100//
101// -mfp32
102// RUN: %clang -target mips-linux-gnu -### -c %s \
103// RUN: -mfp64 -mfp32 2>&1 \
104// RUN: | FileCheck --check-prefix=CHECK-NOMFP64 %s
105// CHECK-NOMFP64: "-target-feature" "-fp64"
106//
Matheus Almeida602bff32014-05-07 16:16:07 +0000107// -mnan=2008
108// RUN: %clang -target mips-linux-gnu -### -c %s \
109// RUN: -mnan=legacy -mnan=2008 2>&1 \
110// RUN: | FileCheck --check-prefix=CHECK-NAN2008 %s
111// CHECK-NAN2008: "-target-feature" "+nan2008"
112//
113// -mnan=legacy
114// RUN: %clang -target mips-linux-gnu -### -c %s \
115// RUN: -mnan=2008 -mnan=legacy 2>&1 \
116// RUN: | FileCheck --check-prefix=CHECK-NANLEGACY %s
117// CHECK-NANLEGACY: "-target-feature" "-nan2008"
118//
Simon Atanasyan2eaec512012-12-01 18:27:21 +0000119// -mxgot
120// RUN: %clang -target mips-linux-gnu -### -c %s \
121// RUN: -mno-xgot -mxgot 2>&1 \
122// RUN: | FileCheck --check-prefix=CHECK-XGOT %s
123// CHECK-XGOT: "-mllvm" "-mxgot"
124//
125// -mno-xgot
126// RUN: %clang -target mips-linux-gnu -### -c %s \
127// RUN: -mxgot -mno-xgot 2>&1 \
128// RUN: | FileCheck --check-prefix=CHECK-NOXGOT %s
129// CHECK-NOXGOT-NOT: "-mllvm" "-mxgot"
130//
Simon Atanasyanc580b322013-05-11 06:33:44 +0000131// -mldc1-sdc1
132// RUN: %clang -target mips-linux-gnu -### -c %s \
133// RUN: -mno-ldc1-sdc1 -mldc1-sdc1 2>&1 \
134// RUN: | FileCheck --check-prefix=CHECK-LDC1SDC1 %s
135// CHECK-LDC1SDC1-NOT: "-mllvm" "-mno-ldc1-sdc1"
136//
137// -mno-ldc1-sdc1
138// RUN: %clang -target mips-linux-gnu -### -c %s \
139// RUN: -mldc1-sdc1 -mno-ldc1-sdc1 2>&1 \
140// RUN: | FileCheck --check-prefix=CHECK-NOLDC1SDC1 %s
141// CHECK-NOLDC1SDC1: "-mllvm" "-mno-ldc1-sdc1"
142//
Akira Hatanaka0aa60ef2013-07-19 18:58:48 +0000143// -mcheck-zero-division
144// RUN: %clang -target mips-linux-gnu -### -c %s \
145// RUN: -mno-check-zero-division -mcheck-zero-division 2>&1 \
146// RUN: | FileCheck --check-prefix=CHECK-ZERODIV %s
147// CHECK-ZERODIV-NOT: "-mllvm" "-mno-check-zero-division"
148//
149// -mno-check-zero-division
150// RUN: %clang -target mips-linux-gnu -### -c %s \
151// RUN: -mcheck-zero-division -mno-check-zero-division 2>&1 \
152// RUN: | FileCheck --check-prefix=CHECK-NOZERODIV %s
153// CHECK-NOZERODIV: "-mllvm" "-mno-check-zero-division"
154//
Simon Atanasyanec4b1c12012-08-27 20:55:56 +0000155// -G
156// RUN: %clang -target mips-linux-gnu -### -c %s \
157// RUN: -G 16 2>&1 \
158// RUN: | FileCheck --check-prefix=CHECK-MIPS-G %s
159// CHECK-MIPS-G: "-mllvm" "-mips-ssection-threshold=16"