mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-22 10:36:10 +00:00
[PowerPC] Complete setting the baseline for ppc64le
Patch by Nemanja Ivanovic. As was uncovered by the failing test case (when run on non-PPC platforms), the feature set when compiling with -march=ppc64le was not being picked up. This change ensures that if the -mcpu option is not specified, the correct feature set is picked up regardless of whether we are on PPC or not. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227455 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f316f2ea52
commit
a5ea0b50a4
@ -95,8 +95,13 @@ void PPCSubtarget::initializeEnvironment() {
|
||||
void PPCSubtarget::initSubtargetFeatures(StringRef CPU, StringRef FS) {
|
||||
// Determine default and user specified characteristics
|
||||
std::string CPUName = CPU;
|
||||
if (CPUName.empty())
|
||||
CPUName = "generic";
|
||||
if (CPUName.empty()) {
|
||||
// If cross-compiling with -march=ppc64le without -mcpu
|
||||
if (TargetTriple.getArch() == Triple::ppc64le)
|
||||
CPUName = "ppc64le";
|
||||
else
|
||||
CPUName = "generic";
|
||||
}
|
||||
#if (defined(__APPLE__) || defined(__linux__)) && \
|
||||
(defined(__ppc__) || defined(__powerpc__))
|
||||
if (CPUName == "generic")
|
||||
|
@ -1,8 +1,11 @@
|
||||
; RUN: llc < %s -march=ppc64le -mcpu=pwr8 -mattr=+altivec -mattr=-vsx | FileCheck %s
|
||||
; RUN: llc < %s -march=ppc64le -mattr=+altivec -mattr=-vsx | FileCheck %s
|
||||
|
||||
; Currently VSX support is disabled for this test because we generate lxsdx
|
||||
; instead of lfd, and stxsdx instead of stfd. That is a poor choice when we
|
||||
; have reg+imm addressing, and is on the list of things to be fixed.
|
||||
; The second run step is to ensure that -march=ppc64le is adequate to select
|
||||
; the same feature set as with -mcpu=pwr8 since that is the baseline for ppc64le.
|
||||
|
||||
target datalayout = "e-m:e-i64:64-n32:64"
|
||||
target triple = "powerpc64le-unknown-linux-gnu"
|
||||
|
Loading…
x
Reference in New Issue
Block a user