[PATCH] D47138: [Sparc] Use the leon arch for Leon3's when using an external assembler
This revision was automatically updated to reflect the committed changes. Closed by commit rC333157: [Sparc] Use the leon arch for Leon3's when using an external assembler (authored by dcederman, committed by ). Repository: rC Clang https://reviews.llvm.org/D47138 Files: lib/Driver/ToolChains/Arch/Sparc.cpp test/Driver/sparc-as.c Index: lib/Driver/ToolChains/Arch/Sparc.cpp === --- lib/Driver/ToolChains/Arch/Sparc.cpp +++ lib/Driver/ToolChains/Arch/Sparc.cpp @@ -45,14 +45,29 @@ .Case("niagara2", "-Av8plusb") .Case("niagara3", "-Av8plusd") .Case("niagara4", "-Av8plusd") +.Case("ma2100", "-Aleon") +.Case("ma2150", "-Aleon") +.Case("ma2155", "-Aleon") +.Case("ma2450", "-Aleon") +.Case("ma2455", "-Aleon") +.Case("ma2x5x", "-Aleon") +.Case("ma2080", "-Aleon") +.Case("ma2085", "-Aleon") +.Case("ma2480", "-Aleon") +.Case("ma2485", "-Aleon") +.Case("ma2x8x", "-Aleon") +.Case("myriad2", "-Aleon") +.Case("myriad2.1", "-Aleon") +.Case("myriad2.2", "-Aleon") +.Case("myriad2.3", "-Aleon") .Case("leon2", "-Av8") .Case("at697e", "-Av8") .Case("at697f", "-Av8") -.Case("leon3", "-Av8") +.Case("leon3", "-Aleon") .Case("ut699", "-Av8") -.Case("gr712rc", "-Av8") -.Case("leon4", "-Av8") -.Case("gr740", "-Av8") +.Case("gr712rc", "-Aleon") +.Case("leon4", "-Aleon") +.Case("gr740", "-Aleon") .Default("-Av8"); } } Index: test/Driver/sparc-as.c === --- test/Driver/sparc-as.c +++ test/Driver/sparc-as.c @@ -76,6 +76,66 @@ // RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ // RUN: | FileCheck -check-prefix=SPARC-V8PLUSD %s +// RUN: %clang -mcpu=ma2100 -no-canonical-prefixes -target sparc \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-LEON %s + +// RUN: %clang -mcpu=ma2150 -no-canonical-prefixes -target sparc \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-LEON %s + +// RUN: %clang -mcpu=ma2155 -no-canonical-prefixes -target sparc \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-LEON %s + +// RUN: %clang -mcpu=ma2450 -no-canonical-prefixes -target sparc \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-LEON %s + +// RUN: %clang -mcpu=ma2455 -no-canonical-prefixes -target sparc \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-LEON %s + +// RUN: %clang -mcpu=ma2x5x -no-canonical-prefixes -target sparc \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-LEON %s + +// RUN: %clang -mcpu=ma2080 -no-canonical-prefixes -target sparc \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-LEON %s + +// RUN: %clang -mcpu=ma2085 -no-canonical-prefixes -target sparc \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-LEON %s + +// RUN: %clang -mcpu=ma2480 -no-canonical-prefixes -target sparc \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-LEON %s + +// RUN: %clang -mcpu=ma2485 -no-canonical-prefixes -target sparc \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-LEON %s + +// RUN: %clang -mcpu=ma2x8x -no-canonical-prefixes -target sparc \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-LEON %s + +// RUN: %clang -mcpu=myriad2 -no-canonical-prefixes -target sparc \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-LEON %s + +// RUN: %clang -mcpu=myriad2.1 -no-canonical-prefixes -target sparc \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-LEON %s + +// RUN: %clang -mcpu=myriad2.2 -no-canonical-prefixes -target sparc \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-LEON %s + +// RUN: %clang -mcpu=myriad2.3 -no-canonical-prefixes -target sparc \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-LEON %s + // RUN: %clang -mcpu=leon2 -no-canonical-prefixes -t
[PATCH] D47138: [Sparc] Use the leon arch for Leon3's when using an external assembler
dcederman updated this revision to Diff 148170. dcederman added a comment. Added missing tests. https://reviews.llvm.org/D47138 Files: lib/Driver/ToolChains/Arch/Sparc.cpp test/Driver/sparc-as.c Index: test/Driver/sparc-as.c === --- test/Driver/sparc-as.c +++ test/Driver/sparc-as.c @@ -76,6 +76,66 @@ // RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ // RUN: | FileCheck -check-prefix=SPARC-V8PLUSD %s +// RUN: %clang -mcpu=ma2100 -no-canonical-prefixes -target sparc \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-LEON %s + +// RUN: %clang -mcpu=ma2150 -no-canonical-prefixes -target sparc \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-LEON %s + +// RUN: %clang -mcpu=ma2155 -no-canonical-prefixes -target sparc \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-LEON %s + +// RUN: %clang -mcpu=ma2450 -no-canonical-prefixes -target sparc \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-LEON %s + +// RUN: %clang -mcpu=ma2455 -no-canonical-prefixes -target sparc \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-LEON %s + +// RUN: %clang -mcpu=ma2x5x -no-canonical-prefixes -target sparc \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-LEON %s + +// RUN: %clang -mcpu=ma2080 -no-canonical-prefixes -target sparc \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-LEON %s + +// RUN: %clang -mcpu=ma2085 -no-canonical-prefixes -target sparc \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-LEON %s + +// RUN: %clang -mcpu=ma2480 -no-canonical-prefixes -target sparc \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-LEON %s + +// RUN: %clang -mcpu=ma2485 -no-canonical-prefixes -target sparc \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-LEON %s + +// RUN: %clang -mcpu=ma2x8x -no-canonical-prefixes -target sparc \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-LEON %s + +// RUN: %clang -mcpu=myriad2 -no-canonical-prefixes -target sparc \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-LEON %s + +// RUN: %clang -mcpu=myriad2.1 -no-canonical-prefixes -target sparc \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-LEON %s + +// RUN: %clang -mcpu=myriad2.2 -no-canonical-prefixes -target sparc \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-LEON %s + +// RUN: %clang -mcpu=myriad2.3 -no-canonical-prefixes -target sparc \ +// RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=SPARC-LEON %s + // RUN: %clang -mcpu=leon2 -no-canonical-prefixes -target sparc \ // RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ // RUN: | FileCheck -check-prefix=SPARC-V8 %s @@ -90,26 +150,27 @@ // RUN: %clang -mcpu=leon3 -no-canonical-prefixes -target sparc \ // RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ -// RUN: | FileCheck -check-prefix=SPARC-V8 %s +// RUN: | FileCheck -check-prefix=SPARC-LEON %s // RUN: %clang -mcpu=ut699 -no-canonical-prefixes -target sparc \ // RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ // RUN: | FileCheck -check-prefix=SPARC-V8 %s // RUN: %clang -mcpu=gr712rc -no-canonical-prefixes -target sparc \ // RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ -// RUN: | FileCheck -check-prefix=SPARC-V8 %s +// RUN: | FileCheck -check-prefix=SPARC-LEON %s // RUN: %clang -mcpu=leon4 -no-canonical-prefixes -target sparc \ // RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ -// RUN: | FileCheck -check-prefix=SPARC-V8 %s +// RUN: | FileCheck -check-prefix=SPARC-LEON %s // RUN: %clang -mcpu=gr740 -no-canonical-prefixes -target sparc \ // RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \ -// RUN: | FileCheck -check-prefix=SPARC-V8 %s +// RUN: | FileCheck -check-prefix=SPARC-LEON %s // SPARC: as{{.*}}" "-32" "-Av8" "-o" // SPARC-V8: as{{.*}}" "-32" "-Av8" "-o" +// SPARC-LEON: as{
[PATCH] D47138: [Sparc] Use the leon arch for Leon3's when using an external assembler
joerg added a comment. This still needs a test case? https://reviews.llvm.org/D47138 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D47138: [Sparc] Use the leon arch for Leon3's when using an external assembler
jyknight accepted this revision. jyknight added a comment. This revision is now accepted and ready to land. In https://reviews.llvm.org/D47138#1107637, @dcederman wrote: > I did not find a good way to access the SparcCPUInfo struct from here. No > other arch under Toolchains seems to access TargetInfo. OK. https://reviews.llvm.org/D47138 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D47138: [Sparc] Use the leon arch for Leon3's when using an external assembler
dcederman added a comment. In https://reviews.llvm.org/D47138#1106509, @jyknight wrote: > Separately, I think it'd be a good idea to refactor to put this info into the > SparcCPUInfo struct, so that it's harder for them to get out of sync. I did not find a good way to access the SparcCPUInfo struct from here. No other arch under Toolchains seems to access TargetInfo. https://reviews.llvm.org/D47138 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D47138: [Sparc] Use the leon arch for Leon3's when using an external assembler
dcederman updated this revision to Diff 147965. dcederman added a comment. Also use the leon arch for the Myriad processors. https://reviews.llvm.org/D47138 Files: lib/Driver/ToolChains/Arch/Sparc.cpp Index: lib/Driver/ToolChains/Arch/Sparc.cpp === --- lib/Driver/ToolChains/Arch/Sparc.cpp +++ lib/Driver/ToolChains/Arch/Sparc.cpp @@ -45,14 +45,29 @@ .Case("niagara2", "-Av8plusb") .Case("niagara3", "-Av8plusd") .Case("niagara4", "-Av8plusd") +.Case("ma2100", "-Aleon") +.Case("ma2150", "-Aleon") +.Case("ma2155", "-Aleon") +.Case("ma2450", "-Aleon") +.Case("ma2455", "-Aleon") +.Case("ma2x5x", "-Aleon") +.Case("ma2080", "-Aleon") +.Case("ma2085", "-Aleon") +.Case("ma2480", "-Aleon") +.Case("ma2485", "-Aleon") +.Case("ma2x8x", "-Aleon") +.Case("myriad2", "-Aleon") +.Case("myriad2.1", "-Aleon") +.Case("myriad2.2", "-Aleon") +.Case("myriad2.3", "-Aleon") .Case("leon2", "-Av8") .Case("at697e", "-Av8") .Case("at697f", "-Av8") -.Case("leon3", "-Av8") +.Case("leon3", "-Aleon") .Case("ut699", "-Av8") -.Case("gr712rc", "-Av8") -.Case("leon4", "-Av8") -.Case("gr740", "-Av8") +.Case("gr712rc", "-Aleon") +.Case("leon4", "-Aleon") +.Case("gr740", "-Aleon") .Default("-Av8"); } } Index: lib/Driver/ToolChains/Arch/Sparc.cpp === --- lib/Driver/ToolChains/Arch/Sparc.cpp +++ lib/Driver/ToolChains/Arch/Sparc.cpp @@ -45,14 +45,29 @@ .Case("niagara2", "-Av8plusb") .Case("niagara3", "-Av8plusd") .Case("niagara4", "-Av8plusd") +.Case("ma2100", "-Aleon") +.Case("ma2150", "-Aleon") +.Case("ma2155", "-Aleon") +.Case("ma2450", "-Aleon") +.Case("ma2455", "-Aleon") +.Case("ma2x5x", "-Aleon") +.Case("ma2080", "-Aleon") +.Case("ma2085", "-Aleon") +.Case("ma2480", "-Aleon") +.Case("ma2485", "-Aleon") +.Case("ma2x8x", "-Aleon") +.Case("myriad2", "-Aleon") +.Case("myriad2.1", "-Aleon") +.Case("myriad2.2", "-Aleon") +.Case("myriad2.3", "-Aleon") .Case("leon2", "-Av8") .Case("at697e", "-Av8") .Case("at697f", "-Av8") -.Case("leon3", "-Av8") +.Case("leon3", "-Aleon") .Case("ut699", "-Av8") -.Case("gr712rc", "-Av8") -.Case("leon4", "-Av8") -.Case("gr740", "-Av8") +.Case("gr712rc", "-Aleon") +.Case("leon4", "-Aleon") +.Case("gr740", "-Aleon") .Default("-Av8"); } } ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D47138: [Sparc] Use the leon arch for Leon3's when using an external assembler
jyknight added a comment. There are more leon-based v8 CPUs listed in clang/lib/Basic/Targets/Sparc.cpp, which need to be listed here, also. Separately, I think it'd be a good idea to refactor to put this info into the SparcCPUInfo struct, so that it's harder for them to get out of sync. Repository: rC Clang https://reviews.llvm.org/D47138 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D47138: [Sparc] Use the leon arch for Leon3's when using an external assembler
dcederman created this revision. dcederman added a reviewer: jyknight. Herald added subscribers: cfe-commits, jrtc27, fedor.sergeev. This allows the use of the casa instruction available in most Leon3's. Repository: rC Clang https://reviews.llvm.org/D47138 Files: lib/Driver/ToolChains/Arch/Sparc.cpp Index: lib/Driver/ToolChains/Arch/Sparc.cpp === --- lib/Driver/ToolChains/Arch/Sparc.cpp +++ lib/Driver/ToolChains/Arch/Sparc.cpp @@ -48,11 +48,11 @@ .Case("leon2", "-Av8") .Case("at697e", "-Av8") .Case("at697f", "-Av8") -.Case("leon3", "-Av8") +.Case("leon3", "-Aleon") .Case("ut699", "-Av8") -.Case("gr712rc", "-Av8") -.Case("leon4", "-Av8") -.Case("gr740", "-Av8") +.Case("gr712rc", "-Aleon") +.Case("leon4", "-Aleon") +.Case("gr740", "-Aleon") .Default("-Av8"); } } Index: lib/Driver/ToolChains/Arch/Sparc.cpp === --- lib/Driver/ToolChains/Arch/Sparc.cpp +++ lib/Driver/ToolChains/Arch/Sparc.cpp @@ -48,11 +48,11 @@ .Case("leon2", "-Av8") .Case("at697e", "-Av8") .Case("at697f", "-Av8") -.Case("leon3", "-Av8") +.Case("leon3", "-Aleon") .Case("ut699", "-Av8") -.Case("gr712rc", "-Av8") -.Case("leon4", "-Av8") -.Case("gr740", "-Av8") +.Case("gr712rc", "-Aleon") +.Case("leon4", "-Aleon") +.Case("gr740", "-Aleon") .Default("-Av8"); } } ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits