[clang] [Clang][AArch64] Lower NEON fcvtz{u/s} intrinsics into fpto{u/s}i.sat (PR #191365)
Eli Friedman via cfe-commits
cfe-commits at lists.llvm.org
Fri Apr 10 10:01:09 PDT 2026
================
@@ -1384,6 +1384,12 @@ Value *CodeGenFunction::EmitCommonNeonBuiltinExpr(
case NEON::BI__builtin_neon_vcvtq_s16_f16:
case NEON::BI__builtin_neon_vcvtq_u16_f16: {
Ops[0] = Builder.CreateBitCast(Ops[0], GetFloatNeonType(this, Type));
+ // AArch64 uses saturating FP-to-int intrinsics; ARM uses plain
+ // fptoui/fptosi.
----------------
efriedma-quic wrote:
Plain fptosi is extremely dubious... we should probably be using the intrinsic for 32-bit as well.
https://github.com/llvm/llvm-project/pull/191365
More information about the cfe-commits
mailing list