[llvm] [AArch64] treat `@llvm.ssub.sat` the same as `@llvm.aarch64.neon.sqsub` (PR #140454)

David Green via llvm-commits llvm-commits at lists.llvm.org
Wed May 28 14:02:58 PDT 2025


davemgreen wrote:

With the way that the intrinsics are defined in https://developer.arm.com/architectures/instruction-sets/intrinsics/#f:@navigationhierarchiessimdisa=[Neon]&q=qadd, they are stand-alone and the q flag would be a global side effect. I agree that if the dependency between the intrinsic and the flag is known then they would want to modelled as data dependencies.

I'm not against removing the intrinsics TBH. We just haven't done so so far because we might want to reverse the decision and model Q flags conservatively, as gcc does. We can always re-add them if necessary. The neon.abs and neon.smin/smax/umin/max are more obviously OK to remove (providing the scalar types do not get worse).

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


More information about the llvm-commits mailing list