diff options
Diffstat (limited to 'contrib/llvm-project/clang/lib/Basic/Targets/AArch64.cpp')
-rw-r--r-- | contrib/llvm-project/clang/lib/Basic/Targets/AArch64.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/contrib/llvm-project/clang/lib/Basic/Targets/AArch64.cpp b/contrib/llvm-project/clang/lib/Basic/Targets/AArch64.cpp index 4070ac727d16..e163ebfa2348 100644 --- a/contrib/llvm-project/clang/lib/Basic/Targets/AArch64.cpp +++ b/contrib/llvm-project/clang/lib/Basic/Targets/AArch64.cpp @@ -431,7 +431,8 @@ bool AArch64TargetInfo::hasFeature(StringRef Feature) const { Feature == "sve2-aes" || Feature == "sve2-sha3" || Feature == "sve2-sm4" || Feature == "f64mm" || Feature == "f32mm" || Feature == "i8mm" || Feature == "bf16") && - (FPU & SveMode)); + (FPU & SveMode)) || + (Feature == "ls64" && HasLS64); } bool AArch64TargetInfo::handleTargetFeatures(std::vector<std::string> &Features, @@ -752,6 +753,9 @@ bool AArch64TargetInfo::validateConstraintModifier( if (Size == 64) return true; + if (Size == 512) + return HasLS64; + SuggestedModifier = "w"; return false; } |