[clang] [Clang][ARM] Ensure FPU Features are parsed when targeting `cc1as` (PR #134612)
David Green via cfe-commits
cfe-commits at lists.llvm.org
Thu Apr 10 09:35:04 PDT 2025
================
@@ -679,21 +679,17 @@ llvm::ARM::FPUKind arm::getARMTargetFeatures(const Driver &D,
CPUArgFPUKind != llvm::ARM::FK_INVALID ? CPUArgFPUKind : ArchArgFPUKind;
(void)llvm::ARM::getFPUFeatures(FPUKind, Features);
} else {
- bool Generic = true;
- if (!ForAS) {
- std::string CPU = arm::getARMTargetCPU(CPUName, ArchName, Triple);
- if (CPU != "generic")
- Generic = false;
- llvm::ARM::ArchKind ArchKind =
- arm::getLLVMArchKindForARM(CPU, ArchName, Triple);
- FPUKind = llvm::ARM::getDefaultFPU(CPU, ArchKind);
- (void)llvm::ARM::getFPUFeatures(FPUKind, Features);
- }
+ std::string CPU = arm::getARMTargetCPU(CPUName, ArchName, Triple);
+ bool Generic = CPU == "generic";
if (Generic && (Triple.isOSWindows() || Triple.isOSDarwin()) &&
getARMSubArchVersionNumber(Triple) >= 7) {
FPUKind = llvm::ARM::parseFPU("neon");
----------------
davemgreen wrote:
> But for them to take extra effort into their Linux-targeting patch to accommodate for using it for cross compilation for other OSes feels like a big thing to request anyway (even though it is their patch which is breaking things).
Ubuntu includes other GCC cross-compiling toolchains in the packages they put out, so might be interested in allowing the cross-compiler to work for llvm if their patch can be adjusted. AFAIU they only want their change to apply to native linux compiles.
https://github.com/llvm/llvm-project/pull/134612
More information about the cfe-commits
mailing list