================
@@ -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
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits