Changeset View
Changeset View
Standalone View
Standalone View
lib/Support/TargetParser.cpp
Show First 20 Lines • Show All 92 Lines • ▼ Show 20 Lines | |||||
else | else | ||||
Features.push_back("-crc"); | Features.push_back("-crc"); | ||||
if (Extensions & ARM::AEK_DSP) | if (Extensions & ARM::AEK_DSP) | ||||
Features.push_back("+dsp"); | Features.push_back("+dsp"); | ||||
else | else | ||||
Features.push_back("-dsp"); | Features.push_back("-dsp"); | ||||
if (Extensions & ARM::AEK_RAS) | |||||
Features.push_back("+ras"); | |||||
else | |||||
Features.push_back("-ras"); | |||||
if (Extensions & ARM::AEK_DOTPROD) | |||||
Features.push_back("+dotprod"); | |||||
else | |||||
Features.push_back("-dotprod"); | |||||
return getHWDivFeatures(Extensions, Features); | return getHWDivFeatures(Extensions, Features); | ||||
} | } | ||||
bool llvm::ARM::getFPUFeatures(unsigned FPUKind, | bool llvm::ARM::getFPUFeatures(unsigned FPUKind, | ||||
std::vector<StringRef> &Features) { | std::vector<StringRef> &Features) { | ||||
if (FPUKind >= ARM::FK_LAST || FPUKind == ARM::FK_INVALID) | if (FPUKind >= ARM::FK_LAST || FPUKind == ARM::FK_INVALID) | ||||
return false; | return false; | ||||
▲ Show 20 Lines • Show All 184 Lines • ▼ Show 20 Lines | |||||
if (Extensions & AArch64::AEK_FP) | if (Extensions & AArch64::AEK_FP) | ||||
Features.push_back("+fp-armv8"); | Features.push_back("+fp-armv8"); | ||||
if (Extensions & AArch64::AEK_SIMD) | if (Extensions & AArch64::AEK_SIMD) | ||||
Features.push_back("+neon"); | Features.push_back("+neon"); | ||||
if (Extensions & AArch64::AEK_CRC) | if (Extensions & AArch64::AEK_CRC) | ||||
Features.push_back("+crc"); | Features.push_back("+crc"); | ||||
if (Extensions & AArch64::AEK_CRYPTO) | if (Extensions & AArch64::AEK_CRYPTO) | ||||
Features.push_back("+crypto"); | Features.push_back("+crypto"); | ||||
if (Extensions & AArch64::AEK_DOTPROD) | |||||
Features.push_back("+dotprod"); | |||||
if (Extensions & AArch64::AEK_FP16) | if (Extensions & AArch64::AEK_FP16) | ||||
Features.push_back("+fullfp16"); | Features.push_back("+fullfp16"); | ||||
if (Extensions & AArch64::AEK_PROFILE) | if (Extensions & AArch64::AEK_PROFILE) | ||||
Features.push_back("+spe"); | Features.push_back("+spe"); | ||||
if (Extensions & AArch64::AEK_RAS) | if (Extensions & AArch64::AEK_RAS) | ||||
Features.push_back("+ras"); | Features.push_back("+ras"); | ||||
if (Extensions & AArch64::AEK_LSE) | if (Extensions & AArch64::AEK_LSE) | ||||
Features.push_back("+lse"); | Features.push_back("+lse"); | ||||
if (Extensions & AArch64::AEK_SVE) | if (Extensions & AArch64::AEK_SVE) | ||||
Features.push_back("+sve"); | Features.push_back("+sve"); | ||||
if (Extensions & AArch64::AEK_RCPC) | |||||
Features.push_back("+rcpc"); | |||||
return true; | return true; | ||||
} | } | ||||
bool llvm::AArch64::getFPUFeatures(unsigned FPUKind, | bool llvm::AArch64::getFPUFeatures(unsigned FPUKind, | ||||
std::vector<StringRef> &Features) { | std::vector<StringRef> &Features) { | ||||
return ARM::getFPUFeatures(FPUKind, Features); | return ARM::getFPUFeatures(FPUKind, Features); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 92 Lines • Show Last 20 Lines |