diff options
author | Joerg Sonnenberger <joerg@bec.de> | 2015-11-09 23:39:45 +0000 |
---|---|---|
committer | Joerg Sonnenberger <joerg@bec.de> | 2015-11-09 23:39:45 +0000 |
commit | 6116fc0887d107536c17eeae9572851a8b34e963 (patch) | |
tree | e6488234c584bd8abe4656073db09aa940434bdb /test/Driver/sparcv9-as.c | |
parent | 960140900a635834d59ba784c8120121e240fa3e (diff) | |
download | clang-6116fc0887d107536c17eeae9572851a8b34e963.tar.gz |
Reorganise CPU handling for Sparc. When using -mcpu=v9 and co, __sparcv8
is not defined for 32bit mode, but __sparcv9 is. Pass down the correct
-target-cpu flags to the backend, so that instruction restrictions are
applied correctly. Pass down the correct -A flag when not using IAS.
The latter is limited to NetBSD targets in this commit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252545 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Driver/sparcv9-as.c')
-rw-r--r-- | test/Driver/sparcv9-as.c | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/test/Driver/sparcv9-as.c b/test/Driver/sparcv9-as.c new file mode 100644 index 0000000000..9e6249c575 --- /dev/null +++ b/test/Driver/sparcv9-as.c @@ -0,0 +1,72 @@ +// RUN: %clang -no-canonical-prefixes -target sparcv9--netbsd \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC %s + +// RUN: %clang -mcpu=v9 -no-canonical-prefixes -target sparcv9--netbsd \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-V9 %s + +// RUN: %clang -mcpu=ultrasparc -no-canonical-prefixes -target sparcv9--netbsd \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-V9 %s + +// RUN: %clang -mcpu=ultrasparc3 -no-canonical-prefixes -target sparcv9--netbsd \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-V9 %s + +// RUN: %clang -mcpu=niagara -no-canonical-prefixes -target sparcv9--netbsd \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-V9B %s + +// RUN: %clang -mcpu=niagara2 -no-canonical-prefixes -target sparcv9--netbsd \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-V9B %s + +// RUN: %clang -mcpu=niagara3 -no-canonical-prefixes -target sparcv9--netbsd \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-V9D %s + +// RUN: %clang -mcpu=niagara4 -no-canonical-prefixes -target sparcv9--netbsd \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-V9D %s + +// SPARC: as{{.*}}" "-64" "-Av9" "-o" +// SPARC-V9: as{{.*}}" "-64" "-Av9" "-o" +// SPARC-V9B: as{{.*}}" "-64" "-Av9b" "-o" +// SPARC-V9D: as{{.*}}" "-64" "-Av9d" "-o" + +// RUN: not %clang -mcpu=v8 -no-canonical-prefixes -target sparcv9--netbsd \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -c 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-V8 %s + +// RUN: not %clang -mcpu=supersparc -no-canonical-prefixes -target sparcv9--netbsd \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -c 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-V8 %s + +// RUN: not %clang -mcpu=sparclite -no-canonical-prefixes -target sparcv9--netbsd \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -c 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-V8 %s + +// RUN: not %clang -mcpu=f934 -no-canonical-prefixes -target sparcv9--netbsd \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -c 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-V8 %s + +// RUN: not %clang -mcpu=hypersparc -no-canonical-prefixes -target sparcv9--netbsd \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -c 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-V8 %s + +// RUN: not %clang -mcpu=sparclite86x -no-canonical-prefixes -target sparcv9--netbsd \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -c 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-V8 %s + +// RUN: not %clang -mcpu=sparclet -no-canonical-prefixes -target sparcv9--netbsd \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -c 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-V8 %s + +// RUN: not %clang -mcpu=tsc701 -no-canonical-prefixes -target sparcv9--netbsd \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -c 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-V8 %s + +// SPARC-V8: error: unknown target CPU + +int x; |