================ @@ -232,13 +232,23 @@ bool AArch64TargetInfo::validateTarget(DiagnosticsEngine &Diags) const { bool AArch64TargetInfo::validateGlobalRegisterVariable( StringRef RegName, unsigned RegSize, bool &HasSizeMismatch) const { - if ((RegName == "sp") || RegName.starts_with("x")) { - HasSizeMismatch = RegSize != 64; - return true; - } else if (RegName.starts_with("w")) { + if (RegName.starts_with("w")) { HasSizeMismatch = RegSize != 32; return true; } + if (RegName == "sp") { + HasSizeMismatch = RegSize != 64; + return true; + } + if (RegName.starts_with("x")) { + HasSizeMismatch = RegSize != 64; + // Check if the register is reserved. See also + // AArch64TargetLowering::getRegisterByName(). + return RegName == "x0" || ---------------- DanielKristofKiss wrote:
maybe add a test case for x0 too? https://github.com/llvm/llvm-project/pull/117419 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits