1 | // Check passing options to the assembler for various linux targets. |
2 | // |
3 | // RUN: %clang -target arm-linux -### \ |
4 | // RUN: -no-integrated-as -c %s 2>&1 \ |
5 | // RUN: | FileCheck -check-prefix=CHECK-ARM %s |
6 | // CHECK-ARM: as{{(.exe)?}}" "-EL" "-mfloat-abi=soft" |
7 | // |
8 | // RUN: %clang -target arm-linux -mcpu=cortex-a8 -### \ |
9 | // RUN: -no-integrated-as -c %s 2>&1 \ |
10 | // RUN: | FileCheck -check-prefix=CHECK-ARM-MCPU %s |
11 | // CHECK-ARM-MCPU: as{{(.exe)?}}" "-EL" "-mfloat-abi=soft" "-mcpu=cortex-a8" |
12 | // |
13 | // RUN: %clang -target arm-linux -mfpu=neon -### \ |
14 | // RUN: -no-integrated-as -c %s 2>&1 \ |
15 | // RUN: | FileCheck -check-prefix=CHECK-ARM-MFPU %s |
16 | // CHECK-ARM-MFPU: as{{(.exe)?}}" "-EL" "-mfloat-abi=soft" "-mfpu=neon" |
17 | // |
18 | // RUN: %clang -target arm-linux -march=armv7-a -### \ |
19 | // RUN: -no-integrated-as -c %s 2>&1 \ |
20 | // RUN: | FileCheck -check-prefix=CHECK-ARM-MARCH %s |
21 | // CHECK-ARM-MARCH: as{{(.exe)?}}" "-EL" "-mfloat-abi=soft" "-march=armv7-a" |
22 | // |
23 | // RUN: %clang -target armeb-linux -mlittle-endian -mcpu=cortex-a8 -mfpu=neon -march=armv7-a -### \ |
24 | // RUN: -no-integrated-as -c %s 2>&1 \ |
25 | // RUN: | FileCheck -check-prefix=CHECK-ARM-ALL %s |
26 | // CHECK-ARM-ALL: as{{(.exe)?}}" "-EL" "-mfloat-abi=soft" "-march=armv7-a" "-mcpu=cortex-a8" "-mfpu=neon" |
27 | // |
28 | // RUN: %clang -target arm-linux -mcpu=cortex-a8 -mfpu=neon -march=armv7-a -### \ |
29 | // RUN: -no-integrated-as -c %s 2>&1 \ |
30 | // RUN: | FileCheck -check-prefix=CHECK-ARM-ALL %s |
31 | // |
32 | // RUN: %clang -target armeb-linux -mlittle-endian -mcpu=cortex-a8 -mfpu=neon -march=armv7-a -### \ |
33 | // RUN: -no-integrated-as -c %s 2>&1 \ |
34 | // RUN: | FileCheck -check-prefix=CHECK-ARM-ALL %s |
35 | // |
36 | // RUN: %clang -target armeb-linux -mcpu=cortex-a8 -mfpu=neon -march=armebv7-a -### \ |
37 | // RUN: -no-integrated-as -c %s 2>&1 \ |
38 | // RUN: | FileCheck -check-prefix=CHECK-ARMEB-ALL %s |
39 | // CHECK-ARMEB-ALL: as{{(.exe)?}}" "-EB" "-mfloat-abi=soft" "-march=armebv7-a" "-mcpu=cortex-a8" "-mfpu=neon" |
40 | // |
41 | // RUN: %clang -target arm-linux -mcpu=cortex-a8 -mfpu=neon -march=armebv7-a -mbig-endian -### \ |
42 | // RUN: -no-integrated-as -c %s 2>&1 \ |
43 | // RUN: | FileCheck -check-prefix=CHECK-ARMEB-ALL %s |
44 | // |
45 | // RUN: %clang -target thumb-linux -mcpu=cortex-a8 -mfpu=neon -march=thumbv7-a -### \ |
46 | // RUN: -no-integrated-as -c %s 2>&1 \ |
47 | // RUN: | FileCheck -check-prefix=CHECK-THUMB-ALL %s |
48 | // CHECK-THUMB-ALL: as{{(.exe)?}}" "-EL" "-mfloat-abi=soft" "-march=thumbv7-a" "-mcpu=cortex-a8" "-mfpu=neon" |
49 | // |
50 | // RUN: %clang -target thumbeb-linux -mcpu=cortex-a8 -mfpu=neon -march=thumbv7-a -mlittle-endian -### \ |
51 | // RUN: -no-integrated-as -c %s 2>&1 \ |
52 | // RUN: | FileCheck -check-prefix=CHECK-THUMB-ALL %s |
53 | // |
54 | // RUN: %clang -target thumbeb-linux -mcpu=cortex-a8 -mfpu=neon -march=thumbebv7-a -### \ |
55 | // RUN: -no-integrated-as -c %s 2>&1 \ |
56 | // RUN: | FileCheck -check-prefix=CHECK-THUMBEB-ALL %s |
57 | // CHECK-THUMBEB-ALL: as{{(.exe)?}}" "-EB" "-mfloat-abi=soft" "-march=thumbebv7-a" "-mcpu=cortex-a8" "-mfpu=neon" |
58 | // |
59 | // RUN: %clang -target thumb-linux -mcpu=cortex-a8 -mfpu=neon -march=thumbebv7-a -mbig-endian -### \ |
60 | // RUN: -no-integrated-as -c %s 2>&1 \ |
61 | // RUN: | FileCheck -check-prefix=CHECK-THUMBEB-ALL %s |
62 | // |
63 | // RUN: %clang -target armv7-linux -mcpu=cortex-a8 -### \ |
64 | // RUN: -no-integrated-as -c %s 2>&1 \ |
65 | // RUN: | FileCheck -check-prefix=CHECK-ARM-TARGET %s |
66 | // CHECK-ARM-TARGET: as{{(.exe)?}}" "-EL" "-mfpu=neon" "-mfloat-abi=soft" "-mcpu=cortex-a8" |
67 | // |
68 | // RUN: %clang -target armebv7-linux -mcpu=cortex-a8 -### \ |
69 | // RUN: -no-integrated-as -c %s 2>&1 \ |
70 | // RUN: | FileCheck -check-prefix=CHECK-ARMEB-TARGET %s |
71 | // CHECK-ARMEB-TARGET: as{{(.exe)?}}" "-EB" "-mfpu=neon" "-mfloat-abi=soft" "-mcpu=cortex-a8" |
72 | // |
73 | // RUN: %clang -target thumbv7-linux -mcpu=cortex-a8 -### \ |
74 | // RUN: -no-integrated-as -c %s 2>&1 \ |
75 | // RUN: | FileCheck -check-prefix=CHECK-THUMB-TARGET %s |
76 | // CHECK-THUMB-TARGET: as{{(.exe)?}}" "-EL" "-mfpu=neon" "-mfloat-abi=soft" "-mcpu=cortex-a8" |
77 | // |
78 | // RUN: %clang -target thumbebv7-linux -mcpu=cortex-a8 -### \ |
79 | // RUN: -no-integrated-as -c %s 2>&1 \ |
80 | // RUN: | FileCheck -check-prefix=CHECK-THUMBEB-TARGET %s |
81 | // CHECK-THUMBEB-TARGET: as{{(.exe)?}}" "-EB" "-mfpu=neon" "-mfloat-abi=soft" "-mcpu=cortex-a8" |
82 | // |
83 | // RUN: %clang -target armv8-linux -mcpu=cortex-a53 -### \ |
84 | // RUN: -no-integrated-as -c %s 2>&1 \ |
85 | // RUN: | FileCheck -check-prefix=CHECK-ARM-TARGET-V8 %s |
86 | // CHECK-ARM-TARGET-V8: as{{(.exe)?}}" "-EL" "-mfpu=crypto-neon-fp-armv8" "-mfloat-abi=soft" "-mcpu=cortex-a53" |
87 | // |
88 | // RUN: %clang -target armebv8-linux -mcpu=cortex-a53 -### \ |
89 | // RUN: -no-integrated-as -c %s 2>&1 \ |
90 | // RUN: | FileCheck -check-prefix=CHECK-ARMEB-TARGET-V8 %s |
91 | // CHECK-ARMEB-TARGET-V8: as{{(.exe)?}}" "-EB" "-mfpu=crypto-neon-fp-armv8" "-mfloat-abi=soft" "-mcpu=cortex-a53" |
92 | // |
93 | // RUN: %clang -target thumbv8-linux -mcpu=cortex-a53 -### \ |
94 | // RUN: -no-integrated-as -c %s 2>&1 \ |
95 | // RUN: | FileCheck -check-prefix=CHECK-THUMB-TARGET-V8 %s |
96 | // CHECK-THUMB-TARGET-V8: as{{(.exe)?}}" "-EL" "-mfpu=crypto-neon-fp-armv8" "-mfloat-abi=soft" "-mcpu=cortex-a53" |
97 | // |
98 | // RUN: %clang -target thumbebv8-linux -mcpu=cortex-a53 -### \ |
99 | // RUN: -no-integrated-as -c %s 2>&1 \ |
100 | // RUN: | FileCheck -check-prefix=CHECK-THUMBEB-TARGET-V8 %s |
101 | // CHECK-THUMBEB-TARGET-V8: as{{(.exe)?}}" "-EB" "-mfpu=crypto-neon-fp-armv8" "-mfloat-abi=soft" "-mcpu=cortex-a53" |
102 | // |
103 | // RUN: %clang -target arm-linux -mfloat-abi=hard -### \ |
104 | // RUN: -no-integrated-as -c %s 2>&1 \ |
105 | // RUN: | FileCheck -check-prefix=CHECK-ARM-MFLOAT-ABI %s |
106 | // CHECK-ARM-MFLOAT-ABI: as{{(.exe)?}}" "-EL" "-mfloat-abi=hard" |
107 | // |
108 | // RUN: %clang -target arm-linux-androideabi -### \ |
109 | // RUN: -no-integrated-as -c %s 2>&1 \ |
110 | // RUN: | FileCheck -check-prefix=CHECK-ARM-ANDROID %s |
111 | // CHECK-ARM-ANDROID: as{{(.exe)?}}" "--noexecstack" "-EL" "-mfloat-abi=soft" |
112 | // |
113 | // RUN: %clang -target arm-linux-androideabi -march=armv7-a -### \ |
114 | // RUN: -no-integrated-as -c %s 2>&1 \ |
115 | // RUN: | FileCheck -check-prefix=CHECK-ARM-ANDROID-SOFTFP %s |
116 | // CHECK-ARM-ANDROID-SOFTFP: as{{(.exe)?}}" "--noexecstack" "-EL" "-mfloat-abi=softfp" "-march=armv7-a" |
117 | // |
118 | // RUN: %clang -target arm-linux-eabi -mhard-float -### \ |
119 | // RUN: -no-integrated-as -c %s 2>&1 \ |
120 | // RUN: | FileCheck -check-prefix=CHECK-ARM-HARDFP %s |
121 | // CHECK-ARM-HARDFP: as{{(.exe)?}}" "-EL" "-mfloat-abi=hard" |
122 | // |
123 | // RUN: %clang -target aarch64-linux-gnu -mcpu=cortex-a53 -### \ |
124 | // RUN: -no-integrated-as -c %s 2>&1 \ |
125 | // RUN: | FileCheck -check-prefix=CHECK-ARM64-MCPU %s |
126 | // CHECK-ARM64-MCPU: as{{(.exe)?}}" "-EL" "-mcpu=cortex-a53" |
127 | // |
128 | // RUN: %clang -target aarch64-linux-gnu -march=armv8-a -### \ |
129 | // RUN: -no-integrated-as -c %s 2>&1 \ |
130 | // RUN: | FileCheck -check-prefix=CHECK-ARM64-MARCH %s |
131 | // CHECK-ARM64-MARCH: as{{(.exe)?}}" "-EL" "-march=armv8-a" |
132 | // |
133 | // RUN: %clang -target aarch64-linux-gnu -mcpu=cortex-a53 -march=armv8-a -### \ |
134 | // RUN: -no-integrated-as -c %s 2>&1 \ |
135 | // RUN: | FileCheck -check-prefix=CHECK-ARM64-ALL %s |
136 | // CHECK-ARM64-ALL: as{{(.exe)?}}" "-EL" "-march=armv8-a" "-mcpu=cortex-a53" |
137 | // |
138 | // RUN: %clang -target aarch64_be-linux-gnu -mcpu=cortex-a53 -march=armv8-a -mlittle-endian -### \ |
139 | // RUN: -no-integrated-as -c %s 2>&1 \ |
140 | // RUN: | FileCheck -check-prefix=CHECK-ARM64-ALL %s |
141 | // |
142 | // RUN: %clang -target aarch64_be-linux-gnu -mcpu=cortex-a53 -### \ |
143 | // RUN: -no-integrated-as -c %s 2>&1 \ |
144 | // RUN: | FileCheck -check-prefix=CHECK-ARM64BE-MCPU %s |
145 | // CHECK-ARM64BE-MCPU: as{{(.exe)?}}" "-EB" "-mcpu=cortex-a53" |
146 | // |
147 | // RUN: %clang -target aarch64_be-linux-gnu -march=armv8-a -### \ |
148 | // RUN: -no-integrated-as -c %s 2>&1 \ |
149 | // RUN: | FileCheck -check-prefix=CHECK-ARM64BE-MARCH %s |
150 | // CHECK-ARM64BE-MARCH: as{{(.exe)?}}" "-EB" "-march=armv8-a" |
151 | // |
152 | // RUN: %clang -target aarch64_be-linux-gnu -mcpu=cortex-a53 -march=armv8-a -### \ |
153 | // RUN: -no-integrated-as -c %s 2>&1 \ |
154 | // RUN: | FileCheck -check-prefix=CHECK-ARM64BE-ALL %s |
155 | // CHECK-ARM64BE-ALL: as{{(.exe)?}}" "-EB" "-march=armv8-a" "-mcpu=cortex-a53" |
156 | // |
157 | // RUN: %clang -target aarch64-linux-gnu -mcpu=cortex-a53 -march=armv8-a -mbig-endian -### \ |
158 | // RUN: -no-integrated-as -c %s 2>&1 \ |
159 | // RUN: | FileCheck -check-prefix=CHECK-ARM64BE-ALL %s |
160 | // |
161 | // RUN: %clang -target ppc-linux -mcpu=invalid-cpu -### \ |
162 | // RUN: -no-integrated-as -c %s 2>&1 \ |
163 | // RUN: | FileCheck -check-prefix=CHECK-PPC-NO-MCPU %s |
164 | // CHECK-PPC-NO-MCPU-NOT: as{{.*}} "-mcpu=invalid-cpu" |
165 | // |
166 | // RUN: %clang -target sparc64-linux -mcpu=invalid-cpu -### \ |
167 | // RUN: -no-integrated-as -c %s 2>&1 \ |
168 | // RUN: | FileCheck -check-prefix=CHECK-SPARCV9 %s |
169 | // CHECK-SPARCV9: as |
170 | // CHECK-SPARCV9: -64 |
171 | // CHECK-SPARCV9: -Av9 |
172 | // CHECK-SPARCV9-NOT: -KPIC |
173 | // CHECK-SPARCV9: -o |
174 | // |
175 | // RUN: %clang -target sparc64-linux -mcpu=invalid-cpu -### \ |
176 | // RUN: -no-integrated-as -fpic -c %s 2>&1 \ |
177 | // RUN: | FileCheck -check-prefix=CHECK-SPARCV9PIC %s |
178 | // CHECK-SPARCV9PIC: as |
179 | // CHECK-SPARCV9PIC: -64 |
180 | // CHECK-SPARCV9PIC: -Av9 |
181 | // CHECK-SPARCV9PIC: -KPIC |
182 | // CHECK-SPARCV9PIC: -o |
183 | // |
184 | // RUN: %clang -target sparc-linux -mcpu=invalid-cpu -### \ |
185 | // RUN: -no-integrated-as -c %s 2>&1 \ |
186 | // RUN: | FileCheck -check-prefix=CHECK-SPARCV8 %s |
187 | // CHECK-SPARCV8: as |
188 | // CHECK-SPARCV8: -32 |
189 | // CHECK-SPARCV8: -Av8 |
190 | // CHECK-SPARCV8: -o |
191 | // |
192 | // RUN: %clang -target sparcel-linux -mcpu=invalid-cpu -### \ |
193 | // RUN: -no-integrated-as -c %s 2>&1 \ |
194 | // RUN: | FileCheck -check-prefix=CHECK-SPARCV8EL %s |
195 | // CHECK-SPARCV8EL: as |
196 | // CHECK-SPARCV8EL: -32 |
197 | // CHECK-SPARCV8EL: -Av8 |
198 | // CHECK-SPARCV8EL: -o |
199 | // |
200 | // RUN: %clang -target s390x-linux -### -no-integrated-as -c %s 2>&1 \ |
201 | // RUN: | FileCheck -check-prefix=CHECK-Z-DEFAULT-ARCH %s |
202 | // CHECK-Z-DEFAULT-ARCH: as{{.*}} "-march=z10" |
203 | // |
204 | // RUN: %clang -target s390x-linux -march=z196 -### \ |
205 | // RUN: -no-integrated-as -c %s 2>&1 \ |
206 | // RUN: | FileCheck -check-prefix=CHECK-Z-ARCH-Z196 %s |
207 | // CHECK-Z-ARCH-Z196: as{{.*}} "-march=z196" |
208 | // |
209 | // RUN: %clang -target powerpc64le-linux -### \ |
210 | // RUN: -no-integrated-as -c %s 2>&1 \ |
211 | // RUN: | FileCheck -check-prefix=CHECK-PPC64LE %s |
212 | // CHECK-PPC64LE: as{{.*}} "-mpower8" |
213 | // |
214 | // RUN: %clang -target powerpc64-linux -mcpu=pwr7 -### \ |
215 | // RUN: -no-integrated-as -c %s 2>&1 \ |
216 | // RUN: | FileCheck -check-prefix=CHECK-PPC64 %s |
217 | // CHECK-PPC64: as{{.*}} "-mpower7" |
218 | // |
219 | // RUN: %clang -target powerpc-linux -mcpu=pwr9 -### \ |
220 | // RUN: -no-integrated-as -c %s 2>&1 \ |
221 | // RUN: | FileCheck -check-prefix=CHECK-PPC32 %s |
222 | // CHECK-PPC32: as{{.*}} "-mpower9" |
223 | |