[clang] [llvm] [AArch64] Add support for range prefetch intrinsic (PR #170490)
Paul Walker via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 17 05:40:02 PST 2025
================
@@ -1122,6 +1122,19 @@ bool SemaARM::CheckAArch64BuiltinFunctionCall(const TargetInfo &TI,
SemaRef.BuiltinConstantArgRange(TheCall, 4, 0, 1);
}
+ if (BuiltinID == AArch64::BI__builtin_arm_range_prefetch_x) {
+ return SemaRef.BuiltinConstantArgRange(TheCall, 1, 0, 1) ||
+ SemaRef.BuiltinConstantArgRange(TheCall, 2, 0, 1) ||
+ SemaRef.BuiltinConstantArgRange(TheCall, 3, -2048, 2040) ||
+ SemaRef.BuiltinConstantArgRange(TheCall, 4, 1, 65536) ||
+ SemaRef.BuiltinConstantArgRange(TheCall, 5, -2048, 2040);
----------------
paulwalker-arm wrote:
The ranges for args three and five look too small? The ACLE specification says `[-2MiB, +2MiB)` (i.e. a signed 22-bit number) so I'd expect `-2^21, 2^21 - 1`.
https://github.com/llvm/llvm-project/pull/170490
More information about the llvm-commits
mailing list