1; RUN: opt -loop-vectorize -force-vector-width=4 -force-vector-interleave=1 -S %s | FileCheck %s 2 3; Avoid crashing while trying to vectorize fcmp that can be folded to vector of 4; i1 true. 5define void @test1() { 6; CHECK-LABEL: test1( 7; CHECK-LABEL: vector.body: 8; CHECK-NEXT: %index = phi i32 [ 0, %vector.ph ], [ %index.next, %vector.body ] 9; CHECK-NEXT: %broadcast.splatinsert = insertelement <4 x i32> undef, i32 %index, i32 0 10; CHECK: %induction = add <4 x i32> %broadcast.splat, <i32 0, i32 1, i32 2, i32 3> 11; CHECK: %index.next = add i32 %index, 4 12 13entry: 14 br label %loop 15 16loop: ; preds = %loop, %entry 17 %iv = phi i32 [ 0, %entry ], [ %ivnext, %loop ] 18 %fcmp = fcmp uno float 0.000000e+00, 0.000000e+00 19 %ivnext = add nsw i32 %iv, 1 20 %cnd = icmp sgt i32 %iv, 142 21 br i1 %cnd, label %exit, label %loop 22 23exit: ; preds = %loop 24 ret void 25} 26