1 // RUN: %clang -target powerpc64-unknown-aix -S -emit-llvm %s -o - | FileCheck %s
2 // RUN: %clang -target powerpc-unknown-aix -S -emit-llvm %s -o - | FileCheck %s
3 // RUN: %clang -target powerpc64le-unknown-linux-gnu -S -emit-llvm %s -o - | FileCheck %s
4 // RUN: %clang -target powerpc64-unknown-linux-gnu -S -emit-llvm %s -o - | FileCheck %s
6 // RUN: %clang -target powerpc64-unknown-aix -maix-small-local-exec-tls -S -emit-llvm \
7 // RUN: %s -o - | FileCheck %s --check-prefix=CHECK-AIX_SMALL_LOCALEXEC_TLS
9 // RUN: %clang -target powerpc64-unknown-aix -maix-small-local-dynamic-tls -S -emit-llvm \
10 // RUN: %s -o - | FileCheck %s --check-prefix=CHECK-AIX_SMALL_LOCALDYNAMIC_TLS
12 // RUN: not %clang -target powerpc-unknown-aix -maix-small-local-exec-tls \
13 // RUN: -fsyntax-only %s 2>&1 | FileCheck --check-prefix=CHECK-UNSUPPORTED-AIX32 %s
14 // RUN: not %clang -target powerpc64le-unknown-linux-gnu -maix-small-local-exec-tls \
15 // RUN: -fsyntax-only %s 2>&1 | FileCheck --check-prefix=CHECK-UNSUPPORTED-LINUX %s
16 // RUN: not %clang -target powerpc64-unknown-linux-gnu -maix-small-local-exec-tls \
17 // RUN: -fsyntax-only %s 2>&1 | FileCheck --check-prefix=CHECK-UNSUPPORTED-LINUX %s
18 // RUN: not %clang -target powerpc64-unknown-aix -maix-small-local-exec-tls \
19 // RUN: -fsyntax-only -fno-data-sections %s 2>&1 | \
20 // RUN: FileCheck --check-prefix=CHECK-UNSUPPORTED-NO-DATASEC %s
21 // RUN: not %clang -target powerpc64-unknown-linux-gnu -maix-small-local-exec-tls \
22 // RUN: -fsyntax-only -fno-data-sections %s 2>&1 | \
23 // RUN: FileCheck --check-prefix=CHECK-UNSUPPORTED-NO-DATASEC %s
25 // RUN: not %clang -target powerpc-unknown-aix -maix-small-local-dynamic-tls \
26 // RUN: -fsyntax-only %s 2>&1 | FileCheck --check-prefix=CHECK-UNSUPPORTED-AIX32 %s
27 // RUN: not %clang -target powerpc64le-unknown-linux-gnu -maix-small-local-dynamic-tls \
28 // RUN: -fsyntax-only %s 2>&1 | FileCheck --check-prefix=CHECK-UNSUPPORTED-LINUX %s
29 // RUN: not %clang -target powerpc64-unknown-linux-gnu -maix-small-local-dynamic-tls \
30 // RUN: -fsyntax-only %s 2>&1 | FileCheck --check-prefix=CHECK-UNSUPPORTED-LINUX %s
31 // RUN: not %clang -target powerpc64-unknown-aix -maix-small-local-dynamic-tls \
32 // RUN: -fsyntax-only -fno-data-sections %s 2>&1 | \
33 // RUN: FileCheck --check-prefix=CHECK-UNSUPPORTED-NO-DATASEC %s
34 // RUN: not %clang -target powerpc64-unknown-linux-gnu -maix-small-local-dynamic-tls \
35 // RUN: -fsyntax-only -fno-data-sections %s 2>&1 | \
36 // RUN: FileCheck --check-prefix=CHECK-UNSUPPORTED-NO-DATASEC %s
43 // CHECK: attributes #0 = {
44 // CHECK-SAME: {{-aix-small-local-exec-tls,.*-aix-small-local-dynamic-tls|-aix-small-local-dynamic-tls,.*-aix-small-local-exec-tls}}
46 // CHECK-UNSUPPORTED-AIX32: option '-maix-small-local-[exec|dynamic]-tls' cannot be specified on this target
47 // CHECK-UNSUPPORTED-LINUX: option '-maix-small-local-[exec|dynamic]-tls' cannot be specified on this target
48 // CHECK-UNSUPPORTED-NO-DATASEC: invalid argument '-maix-small-local-[exec|dynamic]-tls' only allowed with '-fdata-sections'
50 // CHECK-AIX_SMALL_LOCALEXEC_TLS: test() #0 {
51 // CHECK-AIX_SMALL_LOCALEXEC_TLS: attributes #0 = {
52 // CHECK-AIX_SMALL_LOCALEXEC_TLS-SAME: +aix-small-local-exec-tls
54 // CHECK-AIX_SMALL_LOCALDYNAMIC_TLS: test() #0 {
55 // CHECK-AIX_SMALL_LOCALDYNAMIC_TLS: attributes #0 = {
56 // CHECK-AIX_SMALL_LOCALDYNAMIC_TLS-SAME: +aix-small-local-dynamic-tls