[llvm] [VPlan] Use predicated intrinsics for trapping divisors (PR #154076)

Luke Lau via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 2 07:29:10 PDT 2025


lukel97 wrote:

This fixes the prime_length example from @camel-cdr's analysis in https://github.com/llvm/llvm-project/issues/123069#issuecomment-3137997141

In combination with #151285 we get close to the optimal vector body:

```asm
.LBB0_3:                                # %vector.body
                                        # =>This Inner Loop Header: Depth=1
	vsetvli	a1, a0, e64, m4, ta, ma
	vremu.vv	v20, v8, v12
	vmseq.vi	v0, v20, 0
	sub	a0, a0, a1
	vsetvli	zero, zero, e8, mf2, tu, ma
	vmerge.vim	v16, v16, 1, v0
	vsetvli	zero, zero, e64, m4, ta, ma
	vadd.vx	v12, v12, a1
	bnez	a0, .LBB0_3
```

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


More information about the llvm-commits mailing list