xref: /aosp_15_r20/external/clang/test/Driver/linux-as.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // Check passing options to the assembler for various linux targets.
2*67e74705SXin Li //
3*67e74705SXin Li // RUN: %clang -target arm-linux -### \
4*67e74705SXin Li // RUN:   -no-integrated-as -c %s 2>&1 \
5*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-ARM %s
6*67e74705SXin Li // CHECK-ARM: as{{(.exe)?}}" "-mfloat-abi=soft"
7*67e74705SXin Li //
8*67e74705SXin Li // RUN: %clang -target arm-linux -mcpu=cortex-a8 -### \
9*67e74705SXin Li // RUN:   -no-integrated-as -c %s 2>&1 \
10*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-ARM-MCPU %s
11*67e74705SXin Li // CHECK-ARM-MCPU: as{{(.exe)?}}" "-mfloat-abi=soft" "-mcpu=cortex-a8"
12*67e74705SXin Li //
13*67e74705SXin Li // RUN: %clang -target arm-linux -mfpu=neon -### \
14*67e74705SXin Li // RUN:   -no-integrated-as -c %s 2>&1 \
15*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-ARM-MFPU %s
16*67e74705SXin Li // CHECK-ARM-MFPU: as{{(.exe)?}}" "-mfloat-abi=soft" "-mfpu=neon"
17*67e74705SXin Li //
18*67e74705SXin Li // RUN: %clang -target arm-linux -march=armv7-a -### \
19*67e74705SXin Li // RUN:   -no-integrated-as -c %s 2>&1 \
20*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-ARM-MARCH %s
21*67e74705SXin Li // CHECK-ARM-MARCH: as{{(.exe)?}}" "-mfloat-abi=soft" "-march=armv7-a"
22*67e74705SXin Li //
23*67e74705SXin Li // RUN: %clang -target arm-linux -mcpu=cortex-a8 -mfpu=neon -march=armv7-a -### \
24*67e74705SXin Li // RUN:   -no-integrated-as -c %s 2>&1 \
25*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-ARM-ALL %s
26*67e74705SXin Li // CHECK-ARM-ALL: as{{(.exe)?}}" "-mfloat-abi=soft" "-march=armv7-a" "-mcpu=cortex-a8" "-mfpu=neon"
27*67e74705SXin Li //
28*67e74705SXin Li // RUN: %clang -target arm-linux -mcpu=cortex-a8 -mfpu=neon -march=armebv7-a -### \
29*67e74705SXin Li // RUN:   -no-integrated-as -c %s 2>&1 \
30*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-ARMEB-ALL %s
31*67e74705SXin Li // CHECK-ARMEB-ALL: as{{(.exe)?}}" "-mfloat-abi=soft" "-march=armebv7-a" "-mcpu=cortex-a8" "-mfpu=neon"
32*67e74705SXin Li //
33*67e74705SXin Li // RUN: %clang -target thumb-linux -mcpu=cortex-a8 -mfpu=neon -march=thumbv7-a -### \
34*67e74705SXin Li // RUN:   -no-integrated-as -c %s 2>&1 \
35*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-THUMB-ALL %s
36*67e74705SXin Li // CHECK-THUMB-ALL: as{{(.exe)?}}" "-mfloat-abi=soft" "-march=thumbv7-a" "-mcpu=cortex-a8" "-mfpu=neon"
37*67e74705SXin Li //
38*67e74705SXin Li // RUN: %clang -target thumb-linux -mcpu=cortex-a8 -mfpu=neon -march=thumbebv7-a -### \
39*67e74705SXin Li // RUN:   -no-integrated-as -c %s 2>&1 \
40*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-THUMBEB-ALL %s
41*67e74705SXin Li // CHECK-THUMBEB-ALL: as{{(.exe)?}}" "-mfloat-abi=soft" "-march=thumbebv7-a" "-mcpu=cortex-a8" "-mfpu=neon"
42*67e74705SXin Li //
43*67e74705SXin Li // RUN: %clang -target armv7-linux -mcpu=cortex-a8 -### \
44*67e74705SXin Li // RUN:   -no-integrated-as -c %s 2>&1 \
45*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-ARM-TARGET %s
46*67e74705SXin Li // CHECK-ARM-TARGET: as{{(.exe)?}}" "-mfpu=neon" "-mfloat-abi=soft" "-mcpu=cortex-a8"
47*67e74705SXin Li //
48*67e74705SXin Li // RUN: %clang -target armebv7-linux -mcpu=cortex-a8 -### \
49*67e74705SXin Li // RUN:   -no-integrated-as -c %s 2>&1 \
50*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-ARMEB-TARGET %s
51*67e74705SXin Li // CHECK-ARMEB-TARGET: as{{(.exe)?}}" "-mfpu=neon" "-mfloat-abi=soft" "-mcpu=cortex-a8"
52*67e74705SXin Li //
53*67e74705SXin Li // RUN: %clang -target thumbv7-linux -mcpu=cortex-a8 -### \
54*67e74705SXin Li // RUN:   -no-integrated-as -c %s 2>&1 \
55*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-THUMB-TARGET %s
56*67e74705SXin Li // CHECK-THUMB-TARGET: as{{(.exe)?}}" "-mfpu=neon" "-mfloat-abi=soft" "-mcpu=cortex-a8"
57*67e74705SXin Li //
58*67e74705SXin Li // RUN: %clang -target thumbebv7-linux -mcpu=cortex-a8 -### \
59*67e74705SXin Li // RUN:   -no-integrated-as -c %s 2>&1 \
60*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-THUMBEB-TARGET %s
61*67e74705SXin Li // CHECK-THUMBEB-TARGET: as{{(.exe)?}}" "-mfpu=neon" "-mfloat-abi=soft" "-mcpu=cortex-a8"
62*67e74705SXin Li //
63*67e74705SXin Li // RUN: %clang -target armv8-linux -mcpu=cortex-a53 -### \
64*67e74705SXin Li // RUN:   -no-integrated-as -c %s 2>&1 \
65*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-ARM-TARGET-V8 %s
66*67e74705SXin Li // CHECK-ARM-TARGET-V8: as{{(.exe)?}}" "-mfpu=crypto-neon-fp-armv8" "-mfloat-abi=soft" "-mcpu=cortex-a53"
67*67e74705SXin Li //
68*67e74705SXin Li // RUN: %clang -target armebv8-linux -mcpu=cortex-a53 -### \
69*67e74705SXin Li // RUN:   -no-integrated-as -c %s 2>&1 \
70*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-ARMEB-TARGET-V8 %s
71*67e74705SXin Li // CHECK-ARMEB-TARGET-V8: as{{(.exe)?}}" "-mfpu=crypto-neon-fp-armv8" "-mfloat-abi=soft" "-mcpu=cortex-a53"
72*67e74705SXin Li //
73*67e74705SXin Li // RUN: %clang -target thumbv8-linux -mcpu=cortex-a53 -### \
74*67e74705SXin Li // RUN:   -no-integrated-as -c %s 2>&1 \
75*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-THUMB-TARGET-V8 %s
76*67e74705SXin Li // CHECK-THUMB-TARGET-V8: as{{(.exe)?}}" "-mfpu=crypto-neon-fp-armv8" "-mfloat-abi=soft" "-mcpu=cortex-a53"
77*67e74705SXin Li //
78*67e74705SXin Li // RUN: %clang -target thumbebv8-linux -mcpu=cortex-a53 -### \
79*67e74705SXin Li // RUN:   -no-integrated-as -c %s 2>&1 \
80*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-THUMBEB-TARGET-V8 %s
81*67e74705SXin Li // CHECK-THUMBEB-TARGET-V8: as{{(.exe)?}}" "-mfpu=crypto-neon-fp-armv8" "-mfloat-abi=soft" "-mcpu=cortex-a53"
82*67e74705SXin Li //
83*67e74705SXin Li // RUN: %clang -target arm-linux -mfloat-abi=hard -### \
84*67e74705SXin Li // RUN:   -no-integrated-as -c %s 2>&1 \
85*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-ARM-MFLOAT-ABI %s
86*67e74705SXin Li // CHECK-ARM-MFLOAT-ABI: as{{(.exe)?}}" "-mfloat-abi=hard"
87*67e74705SXin Li //
88*67e74705SXin Li // RUN: %clang -target arm-linux-androideabi -### \
89*67e74705SXin Li // RUN:   -no-integrated-as -c %s 2>&1 \
90*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-ARM-ANDROID %s
91*67e74705SXin Li // CHECK-ARM-ANDROID: as{{(.exe)?}}" "-mfloat-abi=soft"
92*67e74705SXin Li //
93*67e74705SXin Li // RUN: %clang -target arm-linux-androideabi -march=armv7-a -### \
94*67e74705SXin Li // RUN:   -no-integrated-as -c %s 2>&1 \
95*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-ARM-ANDROID-SOFTFP %s
96*67e74705SXin Li // CHECK-ARM-ANDROID-SOFTFP: as{{(.exe)?}}" "-mfloat-abi=softfp" "-march=armv7-a"
97*67e74705SXin Li //
98*67e74705SXin Li // RUN: %clang -target arm-linux-eabi -mhard-float -### \
99*67e74705SXin Li // RUN:   -no-integrated-as -c %s 2>&1 \
100*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-ARM-HARDFP %s
101*67e74705SXin Li // CHECK-ARM-HARDFP: as{{(.exe)?}}" "-mfloat-abi=hard"
102*67e74705SXin Li //
103*67e74705SXin Li // RUN: %clang -target ppc-linux -mcpu=invalid-cpu -### \
104*67e74705SXin Li // RUN:   -no-integrated-as -c %s 2>&1 \
105*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-PPC-NO-MCPU %s
106*67e74705SXin Li // CHECK-PPC-NO-MCPU-NOT: as{{.*}} "-mcpu=invalid-cpu"
107*67e74705SXin Li //
108*67e74705SXin Li // RUN: %clang -target sparc64-linux -mcpu=invalid-cpu -### \
109*67e74705SXin Li // RUN:   -no-integrated-as -c %s 2>&1 \
110*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-SPARCV9 %s
111*67e74705SXin Li // CHECK-SPARCV9: as
112*67e74705SXin Li // CHECK-SPARCV9: -64
113*67e74705SXin Li // CHECK-SPARCV9: -Av9
114*67e74705SXin Li // CHECK-SPARCV9-NOT: -KPIC
115*67e74705SXin Li // CHECK-SPARCV9: -o
116*67e74705SXin Li //
117*67e74705SXin Li // RUN: %clang -target sparc64-linux -mcpu=invalid-cpu -### \
118*67e74705SXin Li // RUN:   -no-integrated-as -fpic -c %s 2>&1 \
119*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-SPARCV9PIC %s
120*67e74705SXin Li // CHECK-SPARCV9PIC: as
121*67e74705SXin Li // CHECK-SPARCV9PIC: -64
122*67e74705SXin Li // CHECK-SPARCV9PIC: -Av9
123*67e74705SXin Li // CHECK-SPARCV9PIC: -KPIC
124*67e74705SXin Li // CHECK-SPARCV9PIC: -o
125*67e74705SXin Li //
126*67e74705SXin Li // RUN: %clang -target sparc-linux -mcpu=invalid-cpu -### \
127*67e74705SXin Li // RUN:   -no-integrated-as -c %s 2>&1 \
128*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-SPARCV8 %s
129*67e74705SXin Li // CHECK-SPARCV8: as
130*67e74705SXin Li // CHECK-SPARCV8: -32
131*67e74705SXin Li // CHECK-SPARCV8: -Av8
132*67e74705SXin Li // CHECK-SPARCV8: -o
133*67e74705SXin Li //
134*67e74705SXin Li // RUN: %clang -target sparcel-linux -mcpu=invalid-cpu -### \
135*67e74705SXin Li // RUN:   -no-integrated-as -c %s 2>&1 \
136*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-SPARCV8EL %s
137*67e74705SXin Li // CHECK-SPARCV8EL: as
138*67e74705SXin Li // CHECK-SPARCV8EL: -32
139*67e74705SXin Li // CHECK-SPARCV8EL: -Av8
140*67e74705SXin Li // CHECK-SPARCV8EL: -o
141*67e74705SXin Li //
142*67e74705SXin Li // RUN: %clang -target s390x-linux -### -no-integrated-as -c %s 2>&1 \
143*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-Z-DEFAULT-ARCH %s
144*67e74705SXin Li // CHECK-Z-DEFAULT-ARCH: as{{.*}} "-march=z10"
145*67e74705SXin Li //
146*67e74705SXin Li // RUN: %clang -target s390x-linux -march=z196 -### \
147*67e74705SXin Li // RUN:   -no-integrated-as -c %s 2>&1 \
148*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-Z-ARCH-Z196 %s
149*67e74705SXin Li // CHECK-Z-ARCH-Z196: as{{.*}} "-march=z196"
150