[llvm] [VectorUtils] Trivially vectorize ldexp, [l]lround (PR #145545)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 25 01:40:58 PDT 2025


================
@@ -324,6 +324,58 @@ for.end:                                          ; preds = %for.body, %entry
 
 declare double @llvm.exp2.f64(double)
 
+define void @ldexp_f32i32(i32 %n, ptr %y, ptr %x, i32 %exp) {
+; CHECK-LABEL: @ldexp_f32i32(
+; CHECK: llvm.ldexp.v4f32.v4i32
+; CHECK: ret void
+;
+entry:
+  %cmp6 = icmp sgt i32 %n, 0
+  br i1 %cmp6, label %for.body, label %for.end
+
+for.body:                                         ; preds = %entry, %for.body
+  %iv = phi i32 [ %iv.next, %for.body ], [ 0, %entry ]
----------------
fhahn wrote:

```suggestion
  %iv = phi i32 [ 0, %entry ], [ %iv.next, %for.body ]
```

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


More information about the llvm-commits mailing list