[clang] [llvm] [ARM] Introduce intrinsics for MVE minnm/maxnm under strict-fp. (PR #169795)

David Green via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 1 03:09:21 PST 2025


davemgreen wrote:

> The commit message looks as if it might have been copy-pasted from another commit?
> 
> > this adds an @arm.mve.fma intrinsic for strict-fp
> 
> No, it doesn't! This patch seems entirely about minnum and maxnum operations, not fma.
> 

I've updated the comment from the right commit. This PR originally included both commits as the one was dependant on the other.

> What is the behaviour change to minnum/maxnum under strict fp anyway? They don't round, overflow, or underflow. Is it just whether they throw an exception if given a signalling NaN as input?

Yeah - this is honestly mostly for denormal handling, which is a little weird for strictfp and standard compiles too. LLVM will take the denormal handling from function arguments (but has never been super consistent with it). You could argue we shouldn't be converting vminnmq -> minnum and minnum -> vminm, but turning that off could lead to a lot of perf issues (and sometimes it is correct depending on the user options and fast-math settings). At least for strict-fp it sounded safer to me to be careful and not go via the llvm intrinsic.

https://github.com/llvm/llvm-project/pull/169795


More information about the llvm-commits mailing list