diff options
author | Alexey Bataev <a.bataev@outlook.com> | 2025-01-30 06:55:36 -0800 |
---|---|---|
committer | Alexey Bataev <a.bataev@outlook.com> | 2025-01-30 06:58:14 -0800 |
commit | fc39617746695160cbd5fcef99e20e726f46c3d5 (patch) | |
tree | 858745915f6861bfd9bb1ea6b5da0e55dc9ecf1a | |
parent | 2fbfaff00c68139cc33b2099484b2a0dd6e60244 (diff) | |
download | llvm-fc39617746695160cbd5fcef99e20e726f46c3d5.zip llvm-fc39617746695160cbd5fcef99e20e726f46c3d5.tar.gz llvm-fc39617746695160cbd5fcef99e20e726f46c3d5.tar.bz2 |
[SLP][NFC]Update tests and remove undefs, NFC
4 files changed, 74 insertions, 74 deletions
diff --git a/llvm/test/Transforms/SLPVectorizer/AArch64/accelerate-vector-functions.ll b/llvm/test/Transforms/SLPVectorizer/AArch64/accelerate-vector-functions.ll index 058b68b..666514a 100644 --- a/llvm/test/Transforms/SLPVectorizer/AArch64/accelerate-vector-functions.ll +++ b/llvm/test/Transforms/SLPVectorizer/AArch64/accelerate-vector-functions.ll @@ -20,7 +20,7 @@ define <4 x float> @int_sin_4x(ptr %a) { ; NOACCELERATE-NEXT: [[TMP0:%.*]] = load <4 x float>, ptr [[A:%.*]], align 16 ; NOACCELERATE-NEXT: [[VECEXT:%.*]] = extractelement <4 x float> [[TMP0]], i32 0 ; NOACCELERATE-NEXT: [[TMP1:%.*]] = tail call fast float @llvm.sin.f32(float [[VECEXT]]) -; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> undef, float [[TMP1]], i32 0 +; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> zeroinitializer, float [[TMP1]], i32 0 ; NOACCELERATE-NEXT: [[VECEXT_1:%.*]] = extractelement <4 x float> [[TMP0]], i32 1 ; NOACCELERATE-NEXT: [[TMP2:%.*]] = tail call fast float @llvm.sin.f32(float [[VECEXT_1]]) ; NOACCELERATE-NEXT: [[VECINS_1:%.*]] = insertelement <4 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -34,7 +34,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @llvm.sin.f32(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @llvm.sin.f32(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -66,7 +66,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @ceilf(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @ceilf(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -98,7 +98,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @fabsf(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @fabsf(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -128,7 +128,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @llvm.fabs.f32(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @llvm.fabs.f32(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -158,7 +158,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @floorf(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @floorf(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -188,7 +188,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @sqrtf(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @sqrtf(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -213,7 +213,7 @@ define <4 x float> @exp_4x(ptr %a) { ; NOACCELERATE-NEXT: [[TMP0:%.*]] = load <4 x float>, ptr [[A:%.*]], align 16 ; NOACCELERATE-NEXT: [[VECEXT:%.*]] = extractelement <4 x float> [[TMP0]], i32 0 ; NOACCELERATE-NEXT: [[TMP1:%.*]] = tail call fast float @expf(float [[VECEXT]]) -; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> undef, float [[TMP1]], i32 0 +; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> zeroinitializer, float [[TMP1]], i32 0 ; NOACCELERATE-NEXT: [[VECEXT_1:%.*]] = extractelement <4 x float> [[TMP0]], i32 1 ; NOACCELERATE-NEXT: [[TMP2:%.*]] = tail call fast float @expf(float [[VECEXT_1]]) ; NOACCELERATE-NEXT: [[VECINS_1:%.*]] = insertelement <4 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -227,7 +227,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @expf(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @expf(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -252,7 +252,7 @@ define <4 x float> @expm1_4x(ptr %a) { ; NOACCELERATE-NEXT: [[TMP0:%.*]] = load <4 x float>, ptr [[A:%.*]], align 16 ; NOACCELERATE-NEXT: [[VECEXT:%.*]] = extractelement <4 x float> [[TMP0]], i32 0 ; NOACCELERATE-NEXT: [[TMP1:%.*]] = tail call fast float @expm1f(float [[VECEXT]]) -; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> undef, float [[TMP1]], i32 0 +; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> zeroinitializer, float [[TMP1]], i32 0 ; NOACCELERATE-NEXT: [[VECEXT_1:%.*]] = extractelement <4 x float> [[TMP0]], i32 1 ; NOACCELERATE-NEXT: [[TMP2:%.*]] = tail call fast float @expm1f(float [[VECEXT_1]]) ; NOACCELERATE-NEXT: [[VECINS_1:%.*]] = insertelement <4 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -268,7 +268,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @expm1f(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @expm1f(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -293,7 +293,7 @@ define <4 x float> @log_4x(ptr %a) { ; NOACCELERATE-NEXT: [[TMP0:%.*]] = load <4 x float>, ptr [[A:%.*]], align 16 ; NOACCELERATE-NEXT: [[VECEXT:%.*]] = extractelement <4 x float> [[TMP0]], i32 0 ; NOACCELERATE-NEXT: [[TMP1:%.*]] = tail call fast float @logf(float [[VECEXT]]) -; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> undef, float [[TMP1]], i32 0 +; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> zeroinitializer, float [[TMP1]], i32 0 ; NOACCELERATE-NEXT: [[VECEXT_1:%.*]] = extractelement <4 x float> [[TMP0]], i32 1 ; NOACCELERATE-NEXT: [[TMP2:%.*]] = tail call fast float @logf(float [[VECEXT_1]]) ; NOACCELERATE-NEXT: [[VECINS_1:%.*]] = insertelement <4 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -307,7 +307,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @logf(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @logf(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -332,7 +332,7 @@ define <4 x float> @log1p_4x(ptr %a) { ; NOACCELERATE-NEXT: [[TMP0:%.*]] = load <4 x float>, ptr [[A:%.*]], align 16 ; NOACCELERATE-NEXT: [[VECEXT:%.*]] = extractelement <4 x float> [[TMP0]], i32 0 ; NOACCELERATE-NEXT: [[TMP1:%.*]] = tail call fast float @log1pf(float [[VECEXT]]) -; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> undef, float [[TMP1]], i32 0 +; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> zeroinitializer, float [[TMP1]], i32 0 ; NOACCELERATE-NEXT: [[VECEXT_1:%.*]] = extractelement <4 x float> [[TMP0]], i32 1 ; NOACCELERATE-NEXT: [[TMP2:%.*]] = tail call fast float @log1pf(float [[VECEXT_1]]) ; NOACCELERATE-NEXT: [[VECINS_1:%.*]] = insertelement <4 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -348,7 +348,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @log1pf(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @log1pf(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -367,7 +367,7 @@ define <4 x float> @log10p_4x(ptr %a) { ; CHECK-NEXT: [[TMP0:%.*]] = load <4 x float>, ptr [[A:%.*]], align 16 ; CHECK-NEXT: [[VECEXT:%.*]] = extractelement <4 x float> [[TMP0]], i32 0 ; CHECK-NEXT: [[TMP1:%.*]] = tail call fast float @log10pf(float [[VECEXT]]) -; CHECK-NEXT: [[VECINS:%.*]] = insertelement <4 x float> undef, float [[TMP1]], i32 0 +; CHECK-NEXT: [[VECINS:%.*]] = insertelement <4 x float> zeroinitializer, float [[TMP1]], i32 0 ; CHECK-NEXT: [[VECEXT_1:%.*]] = extractelement <4 x float> [[TMP0]], i32 1 ; CHECK-NEXT: [[TMP2:%.*]] = tail call fast float @log10pf(float [[VECEXT_1]]) ; CHECK-NEXT: [[VECINS_1:%.*]] = insertelement <4 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -384,7 +384,7 @@ define <4 x float> @log10p_4x(ptr %a) { ; NOACCELERATE-NEXT: [[TMP0:%.*]] = load <4 x float>, ptr [[A:%.*]], align 16 ; NOACCELERATE-NEXT: [[VECEXT:%.*]] = extractelement <4 x float> [[TMP0]], i32 0 ; NOACCELERATE-NEXT: [[TMP1:%.*]] = tail call fast float @log10pf(float [[VECEXT]]) -; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> undef, float [[TMP1]], i32 0 +; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> zeroinitializer, float [[TMP1]], i32 0 ; NOACCELERATE-NEXT: [[VECEXT_1:%.*]] = extractelement <4 x float> [[TMP0]], i32 1 ; NOACCELERATE-NEXT: [[TMP2:%.*]] = tail call fast float @log10pf(float [[VECEXT_1]]) ; NOACCELERATE-NEXT: [[VECINS_1:%.*]] = insertelement <4 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -400,7 +400,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @log10pf(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @log10pf(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -425,7 +425,7 @@ define <4 x float> @logb_4x(ptr %a) { ; NOACCELERATE-NEXT: [[TMP0:%.*]] = load <4 x float>, ptr [[A:%.*]], align 16 ; NOACCELERATE-NEXT: [[VECEXT:%.*]] = extractelement <4 x float> [[TMP0]], i32 0 ; NOACCELERATE-NEXT: [[TMP1:%.*]] = tail call fast float @logbf(float [[VECEXT]]) -; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> undef, float [[TMP1]], i32 0 +; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> zeroinitializer, float [[TMP1]], i32 0 ; NOACCELERATE-NEXT: [[VECEXT_1:%.*]] = extractelement <4 x float> [[TMP0]], i32 1 ; NOACCELERATE-NEXT: [[TMP2:%.*]] = tail call fast float @logbf(float [[VECEXT_1]]) ; NOACCELERATE-NEXT: [[VECINS_1:%.*]] = insertelement <4 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -441,7 +441,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @logbf(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @logbf(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -466,7 +466,7 @@ define <4 x float> @sin_4x(ptr %a) { ; NOACCELERATE-NEXT: [[TMP0:%.*]] = load <4 x float>, ptr [[A:%.*]], align 16 ; NOACCELERATE-NEXT: [[VECEXT:%.*]] = extractelement <4 x float> [[TMP0]], i32 0 ; NOACCELERATE-NEXT: [[TMP1:%.*]] = tail call fast float @sinf(float [[VECEXT]]) -; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> undef, float [[TMP1]], i32 0 +; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> zeroinitializer, float [[TMP1]], i32 0 ; NOACCELERATE-NEXT: [[VECEXT_1:%.*]] = extractelement <4 x float> [[TMP0]], i32 1 ; NOACCELERATE-NEXT: [[TMP2:%.*]] = tail call fast float @sinf(float [[VECEXT_1]]) ; NOACCELERATE-NEXT: [[VECINS_1:%.*]] = insertelement <4 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -480,7 +480,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @sinf(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @sinf(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -505,7 +505,7 @@ define <4 x float> @cos_4x(ptr %a) { ; NOACCELERATE-NEXT: [[TMP0:%.*]] = load <4 x float>, ptr [[A:%.*]], align 16 ; NOACCELERATE-NEXT: [[VECEXT:%.*]] = extractelement <4 x float> [[TMP0]], i32 0 ; NOACCELERATE-NEXT: [[TMP1:%.*]] = tail call fast float @cosf(float [[VECEXT]]) -; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> undef, float [[TMP1]], i32 0 +; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> zeroinitializer, float [[TMP1]], i32 0 ; NOACCELERATE-NEXT: [[VECEXT_1:%.*]] = extractelement <4 x float> [[TMP0]], i32 1 ; NOACCELERATE-NEXT: [[TMP2:%.*]] = tail call fast float @cosf(float [[VECEXT_1]]) ; NOACCELERATE-NEXT: [[VECINS_1:%.*]] = insertelement <4 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -519,7 +519,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @cosf(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @cosf(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -544,7 +544,7 @@ define <4 x float> @tan_4x(ptr %a) { ; NOACCELERATE-NEXT: [[TMP0:%.*]] = load <4 x float>, ptr [[A:%.*]], align 16 ; NOACCELERATE-NEXT: [[VECEXT:%.*]] = extractelement <4 x float> [[TMP0]], i32 0 ; NOACCELERATE-NEXT: [[TMP1:%.*]] = tail call fast float @tanf(float [[VECEXT]]) -; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> undef, float [[TMP1]], i32 0 +; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> zeroinitializer, float [[TMP1]], i32 0 ; NOACCELERATE-NEXT: [[VECEXT_1:%.*]] = extractelement <4 x float> [[TMP0]], i32 1 ; NOACCELERATE-NEXT: [[TMP2:%.*]] = tail call fast float @tanf(float [[VECEXT_1]]) ; NOACCELERATE-NEXT: [[VECINS_1:%.*]] = insertelement <4 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -558,7 +558,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @tanf(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @tanf(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -583,7 +583,7 @@ define <4 x float> @asin_4x(ptr %a) { ; NOACCELERATE-NEXT: [[TMP0:%.*]] = load <4 x float>, ptr [[A:%.*]], align 16 ; NOACCELERATE-NEXT: [[VECEXT:%.*]] = extractelement <4 x float> [[TMP0]], i32 0 ; NOACCELERATE-NEXT: [[TMP1:%.*]] = tail call fast float @asinf(float [[VECEXT]]) -; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> undef, float [[TMP1]], i32 0 +; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> zeroinitializer, float [[TMP1]], i32 0 ; NOACCELERATE-NEXT: [[VECEXT_1:%.*]] = extractelement <4 x float> [[TMP0]], i32 1 ; NOACCELERATE-NEXT: [[TMP2:%.*]] = tail call fast float @asinf(float [[VECEXT_1]]) ; NOACCELERATE-NEXT: [[VECINS_1:%.*]] = insertelement <4 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -597,7 +597,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @asinf(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @asinf(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -621,7 +621,7 @@ define <4 x float> @int_asin_4x(ptr %a) { ; NOACCELERATE-NEXT: [[TMP0:%.*]] = load <4 x float>, ptr [[A:%.*]], align 16 ; NOACCELERATE-NEXT: [[VECEXT:%.*]] = extractelement <4 x float> [[TMP0]], i32 0 ; NOACCELERATE-NEXT: [[TMP1:%.*]] = tail call fast float @llvm.asin.f32(float [[VECEXT]]) -; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> undef, float [[TMP1]], i32 0 +; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> zeroinitializer, float [[TMP1]], i32 0 ; NOACCELERATE-NEXT: [[VECEXT_1:%.*]] = extractelement <4 x float> [[TMP0]], i32 1 ; NOACCELERATE-NEXT: [[TMP2:%.*]] = tail call fast float @llvm.asin.f32(float [[VECEXT_1]]) ; NOACCELERATE-NEXT: [[VECINS_1:%.*]] = insertelement <4 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -635,7 +635,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @llvm.asin.f32(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @llvm.asin.f32(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -660,7 +660,7 @@ define <4 x float> @acos_4x(ptr %a) { ; NOACCELERATE-NEXT: [[TMP0:%.*]] = load <4 x float>, ptr [[A:%.*]], align 16 ; NOACCELERATE-NEXT: [[VECEXT:%.*]] = extractelement <4 x float> [[TMP0]], i32 0 ; NOACCELERATE-NEXT: [[TMP1:%.*]] = tail call fast float @acosf(float [[VECEXT]]) -; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> undef, float [[TMP1]], i32 0 +; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> zeroinitializer, float [[TMP1]], i32 0 ; NOACCELERATE-NEXT: [[VECEXT_1:%.*]] = extractelement <4 x float> [[TMP0]], i32 1 ; NOACCELERATE-NEXT: [[TMP2:%.*]] = tail call fast float @acosf(float [[VECEXT_1]]) ; NOACCELERATE-NEXT: [[VECINS_1:%.*]] = insertelement <4 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -674,7 +674,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @acosf(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @acosf(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -698,7 +698,7 @@ define <4 x float> @int_acos_4x(ptr %a) { ; NOACCELERATE-NEXT: [[TMP0:%.*]] = load <4 x float>, ptr [[A:%.*]], align 16 ; NOACCELERATE-NEXT: [[VECEXT:%.*]] = extractelement <4 x float> [[TMP0]], i32 0 ; NOACCELERATE-NEXT: [[TMP1:%.*]] = tail call fast float @llvm.acos.f32(float [[VECEXT]]) -; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> undef, float [[TMP1]], i32 0 +; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> zeroinitializer, float [[TMP1]], i32 0 ; NOACCELERATE-NEXT: [[VECEXT_1:%.*]] = extractelement <4 x float> [[TMP0]], i32 1 ; NOACCELERATE-NEXT: [[TMP2:%.*]] = tail call fast float @llvm.acos.f32(float [[VECEXT_1]]) ; NOACCELERATE-NEXT: [[VECINS_1:%.*]] = insertelement <4 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -712,7 +712,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @llvm.acos.f32(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @llvm.acos.f32(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -737,7 +737,7 @@ define <4 x float> @atan_4x(ptr %a) { ; NOACCELERATE-NEXT: [[TMP0:%.*]] = load <4 x float>, ptr [[A:%.*]], align 16 ; NOACCELERATE-NEXT: [[VECEXT:%.*]] = extractelement <4 x float> [[TMP0]], i32 0 ; NOACCELERATE-NEXT: [[TMP1:%.*]] = tail call fast float @atanf(float [[VECEXT]]) -; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> undef, float [[TMP1]], i32 0 +; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> zeroinitializer, float [[TMP1]], i32 0 ; NOACCELERATE-NEXT: [[VECEXT_1:%.*]] = extractelement <4 x float> [[TMP0]], i32 1 ; NOACCELERATE-NEXT: [[TMP2:%.*]] = tail call fast float @atanf(float [[VECEXT_1]]) ; NOACCELERATE-NEXT: [[VECINS_1:%.*]] = insertelement <4 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -751,7 +751,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @atanf(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @atanf(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -775,7 +775,7 @@ define <4 x float> @int_atan_4x(ptr %a) { ; NOACCELERATE-NEXT: [[TMP0:%.*]] = load <4 x float>, ptr [[A:%.*]], align 16 ; NOACCELERATE-NEXT: [[VECEXT:%.*]] = extractelement <4 x float> [[TMP0]], i32 0 ; NOACCELERATE-NEXT: [[TMP1:%.*]] = tail call fast float @llvm.atan.f32(float [[VECEXT]]) -; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> undef, float [[TMP1]], i32 0 +; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> zeroinitializer, float [[TMP1]], i32 0 ; NOACCELERATE-NEXT: [[VECEXT_1:%.*]] = extractelement <4 x float> [[TMP0]], i32 1 ; NOACCELERATE-NEXT: [[TMP2:%.*]] = tail call fast float @llvm.atan.f32(float [[VECEXT_1]]) ; NOACCELERATE-NEXT: [[VECINS_1:%.*]] = insertelement <4 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -789,7 +789,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @llvm.atan.f32(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @llvm.atan.f32(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -817,7 +817,7 @@ define <4 x float> @atan2_4x(ptr %a, ptr %b) { ; NOACCELERATE-NEXT: [[VECEXT:%.*]] = extractelement <4 x float> [[TMP0]], i32 0 ; NOACCELERATE-NEXT: [[VECEXTB:%.*]] = extractelement <4 x float> [[BB]], i32 0 ; NOACCELERATE-NEXT: [[TMP1:%.*]] = tail call fast float @atan2f(float [[VECEXT]], float [[VECEXTB]]) -; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> undef, float [[TMP1]], i32 0 +; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> zeroinitializer, float [[TMP1]], i32 0 ; NOACCELERATE-NEXT: [[VECEXT_1:%.*]] = extractelement <4 x float> [[TMP0]], i32 1 ; NOACCELERATE-NEXT: [[VECEXTB_1:%.*]] = extractelement <4 x float> [[BB]], i32 1 ; NOACCELERATE-NEXT: [[TMP2:%.*]] = tail call fast float @atan2f(float [[VECEXT_1]], float [[VECEXTB_1]]) @@ -835,7 +835,7 @@ entry: %vecext = extractelement <4 x float> %0, i32 0 %vecextb = extractelement <4 x float> %bb, i32 0 %1 = tail call fast float @atan2f(float %vecext, float %vecextb) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %vecextb.1 = extractelement <4 x float> %bb, i32 1 %2 = tail call fast float @atan2f(float %vecext.1, float %vecextb.1) @@ -865,7 +865,7 @@ define <4 x float> @int_atan2_4x(ptr %a, ptr %b) { ; NOACCELERATE-NEXT: [[VECEXT:%.*]] = extractelement <4 x float> [[TMP0]], i32 0 ; NOACCELERATE-NEXT: [[VECEXTB:%.*]] = extractelement <4 x float> [[BB]], i32 0 ; NOACCELERATE-NEXT: [[TMP1:%.*]] = tail call fast float @llvm.atan2.f32(float [[VECEXT]], float [[VECEXTB]]) -; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> undef, float [[TMP1]], i32 0 +; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> zeroinitializer, float [[TMP1]], i32 0 ; NOACCELERATE-NEXT: [[VECEXT_1:%.*]] = extractelement <4 x float> [[TMP0]], i32 1 ; NOACCELERATE-NEXT: [[VECEXTB_1:%.*]] = extractelement <4 x float> [[BB]], i32 1 ; NOACCELERATE-NEXT: [[TMP2:%.*]] = tail call fast float @llvm.atan2.f32(float [[VECEXT_1]], float [[VECEXTB_1]]) @@ -883,7 +883,7 @@ entry: %vecext = extractelement <4 x float> %0, i32 0 %vecextb = extractelement <4 x float> %bb, i32 0 %1 = tail call fast float @llvm.atan2.f32(float %vecext, float %vecextb) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %vecextb.1 = extractelement <4 x float> %bb, i32 1 %2 = tail call fast float @llvm.atan2.f32(float %vecext.1, float %vecextb.1) @@ -911,7 +911,7 @@ define <4 x float> @sinh_4x(ptr %a) { ; NOACCELERATE-NEXT: [[TMP0:%.*]] = load <4 x float>, ptr [[A:%.*]], align 16 ; NOACCELERATE-NEXT: [[VECEXT:%.*]] = extractelement <4 x float> [[TMP0]], i32 0 ; NOACCELERATE-NEXT: [[TMP1:%.*]] = tail call fast float @sinhf(float [[VECEXT]]) -; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> undef, float [[TMP1]], i32 0 +; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> zeroinitializer, float [[TMP1]], i32 0 ; NOACCELERATE-NEXT: [[VECEXT_1:%.*]] = extractelement <4 x float> [[TMP0]], i32 1 ; NOACCELERATE-NEXT: [[TMP2:%.*]] = tail call fast float @sinhf(float [[VECEXT_1]]) ; NOACCELERATE-NEXT: [[VECINS_1:%.*]] = insertelement <4 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -925,7 +925,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @sinhf(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @sinhf(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -949,7 +949,7 @@ define <4 x float> @int_sinh_4x(ptr %a) { ; NOACCELERATE-NEXT: [[TMP0:%.*]] = load <4 x float>, ptr [[A:%.*]], align 16 ; NOACCELERATE-NEXT: [[VECEXT:%.*]] = extractelement <4 x float> [[TMP0]], i32 0 ; NOACCELERATE-NEXT: [[TMP1:%.*]] = tail call fast float @llvm.sinh.f32(float [[VECEXT]]) -; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> undef, float [[TMP1]], i32 0 +; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> zeroinitializer, float [[TMP1]], i32 0 ; NOACCELERATE-NEXT: [[VECEXT_1:%.*]] = extractelement <4 x float> [[TMP0]], i32 1 ; NOACCELERATE-NEXT: [[TMP2:%.*]] = tail call fast float @llvm.sinh.f32(float [[VECEXT_1]]) ; NOACCELERATE-NEXT: [[VECINS_1:%.*]] = insertelement <4 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -963,7 +963,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @llvm.sinh.f32(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @llvm.sinh.f32(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -988,7 +988,7 @@ define <4 x float> @cosh_4x(ptr %a) { ; NOACCELERATE-NEXT: [[TMP0:%.*]] = load <4 x float>, ptr [[A:%.*]], align 16 ; NOACCELERATE-NEXT: [[VECEXT:%.*]] = extractelement <4 x float> [[TMP0]], i32 0 ; NOACCELERATE-NEXT: [[TMP1:%.*]] = tail call fast float @coshf(float [[VECEXT]]) -; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> undef, float [[TMP1]], i32 0 +; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> zeroinitializer, float [[TMP1]], i32 0 ; NOACCELERATE-NEXT: [[VECEXT_1:%.*]] = extractelement <4 x float> [[TMP0]], i32 1 ; NOACCELERATE-NEXT: [[TMP2:%.*]] = tail call fast float @coshf(float [[VECEXT_1]]) ; NOACCELERATE-NEXT: [[VECINS_1:%.*]] = insertelement <4 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -1002,7 +1002,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @coshf(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @coshf(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -1026,7 +1026,7 @@ define <4 x float> @int_cosh_4x(ptr %a) { ; NOACCELERATE-NEXT: [[TMP0:%.*]] = load <4 x float>, ptr [[A:%.*]], align 16 ; NOACCELERATE-NEXT: [[VECEXT:%.*]] = extractelement <4 x float> [[TMP0]], i32 0 ; NOACCELERATE-NEXT: [[TMP1:%.*]] = tail call fast float @llvm.cosh.f32(float [[VECEXT]]) -; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> undef, float [[TMP1]], i32 0 +; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> zeroinitializer, float [[TMP1]], i32 0 ; NOACCELERATE-NEXT: [[VECEXT_1:%.*]] = extractelement <4 x float> [[TMP0]], i32 1 ; NOACCELERATE-NEXT: [[TMP2:%.*]] = tail call fast float @llvm.cosh.f32(float [[VECEXT_1]]) ; NOACCELERATE-NEXT: [[VECINS_1:%.*]] = insertelement <4 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -1040,7 +1040,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @llvm.cosh.f32(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @llvm.cosh.f32(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -1065,7 +1065,7 @@ define <4 x float> @tanh_4x(ptr %a) { ; NOACCELERATE-NEXT: [[TMP0:%.*]] = load <4 x float>, ptr [[A:%.*]], align 16 ; NOACCELERATE-NEXT: [[VECEXT:%.*]] = extractelement <4 x float> [[TMP0]], i32 0 ; NOACCELERATE-NEXT: [[TMP1:%.*]] = tail call fast float @tanhf(float [[VECEXT]]) -; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> undef, float [[TMP1]], i32 0 +; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> zeroinitializer, float [[TMP1]], i32 0 ; NOACCELERATE-NEXT: [[VECEXT_1:%.*]] = extractelement <4 x float> [[TMP0]], i32 1 ; NOACCELERATE-NEXT: [[TMP2:%.*]] = tail call fast float @tanhf(float [[VECEXT_1]]) ; NOACCELERATE-NEXT: [[VECINS_1:%.*]] = insertelement <4 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -1079,7 +1079,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @tanhf(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @tanhf(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -1103,7 +1103,7 @@ define <4 x float> @int_tanh_4x(ptr %a) { ; NOACCELERATE-NEXT: [[TMP0:%.*]] = load <4 x float>, ptr [[A:%.*]], align 16 ; NOACCELERATE-NEXT: [[VECEXT:%.*]] = extractelement <4 x float> [[TMP0]], i32 0 ; NOACCELERATE-NEXT: [[TMP1:%.*]] = tail call fast float @llvm.tanh.f32(float [[VECEXT]]) -; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> undef, float [[TMP1]], i32 0 +; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> zeroinitializer, float [[TMP1]], i32 0 ; NOACCELERATE-NEXT: [[VECEXT_1:%.*]] = extractelement <4 x float> [[TMP0]], i32 1 ; NOACCELERATE-NEXT: [[TMP2:%.*]] = tail call fast float @llvm.tanh.f32(float [[VECEXT_1]]) ; NOACCELERATE-NEXT: [[VECINS_1:%.*]] = insertelement <4 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -1117,7 +1117,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @llvm.tanh.f32(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @llvm.tanh.f32(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -1142,7 +1142,7 @@ define <4 x float> @asinh_4x(ptr %a) { ; NOACCELERATE-NEXT: [[TMP0:%.*]] = load <4 x float>, ptr [[A:%.*]], align 16 ; NOACCELERATE-NEXT: [[VECEXT:%.*]] = extractelement <4 x float> [[TMP0]], i32 0 ; NOACCELERATE-NEXT: [[TMP1:%.*]] = tail call fast float @asinhf(float [[VECEXT]]) -; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> undef, float [[TMP1]], i32 0 +; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> zeroinitializer, float [[TMP1]], i32 0 ; NOACCELERATE-NEXT: [[VECEXT_1:%.*]] = extractelement <4 x float> [[TMP0]], i32 1 ; NOACCELERATE-NEXT: [[TMP2:%.*]] = tail call fast float @asinhf(float [[VECEXT_1]]) ; NOACCELERATE-NEXT: [[VECINS_1:%.*]] = insertelement <4 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -1158,7 +1158,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @asinhf(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @asinhf(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -1183,7 +1183,7 @@ define <4 x float> @acosh_4x(ptr %a) { ; NOACCELERATE-NEXT: [[TMP0:%.*]] = load <4 x float>, ptr [[A:%.*]], align 16 ; NOACCELERATE-NEXT: [[VECEXT:%.*]] = extractelement <4 x float> [[TMP0]], i32 0 ; NOACCELERATE-NEXT: [[TMP1:%.*]] = tail call fast float @acoshf(float [[VECEXT]]) -; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> undef, float [[TMP1]], i32 0 +; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> zeroinitializer, float [[TMP1]], i32 0 ; NOACCELERATE-NEXT: [[VECEXT_1:%.*]] = extractelement <4 x float> [[TMP0]], i32 1 ; NOACCELERATE-NEXT: [[TMP2:%.*]] = tail call fast float @acoshf(float [[VECEXT_1]]) ; NOACCELERATE-NEXT: [[VECINS_1:%.*]] = insertelement <4 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -1199,7 +1199,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @acoshf(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @acoshf(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -1224,7 +1224,7 @@ define <4 x float> @atanh_4x(ptr %a) { ; NOACCELERATE-NEXT: [[TMP0:%.*]] = load <4 x float>, ptr [[A:%.*]], align 16 ; NOACCELERATE-NEXT: [[VECEXT:%.*]] = extractelement <4 x float> [[TMP0]], i32 0 ; NOACCELERATE-NEXT: [[TMP1:%.*]] = tail call fast float @atanhf(float [[VECEXT]]) -; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> undef, float [[TMP1]], i32 0 +; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> zeroinitializer, float [[TMP1]], i32 0 ; NOACCELERATE-NEXT: [[VECEXT_1:%.*]] = extractelement <4 x float> [[TMP0]], i32 1 ; NOACCELERATE-NEXT: [[TMP2:%.*]] = tail call fast float @atanhf(float [[VECEXT_1]]) ; NOACCELERATE-NEXT: [[VECINS_1:%.*]] = insertelement <4 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -1240,7 +1240,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @atanhf(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @atanhf(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -1260,7 +1260,7 @@ define <2 x float> @sin_2x(ptr %a) { ; CHECK-NEXT: [[TMP0:%.*]] = load <2 x float>, ptr [[A:%.*]], align 16 ; CHECK-NEXT: [[VECEXT:%.*]] = extractelement <2 x float> [[TMP0]], i32 0 ; CHECK-NEXT: [[TMP1:%.*]] = tail call fast float @llvm.sin.f32(float [[VECEXT]]) #[[ATTR2:[0-9]+]] -; CHECK-NEXT: [[VECINS:%.*]] = insertelement <2 x float> undef, float [[TMP1]], i32 0 +; CHECK-NEXT: [[VECINS:%.*]] = insertelement <2 x float> zeroinitializer, float [[TMP1]], i32 0 ; CHECK-NEXT: [[VECEXT_1:%.*]] = extractelement <2 x float> [[TMP0]], i32 1 ; CHECK-NEXT: [[TMP2:%.*]] = tail call fast float @llvm.sin.f32(float [[VECEXT_1]]) #[[ATTR2]] ; CHECK-NEXT: [[VECINS_1:%.*]] = insertelement <2 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -1271,7 +1271,7 @@ define <2 x float> @sin_2x(ptr %a) { ; NOACCELERATE-NEXT: [[TMP0:%.*]] = load <2 x float>, ptr [[A:%.*]], align 16 ; NOACCELERATE-NEXT: [[VECEXT:%.*]] = extractelement <2 x float> [[TMP0]], i32 0 ; NOACCELERATE-NEXT: [[TMP1:%.*]] = tail call fast float @llvm.sin.f32(float [[VECEXT]]) -; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <2 x float> undef, float [[TMP1]], i32 0 +; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <2 x float> zeroinitializer, float [[TMP1]], i32 0 ; NOACCELERATE-NEXT: [[VECEXT_1:%.*]] = extractelement <2 x float> [[TMP0]], i32 1 ; NOACCELERATE-NEXT: [[TMP2:%.*]] = tail call fast float @llvm.sin.f32(float [[VECEXT_1]]) ; NOACCELERATE-NEXT: [[VECINS_1:%.*]] = insertelement <2 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -1281,7 +1281,7 @@ entry: %0 = load <2 x float>, ptr %a, align 16 %vecext = extractelement <2 x float> %0, i32 0 %1 = tail call fast float @llvm.sin.f32(float %vecext) - %vecins = insertelement <2 x float> undef, float %1, i32 0 + %vecins = insertelement <2 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <2 x float> %0, i32 1 %2 = tail call fast float @llvm.sin.f32(float %vecext.1) %vecins.1 = insertelement <2 x float> %vecins, float %2, i32 1 @@ -1304,7 +1304,7 @@ define <4 x float> @int_cos_4x(ptr %a) { ; NOACCELERATE-NEXT: [[TMP0:%.*]] = load <4 x float>, ptr [[A:%.*]], align 16 ; NOACCELERATE-NEXT: [[VECEXT:%.*]] = extractelement <4 x float> [[TMP0]], i32 0 ; NOACCELERATE-NEXT: [[TMP1:%.*]] = tail call fast float @llvm.cos.f32(float [[VECEXT]]) -; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> undef, float [[TMP1]], i32 0 +; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <4 x float> zeroinitializer, float [[TMP1]], i32 0 ; NOACCELERATE-NEXT: [[VECEXT_1:%.*]] = extractelement <4 x float> [[TMP0]], i32 1 ; NOACCELERATE-NEXT: [[TMP2:%.*]] = tail call fast float @llvm.cos.f32(float [[VECEXT_1]]) ; NOACCELERATE-NEXT: [[VECINS_1:%.*]] = insertelement <4 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -1318,7 +1318,7 @@ entry: %0 = load <4 x float>, ptr %a, align 16 %vecext = extractelement <4 x float> %0, i32 0 %1 = tail call fast float @llvm.cos.f32(float %vecext) - %vecins = insertelement <4 x float> undef, float %1, i32 0 + %vecins = insertelement <4 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <4 x float> %0, i32 1 %2 = tail call fast float @llvm.cos.f32(float %vecext.1) %vecins.1 = insertelement <4 x float> %vecins, float %2, i32 1 @@ -1338,7 +1338,7 @@ define <2 x float> @cos_2x(ptr %a) { ; CHECK-NEXT: [[TMP0:%.*]] = load <2 x float>, ptr [[A:%.*]], align 16 ; CHECK-NEXT: [[VECEXT:%.*]] = extractelement <2 x float> [[TMP0]], i32 0 ; CHECK-NEXT: [[TMP1:%.*]] = tail call fast float @llvm.cos.f32(float [[VECEXT]]) #[[ATTR3:[0-9]+]] -; CHECK-NEXT: [[VECINS:%.*]] = insertelement <2 x float> undef, float [[TMP1]], i32 0 +; CHECK-NEXT: [[VECINS:%.*]] = insertelement <2 x float> zeroinitializer, float [[TMP1]], i32 0 ; CHECK-NEXT: [[VECEXT_1:%.*]] = extractelement <2 x float> [[TMP0]], i32 1 ; CHECK-NEXT: [[TMP2:%.*]] = tail call fast float @llvm.cos.f32(float [[VECEXT_1]]) #[[ATTR3]] ; CHECK-NEXT: [[VECINS_1:%.*]] = insertelement <2 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -1349,7 +1349,7 @@ define <2 x float> @cos_2x(ptr %a) { ; NOACCELERATE-NEXT: [[TMP0:%.*]] = load <2 x float>, ptr [[A:%.*]], align 16 ; NOACCELERATE-NEXT: [[VECEXT:%.*]] = extractelement <2 x float> [[TMP0]], i32 0 ; NOACCELERATE-NEXT: [[TMP1:%.*]] = tail call fast float @llvm.cos.f32(float [[VECEXT]]) -; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <2 x float> undef, float [[TMP1]], i32 0 +; NOACCELERATE-NEXT: [[VECINS:%.*]] = insertelement <2 x float> zeroinitializer, float [[TMP1]], i32 0 ; NOACCELERATE-NEXT: [[VECEXT_1:%.*]] = extractelement <2 x float> [[TMP0]], i32 1 ; NOACCELERATE-NEXT: [[TMP2:%.*]] = tail call fast float @llvm.cos.f32(float [[VECEXT_1]]) ; NOACCELERATE-NEXT: [[VECINS_1:%.*]] = insertelement <2 x float> [[VECINS]], float [[TMP2]], i32 1 @@ -1359,7 +1359,7 @@ entry: %0 = load <2 x float>, ptr %a, align 16 %vecext = extractelement <2 x float> %0, i32 0 %1 = tail call fast float @llvm.cos.f32(float %vecext) - %vecins = insertelement <2 x float> undef, float %1, i32 0 + %vecins = insertelement <2 x float> zeroinitializer, float %1, i32 0 %vecext.1 = extractelement <2 x float> %0, i32 1 %2 = tail call fast float @llvm.cos.f32(float %vecext.1) %vecins.1 = insertelement <2 x float> %vecins, float %2, i32 1 diff --git a/llvm/test/Transforms/SLPVectorizer/X86/alternate-calls.ll b/llvm/test/Transforms/SLPVectorizer/X86/alternate-calls.ll index bfa5c56..27554e6 100644 --- a/llvm/test/Transforms/SLPVectorizer/X86/alternate-calls.ll +++ b/llvm/test/Transforms/SLPVectorizer/X86/alternate-calls.ll @@ -107,7 +107,7 @@ define <8 x float> @ceil_floor(<8 x float> %a) { %ab5 = call float @llvm.ceil.f32(float %a5) %ab6 = call float @llvm.floor.f32(float %a6) %ab7 = call float @llvm.floor.f32(float %a7) - %r0 = insertelement <8 x float> undef, float %ab0, i32 0 + %r0 = insertelement <8 x float> zeroinitializer, float %ab0, i32 0 %r1 = insertelement <8 x float> %r0, float %ab1, i32 1 %r2 = insertelement <8 x float> %r1, float %ab2, i32 2 %r3 = insertelement <8 x float> %r2, float %ab3, i32 3 diff --git a/llvm/test/Transforms/SLPVectorizer/X86/extract_in_tree_user.ll b/llvm/test/Transforms/SLPVectorizer/X86/extract_in_tree_user.ll index 6033e8d..fbde1e8 100644 --- a/llvm/test/Transforms/SLPVectorizer/X86/extract_in_tree_user.ll +++ b/llvm/test/Transforms/SLPVectorizer/X86/extract_in_tree_user.ll @@ -6,7 +6,7 @@ target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128" @a = common global ptr null, align 8 ; Function Attrs: nounwind ssp uwtable -define i32 @fn1() { +define void @fn1() { ; CHECK-LABEL: @fn1( ; CHECK-NEXT: entry: ; CHECK-NEXT: [[TMP0:%.*]] = load ptr, ptr @a, align 8 @@ -16,7 +16,7 @@ define i32 @fn1() { ; CHECK-NEXT: [[ADD_PTR:%.*]] = getelementptr inbounds i64, ptr [[TMP0]], i64 11 ; CHECK-NEXT: [[TMP4:%.*]] = ptrtoint <2 x ptr> [[TMP3]] to <2 x i64> ; CHECK-NEXT: store <2 x i64> [[TMP4]], ptr [[ADD_PTR]], align 8 -; CHECK-NEXT: ret i32 undef +; CHECK-NEXT: ret void ; entry: %0 = load ptr, ptr @a, align 8 @@ -27,7 +27,7 @@ entry: %2 = ptrtoint ptr %add.ptr1 to i64 %arrayidx2 = getelementptr inbounds i64, ptr %0, i64 12 store i64 %2, ptr %arrayidx2, align 8 - ret i32 undef + ret void } declare float @llvm.powi.f32.i32(float, i32) diff --git a/llvm/test/Transforms/SLPVectorizer/X86/powi-regression.ll b/llvm/test/Transforms/SLPVectorizer/X86/powi-regression.ll index 0eeef0d..9ae378f 100644 --- a/llvm/test/Transforms/SLPVectorizer/X86/powi-regression.ll +++ b/llvm/test/Transforms/SLPVectorizer/X86/powi-regression.ll @@ -12,7 +12,7 @@ define <2 x double> @PR53887_v2f64(<2 x double> noundef %x) { entry: %vecext = extractelement <2 x double> %x, i64 0 %0 = tail call fast double @llvm.powi.f64.i32(double %vecext, i32 6) - %vecinit = insertelement <2 x double> undef, double %0, i64 0 + %vecinit = insertelement <2 x double> zeroinitializer, double %0, i64 0 %vecext1 = extractelement <2 x double> %x, i64 1 %1 = tail call fast double @llvm.powi.f64.i32(double %vecext1, i32 6) %vecinit3 = insertelement <2 x double> %vecinit, double %1, i64 1 @@ -28,7 +28,7 @@ define <4 x double> @PR53887_v4f64(<4 x double> noundef %x) { entry: %vecext = extractelement <4 x double> %x, i64 0 %0 = tail call fast double @llvm.powi.f64.i32(double %vecext, i32 6) #2 - %vecinit = insertelement <4 x double> undef, double %0, i64 0 + %vecinit = insertelement <4 x double> zeroinitializer, double %0, i64 0 %vecext1 = extractelement <4 x double> %x, i64 1 %1 = tail call fast double @llvm.powi.f64.i32(double %vecext1, i32 6) #2 %vecinit3 = insertelement <4 x double> %vecinit, double %1, i64 1 |