blob: c62f5b969736b0443ff588db4aeb5c12509c35db [file] [log] [blame]
Chad Rosierb8d8b4c2012-03-13 23:48:50 +00001// Check that we error when -faltivec is specified on non-ppc platforms.
Chad Rosier864dfe12012-03-13 23:45:51 +00002
Rafael Espindolafc3fc0c2012-10-09 20:46:28 +00003// 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
Chad Rosier864dfe12012-03-13 23:45:51 +00006
Rafael Espindola925213b2013-07-04 16:16:58 +00007// 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
Benjamin Kramer91b9ac82012-03-14 01:17:52 +000014
Bill Schmidt778d3872013-07-26 01:36:11 +000015// CHECK: invalid argument '-faltivec' only allowed with 'ppc/ppc64/ppc64le'
Bill Schmidt102bb322013-02-01 14:45:29 +000016
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
Will Schmidtf0487512014-06-26 13:34:10 +000062// RUN: %clang -target powerpc64-unknown-linux-gnu %s -fno-altivec -mcpu=pwr8 -### -o %t.o 2>&1 | FileCheck --check-prefix=CHECK-15 %s
Bill Schmidt102bb322013-02-01 14:45:29 +000063// CHECK-15: "-target-feature" "-altivec"
64
Will Schmidtf0487512014-06-26 13:34:10 +000065// 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
Hal Finkelb58ce852013-02-01 18:44:19 +000068// 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
Hal Finkel279ca4d2013-03-28 08:38:53 +000074// 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
Hal Finkel1fe8b3d2013-03-28 13:51:36 +000080// 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
Hal Finkel7d458592013-03-30 13:47:44 +000086// 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"
Eric Christopher600130c2013-10-16 20:40:13 +000091
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
Bill Schmidt59eb7672014-10-10 15:09:43 +000098// RUN: %clang -target powerpc64-unknown-linux-gnu %s -mno-power8-vector -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK-NOP8VECTOR %s
99// CHECK-NOP8VECTOR: "-target-feature" "-power8-vector"
100
101// RUN: %clang -target powerpc64-unknown-linux-gnu %s -mno-power8-vector -mpower8-vector -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK-P8VECTOR %s
102// CHECK-P8VECTOR: "-target-feature" "+power8-vector"
103
Hal Finkel00a950f2014-02-28 00:27:57 +0000104// RUN: %clang -target powerpc64-unknown-linux-gnu %s -mno-crbits -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK-NOCRBITS %s
105// CHECK-NOCRBITS: "-target-feature" "-crbits"
106
107// RUN: %clang -target powerpc64-unknown-linux-gnu %s -mno-crbits -mcrbits -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK-CRBITS %s
108// CHECK-CRBITS: "-target-feature" "+crbits"
109
Will Schmidtc1fc1902014-03-24 17:10:37 +0000110// Assembler features
Eric Christopher76471092014-10-06 17:33:18 +0000111// RUN: %clang -target powerpc64-unknown-linux-gnu %s -### -o %t.o -no-integrated-as 2>&1 | FileCheck -check-prefix=CHECK_BE_AS_ARGS %s
Will Schmidtc1fc1902014-03-24 17:10:37 +0000112// CHECK_BE_AS_ARGS: "-mppc64"
113// CHECK_BE_AS_ARGS: "-many"
114
Eric Christopher76471092014-10-06 17:33:18 +0000115// RUN: %clang -target powerpc64le-unknown-linux-gnu %s -### -o %t.o -no-integrated-as 2>&1 | FileCheck -check-prefix=CHECK_LE_AS_ARGS %s
Will Schmidtc1fc1902014-03-24 17:10:37 +0000116// CHECK_LE_AS_ARGS: "-mppc64"
117// CHECK_LE_AS_ARGS: "-many"
118// CHECK_LE_AS_ARGS: "-mlittle-endian"
119
120// linker features
121// RUN: %clang -target powerpc64-unknown-linux-gnu %s -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK_BE_LD_ARGS %s
122// CHECK_BE_LD_ARGS: "elf64ppc"
123
124// RUN: %clang -target powerpc64le-unknown-linux-gnu %s -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK_LE_LD_ARGS %s
125// CHECK_LE_LD_ARGS: "elf64lppc"
126
127