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