================ @@ -113,30 +115,12 @@ float2 HowManyFloats(float V) { // up nicely too. // CHECK-LABEL: AllRighty -// CHECK: [[XTmp:%.*]] = alloca <1 x double>, align 8 -// CHECK: [[YTmp:%.*]] = alloca <1 x double>, align 8 -// CHECK: [[ZTmp:%.*]] = alloca <1 x double>, align 8 - -// CHECK: store <1 x double> <double 1.000000e+00>, ptr [[XTmp]], align 8 -// CHECK: [[XVec:%.*]] = load <1 x double>, ptr [[XTmp]], align 8 -// CHECK: [[XVec3:%.*]] = shufflevector <1 x double> [[XVec]], <1 x double> poison, <3 x i32> zeroinitializer -// CHECK: [[XVal:%.*]] = extractelement <3 x double> [[XVec3]], i32 0 -// CHECK: [[XValF:%.*]] = fptrunc double [[XVal]] to float -// CHECK: [[Vec3F1:%.*]] = insertelement <3 x float> poison, float [[XValF]], i32 0 - -// CHECK: store <1 x double> <double 1.000000e+00>, ptr [[YTmp]], align 8 -// CHECK: [[YVec:%.*]] = load <1 x double>, ptr [[YTmp]], align 8 -// CHECK: [[YVec3:%.*]] = shufflevector <1 x double> [[YVec]], <1 x double> poison, <3 x i32> zeroinitializer -// CHECK: [[YVal:%.*]] = extractelement <3 x double> [[YVec3]], i32 1 -// CHECK: [[YValF:%.*]] = fptrunc double [[YVal]] to float -// CHECK: [[Vec3F2:%.*]] = insertelement <3 x float> [[Vec3F1]], float [[YValF]], i32 1 - -// CHECK: store <1 x double> <double 1.000000e+00>, ptr [[ZTmp]], align 8 -// CHECK: [[ZVec:%.*]] = load <1 x double>, ptr [[ZTmp]], align 8 -// CHECK: [[ZVec3:%.*]] = shufflevector <1 x double> [[ZVec]], <1 x double> poison, <3 x i32> zeroinitializer -// CHECK: [[ZVal:%.*]] = extractelement <3 x double> [[ZVec3]], i32 2 -// CHECK: [[ZValF:%.*]] = fptrunc double [[ZVal]] to float -// CHECK: [[Vec3F3:%.*]] = insertelement <3 x float> [[Vec3F2]], float [[ZValF]], i32 2 +// CHECK: [[Tmp:%.*]] = alloca <1 x double>, align 8 +// CHECK: store <1 x double> <double 1.000000e+00>, ptr [[Tmp]], align 8 +// CHECK: [[vec1:%.*]] = load <1 x double>, ptr [[Tmp]], align 8 +// CHECK: [[vec3:%.*]] = shufflevector <1 x double> [[vec1]], <1 x double> poison, <3 x i32> zeroinitializer +// CHECK: [[vec3f:%.*]] = fptrunc <3 x double> [[vec3]] to <3 x float> +// ret <3 x float> [[vec3f]] // ret <3 x float> [[Vec3F3]] ---------------- bogner wrote:
Why isn't the `ret` line a check? Also there seem to be two of them now. https://github.com/llvm/llvm-project/pull/71098 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits