Home | History | Annotate | Download | only in Driver
      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