xref: /aosp_15_r20/external/clang/test/Driver/clang-translation.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang -target i386-unknown-unknown -### -S -O0 -Os %s -o %t.s -fverbose-asm -funwind-tables -fvisibility=hidden 2>&1 | FileCheck -check-prefix=I386 %s
2*67e74705SXin Li // I386: "-triple" "i386-unknown-unknown"
3*67e74705SXin Li // I386: "-S"
4*67e74705SXin Li // I386: "-disable-free"
5*67e74705SXin Li // I386: "-mrelocation-model" "static"
6*67e74705SXin Li // I386: "-mdisable-fp-elim"
7*67e74705SXin Li // I386: "-masm-verbose"
8*67e74705SXin Li // I386: "-munwind-tables"
9*67e74705SXin Li // I386: "-Os"
10*67e74705SXin Li // I386: "-fvisibility"
11*67e74705SXin Li // I386: "hidden"
12*67e74705SXin Li // I386: "-o"
13*67e74705SXin Li // I386: clang-translation
14*67e74705SXin Li // RUN: %clang -target i386-apple-darwin9 -### -S %s -o %t.s 2>&1 | \
15*67e74705SXin Li // RUN: FileCheck -check-prefix=YONAH %s
16*67e74705SXin Li // YONAH: "-target-cpu"
17*67e74705SXin Li // YONAH: "yonah"
18*67e74705SXin Li // RUN: %clang -target x86_64-apple-darwin9 -### -S %s -o %t.s 2>&1 | \
19*67e74705SXin Li // RUN: FileCheck -check-prefix=CORE2 %s
20*67e74705SXin Li // CORE2: "-target-cpu"
21*67e74705SXin Li // CORE2: "core2"
22*67e74705SXin Li // RUN: %clang -target x86_64h-apple-darwin -### -S %s -o %t.s 2>&1 | \
23*67e74705SXin Li // RUN: FileCheck -check-prefix=AVX2 %s
24*67e74705SXin Li // AVX2: "-target-cpu"
25*67e74705SXin Li // AVX2: "core-avx2"
26*67e74705SXin Li 
27*67e74705SXin Li // RUN: %clang -target x86_64-apple-darwin10 -### -S %s -arch armv7 2>&1 | \
28*67e74705SXin Li // RUN: FileCheck -check-prefix=ARMV7_DEFAULT %s
29*67e74705SXin Li // ARMV7_DEFAULT: clang
30*67e74705SXin Li // ARMV7_DEFAULT: "-cc1"
31*67e74705SXin Li // ARMV7_DEFAULT-NOT: "-msoft-float"
32*67e74705SXin Li // ARMV7_DEFAULT: "-mfloat-abi" "soft"
33*67e74705SXin Li // ARMV7_DEFAULT-NOT: "-msoft-float"
34*67e74705SXin Li // ARMV7_DEFAULT: "-x" "c"
35*67e74705SXin Li 
36*67e74705SXin Li // RUN: %clang -target x86_64-apple-darwin10 -### -S %s -arch armv7 \
37*67e74705SXin Li // RUN: -msoft-float 2>&1 | FileCheck -check-prefix=ARMV7_SOFTFLOAT %s
38*67e74705SXin Li // ARMV7_SOFTFLOAT: clang
39*67e74705SXin Li // ARMV7_SOFTFLOAT: "-cc1"
40*67e74705SXin Li // ARMV7_SOFTFLOAT: "-target-feature"
41*67e74705SXin Li // ARMV7_SOFTFLOAT: "-neon"
42*67e74705SXin Li // ARMV7_SOFTFLOAT: "-msoft-float"
43*67e74705SXin Li // ARMV7_SOFTFLOAT: "-mfloat-abi" "soft"
44*67e74705SXin Li // ARMV7_SOFTFLOAT: "-x" "c"
45*67e74705SXin Li 
46*67e74705SXin Li // RUN: %clang -target x86_64-apple-darwin10 -### -S %s -arch armv7 \
47*67e74705SXin Li // RUN: -mhard-float 2>&1 | FileCheck -check-prefix=ARMV7_HARDFLOAT %s
48*67e74705SXin Li // ARMV7_HARDFLOAT: clang
49*67e74705SXin Li // ARMV7_HARDFLOAT: "-cc1"
50*67e74705SXin Li // ARMV7_HARDFLOAT-NOT: "-msoft-float"
51*67e74705SXin Li // ARMV7_HARDFLOAT: "-mfloat-abi" "hard"
52*67e74705SXin Li // ARMV7_HARDFLOAT-NOT: "-msoft-float"
53*67e74705SXin Li // ARMV7_HARDFLOAT: "-x" "c"
54*67e74705SXin Li 
55*67e74705SXin Li // RUN: %clang -target arm-linux -### -S %s -march=armv5e 2>&1 | \
56*67e74705SXin Li // RUN: FileCheck -check-prefix=ARMV5E %s
57*67e74705SXin Li // ARMV5E: clang
58*67e74705SXin Li // ARMV5E: "-cc1"
59*67e74705SXin Li // ARMV5E: "-target-cpu" "arm1022e"
60*67e74705SXin Li 
61*67e74705SXin Li // RUN: %clang -target powerpc64-unknown-linux-gnu \
62*67e74705SXin Li // RUN: -### -S %s -mcpu=G5 2>&1 | FileCheck -check-prefix=PPCG5 %s
63*67e74705SXin Li // PPCG5: clang
64*67e74705SXin Li // PPCG5: "-cc1"
65*67e74705SXin Li // PPCG5: "-target-cpu" "g5"
66*67e74705SXin Li 
67*67e74705SXin Li // RUN: %clang -target powerpc64-unknown-linux-gnu \
68*67e74705SXin Li // RUN: -### -S %s -mcpu=power7 2>&1 | FileCheck -check-prefix=PPCPWR7 %s
69*67e74705SXin Li // PPCPWR7: clang
70*67e74705SXin Li // PPCPWR7: "-cc1"
71*67e74705SXin Li // PPCPWR7: "-target-cpu" "pwr7"
72*67e74705SXin Li 
73*67e74705SXin Li // RUN: %clang -target powerpc64-unknown-linux-gnu \
74*67e74705SXin Li // RUN: -### -S %s -mcpu=power8 2>&1 | FileCheck -check-prefix=PPCPWR8 %s
75*67e74705SXin Li // PPCPWR8: clang
76*67e74705SXin Li // PPCPWR8: "-cc1"
77*67e74705SXin Li // PPCPWR8: "-target-cpu" "pwr8"
78*67e74705SXin Li 
79*67e74705SXin Li // RUN: %clang -target powerpc64-unknown-linux-gnu \
80*67e74705SXin Li // RUN: -### -S %s -mcpu=a2q 2>&1 | FileCheck -check-prefix=PPCA2Q %s
81*67e74705SXin Li // PPCA2Q: clang
82*67e74705SXin Li // PPCA2Q: "-cc1"
83*67e74705SXin Li // PPCA2Q: "-target-cpu" "a2q"
84*67e74705SXin Li 
85*67e74705SXin Li // RUN: %clang -target powerpc64-unknown-linux-gnu \
86*67e74705SXin Li // RUN: -### -S %s -mcpu=630 2>&1 | FileCheck -check-prefix=PPC630 %s
87*67e74705SXin Li // PPC630: clang
88*67e74705SXin Li // PPC630: "-cc1"
89*67e74705SXin Li // PPC630: "-target-cpu" "pwr3"
90*67e74705SXin Li 
91*67e74705SXin Li // RUN: %clang -target powerpc64-unknown-linux-gnu \
92*67e74705SXin Li // RUN: -### -S %s -mcpu=power3 2>&1 | FileCheck -check-prefix=PPCPOWER3 %s
93*67e74705SXin Li // PPCPOWER3: clang
94*67e74705SXin Li // PPCPOWER3: "-cc1"
95*67e74705SXin Li // PPCPOWER3: "-target-cpu" "pwr3"
96*67e74705SXin Li 
97*67e74705SXin Li // RUN: %clang -target powerpc64-unknown-linux-gnu \
98*67e74705SXin Li // RUN: -### -S %s -mcpu=pwr3 2>&1 | FileCheck -check-prefix=PPCPWR3 %s
99*67e74705SXin Li // PPCPWR3: clang
100*67e74705SXin Li // PPCPWR3: "-cc1"
101*67e74705SXin Li // PPCPWR3: "-target-cpu" "pwr3"
102*67e74705SXin Li 
103*67e74705SXin Li // RUN: %clang -target powerpc64-unknown-linux-gnu \
104*67e74705SXin Li // RUN: -### -S %s -mcpu=power4 2>&1 | FileCheck -check-prefix=PPCPOWER4 %s
105*67e74705SXin Li // PPCPOWER4: clang
106*67e74705SXin Li // PPCPOWER4: "-cc1"
107*67e74705SXin Li // PPCPOWER4: "-target-cpu" "pwr4"
108*67e74705SXin Li 
109*67e74705SXin Li // RUN: %clang -target powerpc64-unknown-linux-gnu \
110*67e74705SXin Li // RUN: -### -S %s -mcpu=pwr4 2>&1 | FileCheck -check-prefix=PPCPWR4 %s
111*67e74705SXin Li // PPCPWR4: clang
112*67e74705SXin Li // PPCPWR4: "-cc1"
113*67e74705SXin Li // PPCPWR4: "-target-cpu" "pwr4"
114*67e74705SXin Li 
115*67e74705SXin Li // RUN: %clang -target powerpc64-unknown-linux-gnu \
116*67e74705SXin Li // RUN: -### -S %s -mcpu=power5 2>&1 | FileCheck -check-prefix=PPCPOWER5 %s
117*67e74705SXin Li // PPCPOWER5: clang
118*67e74705SXin Li // PPCPOWER5: "-cc1"
119*67e74705SXin Li // PPCPOWER5: "-target-cpu" "pwr5"
120*67e74705SXin Li 
121*67e74705SXin Li // RUN: %clang -target powerpc64-unknown-linux-gnu \
122*67e74705SXin Li // RUN: -### -S %s -mcpu=pwr5 2>&1 | FileCheck -check-prefix=PPCPWR5 %s
123*67e74705SXin Li // PPCPWR5: clang
124*67e74705SXin Li // PPCPWR5: "-cc1"
125*67e74705SXin Li // PPCPWR5: "-target-cpu" "pwr5"
126*67e74705SXin Li 
127*67e74705SXin Li // RUN: %clang -target powerpc64-unknown-linux-gnu \
128*67e74705SXin Li // RUN: -### -S %s -mcpu=power5x 2>&1 | FileCheck -check-prefix=PPCPOWER5X %s
129*67e74705SXin Li // PPCPOWER5X: clang
130*67e74705SXin Li // PPCPOWER5X: "-cc1"
131*67e74705SXin Li // PPCPOWER5X: "-target-cpu" "pwr5x"
132*67e74705SXin Li 
133*67e74705SXin Li // RUN: %clang -target powerpc64-unknown-linux-gnu \
134*67e74705SXin Li // RUN: -### -S %s -mcpu=pwr5x 2>&1 | FileCheck -check-prefix=PPCPWR5X %s
135*67e74705SXin Li // PPCPWR5X: clang
136*67e74705SXin Li // PPCPWR5X: "-cc1"
137*67e74705SXin Li // PPCPWR5X: "-target-cpu" "pwr5x"
138*67e74705SXin Li 
139*67e74705SXin Li // RUN: %clang -target powerpc64-unknown-linux-gnu \
140*67e74705SXin Li // RUN: -### -S %s -mcpu=power6 2>&1 | FileCheck -check-prefix=PPCPOWER6 %s
141*67e74705SXin Li // PPCPOWER6: clang
142*67e74705SXin Li // PPCPOWER6: "-cc1"
143*67e74705SXin Li // PPCPOWER6: "-target-cpu" "pwr6"
144*67e74705SXin Li 
145*67e74705SXin Li // RUN: %clang -target powerpc64-unknown-linux-gnu \
146*67e74705SXin Li // RUN: -### -S %s -mcpu=pwr6 2>&1 | FileCheck -check-prefix=PPCPWR6 %s
147*67e74705SXin Li // PPCPWR6: clang
148*67e74705SXin Li // PPCPWR6: "-cc1"
149*67e74705SXin Li // PPCPWR6: "-target-cpu" "pwr6"
150*67e74705SXin Li 
151*67e74705SXin Li // RUN: %clang -target powerpc64-unknown-linux-gnu \
152*67e74705SXin Li // RUN: -### -S %s -mcpu=power6x 2>&1 | FileCheck -check-prefix=PPCPOWER6X %s
153*67e74705SXin Li // PPCPOWER6X: clang
154*67e74705SXin Li // PPCPOWER6X: "-cc1"
155*67e74705SXin Li // PPCPOWER6X: "-target-cpu" "pwr6x"
156*67e74705SXin Li 
157*67e74705SXin Li // RUN: %clang -target powerpc64-unknown-linux-gnu \
158*67e74705SXin Li // RUN: -### -S %s -mcpu=pwr6x 2>&1 | FileCheck -check-prefix=PPCPWR6X %s
159*67e74705SXin Li // PPCPWR6X: clang
160*67e74705SXin Li // PPCPWR6X: "-cc1"
161*67e74705SXin Li // PPCPWR6X: "-target-cpu" "pwr6x"
162*67e74705SXin Li 
163*67e74705SXin Li // RUN: %clang -target powerpc64-unknown-linux-gnu \
164*67e74705SXin Li // RUN: -### -S %s -mcpu=power7 2>&1 | FileCheck -check-prefix=PPCPOWER7 %s
165*67e74705SXin Li // PPCPOWER7: clang
166*67e74705SXin Li // PPCPOWER7: "-cc1"
167*67e74705SXin Li // PPCPOWER7: "-target-cpu" "pwr7"
168*67e74705SXin Li 
169*67e74705SXin Li // RUN: %clang -target powerpc64-unknown-linux-gnu \
170*67e74705SXin Li // RUN: -### -S %s -mcpu=powerpc 2>&1 | FileCheck -check-prefix=PPCPOWERPC %s
171*67e74705SXin Li // PPCPOWERPC: clang
172*67e74705SXin Li // PPCPOWERPC: "-cc1"
173*67e74705SXin Li // PPCPOWERPC: "-target-cpu" "ppc"
174*67e74705SXin Li 
175*67e74705SXin Li // RUN: %clang -target powerpc64-unknown-linux-gnu \
176*67e74705SXin Li // RUN: -### -S %s -mcpu=powerpc64 2>&1 | FileCheck -check-prefix=PPCPOWERPC64 %s
177*67e74705SXin Li // PPCPOWERPC64: clang
178*67e74705SXin Li // PPCPOWERPC64: "-cc1"
179*67e74705SXin Li // PPCPOWERPC64: "-target-cpu" "ppc64"
180*67e74705SXin Li 
181*67e74705SXin Li // RUN: %clang -target powerpc64-unknown-linux-gnu \
182*67e74705SXin Li // RUN: -### -S %s 2>&1 | FileCheck -check-prefix=PPC64NS %s
183*67e74705SXin Li // PPC64NS: clang
184*67e74705SXin Li // PPC64NS: "-cc1"
185*67e74705SXin Li // PPC64NS: "-target-cpu" "ppc64"
186*67e74705SXin Li 
187*67e74705SXin Li // RUN: %clang -target powerpc-fsl-linux -### -S %s \
188*67e74705SXin Li // RUN: -mcpu=e500mc 2>&1 | FileCheck -check-prefix=PPCE500MC %s
189*67e74705SXin Li // PPCE500MC: clang
190*67e74705SXin Li // PPCE500MC: "-cc1"
191*67e74705SXin Li // PPCE500MC: "-target-cpu" "e500mc"
192*67e74705SXin Li 
193*67e74705SXin Li // RUN: %clang -target powerpc64-fsl-linux -### -S \
194*67e74705SXin Li // RUN: %s -mcpu=e5500 2>&1 | FileCheck -check-prefix=PPCE5500 %s
195*67e74705SXin Li // PPCE5500: clang
196*67e74705SXin Li // PPCE5500: "-cc1"
197*67e74705SXin Li // PPCE5500: "-target-cpu" "e5500"
198*67e74705SXin Li 
199*67e74705SXin Li // RUN: %clang -target amd64-unknown-openbsd5.2 -### -S %s 2>&1 | \
200*67e74705SXin Li // RUN: FileCheck -check-prefix=AMD64 %s
201*67e74705SXin Li // AMD64: clang
202*67e74705SXin Li // AMD64: "-cc1"
203*67e74705SXin Li // AMD64: "-triple"
204*67e74705SXin Li // AMD64: "amd64-unknown-openbsd5.2"
205*67e74705SXin Li // AMD64: "-munwind-tables"
206*67e74705SXin Li 
207*67e74705SXin Li // RUN: %clang -target amd64--mingw32 -### -S %s 2>&1 | \
208*67e74705SXin Li // RUN: FileCheck -check-prefix=AMD64-MINGW %s
209*67e74705SXin Li // AMD64-MINGW: clang
210*67e74705SXin Li // AMD64-MINGW: "-cc1"
211*67e74705SXin Li // AMD64-MINGW: "-triple"
212*67e74705SXin Li // AMD64-MINGW: "amd64--windows-gnu"
213*67e74705SXin Li // AMD64-MINGW: "-munwind-tables"
214*67e74705SXin Li 
215*67e74705SXin Li // RUN: %clang -target i686-linux-android -### -S %s 2>&1 \
216*67e74705SXin Li // RUN:        --sysroot=%S/Inputs/basic_android_tree/sysroot \
217*67e74705SXin Li // RUN:   | FileCheck --check-prefix=ANDROID-X86 %s
218*67e74705SXin Li // ANDROID-X86: clang
219*67e74705SXin Li // ANDROID-X86: "-target-cpu" "i686"
220*67e74705SXin Li // ANDROID-X86: "-target-feature" "+ssse3"
221*67e74705SXin Li 
222*67e74705SXin Li // RUN: %clang -target x86_64-linux-android -### -S %s 2>&1 \
223*67e74705SXin Li // RUN:        --sysroot=%S/Inputs/basic_android_tree/sysroot \
224*67e74705SXin Li // RUN:   | FileCheck --check-prefix=ANDROID-X86_64 %s
225*67e74705SXin Li // ANDROID-X86_64: clang
226*67e74705SXin Li // ANDROID-X86_64: "-target-cpu" "x86-64"
227*67e74705SXin Li // ANDROID-X86_64: "-target-feature" "+sse4.2"
228*67e74705SXin Li // ANDROID-X86_64: "-target-feature" "+popcnt"
229*67e74705SXin Li 
230*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -### -S %s 2>&1 | \
231*67e74705SXin Li // RUN: FileCheck -check-prefix=MIPS %s
232*67e74705SXin Li // MIPS: clang
233*67e74705SXin Li // MIPS: "-cc1"
234*67e74705SXin Li // MIPS: "-target-cpu" "mips32r2"
235*67e74705SXin Li // MIPS: "-mfloat-abi" "hard"
236*67e74705SXin Li 
237*67e74705SXin Li // RUN: %clang -target mipsel-linux-gnu -### -S %s 2>&1 | \
238*67e74705SXin Li // RUN: FileCheck -check-prefix=MIPSEL %s
239*67e74705SXin Li // MIPSEL: clang
240*67e74705SXin Li // MIPSEL: "-cc1"
241*67e74705SXin Li // MIPSEL: "-target-cpu" "mips32r2"
242*67e74705SXin Li // MIPSEL: "-mfloat-abi" "hard"
243*67e74705SXin Li 
244*67e74705SXin Li // RUN: %clang -target mipsel-linux-android -### -S %s 2>&1 | \
245*67e74705SXin Li // RUN: FileCheck -check-prefix=MIPSEL-ANDROID %s
246*67e74705SXin Li // MIPSEL-ANDROID: clang
247*67e74705SXin Li // MIPSEL-ANDROID: "-cc1"
248*67e74705SXin Li // MIPSEL-ANDROID: "-target-cpu" "mips32"
249*67e74705SXin Li // MIPSEL-ANDROID: "-target-feature" "+fpxx"
250*67e74705SXin Li // MIPSEL-ANDROID: "-target-feature" "+nooddspreg"
251*67e74705SXin Li // MIPSEL-ANDROID: "-mfloat-abi" "hard"
252*67e74705SXin Li 
253*67e74705SXin Li // RUN: %clang -target mipsel-linux-android -### -S %s -mcpu=mips32r6 2>&1 | \
254*67e74705SXin Li // RUN: FileCheck -check-prefix=MIPSEL-ANDROID-R6 %s
255*67e74705SXin Li // MIPSEL-ANDROID-R6: clang
256*67e74705SXin Li // MIPSEL-ANDROID-R6: "-cc1"
257*67e74705SXin Li // MIPSEL-ANDROID-R6: "-target-cpu" "mips32r6"
258*67e74705SXin Li // MIPSEL-ANDROID-R6: "-target-feature" "+fp64"
259*67e74705SXin Li // MIPSEL-ANDROID-R6: "-target-feature" "+nooddspreg"
260*67e74705SXin Li // MIPSEL-ANDROID-R6: "-mfloat-abi" "hard"
261*67e74705SXin Li 
262*67e74705SXin Li // RUN: %clang -target mips64-linux-gnu -### -S %s 2>&1 | \
263*67e74705SXin Li // RUN: FileCheck -check-prefix=MIPS64 %s
264*67e74705SXin Li // MIPS64: clang
265*67e74705SXin Li // MIPS64: "-cc1"
266*67e74705SXin Li // MIPS64: "-target-cpu" "mips64r2"
267*67e74705SXin Li // MIPS64: "-mfloat-abi" "hard"
268*67e74705SXin Li 
269*67e74705SXin Li // RUN: %clang -target mips64el-linux-gnu -### -S %s 2>&1 | \
270*67e74705SXin Li // RUN: FileCheck -check-prefix=MIPS64EL %s
271*67e74705SXin Li // MIPS64EL: clang
272*67e74705SXin Li // MIPS64EL: "-cc1"
273*67e74705SXin Li // MIPS64EL: "-target-cpu" "mips64r2"
274*67e74705SXin Li // MIPS64EL: "-mfloat-abi" "hard"
275*67e74705SXin Li 
276*67e74705SXin Li // RUN: %clang -target mips64el-linux-android -### -S %s 2>&1 | \
277*67e74705SXin Li // RUN: FileCheck -check-prefix=MIPS64EL-ANDROID %s
278*67e74705SXin Li // MIPS64EL-ANDROID: clang
279*67e74705SXin Li // MIPS64EL-ANDROID: "-cc1"
280*67e74705SXin Li // MIPS64EL-ANDROID: "-target-cpu" "mips64r6"
281*67e74705SXin Li // MIPS64EL-ANDROID: "-mfloat-abi" "hard"
282