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