1 // Check that we error when -faltivec is specified on non-ppc platforms. 2 3 // RUN: %clang -target powerpc-unk-unk -faltivec -fsyntax-only %s 4 // RUN: %clang -target powerpc64-linux-gnu -faltivec -fsyntax-only %s 5 // RUN: %clang -target powerpc64-linux-gnu -maltivec -fsyntax-only %s 6 7 // RUN: not %clang -target i386-pc-win32 -faltivec -fsyntax-only %s 2>&1 | FileCheck %s 8 // RUN: not %clang -target x86_64-unknown-freebsd -faltivec -fsyntax-only %s 2>&1 | FileCheck %s 9 // RUN: not %clang -target armv6-apple-darwin -faltivec -fsyntax-only %s 2>&1 | FileCheck %s 10 // RUN: not %clang -target armv7-apple-darwin -faltivec -fsyntax-only %s 2>&1 | FileCheck %s 11 // RUN: not %clang -target mips-linux-gnu -faltivec -fsyntax-only %s 2>&1 | FileCheck %s 12 // RUN: not %clang -target mips64-linux-gnu -faltivec -fsyntax-only %s 2>&1 | FileCheck %s 13 // RUN: not %clang -target sparc-unknown-solaris -faltivec -fsyntax-only %s 2>&1 | FileCheck %s 14 15 // CHECK: invalid argument '-faltivec' only allowed with 'ppc/ppc64/ppc64le' 16 17 // Check that -fno-altivec and -mno-altivec correctly disable the altivec 18 // target feature on powerpc. 19 20 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -fno-altivec -### -o %t.o 2>&1 | FileCheck --check-prefix=CHECK-1 %s 21 // CHECK-1: "-target-feature" "-altivec" 22 23 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -mno-altivec -### -o %t.o 2>&1 | FileCheck --check-prefix=CHECK-2 %s 24 // CHECK-2: "-target-feature" "-altivec" 25 26 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -faltivec -mno-altivec -### -o %t.o 2>&1 | FileCheck --check-prefix=CHECK-3 %s 27 // CHECK-3: "-target-feature" "-altivec" 28 29 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -maltivec -fno-altivec -### -o %t.o 2>&1 | FileCheck --check-prefix=CHECK-4 %s 30 // CHECK-4: "-target-feature" "-altivec" 31 32 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -mno-altivec -faltivec -### -o %t.o 2>&1 | FileCheck --check-prefix=CHECK-5 %s 33 // CHECK-5-NOT: "-target-feature" "-altivec" 34 35 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -fno-altivec -maltivec -### -o %t.o 2>&1 | FileCheck --check-prefix=CHECK-6 %s 36 // CHECK-6-NOT: "-target-feature" "-altivec" 37 38 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -fno-altivec -mcpu=7400 -### -o %t.o 2>&1 | FileCheck --check-prefix=CHECK-7 %s 39 // CHECK-7: "-target-feature" "-altivec" 40 41 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -fno-altivec -mcpu=g4 -### -o %t.o 2>&1 | FileCheck --check-prefix=CHECK-8 %s 42 // CHECK-8: "-target-feature" "-altivec" 43 44 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -fno-altivec -mcpu=7450 -### -o %t.o 2>&1 | FileCheck --check-prefix=CHECK-9 %s 45 // CHECK-9: "-target-feature" "-altivec" 46 47 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -fno-altivec -mcpu=g4+ -### -o %t.o 2>&1 | FileCheck --check-prefix=CHECK-10 %s 48 // CHECK-10: "-target-feature" "-altivec" 49 50 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -fno-altivec -mcpu=970 -### -o %t.o 2>&1 | FileCheck --check-prefix=CHECK-11 %s 51 // CHECK-11: "-target-feature" "-altivec" 52 53 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -fno-altivec -mcpu=g5 -### -o %t.o 2>&1 | FileCheck --check-prefix=CHECK-12 %s 54 // CHECK-12: "-target-feature" "-altivec" 55 56 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -fno-altivec -mcpu=pwr6 -### -o %t.o 2>&1 | FileCheck --check-prefix=CHECK-13 %s 57 // CHECK-13: "-target-feature" "-altivec" 58 59 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -fno-altivec -mcpu=pwr7 -### -o %t.o 2>&1 | FileCheck --check-prefix=CHECK-14 %s 60 // CHECK-14: "-target-feature" "-altivec" 61 62 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -fno-altivec -mcpu=pwr8 -### -o %t.o 2>&1 | FileCheck --check-prefix=CHECK-15 %s 63 // CHECK-15: "-target-feature" "-altivec" 64 65 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -fno-altivec -mcpu=ppc64 -### -o %t.o 2>&1 | FileCheck --check-prefix=CHECK-16 %s 66 // CHECK-16: "-target-feature" "-altivec" 67 68 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -mno-qpx -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK-NOQPX %s 69 // CHECK-NOQPX: "-target-feature" "-qpx" 70 71 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -mno-qpx -mqpx -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK-QPX %s 72 // CHECK-QPX-NOT: "-target-feature" "-qpx" 73 74 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -mno-mfcrf -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK-NOMFCRF %s 75 // CHECK-NOMFCRF: "-target-feature" "-mfocrf" 76 77 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -mno-mfcrf -mmfcrf -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK-MFCRF %s 78 // CHECK-MFCRF: "-target-feature" "+mfocrf" 79 80 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -mno-popcntd -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK-NOPOPCNTD %s 81 // CHECK-NOPOPCNTD: "-target-feature" "-popcntd" 82 83 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -mno-popcntd -mpopcntd -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK-POPCNTD %s 84 // CHECK-POPCNTD: "-target-feature" "+popcntd" 85 86 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -mno-fprnd -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK-NOFPRND %s 87 // CHECK-NOFPRND: "-target-feature" "-fprnd" 88 89 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -mno-fprnd -mfprnd -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK-FPRND %s 90 // CHECK-FPRND: "-target-feature" "+fprnd" 91 92 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -mno-vsx -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK-NOVSX %s 93 // CHECK-NOVSX: "-target-feature" "-vsx" 94 95 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -mno-vsx -mvsx -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK-VSX %s 96 // CHECK-VSX: "-target-feature" "+vsx" 97 98 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -mno-crbits -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK-NOCRBITS %s 99 // CHECK-NOCRBITS: "-target-feature" "-crbits" 100 101 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -mno-crbits -mcrbits -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK-CRBITS %s 102 // CHECK-CRBITS: "-target-feature" "+crbits" 103 104 // Assembler features 105 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK_BE_AS_ARGS %s 106 // CHECK_BE_AS_ARGS: "-mppc64" 107 // CHECK_BE_AS_ARGS: "-many" 108 109 // RUN: %clang -target powerpc64le-unknown-linux-gnu %s -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK_LE_AS_ARGS %s 110 // CHECK_LE_AS_ARGS: "-mppc64" 111 // CHECK_LE_AS_ARGS: "-many" 112 // CHECK_LE_AS_ARGS: "-mlittle-endian" 113 114 // linker features 115 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK_BE_LD_ARGS %s 116 // CHECK_BE_LD_ARGS: "elf64ppc" 117 118 // RUN: %clang -target powerpc64le-unknown-linux-gnu %s -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK_LE_LD_ARGS %s 119 // CHECK_LE_LD_ARGS: "elf64lppc" 120 121 122