diff --git a/llvm/test/Analysis/CostModel/AArch64/ext-rhadd.ll b/llvm/test/Analysis/CostModel/AArch64/ext-rhadd.ll index 94a37d944fc221..34791e876f1131 100644 --- a/llvm/test/Analysis/CostModel/AArch64/ext-rhadd.ll +++ b/llvm/test/Analysis/CostModel/AArch64/ext-rhadd.ll @@ -37,9 +37,9 @@ define void @srhadd_i8_sext_i16_scalable(ptr %a, ptr %b, ptr %dst) { %ld2 = load , ptr %b %ext1 = sext %ld1 to %ext2 = sext %ld2 to - %add1 = add nuw nsw %ext1, shufflevector ( insertelement ( poison, i16 1, i64 0), poison, zeroinitializer) + %add1 = add nuw nsw %ext1, splat (i16 1) %add2 = add nuw nsw %add1, %ext2 - %shr = lshr %add2, shufflevector ( insertelement ( poison, i16 1, i64 0), poison, zeroinitializer) + %shr = lshr %add2, splat (i16 1) %trunc = trunc %shr to store %trunc, ptr %a ret void @@ -58,9 +58,9 @@ define void @srhadd_i16_sext_i64_scalable(ptr %a, ptr %b, ptr %dst) { %ld2 = load , ptr %b %ext1 = sext %ld1 to %ext2 = sext %ld2 to - %add1 = add nuw nsw %ext1, shufflevector ( insertelement ( poison, i64 1, i64 0), poison, zeroinitializer) + %add1 = add nuw nsw %ext1, splat (i64 1) %add2 = add nuw nsw %add1, %ext2 - %shr = lshr %add2, shufflevector ( insertelement ( poison, i64 1, i64 0), poison, zeroinitializer) + %shr = lshr %add2, splat (i64 1) %trunc = trunc %shr to store %trunc, ptr %a ret void @@ -102,9 +102,9 @@ define void @urhadd_i8_zext_i64(ptr %a, ptr %b, ptr %dst) { %ld2 = load , ptr %b %ext1 = zext %ld1 to %ext2 = zext %ld2 to - %add1 = add nuw nsw %ext1, shufflevector ( insertelement ( poison, i64 1, i64 0), poison, zeroinitializer) + %add1 = add nuw nsw %ext1, splat (i64 1) %add2 = add nuw nsw %add1, %ext2 - %shr = lshr %add2, shufflevector ( insertelement ( poison, i64 1, i64 0), poison, zeroinitializer) + %shr = lshr %add2, splat (i64 1) %trunc = trunc %shr to store %trunc, ptr %a ret void @@ -123,9 +123,9 @@ define void @urhadd_i16_zext_i32(ptr %a, ptr %b, ptr %dst) { %ld2 = load , ptr %b %ext1 = zext %ld1 to %ext2 = zext %ld2 to - %add1 = add nuw nsw %ext1, shufflevector ( insertelement ( poison, i32 1, i64 0), poison, zeroinitializer) + %add1 = add nuw nsw %ext1, splat (i32 1) %add2 = add nuw nsw %add1, %ext2 - %shr = lshr %add2, shufflevector ( insertelement ( poison, i32 1, i64 0), poison, zeroinitializer) + %shr = lshr %add2, splat (i32 1) %trunc = trunc %shr to store %trunc, ptr %a ret void @@ -146,9 +146,9 @@ define void @ext_operand_mismatch(ptr %a, ptr %b, ptr %dst) { %ld2 = load , ptr %b %ext1 = sext %ld1 to %ext2 = zext %ld2 to - %add1 = add nuw nsw %ext1, shufflevector ( insertelement ( poison, i16 1, i64 0), poison, zeroinitializer) + %add1 = add nuw nsw %ext1, splat (i16 1) %add2 = add nuw nsw %add1, %ext2 - %shr = lshr %add2, shufflevector ( insertelement ( poison, i16 1, i64 0), poison, zeroinitializer) + %shr = lshr %add2, splat (i16 1) %trunc = trunc %shr to store %trunc, ptr %a ret void @@ -167,9 +167,9 @@ define void @add_multiple_uses(ptr %a, ptr %b, ptr %dst) { %ld2 = load , ptr %b %ext1 = sext %ld1 to %ext2 = sext %ld2 to - %add1 = add nuw nsw %ext1, shufflevector ( insertelement ( poison, i32 1, i64 0), poison, zeroinitializer) + %add1 = add nuw nsw %ext1, splat (i32 1) %add2 = add nuw nsw %add1, %ext2 - %shr = lshr %add2, shufflevector ( insertelement ( poison, i32 1, i64 0), poison, zeroinitializer) + %shr = lshr %add2, splat (i32 1) %trunc = trunc %shr to %add.res = add nuw nsw %add1, %add2 %res = trunc %add.res to @@ -190,9 +190,9 @@ define void @shift_multiple_uses(ptr %a, ptr %b, ptr %dst) { %ld2 = load , ptr %b %ext1 = zext %ld1 to %ext2 = zext %ld2 to - %add1 = add nuw nsw %ext1, shufflevector ( insertelement ( poison, i16 1, i64 0), poison, zeroinitializer) + %add1 = add nuw nsw %ext1, splat (i16 1) %add2 = add nuw nsw %add1, %ext2 - %shr = lshr %add2, shufflevector ( insertelement ( poison, i16 1, i64 0), poison, zeroinitializer) + %shr = lshr %add2, splat (i16 1) %trunc = trunc %shr to %add3 = add nuw nsw %shr, %add2 %res = trunc %add3 to diff --git a/llvm/test/CodeGen/Generic/expand-vp-load-store.ll b/llvm/test/CodeGen/Generic/expand-vp-load-store.ll index 8984d020f99edc..5c6f1e858ce7cb 100644 --- a/llvm/test/CodeGen/Generic/expand-vp-load-store.ll +++ b/llvm/test/CodeGen/Generic/expand-vp-load-store.ll @@ -127,7 +127,7 @@ define @vpload_nxv1i64_allones_mask(ptr %ptr, i32 zeroext %ev ; CHECK-NEXT: [[TMP3:%.*]] = call @llvm.masked.load.nxv1i64.p0(ptr [[PTR:%.*]], i32 1, [[TMP2]], poison) ; CHECK-NEXT: ret [[TMP3]] ; - %load = call @llvm.vp.load.nxv1i64.p0(ptr %ptr, shufflevector ( insertelement ( poison, i1 true, i64 0), poison, zeroinitializer), i32 %evl) + %load = call @llvm.vp.load.nxv1i64.p0(ptr %ptr, splat (i1 true), i32 %evl) ret %load } @@ -140,7 +140,7 @@ define @vpload_nxv1i64_allones_mask_vscale(ptr %ptr) { ; %vscale = call i32 @llvm.vscale.i32() %vlmax = mul nuw i32 %vscale, 1 - %load = call @llvm.vp.load.nxv1i64.p0(ptr %ptr, shufflevector ( insertelement ( poison, i1 true, i64 0), poison, zeroinitializer), i32 %vlmax) + %load = call @llvm.vp.load.nxv1i64.p0(ptr %ptr, splat (i1 true), i32 %vlmax) ret %load } @@ -179,7 +179,7 @@ define void @vpstore_nxv1i64_allones_mask( %val, ptr %ptr, i32 ; CHECK-NEXT: call void @llvm.masked.store.nxv1i64.p0( [[VAL:%.*]], ptr [[PTR:%.*]], i32 1, [[TMP2]]) ; CHECK-NEXT: ret void ; - call void @llvm.vp.store.nxv1i64.p0( %val, ptr %ptr, shufflevector ( insertelement ( poison, i1 true, i64 0), poison, zeroinitializer), i32 %evl) + call void @llvm.vp.store.nxv1i64.p0( %val, ptr %ptr, splat (i1 true), i32 %evl) ret void } @@ -192,7 +192,7 @@ define void @vpstore_nxv1i64_allones_mask_vscale( %val, ptr %p ; %vscale = call i32 @llvm.vscale.i32() %vlmax = mul nuw i32 %vscale, 1 - call void @llvm.vp.store.nxv1i64.p0( %val, ptr %ptr, shufflevector ( insertelement ( poison, i1 true, i64 0), poison, zeroinitializer), i32 %vlmax) + call void @llvm.vp.store.nxv1i64.p0( %val, ptr %ptr, splat (i1 true), i32 %vlmax) ret void } diff --git a/llvm/test/Transforms/AggressiveInstCombine/vector-or-load.ll b/llvm/test/Transforms/AggressiveInstCombine/vector-or-load.ll index f7d48ce1e099c8..170fde4ef7002e 100644 --- a/llvm/test/Transforms/AggressiveInstCombine/vector-or-load.ll +++ b/llvm/test/Transforms/AggressiveInstCombine/vector-or-load.ll @@ -35,7 +35,7 @@ define @or-load-scalable-vector(ptr %p1) { ; CHECK-NEXT: [[L2:%.*]] = load , ptr [[P2]], align 1 ; CHECK-NEXT: [[E1:%.*]] = zext [[L1]] to ; CHECK-NEXT: [[E2:%.*]] = zext [[L2]] to -; CHECK-NEXT: [[S2:%.*]] = shl [[E2]], shufflevector ( insertelement ( poison, i16 8, i32 0), poison, zeroinitializer) +; CHECK-NEXT: [[S2:%.*]] = shl [[E2]], shufflevector ( insertelement ( poison, i16 8, i64 0), poison, zeroinitializer) ; CHECK-NEXT: [[OR:%.*]] = or [[E1]], [[S2]] ; CHECK-NEXT: ret [[OR]] ; @@ -44,7 +44,7 @@ define @or-load-scalable-vector(ptr %p1) { %l2 = load , ptr %p2, align 1 %e1 = zext %l1 to %e2 = zext %l2 to - %s2 = shl %e2, shufflevector ( insertelement ( poison, i16 8, i32 0), poison, zeroinitializer) + %s2 = shl %e2, splat (i16 8) %or = or %e1, %s2 ret %or } diff --git a/llvm/test/Transforms/MemCpyOpt/vscale-crashes.ll b/llvm/test/Transforms/MemCpyOpt/vscale-crashes.ll index adab2238ab5b28..dee0af0cc09e05 100644 --- a/llvm/test/Transforms/MemCpyOpt/vscale-crashes.ll +++ b/llvm/test/Transforms/MemCpyOpt/vscale-crashes.ll @@ -71,7 +71,7 @@ define void @callslotoptzn( %val, ptr %out) { ; CHECK-NEXT: [[ALLOC:%.*]] = alloca , align 16 ; CHECK-NEXT: [[IDX:%.*]] = tail call @llvm.experimental.stepvector.nxv4i32() ; CHECK-NEXT: [[STRIDE:%.*]] = getelementptr inbounds float, ptr [[ALLOC]], [[IDX]] -; CHECK-NEXT: call void @llvm.masked.scatter.nxv4f32.nxv4p0( [[VAL:%.*]], [[STRIDE]], i32 4, shufflevector ( insertelement ( poison, i1 true, i32 0), poison, zeroinitializer)) +; CHECK-NEXT: call void @llvm.masked.scatter.nxv4f32.nxv4p0( [[VAL:%.*]], [[STRIDE]], i32 4, shufflevector ( insertelement ( poison, i1 true, i64 0), poison, zeroinitializer)) ; CHECK-NEXT: [[LI:%.*]] = load , ptr [[ALLOC]], align 4 ; CHECK-NEXT: store [[LI]], ptr [[OUT:%.*]], align 4 ; CHECK-NEXT: ret void @@ -79,7 +79,7 @@ define void @callslotoptzn( %val, ptr %out) { %alloc = alloca , align 16 %idx = tail call @llvm.experimental.stepvector.nxv4i32() %stride = getelementptr inbounds float, ptr %alloc, %idx - call void @llvm.masked.scatter.nxv4f32.nxv4p0( %val, %stride, i32 4, shufflevector ( insertelement ( poison, i1 true, i32 0), poison, zeroinitializer)) + call void @llvm.masked.scatter.nxv4f32.nxv4p0( %val, %stride, i32 4, splat (i1 true)) %li = load , ptr %alloc, align 4 store %li, ptr %out, align 4 ret void diff --git a/llvm/test/Transforms/VectorCombine/RISCV/vpintrin-scalarization.ll b/llvm/test/Transforms/VectorCombine/RISCV/vpintrin-scalarization.ll index e95aea4eb487b8..7dc0ba50c1f8c8 100644 --- a/llvm/test/Transforms/VectorCombine/RISCV/vpintrin-scalarization.ll +++ b/llvm/test/Transforms/VectorCombine/RISCV/vpintrin-scalarization.ll @@ -51,7 +51,7 @@ define @add_nxv1i64_allonesmask( %x, i64 %y ; NO-VEC-COMBINE-NEXT: [[MASK:%.*]] = shufflevector [[SPLAT]], poison, zeroinitializer ; NO-VEC-COMBINE-NEXT: [[TMP1:%.*]] = insertelement poison, i64 [[Y:%.*]], i64 0 ; NO-VEC-COMBINE-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.add.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) +; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.add.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) ; NO-VEC-COMBINE-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; NO-VEC-COMBINE-NEXT: ret [[TMP4]] ; @@ -59,7 +59,7 @@ define @add_nxv1i64_allonesmask( %x, i64 %y %mask = shufflevector %splat, poison, zeroinitializer %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.add.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.add.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -68,13 +68,13 @@ define @add_nxv1i64_anymask( %x, i64 %y, poison, i64 [[Y:%.*]], i64 0 ; ALL-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.add.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) +; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.add.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) ; ALL-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; ALL-NEXT: ret [[TMP4]] ; %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.add.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.add.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -94,7 +94,7 @@ define @sub_nxv1i64_allonesmask( %x, i64 %y ; NO-VEC-COMBINE-NEXT: [[MASK:%.*]] = shufflevector [[SPLAT]], poison, zeroinitializer ; NO-VEC-COMBINE-NEXT: [[TMP1:%.*]] = insertelement poison, i64 [[Y:%.*]], i64 0 ; NO-VEC-COMBINE-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.sub.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) +; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.sub.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) ; NO-VEC-COMBINE-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; NO-VEC-COMBINE-NEXT: ret [[TMP4]] ; @@ -102,7 +102,7 @@ define @sub_nxv1i64_allonesmask( %x, i64 %y %mask = shufflevector %splat, poison, zeroinitializer %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.sub.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.sub.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -111,13 +111,13 @@ define @sub_nxv1i64_anymask( %x, i64 %y, poison, i64 [[Y:%.*]], i64 0 ; ALL-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.sub.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) +; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.sub.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) ; ALL-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; ALL-NEXT: ret [[TMP4]] ; %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.sub.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.sub.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -137,7 +137,7 @@ define @mul_nxv1i64_allonesmask( %x, i64 %y ; NO-VEC-COMBINE-NEXT: [[MASK:%.*]] = shufflevector [[SPLAT]], poison, zeroinitializer ; NO-VEC-COMBINE-NEXT: [[TMP1:%.*]] = insertelement poison, i64 [[Y:%.*]], i64 0 ; NO-VEC-COMBINE-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.mul.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) +; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.mul.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) ; NO-VEC-COMBINE-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; NO-VEC-COMBINE-NEXT: ret [[TMP4]] ; @@ -145,7 +145,7 @@ define @mul_nxv1i64_allonesmask( %x, i64 %y %mask = shufflevector %splat, poison, zeroinitializer %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.mul.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.mul.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -154,13 +154,13 @@ define @mul_nxv1i64_anymask( %x, i64 %y, poison, i64 [[Y:%.*]], i64 0 ; ALL-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.mul.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) +; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.mul.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) ; ALL-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; ALL-NEXT: ret [[TMP4]] ; %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.mul.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.mul.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -180,7 +180,7 @@ define @sdiv_nxv1i64_allonesmask( %x, i64 % ; NO-VEC-COMBINE-NEXT: [[MASK:%.*]] = shufflevector [[SPLAT]], poison, zeroinitializer ; NO-VEC-COMBINE-NEXT: [[TMP1:%.*]] = insertelement poison, i64 [[Y:%.*]], i64 0 ; NO-VEC-COMBINE-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.sdiv.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) +; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.sdiv.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) ; NO-VEC-COMBINE-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; NO-VEC-COMBINE-NEXT: ret [[TMP4]] ; @@ -188,7 +188,7 @@ define @sdiv_nxv1i64_allonesmask( %x, i64 % %mask = shufflevector %splat, poison, zeroinitializer %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.sdiv.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.sdiv.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -197,13 +197,13 @@ define @sdiv_nxv1i64_anymask( %x, i64 %y, < ; ALL-LABEL: @sdiv_nxv1i64_anymask( ; ALL-NEXT: [[TMP1:%.*]] = insertelement poison, i64 [[Y:%.*]], i64 0 ; ALL-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.sdiv.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) +; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.sdiv.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) ; ALL-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; ALL-NEXT: ret [[TMP4]] ; %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.sdiv.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.sdiv.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -244,7 +244,7 @@ define @udiv_nxv1i64_allonesmask( %x, i64 % ; NO-VEC-COMBINE-NEXT: [[MASK:%.*]] = shufflevector [[SPLAT]], poison, zeroinitializer ; NO-VEC-COMBINE-NEXT: [[TMP1:%.*]] = insertelement poison, i64 [[Y:%.*]], i64 0 ; NO-VEC-COMBINE-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.udiv.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) +; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.udiv.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) ; NO-VEC-COMBINE-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; NO-VEC-COMBINE-NEXT: ret [[TMP4]] ; @@ -252,7 +252,7 @@ define @udiv_nxv1i64_allonesmask( %x, i64 % %mask = shufflevector %splat, poison, zeroinitializer %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.udiv.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.udiv.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -261,13 +261,13 @@ define @udiv_nxv1i64_anymask( %x, i64 %y, < ; ALL-LABEL: @udiv_nxv1i64_anymask( ; ALL-NEXT: [[TMP1:%.*]] = insertelement poison, i64 [[Y:%.*]], i64 0 ; ALL-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.udiv.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) +; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.udiv.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) ; ALL-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; ALL-NEXT: ret [[TMP4]] ; %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.udiv.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.udiv.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -308,7 +308,7 @@ define @srem_nxv1i64_allonesmask( %x, i64 % ; NO-VEC-COMBINE-NEXT: [[MASK:%.*]] = shufflevector [[SPLAT]], poison, zeroinitializer ; NO-VEC-COMBINE-NEXT: [[TMP1:%.*]] = insertelement poison, i64 [[Y:%.*]], i64 0 ; NO-VEC-COMBINE-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.srem.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) +; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.srem.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) ; NO-VEC-COMBINE-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; NO-VEC-COMBINE-NEXT: ret [[TMP4]] ; @@ -316,7 +316,7 @@ define @srem_nxv1i64_allonesmask( %x, i64 % %mask = shufflevector %splat, poison, zeroinitializer %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.srem.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.srem.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -325,13 +325,13 @@ define @srem_nxv1i64_anymask( %x, i64 %y, < ; ALL-LABEL: @srem_nxv1i64_anymask( ; ALL-NEXT: [[TMP1:%.*]] = insertelement poison, i64 [[Y:%.*]], i64 0 ; ALL-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.srem.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) +; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.srem.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) ; ALL-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; ALL-NEXT: ret [[TMP4]] ; %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.srem.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.srem.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -372,7 +372,7 @@ define @urem_nxv1i64_allonesmask( %x, i64 % ; NO-VEC-COMBINE-NEXT: [[MASK:%.*]] = shufflevector [[SPLAT]], poison, zeroinitializer ; NO-VEC-COMBINE-NEXT: [[TMP1:%.*]] = insertelement poison, i64 [[Y:%.*]], i64 0 ; NO-VEC-COMBINE-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.urem.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) +; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.urem.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) ; NO-VEC-COMBINE-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; NO-VEC-COMBINE-NEXT: ret [[TMP4]] ; @@ -380,7 +380,7 @@ define @urem_nxv1i64_allonesmask( %x, i64 % %mask = shufflevector %splat, poison, zeroinitializer %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.urem.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.urem.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -389,13 +389,13 @@ define @urem_nxv1i64_anymask( %x, i64 %y, < ; ALL-LABEL: @urem_nxv1i64_anymask( ; ALL-NEXT: [[TMP1:%.*]] = insertelement poison, i64 [[Y:%.*]], i64 0 ; ALL-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.urem.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) +; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.urem.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) ; ALL-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; ALL-NEXT: ret [[TMP4]] ; %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.urem.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.urem.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -612,7 +612,7 @@ define @ashr_nxv1i64_allonesmask( %x, i64 % ; NO-VEC-COMBINE-NEXT: [[MASK:%.*]] = shufflevector [[SPLAT]], poison, zeroinitializer ; NO-VEC-COMBINE-NEXT: [[TMP1:%.*]] = insertelement poison, i64 [[Y:%.*]], i64 0 ; NO-VEC-COMBINE-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.ashr.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) +; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.ashr.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) ; NO-VEC-COMBINE-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; NO-VEC-COMBINE-NEXT: ret [[TMP4]] ; @@ -620,7 +620,7 @@ define @ashr_nxv1i64_allonesmask( %x, i64 % %mask = shufflevector %splat, poison, zeroinitializer %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.ashr.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.ashr.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -629,13 +629,13 @@ define @ashr_nxv1i64_anymask( %x, i64 %y, < ; ALL-LABEL: @ashr_nxv1i64_anymask( ; ALL-NEXT: [[TMP1:%.*]] = insertelement poison, i64 [[Y:%.*]], i64 0 ; ALL-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.ashr.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) +; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.ashr.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) ; ALL-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; ALL-NEXT: ret [[TMP4]] ; %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.ashr.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.ashr.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -655,7 +655,7 @@ define @lshr_nxv1i64_allonesmask( %x, i64 % ; NO-VEC-COMBINE-NEXT: [[MASK:%.*]] = shufflevector [[SPLAT]], poison, zeroinitializer ; NO-VEC-COMBINE-NEXT: [[TMP1:%.*]] = insertelement poison, i64 [[Y:%.*]], i64 0 ; NO-VEC-COMBINE-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.lshr.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) +; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.lshr.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) ; NO-VEC-COMBINE-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; NO-VEC-COMBINE-NEXT: ret [[TMP4]] ; @@ -663,7 +663,7 @@ define @lshr_nxv1i64_allonesmask( %x, i64 % %mask = shufflevector %splat, poison, zeroinitializer %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.lshr.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.lshr.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -672,13 +672,13 @@ define @lshr_nxv1i64_anymask( %x, i64 %y, < ; ALL-LABEL: @lshr_nxv1i64_anymask( ; ALL-NEXT: [[TMP1:%.*]] = insertelement poison, i64 [[Y:%.*]], i64 0 ; ALL-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.lshr.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) +; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.lshr.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) ; ALL-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; ALL-NEXT: ret [[TMP4]] ; %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.lshr.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.lshr.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -698,7 +698,7 @@ define @shl_nxv1i64_allonesmask( %x, i64 %y ; NO-VEC-COMBINE-NEXT: [[MASK:%.*]] = shufflevector [[SPLAT]], poison, zeroinitializer ; NO-VEC-COMBINE-NEXT: [[TMP1:%.*]] = insertelement poison, i64 [[Y:%.*]], i64 0 ; NO-VEC-COMBINE-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.shl.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) +; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.shl.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) ; NO-VEC-COMBINE-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; NO-VEC-COMBINE-NEXT: ret [[TMP4]] ; @@ -706,7 +706,7 @@ define @shl_nxv1i64_allonesmask( %x, i64 %y %mask = shufflevector %splat, poison, zeroinitializer %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.shl.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.shl.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -715,13 +715,13 @@ define @shl_nxv1i64_anymask( %x, i64 %y, poison, i64 [[Y:%.*]], i64 0 ; ALL-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.shl.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) +; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.shl.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) ; ALL-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; ALL-NEXT: ret [[TMP4]] ; %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.shl.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.shl.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -741,7 +741,7 @@ define @or_nxv1i64_allonesmask( %x, i64 %y, ; NO-VEC-COMBINE-NEXT: [[MASK:%.*]] = shufflevector [[SPLAT]], poison, zeroinitializer ; NO-VEC-COMBINE-NEXT: [[TMP1:%.*]] = insertelement poison, i64 [[Y:%.*]], i64 0 ; NO-VEC-COMBINE-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.or.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) +; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.or.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) ; NO-VEC-COMBINE-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; NO-VEC-COMBINE-NEXT: ret [[TMP4]] ; @@ -749,7 +749,7 @@ define @or_nxv1i64_allonesmask( %x, i64 %y, %mask = shufflevector %splat, poison, zeroinitializer %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.or.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.or.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -758,13 +758,13 @@ define @or_nxv1i64_anymask( %x, i64 %y, poison, i64 [[Y:%.*]], i64 0 ; ALL-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.or.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) +; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.or.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) ; ALL-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; ALL-NEXT: ret [[TMP4]] ; %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.or.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.or.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -784,7 +784,7 @@ define @and_nxv1i64_allonesmask( %x, i64 %y ; NO-VEC-COMBINE-NEXT: [[MASK:%.*]] = shufflevector [[SPLAT]], poison, zeroinitializer ; NO-VEC-COMBINE-NEXT: [[TMP1:%.*]] = insertelement poison, i64 [[Y:%.*]], i64 0 ; NO-VEC-COMBINE-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.and.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) +; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.and.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) ; NO-VEC-COMBINE-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; NO-VEC-COMBINE-NEXT: ret [[TMP4]] ; @@ -792,7 +792,7 @@ define @and_nxv1i64_allonesmask( %x, i64 %y %mask = shufflevector %splat, poison, zeroinitializer %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.and.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.and.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -801,13 +801,13 @@ define @and_nxv1i64_anymask( %x, i64 %y, poison, i64 [[Y:%.*]], i64 0 ; ALL-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.and.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) +; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.and.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) ; ALL-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; ALL-NEXT: ret [[TMP4]] ; %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.and.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.and.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -827,7 +827,7 @@ define @xor_nxv1i64_allonesmask( %x, i64 %y ; NO-VEC-COMBINE-NEXT: [[MASK:%.*]] = shufflevector [[SPLAT]], poison, zeroinitializer ; NO-VEC-COMBINE-NEXT: [[TMP1:%.*]] = insertelement poison, i64 [[Y:%.*]], i64 0 ; NO-VEC-COMBINE-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.xor.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) +; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.xor.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) ; NO-VEC-COMBINE-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; NO-VEC-COMBINE-NEXT: ret [[TMP4]] ; @@ -835,7 +835,7 @@ define @xor_nxv1i64_allonesmask( %x, i64 %y %mask = shufflevector %splat, poison, zeroinitializer %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.xor.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.xor.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -844,13 +844,13 @@ define @xor_nxv1i64_anymask( %x, i64 %y, poison, i64 [[Y:%.*]], i64 0 ; ALL-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.xor.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) +; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.xor.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) ; ALL-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; ALL-NEXT: ret [[TMP4]] ; %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.xor.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.xor.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -870,7 +870,7 @@ define @smin_nxv1i64_allonesmask( %x, i64 % ; NO-VEC-COMBINE-NEXT: [[MASK:%.*]] = shufflevector [[SPLAT]], poison, zeroinitializer ; NO-VEC-COMBINE-NEXT: [[TMP1:%.*]] = insertelement poison, i64 [[Y:%.*]], i64 0 ; NO-VEC-COMBINE-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.smin.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) +; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.smin.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) ; NO-VEC-COMBINE-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; NO-VEC-COMBINE-NEXT: ret [[TMP4]] ; @@ -878,7 +878,7 @@ define @smin_nxv1i64_allonesmask( %x, i64 % %mask = shufflevector %splat, poison, zeroinitializer %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.smin.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.smin.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -887,13 +887,13 @@ define @smin_nxv1i64_anymask( %x, i64 %y, < ; ALL-LABEL: @smin_nxv1i64_anymask( ; ALL-NEXT: [[TMP1:%.*]] = insertelement poison, i64 [[Y:%.*]], i64 0 ; ALL-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.smin.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) +; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.smin.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) ; ALL-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; ALL-NEXT: ret [[TMP4]] ; %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.smin.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.smin.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -913,7 +913,7 @@ define @smax_nxv1i64_allonesmask( %x, i64 % ; NO-VEC-COMBINE-NEXT: [[MASK:%.*]] = shufflevector [[SPLAT]], poison, zeroinitializer ; NO-VEC-COMBINE-NEXT: [[TMP1:%.*]] = insertelement poison, i64 [[Y:%.*]], i64 0 ; NO-VEC-COMBINE-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.smax.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) +; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.smax.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) ; NO-VEC-COMBINE-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; NO-VEC-COMBINE-NEXT: ret [[TMP4]] ; @@ -921,7 +921,7 @@ define @smax_nxv1i64_allonesmask( %x, i64 % %mask = shufflevector %splat, poison, zeroinitializer %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.smax.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.smax.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -930,13 +930,13 @@ define @smax_nxv1i64_anymask( %x, i64 %y, < ; ALL-LABEL: @smax_nxv1i64_anymask( ; ALL-NEXT: [[TMP1:%.*]] = insertelement poison, i64 [[Y:%.*]], i64 0 ; ALL-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.smax.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) +; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.smax.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) ; ALL-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; ALL-NEXT: ret [[TMP4]] ; %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.smax.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.smax.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -956,7 +956,7 @@ define @umin_nxv1i64_allonesmask( %x, i64 % ; NO-VEC-COMBINE-NEXT: [[MASK:%.*]] = shufflevector [[SPLAT]], poison, zeroinitializer ; NO-VEC-COMBINE-NEXT: [[TMP1:%.*]] = insertelement poison, i64 [[Y:%.*]], i64 0 ; NO-VEC-COMBINE-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.umin.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) +; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.umin.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) ; NO-VEC-COMBINE-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; NO-VEC-COMBINE-NEXT: ret [[TMP4]] ; @@ -964,7 +964,7 @@ define @umin_nxv1i64_allonesmask( %x, i64 % %mask = shufflevector %splat, poison, zeroinitializer %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.umin.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.umin.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -984,7 +984,7 @@ define @umax_nxv1i64_allonesmask( %x, i64 % ; NO-VEC-COMBINE-NEXT: [[MASK:%.*]] = shufflevector [[SPLAT]], poison, zeroinitializer ; NO-VEC-COMBINE-NEXT: [[TMP1:%.*]] = insertelement poison, i64 [[Y:%.*]], i64 0 ; NO-VEC-COMBINE-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.umax.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) +; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.umax.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) ; NO-VEC-COMBINE-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; NO-VEC-COMBINE-NEXT: ret [[TMP4]] ; @@ -992,7 +992,7 @@ define @umax_nxv1i64_allonesmask( %x, i64 % %mask = shufflevector %splat, poison, zeroinitializer %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.umax.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.umax.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -1001,13 +1001,13 @@ define @umax_nxv1i64_anymask( %x, i64 %y, < ; ALL-LABEL: @umax_nxv1i64_anymask( ; ALL-NEXT: [[TMP1:%.*]] = insertelement poison, i64 [[Y:%.*]], i64 0 ; ALL-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.umax.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i32 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) +; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.umax.nxv1i64( [[TMP2]], shufflevector ( insertelement ( poison, i64 42, i64 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) ; ALL-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv1i64( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; ALL-NEXT: ret [[TMP4]] ; %1 = insertelement poison, i64 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.umax.nxv1i64( %2, shufflevector( insertelement( poison, i64 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.umax.nxv1i64( %2, splat (i64 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv1i64( %x, %3, %mask, i32 %evl) ret %4 } @@ -1027,7 +1027,7 @@ define @fadd_nxv1f32_allonesmask( %x, f ; NO-VEC-COMBINE-NEXT: [[MASK:%.*]] = shufflevector [[SPLAT]], poison, zeroinitializer ; NO-VEC-COMBINE-NEXT: [[TMP1:%.*]] = insertelement poison, float [[Y:%.*]], i64 0 ; NO-VEC-COMBINE-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.fadd.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i32 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) +; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.fadd.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i64 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) ; NO-VEC-COMBINE-NEXT: [[TMP4:%.*]] = call @llvm.vp.fadd.nxv1f32( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; NO-VEC-COMBINE-NEXT: ret [[TMP4]] ; @@ -1035,7 +1035,7 @@ define @fadd_nxv1f32_allonesmask( %x, f %mask = shufflevector %splat, poison, zeroinitializer %1 = insertelement poison, float %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.fadd.nxv1f32( %2, shufflevector( insertelement( poison, float 42.0, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.fadd.nxv1f32( %2, splat (float 42.0), %mask, i32 %evl) %4 = call @llvm.vp.fadd.nxv1f32( %x, %3, %mask, i32 %evl) ret %4 } @@ -1044,13 +1044,13 @@ define @fadd_nxv1f32_anymask( %x, float ; ALL-LABEL: @fadd_nxv1f32_anymask( ; ALL-NEXT: [[TMP1:%.*]] = insertelement poison, float [[Y:%.*]], i64 0 ; ALL-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.fadd.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i32 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) +; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.fadd.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i64 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) ; ALL-NEXT: [[TMP4:%.*]] = call @llvm.vp.fadd.nxv1f32( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; ALL-NEXT: ret [[TMP4]] ; %1 = insertelement poison, float %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.fadd.nxv1f32( %2, shufflevector( insertelement( poison, float 42.0, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.fadd.nxv1f32( %2, splat (float 42.0), %mask, i32 %evl) %4 = call @llvm.vp.fadd.nxv1f32( %x, %3, %mask, i32 %evl) ret %4 } @@ -1070,7 +1070,7 @@ define @fsub_nxv1f32_allonesmask( %x, f ; NO-VEC-COMBINE-NEXT: [[MASK:%.*]] = shufflevector [[SPLAT]], poison, zeroinitializer ; NO-VEC-COMBINE-NEXT: [[TMP1:%.*]] = insertelement poison, float [[Y:%.*]], i64 0 ; NO-VEC-COMBINE-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.fsub.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i32 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) +; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.fsub.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i64 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) ; NO-VEC-COMBINE-NEXT: [[TMP4:%.*]] = call @llvm.vp.fadd.nxv1f32( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; NO-VEC-COMBINE-NEXT: ret [[TMP4]] ; @@ -1078,7 +1078,7 @@ define @fsub_nxv1f32_allonesmask( %x, f %mask = shufflevector %splat, poison, zeroinitializer %1 = insertelement poison, float %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.fsub.nxv1f32( %2, shufflevector( insertelement( poison, float 42.0, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.fsub.nxv1f32( %2, splat (float 42.0), %mask, i32 %evl) %4 = call @llvm.vp.fadd.nxv1f32( %x, %3, %mask, i32 %evl) ret %4 } @@ -1087,13 +1087,13 @@ define @fsub_nxv1f32_anymask( %x, float ; ALL-LABEL: @fsub_nxv1f32_anymask( ; ALL-NEXT: [[TMP1:%.*]] = insertelement poison, float [[Y:%.*]], i64 0 ; ALL-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.fsub.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i32 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) +; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.fsub.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i64 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) ; ALL-NEXT: [[TMP4:%.*]] = call @llvm.vp.fadd.nxv1f32( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; ALL-NEXT: ret [[TMP4]] ; %1 = insertelement poison, float %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.fsub.nxv1f32( %2, shufflevector( insertelement( poison, float 42.0, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.fsub.nxv1f32( %2, splat (float 42.0), %mask, i32 %evl) %4 = call @llvm.vp.fadd.nxv1f32( %x, %3, %mask, i32 %evl) ret %4 } @@ -1113,7 +1113,7 @@ define @fdiv_nxv1f32_allonesmask( %x, f ; NO-VEC-COMBINE-NEXT: [[MASK:%.*]] = shufflevector [[SPLAT]], poison, zeroinitializer ; NO-VEC-COMBINE-NEXT: [[TMP1:%.*]] = insertelement poison, float [[Y:%.*]], i64 0 ; NO-VEC-COMBINE-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.fdiv.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i32 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) +; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.fdiv.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i64 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) ; NO-VEC-COMBINE-NEXT: [[TMP4:%.*]] = call @llvm.vp.fadd.nxv1f32( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; NO-VEC-COMBINE-NEXT: ret [[TMP4]] ; @@ -1121,7 +1121,7 @@ define @fdiv_nxv1f32_allonesmask( %x, f %mask = shufflevector %splat, poison, zeroinitializer %1 = insertelement poison, float %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.fdiv.nxv1f32( %2, shufflevector( insertelement( poison, float 42.0, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.fdiv.nxv1f32( %2, splat (float 42.0), %mask, i32 %evl) %4 = call @llvm.vp.fadd.nxv1f32( %x, %3, %mask, i32 %evl) ret %4 } @@ -1130,13 +1130,13 @@ define @fdiv_nxv1f32_anymask( %x, float ; ALL-LABEL: @fdiv_nxv1f32_anymask( ; ALL-NEXT: [[TMP1:%.*]] = insertelement poison, float [[Y:%.*]], i64 0 ; ALL-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.fdiv.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i32 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) +; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.fdiv.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i64 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) ; ALL-NEXT: [[TMP4:%.*]] = call @llvm.vp.fadd.nxv1f32( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; ALL-NEXT: ret [[TMP4]] ; %1 = insertelement poison, float %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.fdiv.nxv1f32( %2, shufflevector( insertelement( poison, float 42.0, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.fdiv.nxv1f32( %2, splat (float 42.0), %mask, i32 %evl) %4 = call @llvm.vp.fadd.nxv1f32( %x, %3, %mask, i32 %evl) ret %4 } @@ -1156,7 +1156,7 @@ define @frem_nxv1f32_allonesmask( %x, f ; NO-VEC-COMBINE-NEXT: [[MASK:%.*]] = shufflevector [[SPLAT]], poison, zeroinitializer ; NO-VEC-COMBINE-NEXT: [[TMP1:%.*]] = insertelement poison, float [[Y:%.*]], i64 0 ; NO-VEC-COMBINE-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.frem.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i32 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) +; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.frem.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i64 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) ; NO-VEC-COMBINE-NEXT: [[TMP4:%.*]] = call @llvm.vp.fadd.nxv1f32( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; NO-VEC-COMBINE-NEXT: ret [[TMP4]] ; @@ -1164,7 +1164,7 @@ define @frem_nxv1f32_allonesmask( %x, f %mask = shufflevector %splat, poison, zeroinitializer %1 = insertelement poison, float %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.frem.nxv1f32( %2, shufflevector( insertelement( poison, float 42.0, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.frem.nxv1f32( %2, splat (float 42.0), %mask, i32 %evl) %4 = call @llvm.vp.fadd.nxv1f32( %x, %3, %mask, i32 %evl) ret %4 } @@ -1173,13 +1173,13 @@ define @frem_nxv1f32_allonesmask( %x, f ; ALL-LABEL: @frem_nxv1f32_anymask( ; ALL-NEXT: [[TMP1:%.*]] = insertelement poison, float [[Y:%.*]], i64 0 ; ALL-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.frem.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i32 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) +; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.frem.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i64 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) ; ALL-NEXT: [[TMP4:%.*]] = call @llvm.vp.fadd.nxv1f32( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; ALL-NEXT: ret [[TMP4]] ; %1 = insertelement poison, float %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.frem.nxv1f32( %2, shufflevector( insertelement( poison, float 42.0, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.frem.nxv1f32( %2, splat (float 42.0), %mask, i32 %evl) %4 = call @llvm.vp.fadd.nxv1f32( %x, %3, %mask, i32 %evl) ret %4 } @@ -1199,7 +1199,7 @@ define @fdiv_nxv1f32_allonesmask_knownvl( [[SPLAT]], poison, zeroinitializer ; NO-VEC-COMBINE-NEXT: [[TMP1:%.*]] = insertelement poison, float [[Y:%.*]], i64 0 ; NO-VEC-COMBINE-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.fdiv.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i32 0), poison, zeroinitializer), [[MASK]], i32 4) +; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.fdiv.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i64 0), poison, zeroinitializer), [[MASK]], i32 4) ; NO-VEC-COMBINE-NEXT: [[TMP4:%.*]] = call @llvm.vp.fadd.nxv1f32( [[X:%.*]], [[TMP3]], [[MASK]], i32 4) ; NO-VEC-COMBINE-NEXT: ret [[TMP4]] ; @@ -1207,7 +1207,7 @@ define @fdiv_nxv1f32_allonesmask_knownvl( %splat, poison, zeroinitializer %1 = insertelement poison, float %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.fdiv.nxv1f32( %2, shufflevector( insertelement( poison, float 42.0, i32 0), poison, zeroinitializer), %mask, i32 4) + %3 = call @llvm.vp.fdiv.nxv1f32( %2, splat (float 42.0), %mask, i32 4) %4 = call @llvm.vp.fadd.nxv1f32( %x, %3, %mask, i32 4) ret %4 } @@ -1216,13 +1216,13 @@ define @fdiv_nxv1f32_anymask_knownvl( % ; ALL-LABEL: @fdiv_nxv1f32_anymask_knownvl( ; ALL-NEXT: [[TMP1:%.*]] = insertelement poison, float [[Y:%.*]], i64 0 ; ALL-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.fdiv.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i32 0), poison, zeroinitializer), [[MASK:%.*]], i32 4) +; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.fdiv.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i64 0), poison, zeroinitializer), [[MASK:%.*]], i32 4) ; ALL-NEXT: [[TMP4:%.*]] = call @llvm.vp.fadd.nxv1f32( [[X:%.*]], [[TMP3]], [[MASK]], i32 4) ; ALL-NEXT: ret [[TMP4]] ; %1 = insertelement poison, float %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.fdiv.nxv1f32( %2, shufflevector( insertelement( poison, float 42.0, i32 0), poison, zeroinitializer), %mask, i32 4) + %3 = call @llvm.vp.fdiv.nxv1f32( %2, splat (float 42.0), %mask, i32 4) %4 = call @llvm.vp.fadd.nxv1f32( %x, %3, %mask, i32 4) ret %4 } @@ -1242,7 +1242,7 @@ define @frem_nxv1f32_allonesmask_knownvl( [[SPLAT]], poison, zeroinitializer ; NO-VEC-COMBINE-NEXT: [[TMP1:%.*]] = insertelement poison, float [[Y:%.*]], i64 0 ; NO-VEC-COMBINE-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.frem.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i32 0), poison, zeroinitializer), [[MASK]], i32 4) +; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.frem.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i64 0), poison, zeroinitializer), [[MASK]], i32 4) ; NO-VEC-COMBINE-NEXT: [[TMP4:%.*]] = call @llvm.vp.fadd.nxv1f32( [[X:%.*]], [[TMP3]], [[MASK]], i32 4) ; NO-VEC-COMBINE-NEXT: ret [[TMP4]] ; @@ -1250,7 +1250,7 @@ define @frem_nxv1f32_allonesmask_knownvl( %splat, poison, zeroinitializer %1 = insertelement poison, float %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.frem.nxv1f32( %2, shufflevector( insertelement( poison, float 42.0, i32 0), poison, zeroinitializer), %mask, i32 4) + %3 = call @llvm.vp.frem.nxv1f32( %2, splat (float 42.0), %mask, i32 4) %4 = call @llvm.vp.fadd.nxv1f32( %x, %3, %mask, i32 4) ret %4 } @@ -1259,13 +1259,13 @@ define @frem_nxv1f32_allonesmask_knownvl( poison, float [[Y:%.*]], i64 0 ; ALL-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.frem.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i32 0), poison, zeroinitializer), [[MASK:%.*]], i32 4) +; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.frem.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i64 0), poison, zeroinitializer), [[MASK:%.*]], i32 4) ; ALL-NEXT: [[TMP4:%.*]] = call @llvm.vp.fadd.nxv1f32( [[X:%.*]], [[TMP3]], [[MASK]], i32 4) ; ALL-NEXT: ret [[TMP4]] ; %1 = insertelement poison, float %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.frem.nxv1f32( %2, shufflevector( insertelement( poison, float 42.0, i32 0), poison, zeroinitializer), %mask, i32 4) + %3 = call @llvm.vp.frem.nxv1f32( %2, splat (float 42.0), %mask, i32 4) %4 = call @llvm.vp.fadd.nxv1f32( %x, %3, %mask, i32 4) ret %4 } @@ -1285,7 +1285,7 @@ define @copysign_nxv1f32_allonesmask( % ; NO-VEC-COMBINE-NEXT: [[MASK:%.*]] = shufflevector [[SPLAT]], poison, zeroinitializer ; NO-VEC-COMBINE-NEXT: [[TMP1:%.*]] = insertelement poison, float [[Y:%.*]], i64 0 ; NO-VEC-COMBINE-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.copysign.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i32 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) +; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.copysign.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i64 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) ; NO-VEC-COMBINE-NEXT: [[TMP4:%.*]] = call @llvm.vp.fadd.nxv1f32( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; NO-VEC-COMBINE-NEXT: ret [[TMP4]] ; @@ -1293,7 +1293,7 @@ define @copysign_nxv1f32_allonesmask( % %mask = shufflevector %splat, poison, zeroinitializer %1 = insertelement poison, float %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.copysign.nxv1f32( %2, shufflevector( insertelement( poison, float 42.0, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.copysign.nxv1f32( %2, splat (float 42.0), %mask, i32 %evl) %4 = call @llvm.vp.fadd.nxv1f32( %x, %3, %mask, i32 %evl) ret %4 } @@ -1302,13 +1302,13 @@ define @copysign_nxv1f32_anymask( %x, f ; ALL-LABEL: @copysign_nxv1f32_anymask( ; ALL-NEXT: [[TMP1:%.*]] = insertelement poison, float [[Y:%.*]], i64 0 ; ALL-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.copysign.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i32 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) +; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.copysign.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i64 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) ; ALL-NEXT: [[TMP4:%.*]] = call @llvm.vp.fadd.nxv1f32( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; ALL-NEXT: ret [[TMP4]] ; %1 = insertelement poison, float %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.copysign.nxv1f32( %2, shufflevector( insertelement( poison, float 42.0, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.copysign.nxv1f32( %2, splat (float 42.0), %mask, i32 %evl) %4 = call @llvm.vp.fadd.nxv1f32( %x, %3, %mask, i32 %evl) ret %4 } @@ -1328,7 +1328,7 @@ define @minnum_nxv1f32_allonesmask( %x, ; NO-VEC-COMBINE-NEXT: [[MASK:%.*]] = shufflevector [[SPLAT]], poison, zeroinitializer ; NO-VEC-COMBINE-NEXT: [[TMP1:%.*]] = insertelement poison, float [[Y:%.*]], i64 0 ; NO-VEC-COMBINE-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.minnum.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i32 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) +; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.minnum.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i64 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) ; NO-VEC-COMBINE-NEXT: [[TMP4:%.*]] = call @llvm.vp.fadd.nxv1f32( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; NO-VEC-COMBINE-NEXT: ret [[TMP4]] ; @@ -1336,7 +1336,7 @@ define @minnum_nxv1f32_allonesmask( %x, %mask = shufflevector %splat, poison, zeroinitializer %1 = insertelement poison, float %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.minnum.nxv1f32( %2, shufflevector( insertelement( poison, float 42.0, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.minnum.nxv1f32( %2, splat (float 42.0), %mask, i32 %evl) %4 = call @llvm.vp.fadd.nxv1f32( %x, %3, %mask, i32 %evl) ret %4 } @@ -1345,13 +1345,13 @@ define @minnum_nxv1f32_anymask( %x, flo ; ALL-LABEL: @minnum_nxv1f32_anymask( ; ALL-NEXT: [[TMP1:%.*]] = insertelement poison, float [[Y:%.*]], i64 0 ; ALL-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.minnum.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i32 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) +; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.minnum.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i64 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) ; ALL-NEXT: [[TMP4:%.*]] = call @llvm.vp.fadd.nxv1f32( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; ALL-NEXT: ret [[TMP4]] ; %1 = insertelement poison, float %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.minnum.nxv1f32( %2, shufflevector( insertelement( poison, float 42.0, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.minnum.nxv1f32( %2, splat (float 42.0), %mask, i32 %evl) %4 = call @llvm.vp.fadd.nxv1f32( %x, %3, %mask, i32 %evl) ret %4 } @@ -1371,7 +1371,7 @@ define @maxnum_nxv1f32_allonesmask( %x, ; NO-VEC-COMBINE-NEXT: [[MASK:%.*]] = shufflevector [[SPLAT]], poison, zeroinitializer ; NO-VEC-COMBINE-NEXT: [[TMP1:%.*]] = insertelement poison, float [[Y:%.*]], i64 0 ; NO-VEC-COMBINE-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.maxnum.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i32 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) +; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.maxnum.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i64 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) ; NO-VEC-COMBINE-NEXT: [[TMP4:%.*]] = call @llvm.vp.fadd.nxv1f32( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; NO-VEC-COMBINE-NEXT: ret [[TMP4]] ; @@ -1379,7 +1379,7 @@ define @maxnum_nxv1f32_allonesmask( %x, %mask = shufflevector %splat, poison, zeroinitializer %1 = insertelement poison, float %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.maxnum.nxv1f32( %2, shufflevector( insertelement( poison, float 42.0, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.maxnum.nxv1f32( %2, splat (float 42.0), %mask, i32 %evl) %4 = call @llvm.vp.fadd.nxv1f32( %x, %3, %mask, i32 %evl) ret %4 } @@ -1388,13 +1388,13 @@ define @maxnum_nxv1f32_anymask( %x, flo ; ALL-LABEL: @maxnum_nxv1f32_anymask( ; ALL-NEXT: [[TMP1:%.*]] = insertelement poison, float [[Y:%.*]], i64 0 ; ALL-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.maxnum.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i32 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) +; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.maxnum.nxv1f32( [[TMP2]], shufflevector ( insertelement ( poison, float 4.200000e+01, i64 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) ; ALL-NEXT: [[TMP4:%.*]] = call @llvm.vp.fadd.nxv1f32( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; ALL-NEXT: ret [[TMP4]] ; %1 = insertelement poison, float %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.maxnum.nxv1f32( %2, shufflevector( insertelement( poison, float 42.0, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.maxnum.nxv1f32( %2, splat (float 42.0), %mask, i32 %evl) %4 = call @llvm.vp.fadd.nxv1f32( %x, %3, %mask, i32 %evl) ret %4 } @@ -1414,7 +1414,7 @@ define @add_nxv8i8_allonesmask( %x, i8 %y, i3 ; NO-VEC-COMBINE-NEXT: [[MASK:%.*]] = shufflevector [[SPLAT]], poison, zeroinitializer ; NO-VEC-COMBINE-NEXT: [[TMP1:%.*]] = insertelement poison, i8 [[Y:%.*]], i64 0 ; NO-VEC-COMBINE-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.add.nxv8i8( [[TMP2]], shufflevector ( insertelement ( poison, i8 42, i32 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) +; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.add.nxv8i8( [[TMP2]], shufflevector ( insertelement ( poison, i8 42, i64 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) ; NO-VEC-COMBINE-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv8i8( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; NO-VEC-COMBINE-NEXT: ret [[TMP4]] ; @@ -1422,7 +1422,7 @@ define @add_nxv8i8_allonesmask( %x, i8 %y, i3 %mask = shufflevector %splat, poison, zeroinitializer %1 = insertelement poison, i8 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.add.nxv8i8( %2, shufflevector( insertelement( poison, i8 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.add.nxv8i8( %2, splat (i8 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv8i8( %x, %3, %mask, i32 %evl) ret %4 } @@ -1431,13 +1431,13 @@ define @add_nxv8i8_anymask( %x, i8 %y, poison, i8 [[Y:%.*]], i64 0 ; ALL-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.add.nxv8i8( [[TMP2]], shufflevector ( insertelement ( poison, i8 42, i32 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) +; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.add.nxv8i8( [[TMP2]], shufflevector ( insertelement ( poison, i8 42, i64 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) ; ALL-NEXT: [[TMP4:%.*]] = call @llvm.vp.mul.nxv8i8( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; ALL-NEXT: ret [[TMP4]] ; %1 = insertelement poison, i8 %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.add.nxv8i8( %2, shufflevector( insertelement( poison, i8 42, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.add.nxv8i8( %2, splat (i8 42), %mask, i32 %evl) %4 = call @llvm.vp.mul.nxv8i8( %x, %3, %mask, i32 %evl) ret %4 } @@ -1457,7 +1457,7 @@ define @fadd_nxv1f16_allonesmask( %x, hal ; NO-VEC-COMBINE-NEXT: [[MASK:%.*]] = shufflevector [[SPLAT]], poison, zeroinitializer ; NO-VEC-COMBINE-NEXT: [[TMP1:%.*]] = insertelement poison, half [[Y:%.*]], i64 0 ; NO-VEC-COMBINE-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.fadd.nxv8f16( [[TMP2]], shufflevector ( insertelement ( poison, half 0xH5140, i32 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) +; NO-VEC-COMBINE-NEXT: [[TMP3:%.*]] = call @llvm.vp.fadd.nxv8f16( [[TMP2]], shufflevector ( insertelement ( poison, half 0xH5140, i64 0), poison, zeroinitializer), [[MASK]], i32 [[EVL:%.*]]) ; NO-VEC-COMBINE-NEXT: [[TMP4:%.*]] = call @llvm.vp.fadd.nxv8f16( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; NO-VEC-COMBINE-NEXT: ret [[TMP4]] ; @@ -1465,7 +1465,7 @@ define @fadd_nxv1f16_allonesmask( %x, hal %mask = shufflevector %splat, poison, zeroinitializer %1 = insertelement poison, half %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.fadd.nxv8f16( %2, shufflevector( insertelement( poison, half 42.0, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.fadd.nxv8f16( %2, splat (half 42.0), %mask, i32 %evl) %4 = call @llvm.vp.fadd.nxv8f16( %x, %3, %mask, i32 %evl) ret %4 } @@ -1474,13 +1474,13 @@ define @fadd_nxv8f16_anymask( %x, half %y ; ALL-LABEL: @fadd_nxv8f16_anymask( ; ALL-NEXT: [[TMP1:%.*]] = insertelement poison, half [[Y:%.*]], i64 0 ; ALL-NEXT: [[TMP2:%.*]] = shufflevector [[TMP1]], poison, zeroinitializer -; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.fadd.nxv8f16( [[TMP2]], shufflevector ( insertelement ( poison, half 0xH5140, i32 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) +; ALL-NEXT: [[TMP3:%.*]] = call @llvm.vp.fadd.nxv8f16( [[TMP2]], shufflevector ( insertelement ( poison, half 0xH5140, i64 0), poison, zeroinitializer), [[MASK:%.*]], i32 [[EVL:%.*]]) ; ALL-NEXT: [[TMP4:%.*]] = call @llvm.vp.fadd.nxv8f16( [[X:%.*]], [[TMP3]], [[MASK]], i32 [[EVL]]) ; ALL-NEXT: ret [[TMP4]] ; %1 = insertelement poison, half %y, i64 0 %2 = shufflevector %1, poison, zeroinitializer - %3 = call @llvm.vp.fadd.nxv8f16( %2, shufflevector( insertelement( poison, half 42.0, i32 0), poison, zeroinitializer), %mask, i32 %evl) + %3 = call @llvm.vp.fadd.nxv8f16( %2, splat (half 42.0), %mask, i32 %evl) %4 = call @llvm.vp.fadd.nxv8f16( %x, %3, %mask, i32 %evl) ret %4 }