diff options
Diffstat (limited to 'llvm/lib/TargetParser')
| -rw-r--r-- | llvm/lib/TargetParser/Host.cpp | 1 | ||||
| -rw-r--r-- | llvm/lib/TargetParser/PPCTargetParser.cpp | 8 | ||||
| -rw-r--r-- | llvm/lib/TargetParser/TargetDataLayout.cpp | 7 | ||||
| -rw-r--r-- | llvm/lib/TargetParser/X86TargetParser.cpp | 3 | 
4 files changed, 9 insertions, 10 deletions
diff --git a/llvm/lib/TargetParser/Host.cpp b/llvm/lib/TargetParser/Host.cpp index 0849fc7..c164762 100644 --- a/llvm/lib/TargetParser/Host.cpp +++ b/llvm/lib/TargetParser/Host.cpp @@ -2192,7 +2192,6 @@ StringMap<bool> sys::getHostCPUFeatures() {    bool HasLeaf1E = MaxLevel >= 0x1e &&                     !getX86CpuIDAndInfoEx(0x1e, 0x1, &EAX, &EBX, &ECX, &EDX);    Features["amx-fp8"] = HasLeaf1E && ((EAX >> 4) & 1) && HasAMXSave; -  Features["amx-transpose"] = HasLeaf1E && ((EAX >> 5) & 1) && HasAMXSave;    Features["amx-tf32"] = HasLeaf1E && ((EAX >> 6) & 1) && HasAMXSave;    Features["amx-avx512"] = HasLeaf1E && ((EAX >> 7) & 1) && HasAMXSave;    Features["amx-movrs"] = HasLeaf1E && ((EAX >> 8) & 1) && HasAMXSave; diff --git a/llvm/lib/TargetParser/PPCTargetParser.cpp b/llvm/lib/TargetParser/PPCTargetParser.cpp index d510445..f74d670 100644 --- a/llvm/lib/TargetParser/PPCTargetParser.cpp +++ b/llvm/lib/TargetParser/PPCTargetParser.cpp @@ -48,9 +48,9 @@ StringRef normalizeCPUName(StringRef CPUName) {    // accepting it. Clang has always ignored it and passed the    // generic CPU ID to the back end.    return StringSwitch<StringRef>(CPUName) -      .Cases("common", "405", "generic") -      .Cases("ppc440", "440fp", "440") -      .Cases("630", "power3", "pwr3") +      .Cases({"common", "405"}, "generic") +      .Cases({"ppc440", "440fp"}, "440") +      .Cases({"630", "power3"}, "pwr3")        .Case("G3", "g3")        .Case("G4", "g4")        .Case("G4+", "g4+") @@ -69,7 +69,7 @@ StringRef normalizeCPUName(StringRef CPUName) {        .Case("power9", "pwr9")        .Case("power10", "pwr10")        .Case("power11", "pwr11") -      .Cases("powerpc", "powerpc32", "ppc") +      .Cases({"powerpc", "powerpc32"}, "ppc")        .Case("powerpc64", "ppc64")        .Case("powerpc64le", "ppc64le")        .Default(CPUName); diff --git a/llvm/lib/TargetParser/TargetDataLayout.cpp b/llvm/lib/TargetParser/TargetDataLayout.cpp index d765d9c..d735923 100644 --- a/llvm/lib/TargetParser/TargetDataLayout.cpp +++ b/llvm/lib/TargetParser/TargetDataLayout.cpp @@ -208,7 +208,7 @@ static std::string computeMipsDataLayout(const Triple &TT, StringRef ABIName) {    return Ret;  } -static std::string computePowerDataLayout(const Triple &T) { +static std::string computePowerDataLayout(const Triple &T, StringRef ABIName) {    bool is64Bit = T.isPPC64();    std::string Ret; @@ -228,7 +228,8 @@ static std::string computePowerDataLayout(const Triple &T) {    // If the target ABI uses function descriptors, then the alignment of function    // pointers depends on the alignment used to emit the descriptor. Otherwise,    // function pointers are aligned to 32 bits because the instructions must be. -  if ((T.getArch() == Triple::ppc64 && !T.isPPC64ELFv2ABI())) { +  if ((T.getArch() == Triple::ppc64 && +       (!T.isPPC64ELFv2ABI() && ABIName != "elfv2"))) {      Ret += "-Fi64";    } else if (T.isOSAIX()) {      Ret += is64Bit ? "-Fi64" : "-Fi32"; @@ -573,7 +574,7 @@ std::string Triple::computeDataLayout(StringRef ABIName) const {    case Triple::ppcle:    case Triple::ppc64:    case Triple::ppc64le: -    return computePowerDataLayout(*this); +    return computePowerDataLayout(*this, ABIName);    case Triple::r600:    case Triple::amdgcn:      return computeAMDDataLayout(*this); diff --git a/llvm/lib/TargetParser/X86TargetParser.cpp b/llvm/lib/TargetParser/X86TargetParser.cpp index b13c795..37e8ad9 100644 --- a/llvm/lib/TargetParser/X86TargetParser.cpp +++ b/llvm/lib/TargetParser/X86TargetParser.cpp @@ -143,7 +143,7 @@ constexpr FeatureBitset FeaturesDiamondRapids =      FeatureAVXVNNIINT8 | FeatureAVXVNNIINT16 | FeatureSHA512 | FeatureSM3 |      FeatureSM4 | FeatureEGPR | FeatureZU | FeatureCCMP | FeaturePush2Pop2 |      FeaturePPX | FeatureNDD | FeatureNF | FeatureMOVRS | FeatureAMX_MOVRS | -    FeatureAMX_AVX512 | FeatureAMX_FP8 | FeatureAMX_TF32 | FeatureAMX_TRANSPOSE; +    FeatureAMX_AVX512 | FeatureAMX_FP8 | FeatureAMX_TF32;  // Intel Atom processors.  // Bonnell has feature parity with Core2 and adds MOVBE. @@ -615,7 +615,6 @@ constexpr FeatureBitset ImpliedFeaturesAMX_FP16 = FeatureAMX_TILE;  constexpr FeatureBitset ImpliedFeaturesAMX_INT8 = FeatureAMX_TILE;  constexpr FeatureBitset ImpliedFeaturesAMX_COMPLEX = FeatureAMX_TILE;  constexpr FeatureBitset ImpliedFeaturesAMX_FP8 = FeatureAMX_TILE; -constexpr FeatureBitset ImpliedFeaturesAMX_TRANSPOSE = FeatureAMX_TILE;  constexpr FeatureBitset ImpliedFeaturesAMX_MOVRS = FeatureAMX_TILE;  constexpr FeatureBitset ImpliedFeaturesAMX_AVX512 =      FeatureAMX_TILE | FeatureAVX10_2;  | 
