@@ -10,8 +10,11 @@ define void @d() {
1010; CHECK:       vector.body: 
1111; CHECK-NEXT:    [[INDEX:%.*]] = phi i64 [ 0, [[VECTOR_PH]] ], [ [[INDEX_NEXT:%.*]], [[VECTOR_BODY]] ] 
1212; CHECK-NEXT:    [[TMP0:%.*]] = add i64 [[INDEX]], 0 
13+ ; CHECK-NEXT:    [[TMP6:%.*]] = load float, ptr null, align 4 
14+ ; CHECK-NEXT:    [[BROADCAST_SPLATINSERT:%.*]] = insertelement <2 x float> poison, float [[TMP6]], i64 0 
15+ ; CHECK-NEXT:    [[BROADCAST_SPLAT:%.*]] = shufflevector <2 x float> [[BROADCAST_SPLATINSERT]], <2 x float> poison, <2 x i32> zeroinitializer 
1316; CHECK-NEXT:    [[TMP1:%.*]] = getelementptr float, ptr @d, i64 [[TMP0]] 
14- ; CHECK-NEXT:    [[TMP2:%.*]] = call <2 x i1> @llvm.is.fpclass.v2f32(<2 x float> zeroinitializer , i32 0) 
17+ ; CHECK-NEXT:    [[TMP2:%.*]] = call <2 x i1> @llvm.is.fpclass.v2f32(<2 x float> [[BROADCAST_SPLAT]] , i32 0) 
1518; CHECK-NEXT:    [[TMP3:%.*]] = select <2 x i1> [[TMP2]], <2 x float> zeroinitializer, <2 x float> zeroinitializer 
1619; CHECK-NEXT:    [[TMP4:%.*]] = getelementptr float, ptr [[TMP1]], i32 0 
1720; CHECK-NEXT:    store <2 x float> [[TMP3]], ptr [[TMP4]], align 4 
@@ -27,7 +30,7 @@ define void @d() {
2730; CHECK-NEXT:    [[I:%.*]] = phi i64 [ [[BC_RESUME_VAL]], [[SCALAR_PH]] ], [ [[I7:%.*]], [[LOOP]] ] 
2831; CHECK-NEXT:    [[I3:%.*]] = load float, ptr null, align 4 
2932; CHECK-NEXT:    [[I4:%.*]] = getelementptr float, ptr @d, i64 [[I]] 
30- ; CHECK-NEXT:    [[I5:%.*]] = tail call i1 @llvm.is.fpclass.f32(float 0.000000e+00 , i32 0) 
33+ ; CHECK-NEXT:    [[I5:%.*]] = tail call i1 @llvm.is.fpclass.f32(float [[I3]] , i32 0) 
3134; CHECK-NEXT:    [[I6:%.*]] = select i1 [[I5]], float 0.000000e+00, float 0.000000e+00 
3235; CHECK-NEXT:    store float [[I6]], ptr [[I4]], align 4 
3336; CHECK-NEXT:    [[I7]] = add i64 [[I]], 1 
4346  %i  = phi  i64  [ 0 , %entry  ], [ %i7 , %loop  ]
4447  %i3  = load  float , ptr  null , align  4 
4548  %i4  = getelementptr  float , ptr  @d , i64  %i 
46-   %i5  = tail  call  i1  @llvm.is.fpclass.f32 (float  0 . 0 , i32  0 )
49+   %i5  = tail  call  i1  @llvm.is.fpclass.f32 (float  %i3 , i32  0 )
4750  %i6  = select  i1  %i5 , float  0 .0 , float  0 .0 
4851  store  float  %i6 , ptr  %i4 , align  4 
4952  %i7  = add  i64  %i , 1 
0 commit comments