|
58 | 58 | %i5 = extractelement <2 x float> %ins1, i64 1
|
59 | 59 | br label %loop
|
60 | 60 | }
|
| 61 | + |
| 62 | +define void @test2() { |
| 63 | +; CHECK-LABEL: define void @test2() { |
| 64 | +; CHECK-NEXT: entry: |
| 65 | +; CHECK-NEXT: br label [[BB3:%.*]] |
| 66 | +; CHECK: bb1: |
| 67 | +; CHECK-NEXT: [[PH:%.*]] = phi float [ poison, [[BB2:%.*]] ], [ [[TMP3:%.*]], [[LOOP:%.*]] ] |
| 68 | +; CHECK-NEXT: unreachable |
| 69 | +; CHECK: bb2: |
| 70 | +; CHECK-NEXT: br i1 poison, label [[BB3]], label [[BB1:%.*]] |
| 71 | +; CHECK: bb3: |
| 72 | +; CHECK-NEXT: br label [[LOOP]] |
| 73 | +; CHECK: loop: |
| 74 | +; CHECK-NEXT: [[TMP0:%.*]] = phi <2 x float> [ zeroinitializer, [[BB3]] ], [ [[TMP2:%.*]], [[LOOP]] ] |
| 75 | +; CHECK-NEXT: [[TMP1:%.*]] = fadd <2 x float> zeroinitializer, [[TMP0]] |
| 76 | +; CHECK-NEXT: [[TMP2]] = select <2 x i1> zeroinitializer, <2 x float> [[TMP1]], <2 x float> zeroinitializer |
| 77 | +; CHECK-NEXT: [[TMP3]] = extractelement <2 x float> [[TMP2]], i64 1 |
| 78 | +; CHECK-NEXT: br i1 poison, label [[BB1]], label [[LOOP]] |
| 79 | +; |
| 80 | +entry: |
| 81 | + br label %bb3 |
| 82 | + |
| 83 | +bb1: |
| 84 | + %ph = phi float [ poison, %bb2 ], [ %i5, %loop ] |
| 85 | + unreachable |
| 86 | + |
| 87 | +bb2: |
| 88 | + br i1 poison, label %bb3, label %bb1 |
| 89 | + |
| 90 | +bb3: |
| 91 | + br label %loop |
| 92 | + |
| 93 | +loop: |
| 94 | + %ph0 = phi float [ 0.000000e+00, %bb3 ], [ %i4, %loop ] |
| 95 | + %ph1 = phi float [ 0.000000e+00, %bb3 ], [ %i5, %loop ] |
| 96 | + %i = fadd float 0.000000e+00, %ph0 |
| 97 | + %i1 = fadd float 0.000000e+00, %ph1 |
| 98 | + %i2 = select i1 false, float %i, float 0.000000e+00 |
| 99 | + %i3 = select i1 false, float %i1, float 0.000000e+00 |
| 100 | + %ins0 = insertelement <2 x float> zeroinitializer, float %i2, i64 0 |
| 101 | + %ins1 = insertelement <2 x float> %ins0, float %i3, i64 1 |
| 102 | + %i4 = extractelement <2 x float> %ins1, i64 0 |
| 103 | + %i5 = extractelement <2 x float> %ins1, i64 1 |
| 104 | + br i1 poison, label %bb1, label %loop |
| 105 | +} |
0 commit comments