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