[llvm] f7a63bc - [RISCV] Switch undef -> poison in fixed-vector RVV tests

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 9 13:38:55 PST 2022


Author: Craig Topper
Date: 2022-03-09T13:38:36-08:00
New Revision: f7a63bca173396e2501ba2b9fac2e6b7ba519bdb

URL: https://github.com/llvm/llvm-project/commit/f7a63bca173396e2501ba2b9fac2e6b7ba519bdb
DIFF: https://github.com/llvm/llvm-project/commit/f7a63bca173396e2501ba2b9fac2e6b7ba519bdb.diff

LOG: [RISCV] Switch undef -> poison in fixed-vector RVV tests

Added: 
    

Modified: 
    llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
    llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
    llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
    llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
    llvm/test/CodeGen/RISCV/rvv/vfwmacc-sdnode.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll b/llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
index bb7105d84667f..df6924809bb7e 100644
--- a/llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
+++ b/llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
@@ -411,8 +411,8 @@ define <2 x i16> @vwadd_vx_v2i16(<2 x i8>* %x, i8 %y) {
 ; CHECK-NEXT:    vwadd.vx v8, v9, a1
 ; CHECK-NEXT:    ret
   %a = load <2 x i8>, <2 x i8>* %x
-  %b = insertelement <2 x i8> undef, i8 %y, i32 0
-  %c = shufflevector <2 x i8> %b, <2 x i8> undef, <2 x i32> zeroinitializer
+  %b = insertelement <2 x i8> poison, i8 %y, i32 0
+  %c = shufflevector <2 x i8> %b, <2 x i8> poison, <2 x i32> zeroinitializer
   %d = sext <2 x i8> %a to <2 x i16>
   %e = sext <2 x i8> %c to <2 x i16>
   %f = add <2 x i16> %d, %e
@@ -427,8 +427,8 @@ define <4 x i16> @vwadd_vx_v4i16(<4 x i8>* %x, i8 %y) {
 ; CHECK-NEXT:    vwadd.vx v8, v9, a1
 ; CHECK-NEXT:    ret
   %a = load <4 x i8>, <4 x i8>* %x
-  %b = insertelement <4 x i8> undef, i8 %y, i32 0
-  %c = shufflevector <4 x i8> %b, <4 x i8> undef, <4 x i32> zeroinitializer
+  %b = insertelement <4 x i8> poison, i8 %y, i32 0
+  %c = shufflevector <4 x i8> %b, <4 x i8> poison, <4 x i32> zeroinitializer
   %d = sext <4 x i8> %a to <4 x i16>
   %e = sext <4 x i8> %c to <4 x i16>
   %f = add <4 x i16> %d, %e
@@ -443,8 +443,8 @@ define <2 x i32> @vwadd_vx_v2i32(<2 x i16>* %x, i16 %y) {
 ; CHECK-NEXT:    vwadd.vx v8, v9, a1
 ; CHECK-NEXT:    ret
   %a = load <2 x i16>, <2 x i16>* %x
-  %b = insertelement <2 x i16> undef, i16 %y, i32 0
-  %c = shufflevector <2 x i16> %b, <2 x i16> undef, <2 x i32> zeroinitializer
+  %b = insertelement <2 x i16> poison, i16 %y, i32 0
+  %c = shufflevector <2 x i16> %b, <2 x i16> poison, <2 x i32> zeroinitializer
   %d = sext <2 x i16> %a to <2 x i32>
   %e = sext <2 x i16> %c to <2 x i32>
   %f = add <2 x i32> %d, %e
@@ -459,8 +459,8 @@ define <8 x i16> @vwadd_vx_v8i16(<8 x i8>* %x, i8 %y) {
 ; CHECK-NEXT:    vwadd.vx v8, v9, a1
 ; CHECK-NEXT:    ret
   %a = load <8 x i8>, <8 x i8>* %x
-  %b = insertelement <8 x i8> undef, i8 %y, i32 0
-  %c = shufflevector <8 x i8> %b, <8 x i8> undef, <8 x i32> zeroinitializer
+  %b = insertelement <8 x i8> poison, i8 %y, i32 0
+  %c = shufflevector <8 x i8> %b, <8 x i8> poison, <8 x i32> zeroinitializer
   %d = sext <8 x i8> %a to <8 x i16>
   %e = sext <8 x i8> %c to <8 x i16>
   %f = add <8 x i16> %d, %e
@@ -475,8 +475,8 @@ define <4 x i32> @vwadd_vx_v4i32(<4 x i16>* %x, i16 %y) {
 ; CHECK-NEXT:    vwadd.vx v8, v9, a1
 ; CHECK-NEXT:    ret
   %a = load <4 x i16>, <4 x i16>* %x
-  %b = insertelement <4 x i16> undef, i16 %y, i32 0
-  %c = shufflevector <4 x i16> %b, <4 x i16> undef, <4 x i32> zeroinitializer
+  %b = insertelement <4 x i16> poison, i16 %y, i32 0
+  %c = shufflevector <4 x i16> %b, <4 x i16> poison, <4 x i32> zeroinitializer
   %d = sext <4 x i16> %a to <4 x i32>
   %e = sext <4 x i16> %c to <4 x i32>
   %f = add <4 x i32> %d, %e
@@ -491,8 +491,8 @@ define <2 x i64> @vwadd_vx_v2i64(<2 x i32>* %x, i32 %y) {
 ; CHECK-NEXT:    vwadd.vx v8, v9, a1
 ; CHECK-NEXT:    ret
   %a = load <2 x i32>, <2 x i32>* %x
-  %b = insertelement <2 x i32> undef, i32 %y, i64 0
-  %c = shufflevector <2 x i32> %b, <2 x i32> undef, <2 x i32> zeroinitializer
+  %b = insertelement <2 x i32> poison, i32 %y, i64 0
+  %c = shufflevector <2 x i32> %b, <2 x i32> poison, <2 x i32> zeroinitializer
   %d = sext <2 x i32> %a to <2 x i64>
   %e = sext <2 x i32> %c to <2 x i64>
   %f = add <2 x i64> %d, %e
@@ -507,8 +507,8 @@ define <16 x i16> @vwadd_vx_v16i16(<16 x i8>* %x, i8 %y) {
 ; CHECK-NEXT:    vwadd.vx v8, v10, a1
 ; CHECK-NEXT:    ret
   %a = load <16 x i8>, <16 x i8>* %x
-  %b = insertelement <16 x i8> undef, i8 %y, i32 0
-  %c = shufflevector <16 x i8> %b, <16 x i8> undef, <16 x i32> zeroinitializer
+  %b = insertelement <16 x i8> poison, i8 %y, i32 0
+  %c = shufflevector <16 x i8> %b, <16 x i8> poison, <16 x i32> zeroinitializer
   %d = sext <16 x i8> %a to <16 x i16>
   %e = sext <16 x i8> %c to <16 x i16>
   %f = add <16 x i16> %d, %e
@@ -523,8 +523,8 @@ define <8 x i32> @vwadd_vx_v8i32(<8 x i16>* %x, i16 %y) {
 ; CHECK-NEXT:    vwadd.vx v8, v10, a1
 ; CHECK-NEXT:    ret
   %a = load <8 x i16>, <8 x i16>* %x
-  %b = insertelement <8 x i16> undef, i16 %y, i32 0
-  %c = shufflevector <8 x i16> %b, <8 x i16> undef, <8 x i32> zeroinitializer
+  %b = insertelement <8 x i16> poison, i16 %y, i32 0
+  %c = shufflevector <8 x i16> %b, <8 x i16> poison, <8 x i32> zeroinitializer
   %d = sext <8 x i16> %a to <8 x i32>
   %e = sext <8 x i16> %c to <8 x i32>
   %f = add <8 x i32> %d, %e
@@ -539,8 +539,8 @@ define <4 x i64> @vwadd_vx_v4i64(<4 x i32>* %x, i32 %y) {
 ; CHECK-NEXT:    vwadd.vx v8, v10, a1
 ; CHECK-NEXT:    ret
   %a = load <4 x i32>, <4 x i32>* %x
-  %b = insertelement <4 x i32> undef, i32 %y, i64 0
-  %c = shufflevector <4 x i32> %b, <4 x i32> undef, <4 x i32> zeroinitializer
+  %b = insertelement <4 x i32> poison, i32 %y, i64 0
+  %c = shufflevector <4 x i32> %b, <4 x i32> poison, <4 x i32> zeroinitializer
   %d = sext <4 x i32> %a to <4 x i64>
   %e = sext <4 x i32> %c to <4 x i64>
   %f = add <4 x i64> %d, %e
@@ -556,8 +556,8 @@ define <32 x i16> @vwadd_vx_v32i16(<32 x i8>* %x, i8 %y) {
 ; CHECK-NEXT:    vwadd.vx v8, v12, a1
 ; CHECK-NEXT:    ret
   %a = load <32 x i8>, <32 x i8>* %x
-  %b = insertelement <32 x i8> undef, i8 %y, i32 0
-  %c = shufflevector <32 x i8> %b, <32 x i8> undef, <32 x i32> zeroinitializer
+  %b = insertelement <32 x i8> poison, i8 %y, i32 0
+  %c = shufflevector <32 x i8> %b, <32 x i8> poison, <32 x i32> zeroinitializer
   %d = sext <32 x i8> %a to <32 x i16>
   %e = sext <32 x i8> %c to <32 x i16>
   %f = add <32 x i16> %d, %e
@@ -572,8 +572,8 @@ define <16 x i32> @vwadd_vx_v16i32(<16 x i16>* %x, i16 %y) {
 ; CHECK-NEXT:    vwadd.vx v8, v12, a1
 ; CHECK-NEXT:    ret
   %a = load <16 x i16>, <16 x i16>* %x
-  %b = insertelement <16 x i16> undef, i16 %y, i32 0
-  %c = shufflevector <16 x i16> %b, <16 x i16> undef, <16 x i32> zeroinitializer
+  %b = insertelement <16 x i16> poison, i16 %y, i32 0
+  %c = shufflevector <16 x i16> %b, <16 x i16> poison, <16 x i32> zeroinitializer
   %d = sext <16 x i16> %a to <16 x i32>
   %e = sext <16 x i16> %c to <16 x i32>
   %f = add <16 x i32> %d, %e
@@ -588,8 +588,8 @@ define <8 x i64> @vwadd_vx_v8i64(<8 x i32>* %x, i32 %y) {
 ; CHECK-NEXT:    vwadd.vx v8, v12, a1
 ; CHECK-NEXT:    ret
   %a = load <8 x i32>, <8 x i32>* %x
-  %b = insertelement <8 x i32> undef, i32 %y, i64 0
-  %c = shufflevector <8 x i32> %b, <8 x i32> undef, <8 x i32> zeroinitializer
+  %b = insertelement <8 x i32> poison, i32 %y, i64 0
+  %c = shufflevector <8 x i32> %b, <8 x i32> poison, <8 x i32> zeroinitializer
   %d = sext <8 x i32> %a to <8 x i64>
   %e = sext <8 x i32> %c to <8 x i64>
   %f = add <8 x i64> %d, %e
@@ -605,8 +605,8 @@ define <64 x i16> @vwadd_vx_v64i16(<64 x i8>* %x, i8 %y) {
 ; CHECK-NEXT:    vwadd.vx v8, v16, a1
 ; CHECK-NEXT:    ret
   %a = load <64 x i8>, <64 x i8>* %x
-  %b = insertelement <64 x i8> undef, i8 %y, i32 0
-  %c = shufflevector <64 x i8> %b, <64 x i8> undef, <64 x i32> zeroinitializer
+  %b = insertelement <64 x i8> poison, i8 %y, i32 0
+  %c = shufflevector <64 x i8> %b, <64 x i8> poison, <64 x i32> zeroinitializer
   %d = sext <64 x i8> %a to <64 x i16>
   %e = sext <64 x i8> %c to <64 x i16>
   %f = add <64 x i16> %d, %e
@@ -622,8 +622,8 @@ define <32 x i32> @vwadd_vx_v32i32(<32 x i16>* %x, i16 %y) {
 ; CHECK-NEXT:    vwadd.vx v8, v16, a1
 ; CHECK-NEXT:    ret
   %a = load <32 x i16>, <32 x i16>* %x
-  %b = insertelement <32 x i16> undef, i16 %y, i32 0
-  %c = shufflevector <32 x i16> %b, <32 x i16> undef, <32 x i32> zeroinitializer
+  %b = insertelement <32 x i16> poison, i16 %y, i32 0
+  %c = shufflevector <32 x i16> %b, <32 x i16> poison, <32 x i32> zeroinitializer
   %d = sext <32 x i16> %a to <32 x i32>
   %e = sext <32 x i16> %c to <32 x i32>
   %f = add <32 x i32> %d, %e
@@ -638,8 +638,8 @@ define <16 x i64> @vwadd_vx_v16i64(<16 x i32>* %x, i32 %y) {
 ; CHECK-NEXT:    vwadd.vx v8, v16, a1
 ; CHECK-NEXT:    ret
   %a = load <16 x i32>, <16 x i32>* %x
-  %b = insertelement <16 x i32> undef, i32 %y, i64 0
-  %c = shufflevector <16 x i32> %b, <16 x i32> undef, <16 x i32> zeroinitializer
+  %b = insertelement <16 x i32> poison, i32 %y, i64 0
+  %c = shufflevector <16 x i32> %b, <16 x i32> poison, <16 x i32> zeroinitializer
   %d = sext <16 x i32> %a to <16 x i64>
   %e = sext <16 x i32> %c to <16 x i64>
   %f = add <16 x i64> %d, %e
@@ -657,8 +657,8 @@ define <8 x i16> @vwadd_vx_v8i16_i8(<8 x i8>* %x, i8* %y) {
   %a = load <8 x i8>, <8 x i8>* %x
   %b = load i8, i8* %y
   %c = sext i8 %b to i16
-  %d = insertelement <8 x i16> undef, i16 %c, i32 0
-  %e = shufflevector <8 x i16> %d, <8 x i16> undef, <8 x i32> zeroinitializer
+  %d = insertelement <8 x i16> poison, i16 %c, i32 0
+  %e = shufflevector <8 x i16> %d, <8 x i16> poison, <8 x i32> zeroinitializer
   %f = sext <8 x i8> %a to <8 x i16>
   %g = add <8 x i16> %e, %f
   ret <8 x i16> %g
@@ -674,8 +674,8 @@ define <8 x i16> @vwadd_vx_v8i16_i16(<8 x i8>* %x, i16* %y) {
 ; CHECK-NEXT:    ret
   %a = load <8 x i8>, <8 x i8>* %x
   %b = load i16, i16* %y
-  %d = insertelement <8 x i16> undef, i16 %b, i32 0
-  %e = shufflevector <8 x i16> %d, <8 x i16> undef, <8 x i32> zeroinitializer
+  %d = insertelement <8 x i16> poison, i16 %b, i32 0
+  %e = shufflevector <8 x i16> %d, <8 x i16> poison, <8 x i32> zeroinitializer
   %f = sext <8 x i8> %a to <8 x i16>
   %g = add <8 x i16> %e, %f
   ret <8 x i16> %g
@@ -692,8 +692,8 @@ define <4 x i32> @vwadd_vx_v4i32_i8(<4 x i16>* %x, i8* %y) {
   %a = load <4 x i16>, <4 x i16>* %x
   %b = load i8, i8* %y
   %c = sext i8 %b to i32
-  %d = insertelement <4 x i32> undef, i32 %c, i32 0
-  %e = shufflevector <4 x i32> %d, <4 x i32> undef, <4 x i32> zeroinitializer
+  %d = insertelement <4 x i32> poison, i32 %c, i32 0
+  %e = shufflevector <4 x i32> %d, <4 x i32> poison, <4 x i32> zeroinitializer
   %f = sext <4 x i16> %a to <4 x i32>
   %g = add <4 x i32> %e, %f
   ret <4 x i32> %g
@@ -710,8 +710,8 @@ define <4 x i32> @vwadd_vx_v4i32_i16(<4 x i16>* %x, i16* %y) {
   %a = load <4 x i16>, <4 x i16>* %x
   %b = load i16, i16* %y
   %c = sext i16 %b to i32
-  %d = insertelement <4 x i32> undef, i32 %c, i32 0
-  %e = shufflevector <4 x i32> %d, <4 x i32> undef, <4 x i32> zeroinitializer
+  %d = insertelement <4 x i32> poison, i32 %c, i32 0
+  %e = shufflevector <4 x i32> %d, <4 x i32> poison, <4 x i32> zeroinitializer
   %f = sext <4 x i16> %a to <4 x i32>
   %g = add <4 x i32> %e, %f
   ret <4 x i32> %g
@@ -727,8 +727,8 @@ define <4 x i32> @vwadd_vx_v4i32_i32(<4 x i16>* %x, i32* %y) {
 ; CHECK-NEXT:    ret
   %a = load <4 x i16>, <4 x i16>* %x
   %b = load i32, i32* %y
-  %d = insertelement <4 x i32> undef, i32 %b, i32 0
-  %e = shufflevector <4 x i32> %d, <4 x i32> undef, <4 x i32> zeroinitializer
+  %d = insertelement <4 x i32> poison, i32 %b, i32 0
+  %e = shufflevector <4 x i32> %d, <4 x i32> poison, <4 x i32> zeroinitializer
   %f = sext <4 x i16> %a to <4 x i32>
   %g = add <4 x i32> %e, %f
   ret <4 x i32> %g
@@ -760,8 +760,8 @@ define <2 x i64> @vwadd_vx_v2i64_i8(<2 x i32>* %x, i8* %y) nounwind {
   %a = load <2 x i32>, <2 x i32>* %x
   %b = load i8, i8* %y
   %c = sext i8 %b to i64
-  %d = insertelement <2 x i64> undef, i64 %c, i64 0
-  %e = shufflevector <2 x i64> %d, <2 x i64> undef, <2 x i32> zeroinitializer
+  %d = insertelement <2 x i64> poison, i64 %c, i64 0
+  %e = shufflevector <2 x i64> %d, <2 x i64> poison, <2 x i32> zeroinitializer
   %f = sext <2 x i32> %a to <2 x i64>
   %g = add <2 x i64> %e, %f
   ret <2 x i64> %g
@@ -793,8 +793,8 @@ define <2 x i64> @vwadd_vx_v2i64_i16(<2 x i32>* %x, i16* %y) nounwind {
   %a = load <2 x i32>, <2 x i32>* %x
   %b = load i16, i16* %y
   %c = sext i16 %b to i64
-  %d = insertelement <2 x i64> undef, i64 %c, i64 0
-  %e = shufflevector <2 x i64> %d, <2 x i64> undef, <2 x i32> zeroinitializer
+  %d = insertelement <2 x i64> poison, i64 %c, i64 0
+  %e = shufflevector <2 x i64> %d, <2 x i64> poison, <2 x i32> zeroinitializer
   %f = sext <2 x i32> %a to <2 x i64>
   %g = add <2 x i64> %e, %f
   ret <2 x i64> %g
@@ -826,8 +826,8 @@ define <2 x i64> @vwadd_vx_v2i64_i32(<2 x i32>* %x, i32* %y) nounwind {
   %a = load <2 x i32>, <2 x i32>* %x
   %b = load i32, i32* %y
   %c = sext i32 %b to i64
-  %d = insertelement <2 x i64> undef, i64 %c, i64 0
-  %e = shufflevector <2 x i64> %d, <2 x i64> undef, <2 x i32> zeroinitializer
+  %d = insertelement <2 x i64> poison, i64 %c, i64 0
+  %e = shufflevector <2 x i64> %d, <2 x i64> poison, <2 x i32> zeroinitializer
   %f = sext <2 x i32> %a to <2 x i64>
   %g = add <2 x i64> %e, %f
   ret <2 x i64> %g
@@ -858,8 +858,8 @@ define <2 x i64> @vwadd_vx_v2i64_i64(<2 x i32>* %x, i64* %y) nounwind {
 ; RV64-NEXT:    ret
   %a = load <2 x i32>, <2 x i32>* %x
   %b = load i64, i64* %y
-  %d = insertelement <2 x i64> undef, i64 %b, i64 0
-  %e = shufflevector <2 x i64> %d, <2 x i64> undef, <2 x i32> zeroinitializer
+  %d = insertelement <2 x i64> poison, i64 %b, i64 0
+  %e = shufflevector <2 x i64> %d, <2 x i64> poison, <2 x i32> zeroinitializer
   %f = sext <2 x i32> %a to <2 x i64>
   %g = add <2 x i64> %e, %f
   ret <2 x i64> %g

diff  --git a/llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll b/llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
index d2d2a035c0364..2835726025e3c 100644
--- a/llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
+++ b/llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
@@ -411,8 +411,8 @@ define <2 x i16> @vwaddu_vx_v2i16(<2 x i8>* %x, i8 %y) {
 ; CHECK-NEXT:    vwaddu.vx v8, v9, a1
 ; CHECK-NEXT:    ret
   %a = load <2 x i8>, <2 x i8>* %x
-  %b = insertelement <2 x i8> undef, i8 %y, i32 0
-  %c = shufflevector <2 x i8> %b, <2 x i8> undef, <2 x i32> zeroinitializer
+  %b = insertelement <2 x i8> poison, i8 %y, i32 0
+  %c = shufflevector <2 x i8> %b, <2 x i8> poison, <2 x i32> zeroinitializer
   %d = zext <2 x i8> %a to <2 x i16>
   %e = zext <2 x i8> %c to <2 x i16>
   %f = add <2 x i16> %d, %e
@@ -427,8 +427,8 @@ define <4 x i16> @vwaddu_vx_v4i16(<4 x i8>* %x, i8 %y) {
 ; CHECK-NEXT:    vwaddu.vx v8, v9, a1
 ; CHECK-NEXT:    ret
   %a = load <4 x i8>, <4 x i8>* %x
-  %b = insertelement <4 x i8> undef, i8 %y, i32 0
-  %c = shufflevector <4 x i8> %b, <4 x i8> undef, <4 x i32> zeroinitializer
+  %b = insertelement <4 x i8> poison, i8 %y, i32 0
+  %c = shufflevector <4 x i8> %b, <4 x i8> poison, <4 x i32> zeroinitializer
   %d = zext <4 x i8> %a to <4 x i16>
   %e = zext <4 x i8> %c to <4 x i16>
   %f = add <4 x i16> %d, %e
@@ -443,8 +443,8 @@ define <2 x i32> @vwaddu_vx_v2i32(<2 x i16>* %x, i16 %y) {
 ; CHECK-NEXT:    vwaddu.vx v8, v9, a1
 ; CHECK-NEXT:    ret
   %a = load <2 x i16>, <2 x i16>* %x
-  %b = insertelement <2 x i16> undef, i16 %y, i32 0
-  %c = shufflevector <2 x i16> %b, <2 x i16> undef, <2 x i32> zeroinitializer
+  %b = insertelement <2 x i16> poison, i16 %y, i32 0
+  %c = shufflevector <2 x i16> %b, <2 x i16> poison, <2 x i32> zeroinitializer
   %d = zext <2 x i16> %a to <2 x i32>
   %e = zext <2 x i16> %c to <2 x i32>
   %f = add <2 x i32> %d, %e
@@ -459,8 +459,8 @@ define <8 x i16> @vwaddu_vx_v8i16(<8 x i8>* %x, i8 %y) {
 ; CHECK-NEXT:    vwaddu.vx v8, v9, a1
 ; CHECK-NEXT:    ret
   %a = load <8 x i8>, <8 x i8>* %x
-  %b = insertelement <8 x i8> undef, i8 %y, i32 0
-  %c = shufflevector <8 x i8> %b, <8 x i8> undef, <8 x i32> zeroinitializer
+  %b = insertelement <8 x i8> poison, i8 %y, i32 0
+  %c = shufflevector <8 x i8> %b, <8 x i8> poison, <8 x i32> zeroinitializer
   %d = zext <8 x i8> %a to <8 x i16>
   %e = zext <8 x i8> %c to <8 x i16>
   %f = add <8 x i16> %d, %e
@@ -475,8 +475,8 @@ define <4 x i32> @vwaddu_vx_v4i32(<4 x i16>* %x, i16 %y) {
 ; CHECK-NEXT:    vwaddu.vx v8, v9, a1
 ; CHECK-NEXT:    ret
   %a = load <4 x i16>, <4 x i16>* %x
-  %b = insertelement <4 x i16> undef, i16 %y, i32 0
-  %c = shufflevector <4 x i16> %b, <4 x i16> undef, <4 x i32> zeroinitializer
+  %b = insertelement <4 x i16> poison, i16 %y, i32 0
+  %c = shufflevector <4 x i16> %b, <4 x i16> poison, <4 x i32> zeroinitializer
   %d = zext <4 x i16> %a to <4 x i32>
   %e = zext <4 x i16> %c to <4 x i32>
   %f = add <4 x i32> %d, %e
@@ -491,8 +491,8 @@ define <2 x i64> @vwaddu_vx_v2i64(<2 x i32>* %x, i32 %y) {
 ; CHECK-NEXT:    vwaddu.vx v8, v9, a1
 ; CHECK-NEXT:    ret
   %a = load <2 x i32>, <2 x i32>* %x
-  %b = insertelement <2 x i32> undef, i32 %y, i64 0
-  %c = shufflevector <2 x i32> %b, <2 x i32> undef, <2 x i32> zeroinitializer
+  %b = insertelement <2 x i32> poison, i32 %y, i64 0
+  %c = shufflevector <2 x i32> %b, <2 x i32> poison, <2 x i32> zeroinitializer
   %d = zext <2 x i32> %a to <2 x i64>
   %e = zext <2 x i32> %c to <2 x i64>
   %f = add <2 x i64> %d, %e
@@ -507,8 +507,8 @@ define <16 x i16> @vwaddu_vx_v16i16(<16 x i8>* %x, i8 %y) {
 ; CHECK-NEXT:    vwaddu.vx v8, v10, a1
 ; CHECK-NEXT:    ret
   %a = load <16 x i8>, <16 x i8>* %x
-  %b = insertelement <16 x i8> undef, i8 %y, i32 0
-  %c = shufflevector <16 x i8> %b, <16 x i8> undef, <16 x i32> zeroinitializer
+  %b = insertelement <16 x i8> poison, i8 %y, i32 0
+  %c = shufflevector <16 x i8> %b, <16 x i8> poison, <16 x i32> zeroinitializer
   %d = zext <16 x i8> %a to <16 x i16>
   %e = zext <16 x i8> %c to <16 x i16>
   %f = add <16 x i16> %d, %e
@@ -523,8 +523,8 @@ define <8 x i32> @vwaddu_vx_v8i32(<8 x i16>* %x, i16 %y) {
 ; CHECK-NEXT:    vwaddu.vx v8, v10, a1
 ; CHECK-NEXT:    ret
   %a = load <8 x i16>, <8 x i16>* %x
-  %b = insertelement <8 x i16> undef, i16 %y, i32 0
-  %c = shufflevector <8 x i16> %b, <8 x i16> undef, <8 x i32> zeroinitializer
+  %b = insertelement <8 x i16> poison, i16 %y, i32 0
+  %c = shufflevector <8 x i16> %b, <8 x i16> poison, <8 x i32> zeroinitializer
   %d = zext <8 x i16> %a to <8 x i32>
   %e = zext <8 x i16> %c to <8 x i32>
   %f = add <8 x i32> %d, %e
@@ -539,8 +539,8 @@ define <4 x i64> @vwaddu_vx_v4i64(<4 x i32>* %x, i32 %y) {
 ; CHECK-NEXT:    vwaddu.vx v8, v10, a1
 ; CHECK-NEXT:    ret
   %a = load <4 x i32>, <4 x i32>* %x
-  %b = insertelement <4 x i32> undef, i32 %y, i64 0
-  %c = shufflevector <4 x i32> %b, <4 x i32> undef, <4 x i32> zeroinitializer
+  %b = insertelement <4 x i32> poison, i32 %y, i64 0
+  %c = shufflevector <4 x i32> %b, <4 x i32> poison, <4 x i32> zeroinitializer
   %d = zext <4 x i32> %a to <4 x i64>
   %e = zext <4 x i32> %c to <4 x i64>
   %f = add <4 x i64> %d, %e
@@ -556,8 +556,8 @@ define <32 x i16> @vwaddu_vx_v32i16(<32 x i8>* %x, i8 %y) {
 ; CHECK-NEXT:    vwaddu.vx v8, v12, a1
 ; CHECK-NEXT:    ret
   %a = load <32 x i8>, <32 x i8>* %x
-  %b = insertelement <32 x i8> undef, i8 %y, i32 0
-  %c = shufflevector <32 x i8> %b, <32 x i8> undef, <32 x i32> zeroinitializer
+  %b = insertelement <32 x i8> poison, i8 %y, i32 0
+  %c = shufflevector <32 x i8> %b, <32 x i8> poison, <32 x i32> zeroinitializer
   %d = zext <32 x i8> %a to <32 x i16>
   %e = zext <32 x i8> %c to <32 x i16>
   %f = add <32 x i16> %d, %e
@@ -572,8 +572,8 @@ define <16 x i32> @vwaddu_vx_v16i32(<16 x i16>* %x, i16 %y) {
 ; CHECK-NEXT:    vwaddu.vx v8, v12, a1
 ; CHECK-NEXT:    ret
   %a = load <16 x i16>, <16 x i16>* %x
-  %b = insertelement <16 x i16> undef, i16 %y, i32 0
-  %c = shufflevector <16 x i16> %b, <16 x i16> undef, <16 x i32> zeroinitializer
+  %b = insertelement <16 x i16> poison, i16 %y, i32 0
+  %c = shufflevector <16 x i16> %b, <16 x i16> poison, <16 x i32> zeroinitializer
   %d = zext <16 x i16> %a to <16 x i32>
   %e = zext <16 x i16> %c to <16 x i32>
   %f = add <16 x i32> %d, %e
@@ -588,8 +588,8 @@ define <8 x i64> @vwaddu_vx_v8i64(<8 x i32>* %x, i32 %y) {
 ; CHECK-NEXT:    vwaddu.vx v8, v12, a1
 ; CHECK-NEXT:    ret
   %a = load <8 x i32>, <8 x i32>* %x
-  %b = insertelement <8 x i32> undef, i32 %y, i64 0
-  %c = shufflevector <8 x i32> %b, <8 x i32> undef, <8 x i32> zeroinitializer
+  %b = insertelement <8 x i32> poison, i32 %y, i64 0
+  %c = shufflevector <8 x i32> %b, <8 x i32> poison, <8 x i32> zeroinitializer
   %d = zext <8 x i32> %a to <8 x i64>
   %e = zext <8 x i32> %c to <8 x i64>
   %f = add <8 x i64> %d, %e
@@ -605,8 +605,8 @@ define <64 x i16> @vwaddu_vx_v64i16(<64 x i8>* %x, i8 %y) {
 ; CHECK-NEXT:    vwaddu.vx v8, v16, a1
 ; CHECK-NEXT:    ret
   %a = load <64 x i8>, <64 x i8>* %x
-  %b = insertelement <64 x i8> undef, i8 %y, i32 0
-  %c = shufflevector <64 x i8> %b, <64 x i8> undef, <64 x i32> zeroinitializer
+  %b = insertelement <64 x i8> poison, i8 %y, i32 0
+  %c = shufflevector <64 x i8> %b, <64 x i8> poison, <64 x i32> zeroinitializer
   %d = zext <64 x i8> %a to <64 x i16>
   %e = zext <64 x i8> %c to <64 x i16>
   %f = add <64 x i16> %d, %e
@@ -622,8 +622,8 @@ define <32 x i32> @vwaddu_vx_v32i32(<32 x i16>* %x, i16 %y) {
 ; CHECK-NEXT:    vwaddu.vx v8, v16, a1
 ; CHECK-NEXT:    ret
   %a = load <32 x i16>, <32 x i16>* %x
-  %b = insertelement <32 x i16> undef, i16 %y, i32 0
-  %c = shufflevector <32 x i16> %b, <32 x i16> undef, <32 x i32> zeroinitializer
+  %b = insertelement <32 x i16> poison, i16 %y, i32 0
+  %c = shufflevector <32 x i16> %b, <32 x i16> poison, <32 x i32> zeroinitializer
   %d = zext <32 x i16> %a to <32 x i32>
   %e = zext <32 x i16> %c to <32 x i32>
   %f = add <32 x i32> %d, %e
@@ -638,8 +638,8 @@ define <16 x i64> @vwaddu_vx_v16i64(<16 x i32>* %x, i32 %y) {
 ; CHECK-NEXT:    vwaddu.vx v8, v16, a1
 ; CHECK-NEXT:    ret
   %a = load <16 x i32>, <16 x i32>* %x
-  %b = insertelement <16 x i32> undef, i32 %y, i64 0
-  %c = shufflevector <16 x i32> %b, <16 x i32> undef, <16 x i32> zeroinitializer
+  %b = insertelement <16 x i32> poison, i32 %y, i64 0
+  %c = shufflevector <16 x i32> %b, <16 x i32> poison, <16 x i32> zeroinitializer
   %d = zext <16 x i32> %a to <16 x i64>
   %e = zext <16 x i32> %c to <16 x i64>
   %f = add <16 x i64> %d, %e
@@ -657,8 +657,8 @@ define <8 x i16> @vwaddu_vx_v8i16_i8(<8 x i8>* %x, i8* %y) {
   %a = load <8 x i8>, <8 x i8>* %x
   %b = load i8, i8* %y
   %c = zext i8 %b to i16
-  %d = insertelement <8 x i16> undef, i16 %c, i32 0
-  %e = shufflevector <8 x i16> %d, <8 x i16> undef, <8 x i32> zeroinitializer
+  %d = insertelement <8 x i16> poison, i16 %c, i32 0
+  %e = shufflevector <8 x i16> %d, <8 x i16> poison, <8 x i32> zeroinitializer
   %f = zext <8 x i8> %a to <8 x i16>
   %g = add <8 x i16> %e, %f
   ret <8 x i16> %g
@@ -674,8 +674,8 @@ define <8 x i16> @vwaddu_vx_v8i16_i16(<8 x i8>* %x, i16* %y) {
 ; CHECK-NEXT:    ret
   %a = load <8 x i8>, <8 x i8>* %x
   %b = load i16, i16* %y
-  %d = insertelement <8 x i16> undef, i16 %b, i32 0
-  %e = shufflevector <8 x i16> %d, <8 x i16> undef, <8 x i32> zeroinitializer
+  %d = insertelement <8 x i16> poison, i16 %b, i32 0
+  %e = shufflevector <8 x i16> %d, <8 x i16> poison, <8 x i32> zeroinitializer
   %f = zext <8 x i8> %a to <8 x i16>
   %g = add <8 x i16> %e, %f
   ret <8 x i16> %g
@@ -692,8 +692,8 @@ define <4 x i32> @vwaddu_vx_v4i32_i8(<4 x i16>* %x, i8* %y) {
   %a = load <4 x i16>, <4 x i16>* %x
   %b = load i8, i8* %y
   %c = zext i8 %b to i32
-  %d = insertelement <4 x i32> undef, i32 %c, i32 0
-  %e = shufflevector <4 x i32> %d, <4 x i32> undef, <4 x i32> zeroinitializer
+  %d = insertelement <4 x i32> poison, i32 %c, i32 0
+  %e = shufflevector <4 x i32> %d, <4 x i32> poison, <4 x i32> zeroinitializer
   %f = zext <4 x i16> %a to <4 x i32>
   %g = add <4 x i32> %e, %f
   ret <4 x i32> %g
@@ -710,8 +710,8 @@ define <4 x i32> @vwaddu_vx_v4i32_i16(<4 x i16>* %x, i16* %y) {
   %a = load <4 x i16>, <4 x i16>* %x
   %b = load i16, i16* %y
   %c = zext i16 %b to i32
-  %d = insertelement <4 x i32> undef, i32 %c, i32 0
-  %e = shufflevector <4 x i32> %d, <4 x i32> undef, <4 x i32> zeroinitializer
+  %d = insertelement <4 x i32> poison, i32 %c, i32 0
+  %e = shufflevector <4 x i32> %d, <4 x i32> poison, <4 x i32> zeroinitializer
   %f = zext <4 x i16> %a to <4 x i32>
   %g = add <4 x i32> %e, %f
   ret <4 x i32> %g
@@ -727,8 +727,8 @@ define <4 x i32> @vwaddu_vx_v4i32_i32(<4 x i16>* %x, i32* %y) {
 ; CHECK-NEXT:    ret
   %a = load <4 x i16>, <4 x i16>* %x
   %b = load i32, i32* %y
-  %d = insertelement <4 x i32> undef, i32 %b, i32 0
-  %e = shufflevector <4 x i32> %d, <4 x i32> undef, <4 x i32> zeroinitializer
+  %d = insertelement <4 x i32> poison, i32 %b, i32 0
+  %e = shufflevector <4 x i32> %d, <4 x i32> poison, <4 x i32> zeroinitializer
   %f = zext <4 x i16> %a to <4 x i32>
   %g = add <4 x i32> %e, %f
   ret <4 x i32> %g
@@ -759,8 +759,8 @@ define <2 x i64> @vwaddu_vx_v2i64_i8(<2 x i32>* %x, i8* %y) nounwind {
   %a = load <2 x i32>, <2 x i32>* %x
   %b = load i8, i8* %y
   %c = zext i8 %b to i64
-  %d = insertelement <2 x i64> undef, i64 %c, i64 0
-  %e = shufflevector <2 x i64> %d, <2 x i64> undef, <2 x i32> zeroinitializer
+  %d = insertelement <2 x i64> poison, i64 %c, i64 0
+  %e = shufflevector <2 x i64> %d, <2 x i64> poison, <2 x i32> zeroinitializer
   %f = zext <2 x i32> %a to <2 x i64>
   %g = add <2 x i64> %e, %f
   ret <2 x i64> %g
@@ -791,8 +791,8 @@ define <2 x i64> @vwaddu_vx_v2i64_i16(<2 x i32>* %x, i16* %y) nounwind {
   %a = load <2 x i32>, <2 x i32>* %x
   %b = load i16, i16* %y
   %c = zext i16 %b to i64
-  %d = insertelement <2 x i64> undef, i64 %c, i64 0
-  %e = shufflevector <2 x i64> %d, <2 x i64> undef, <2 x i32> zeroinitializer
+  %d = insertelement <2 x i64> poison, i64 %c, i64 0
+  %e = shufflevector <2 x i64> %d, <2 x i64> poison, <2 x i32> zeroinitializer
   %f = zext <2 x i32> %a to <2 x i64>
   %g = add <2 x i64> %e, %f
   ret <2 x i64> %g
@@ -823,8 +823,8 @@ define <2 x i64> @vwaddu_vx_v2i64_i32(<2 x i32>* %x, i32* %y) nounwind {
   %a = load <2 x i32>, <2 x i32>* %x
   %b = load i32, i32* %y
   %c = zext i32 %b to i64
-  %d = insertelement <2 x i64> undef, i64 %c, i64 0
-  %e = shufflevector <2 x i64> %d, <2 x i64> undef, <2 x i32> zeroinitializer
+  %d = insertelement <2 x i64> poison, i64 %c, i64 0
+  %e = shufflevector <2 x i64> %d, <2 x i64> poison, <2 x i32> zeroinitializer
   %f = zext <2 x i32> %a to <2 x i64>
   %g = add <2 x i64> %e, %f
   ret <2 x i64> %g
@@ -855,8 +855,8 @@ define <2 x i64> @vwaddu_vx_v2i64_i64(<2 x i32>* %x, i64* %y) nounwind {
 ; RV64-NEXT:    ret
   %a = load <2 x i32>, <2 x i32>* %x
   %b = load i64, i64* %y
-  %d = insertelement <2 x i64> undef, i64 %b, i64 0
-  %e = shufflevector <2 x i64> %d, <2 x i64> undef, <2 x i32> zeroinitializer
+  %d = insertelement <2 x i64> poison, i64 %b, i64 0
+  %e = shufflevector <2 x i64> %d, <2 x i64> poison, <2 x i32> zeroinitializer
   %f = zext <2 x i32> %a to <2 x i64>
   %g = add <2 x i64> %e, %f
   ret <2 x i64> %g

diff  --git a/llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll b/llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
index 2dcec1db91867..fc6a9377ed2d4 100644
--- a/llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
+++ b/llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
@@ -411,8 +411,8 @@ define <2 x i16> @vwsub_vx_v2i16(<2 x i8>* %x, i8 %y) {
 ; CHECK-NEXT:    vwsub.vx v8, v9, a1
 ; CHECK-NEXT:    ret
   %a = load <2 x i8>, <2 x i8>* %x
-  %b = insertelement <2 x i8> undef, i8 %y, i32 0
-  %c = shufflevector <2 x i8> %b, <2 x i8> undef, <2 x i32> zeroinitializer
+  %b = insertelement <2 x i8> poison, i8 %y, i32 0
+  %c = shufflevector <2 x i8> %b, <2 x i8> poison, <2 x i32> zeroinitializer
   %d = sext <2 x i8> %a to <2 x i16>
   %e = sext <2 x i8> %c to <2 x i16>
   %f = sub <2 x i16> %d, %e
@@ -427,8 +427,8 @@ define <4 x i16> @vwsub_vx_v4i16(<4 x i8>* %x, i8 %y) {
 ; CHECK-NEXT:    vwsub.vx v8, v9, a1
 ; CHECK-NEXT:    ret
   %a = load <4 x i8>, <4 x i8>* %x
-  %b = insertelement <4 x i8> undef, i8 %y, i32 0
-  %c = shufflevector <4 x i8> %b, <4 x i8> undef, <4 x i32> zeroinitializer
+  %b = insertelement <4 x i8> poison, i8 %y, i32 0
+  %c = shufflevector <4 x i8> %b, <4 x i8> poison, <4 x i32> zeroinitializer
   %d = sext <4 x i8> %a to <4 x i16>
   %e = sext <4 x i8> %c to <4 x i16>
   %f = sub <4 x i16> %d, %e
@@ -443,8 +443,8 @@ define <2 x i32> @vwsub_vx_v2i32(<2 x i16>* %x, i16 %y) {
 ; CHECK-NEXT:    vwsub.vx v8, v9, a1
 ; CHECK-NEXT:    ret
   %a = load <2 x i16>, <2 x i16>* %x
-  %b = insertelement <2 x i16> undef, i16 %y, i32 0
-  %c = shufflevector <2 x i16> %b, <2 x i16> undef, <2 x i32> zeroinitializer
+  %b = insertelement <2 x i16> poison, i16 %y, i32 0
+  %c = shufflevector <2 x i16> %b, <2 x i16> poison, <2 x i32> zeroinitializer
   %d = sext <2 x i16> %a to <2 x i32>
   %e = sext <2 x i16> %c to <2 x i32>
   %f = sub <2 x i32> %d, %e
@@ -459,8 +459,8 @@ define <8 x i16> @vwsub_vx_v8i16(<8 x i8>* %x, i8 %y) {
 ; CHECK-NEXT:    vwsub.vx v8, v9, a1
 ; CHECK-NEXT:    ret
   %a = load <8 x i8>, <8 x i8>* %x
-  %b = insertelement <8 x i8> undef, i8 %y, i32 0
-  %c = shufflevector <8 x i8> %b, <8 x i8> undef, <8 x i32> zeroinitializer
+  %b = insertelement <8 x i8> poison, i8 %y, i32 0
+  %c = shufflevector <8 x i8> %b, <8 x i8> poison, <8 x i32> zeroinitializer
   %d = sext <8 x i8> %a to <8 x i16>
   %e = sext <8 x i8> %c to <8 x i16>
   %f = sub <8 x i16> %d, %e
@@ -475,8 +475,8 @@ define <4 x i32> @vwsub_vx_v4i32(<4 x i16>* %x, i16 %y) {
 ; CHECK-NEXT:    vwsub.vx v8, v9, a1
 ; CHECK-NEXT:    ret
   %a = load <4 x i16>, <4 x i16>* %x
-  %b = insertelement <4 x i16> undef, i16 %y, i32 0
-  %c = shufflevector <4 x i16> %b, <4 x i16> undef, <4 x i32> zeroinitializer
+  %b = insertelement <4 x i16> poison, i16 %y, i32 0
+  %c = shufflevector <4 x i16> %b, <4 x i16> poison, <4 x i32> zeroinitializer
   %d = sext <4 x i16> %a to <4 x i32>
   %e = sext <4 x i16> %c to <4 x i32>
   %f = sub <4 x i32> %d, %e
@@ -491,8 +491,8 @@ define <2 x i64> @vwsub_vx_v2i64(<2 x i32>* %x, i32 %y) {
 ; CHECK-NEXT:    vwsub.vx v8, v9, a1
 ; CHECK-NEXT:    ret
   %a = load <2 x i32>, <2 x i32>* %x
-  %b = insertelement <2 x i32> undef, i32 %y, i64 0
-  %c = shufflevector <2 x i32> %b, <2 x i32> undef, <2 x i32> zeroinitializer
+  %b = insertelement <2 x i32> poison, i32 %y, i64 0
+  %c = shufflevector <2 x i32> %b, <2 x i32> poison, <2 x i32> zeroinitializer
   %d = sext <2 x i32> %a to <2 x i64>
   %e = sext <2 x i32> %c to <2 x i64>
   %f = sub <2 x i64> %d, %e
@@ -507,8 +507,8 @@ define <16 x i16> @vwsub_vx_v16i16(<16 x i8>* %x, i8 %y) {
 ; CHECK-NEXT:    vwsub.vx v8, v10, a1
 ; CHECK-NEXT:    ret
   %a = load <16 x i8>, <16 x i8>* %x
-  %b = insertelement <16 x i8> undef, i8 %y, i32 0
-  %c = shufflevector <16 x i8> %b, <16 x i8> undef, <16 x i32> zeroinitializer
+  %b = insertelement <16 x i8> poison, i8 %y, i32 0
+  %c = shufflevector <16 x i8> %b, <16 x i8> poison, <16 x i32> zeroinitializer
   %d = sext <16 x i8> %a to <16 x i16>
   %e = sext <16 x i8> %c to <16 x i16>
   %f = sub <16 x i16> %d, %e
@@ -523,8 +523,8 @@ define <8 x i32> @vwsub_vx_v8i32(<8 x i16>* %x, i16 %y) {
 ; CHECK-NEXT:    vwsub.vx v8, v10, a1
 ; CHECK-NEXT:    ret
   %a = load <8 x i16>, <8 x i16>* %x
-  %b = insertelement <8 x i16> undef, i16 %y, i32 0
-  %c = shufflevector <8 x i16> %b, <8 x i16> undef, <8 x i32> zeroinitializer
+  %b = insertelement <8 x i16> poison, i16 %y, i32 0
+  %c = shufflevector <8 x i16> %b, <8 x i16> poison, <8 x i32> zeroinitializer
   %d = sext <8 x i16> %a to <8 x i32>
   %e = sext <8 x i16> %c to <8 x i32>
   %f = sub <8 x i32> %d, %e
@@ -539,8 +539,8 @@ define <4 x i64> @vwsub_vx_v4i64(<4 x i32>* %x, i32 %y) {
 ; CHECK-NEXT:    vwsub.vx v8, v10, a1
 ; CHECK-NEXT:    ret
   %a = load <4 x i32>, <4 x i32>* %x
-  %b = insertelement <4 x i32> undef, i32 %y, i64 0
-  %c = shufflevector <4 x i32> %b, <4 x i32> undef, <4 x i32> zeroinitializer
+  %b = insertelement <4 x i32> poison, i32 %y, i64 0
+  %c = shufflevector <4 x i32> %b, <4 x i32> poison, <4 x i32> zeroinitializer
   %d = sext <4 x i32> %a to <4 x i64>
   %e = sext <4 x i32> %c to <4 x i64>
   %f = sub <4 x i64> %d, %e
@@ -556,8 +556,8 @@ define <32 x i16> @vwsub_vx_v32i16(<32 x i8>* %x, i8 %y) {
 ; CHECK-NEXT:    vwsub.vx v8, v12, a1
 ; CHECK-NEXT:    ret
   %a = load <32 x i8>, <32 x i8>* %x
-  %b = insertelement <32 x i8> undef, i8 %y, i32 0
-  %c = shufflevector <32 x i8> %b, <32 x i8> undef, <32 x i32> zeroinitializer
+  %b = insertelement <32 x i8> poison, i8 %y, i32 0
+  %c = shufflevector <32 x i8> %b, <32 x i8> poison, <32 x i32> zeroinitializer
   %d = sext <32 x i8> %a to <32 x i16>
   %e = sext <32 x i8> %c to <32 x i16>
   %f = sub <32 x i16> %d, %e
@@ -572,8 +572,8 @@ define <16 x i32> @vwsub_vx_v16i32(<16 x i16>* %x, i16 %y) {
 ; CHECK-NEXT:    vwsub.vx v8, v12, a1
 ; CHECK-NEXT:    ret
   %a = load <16 x i16>, <16 x i16>* %x
-  %b = insertelement <16 x i16> undef, i16 %y, i32 0
-  %c = shufflevector <16 x i16> %b, <16 x i16> undef, <16 x i32> zeroinitializer
+  %b = insertelement <16 x i16> poison, i16 %y, i32 0
+  %c = shufflevector <16 x i16> %b, <16 x i16> poison, <16 x i32> zeroinitializer
   %d = sext <16 x i16> %a to <16 x i32>
   %e = sext <16 x i16> %c to <16 x i32>
   %f = sub <16 x i32> %d, %e
@@ -588,8 +588,8 @@ define <8 x i64> @vwsub_vx_v8i64(<8 x i32>* %x, i32 %y) {
 ; CHECK-NEXT:    vwsub.vx v8, v12, a1
 ; CHECK-NEXT:    ret
   %a = load <8 x i32>, <8 x i32>* %x
-  %b = insertelement <8 x i32> undef, i32 %y, i64 0
-  %c = shufflevector <8 x i32> %b, <8 x i32> undef, <8 x i32> zeroinitializer
+  %b = insertelement <8 x i32> poison, i32 %y, i64 0
+  %c = shufflevector <8 x i32> %b, <8 x i32> poison, <8 x i32> zeroinitializer
   %d = sext <8 x i32> %a to <8 x i64>
   %e = sext <8 x i32> %c to <8 x i64>
   %f = sub <8 x i64> %d, %e
@@ -605,8 +605,8 @@ define <64 x i16> @vwsub_vx_v64i16(<64 x i8>* %x, i8 %y) {
 ; CHECK-NEXT:    vwsub.vx v8, v16, a1
 ; CHECK-NEXT:    ret
   %a = load <64 x i8>, <64 x i8>* %x
-  %b = insertelement <64 x i8> undef, i8 %y, i32 0
-  %c = shufflevector <64 x i8> %b, <64 x i8> undef, <64 x i32> zeroinitializer
+  %b = insertelement <64 x i8> poison, i8 %y, i32 0
+  %c = shufflevector <64 x i8> %b, <64 x i8> poison, <64 x i32> zeroinitializer
   %d = sext <64 x i8> %a to <64 x i16>
   %e = sext <64 x i8> %c to <64 x i16>
   %f = sub <64 x i16> %d, %e
@@ -622,8 +622,8 @@ define <32 x i32> @vwsub_vx_v32i32(<32 x i16>* %x, i16 %y) {
 ; CHECK-NEXT:    vwsub.vx v8, v16, a1
 ; CHECK-NEXT:    ret
   %a = load <32 x i16>, <32 x i16>* %x
-  %b = insertelement <32 x i16> undef, i16 %y, i32 0
-  %c = shufflevector <32 x i16> %b, <32 x i16> undef, <32 x i32> zeroinitializer
+  %b = insertelement <32 x i16> poison, i16 %y, i32 0
+  %c = shufflevector <32 x i16> %b, <32 x i16> poison, <32 x i32> zeroinitializer
   %d = sext <32 x i16> %a to <32 x i32>
   %e = sext <32 x i16> %c to <32 x i32>
   %f = sub <32 x i32> %d, %e
@@ -638,8 +638,8 @@ define <16 x i64> @vwsub_vx_v16i64(<16 x i32>* %x, i32 %y) {
 ; CHECK-NEXT:    vwsub.vx v8, v16, a1
 ; CHECK-NEXT:    ret
   %a = load <16 x i32>, <16 x i32>* %x
-  %b = insertelement <16 x i32> undef, i32 %y, i64 0
-  %c = shufflevector <16 x i32> %b, <16 x i32> undef, <16 x i32> zeroinitializer
+  %b = insertelement <16 x i32> poison, i32 %y, i64 0
+  %c = shufflevector <16 x i32> %b, <16 x i32> poison, <16 x i32> zeroinitializer
   %d = sext <16 x i32> %a to <16 x i64>
   %e = sext <16 x i32> %c to <16 x i64>
   %f = sub <16 x i64> %d, %e
@@ -660,8 +660,8 @@ define <8 x i16> @vwsub_vx_v8i16_i8(<8 x i8>* %x, i8* %y) {
   %a = load <8 x i8>, <8 x i8>* %x
   %b = load i8, i8* %y
   %c = sext i8 %b to i16
-  %d = insertelement <8 x i16> undef, i16 %c, i32 0
-  %e = shufflevector <8 x i16> %d, <8 x i16> undef, <8 x i32> zeroinitializer
+  %d = insertelement <8 x i16> poison, i16 %c, i32 0
+  %e = shufflevector <8 x i16> %d, <8 x i16> poison, <8 x i32> zeroinitializer
   %f = sext <8 x i8> %a to <8 x i16>
   %g = sub <8 x i16> %e, %f
   ret <8 x i16> %g
@@ -677,8 +677,8 @@ define <8 x i16> @vwsub_vx_v8i16_i16(<8 x i8>* %x, i16* %y) {
 ; CHECK-NEXT:    ret
   %a = load <8 x i8>, <8 x i8>* %x
   %b = load i16, i16* %y
-  %d = insertelement <8 x i16> undef, i16 %b, i32 0
-  %e = shufflevector <8 x i16> %d, <8 x i16> undef, <8 x i32> zeroinitializer
+  %d = insertelement <8 x i16> poison, i16 %b, i32 0
+  %e = shufflevector <8 x i16> %d, <8 x i16> poison, <8 x i32> zeroinitializer
   %f = sext <8 x i8> %a to <8 x i16>
   %g = sub <8 x i16> %e, %f
   ret <8 x i16> %g
@@ -698,8 +698,8 @@ define <4 x i32> @vwsub_vx_v4i32_i8(<4 x i16>* %x, i8* %y) {
   %a = load <4 x i16>, <4 x i16>* %x
   %b = load i8, i8* %y
   %c = sext i8 %b to i32
-  %d = insertelement <4 x i32> undef, i32 %c, i32 0
-  %e = shufflevector <4 x i32> %d, <4 x i32> undef, <4 x i32> zeroinitializer
+  %d = insertelement <4 x i32> poison, i32 %c, i32 0
+  %e = shufflevector <4 x i32> %d, <4 x i32> poison, <4 x i32> zeroinitializer
   %f = sext <4 x i16> %a to <4 x i32>
   %g = sub <4 x i32> %e, %f
   ret <4 x i32> %g
@@ -719,8 +719,8 @@ define <4 x i32> @vwsub_vx_v4i32_i16(<4 x i16>* %x, i16* %y) {
   %a = load <4 x i16>, <4 x i16>* %x
   %b = load i16, i16* %y
   %c = sext i16 %b to i32
-  %d = insertelement <4 x i32> undef, i32 %c, i32 0
-  %e = shufflevector <4 x i32> %d, <4 x i32> undef, <4 x i32> zeroinitializer
+  %d = insertelement <4 x i32> poison, i32 %c, i32 0
+  %e = shufflevector <4 x i32> %d, <4 x i32> poison, <4 x i32> zeroinitializer
   %f = sext <4 x i16> %a to <4 x i32>
   %g = sub <4 x i32> %e, %f
   ret <4 x i32> %g
@@ -736,8 +736,8 @@ define <4 x i32> @vwsub_vx_v4i32_i32(<4 x i16>* %x, i32* %y) {
 ; CHECK-NEXT:    ret
   %a = load <4 x i16>, <4 x i16>* %x
   %b = load i32, i32* %y
-  %d = insertelement <4 x i32> undef, i32 %b, i32 0
-  %e = shufflevector <4 x i32> %d, <4 x i32> undef, <4 x i32> zeroinitializer
+  %d = insertelement <4 x i32> poison, i32 %b, i32 0
+  %e = shufflevector <4 x i32> %d, <4 x i32> poison, <4 x i32> zeroinitializer
   %f = sext <4 x i16> %a to <4 x i32>
   %g = sub <4 x i32> %e, %f
   ret <4 x i32> %g
@@ -772,8 +772,8 @@ define <2 x i64> @vwsub_vx_v2i64_i8(<2 x i32>* %x, i8* %y) nounwind {
   %a = load <2 x i32>, <2 x i32>* %x
   %b = load i8, i8* %y
   %c = sext i8 %b to i64
-  %d = insertelement <2 x i64> undef, i64 %c, i64 0
-  %e = shufflevector <2 x i64> %d, <2 x i64> undef, <2 x i32> zeroinitializer
+  %d = insertelement <2 x i64> poison, i64 %c, i64 0
+  %e = shufflevector <2 x i64> %d, <2 x i64> poison, <2 x i32> zeroinitializer
   %f = sext <2 x i32> %a to <2 x i64>
   %g = sub <2 x i64> %e, %f
   ret <2 x i64> %g
@@ -808,8 +808,8 @@ define <2 x i64> @vwsub_vx_v2i64_i16(<2 x i32>* %x, i16* %y) nounwind {
   %a = load <2 x i32>, <2 x i32>* %x
   %b = load i16, i16* %y
   %c = sext i16 %b to i64
-  %d = insertelement <2 x i64> undef, i64 %c, i64 0
-  %e = shufflevector <2 x i64> %d, <2 x i64> undef, <2 x i32> zeroinitializer
+  %d = insertelement <2 x i64> poison, i64 %c, i64 0
+  %e = shufflevector <2 x i64> %d, <2 x i64> poison, <2 x i32> zeroinitializer
   %f = sext <2 x i32> %a to <2 x i64>
   %g = sub <2 x i64> %e, %f
   ret <2 x i64> %g
@@ -844,8 +844,8 @@ define <2 x i64> @vwsub_vx_v2i64_i32(<2 x i32>* %x, i32* %y) nounwind {
   %a = load <2 x i32>, <2 x i32>* %x
   %b = load i32, i32* %y
   %c = sext i32 %b to i64
-  %d = insertelement <2 x i64> undef, i64 %c, i64 0
-  %e = shufflevector <2 x i64> %d, <2 x i64> undef, <2 x i32> zeroinitializer
+  %d = insertelement <2 x i64> poison, i64 %c, i64 0
+  %e = shufflevector <2 x i64> %d, <2 x i64> poison, <2 x i32> zeroinitializer
   %f = sext <2 x i32> %a to <2 x i64>
   %g = sub <2 x i64> %e, %f
   ret <2 x i64> %g
@@ -876,8 +876,8 @@ define <2 x i64> @vwsub_vx_v2i64_i64(<2 x i32>* %x, i64* %y) nounwind {
 ; RV64-NEXT:    ret
   %a = load <2 x i32>, <2 x i32>* %x
   %b = load i64, i64* %y
-  %d = insertelement <2 x i64> undef, i64 %b, i64 0
-  %e = shufflevector <2 x i64> %d, <2 x i64> undef, <2 x i32> zeroinitializer
+  %d = insertelement <2 x i64> poison, i64 %b, i64 0
+  %e = shufflevector <2 x i64> %d, <2 x i64> poison, <2 x i32> zeroinitializer
   %f = sext <2 x i32> %a to <2 x i64>
   %g = sub <2 x i64> %e, %f
   ret <2 x i64> %g

diff  --git a/llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll b/llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
index 98fc661e558aa..c7bcaca598f85 100644
--- a/llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
+++ b/llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
@@ -411,8 +411,8 @@ define <2 x i16> @vwsubu_vx_v2i16(<2 x i8>* %x, i8 %y) {
 ; CHECK-NEXT:    vwsubu.vx v8, v9, a1
 ; CHECK-NEXT:    ret
   %a = load <2 x i8>, <2 x i8>* %x
-  %b = insertelement <2 x i8> undef, i8 %y, i32 0
-  %c = shufflevector <2 x i8> %b, <2 x i8> undef, <2 x i32> zeroinitializer
+  %b = insertelement <2 x i8> poison, i8 %y, i32 0
+  %c = shufflevector <2 x i8> %b, <2 x i8> poison, <2 x i32> zeroinitializer
   %d = zext <2 x i8> %a to <2 x i16>
   %e = zext <2 x i8> %c to <2 x i16>
   %f = sub <2 x i16> %d, %e
@@ -427,8 +427,8 @@ define <4 x i16> @vwsubu_vx_v4i16(<4 x i8>* %x, i8 %y) {
 ; CHECK-NEXT:    vwsubu.vx v8, v9, a1
 ; CHECK-NEXT:    ret
   %a = load <4 x i8>, <4 x i8>* %x
-  %b = insertelement <4 x i8> undef, i8 %y, i32 0
-  %c = shufflevector <4 x i8> %b, <4 x i8> undef, <4 x i32> zeroinitializer
+  %b = insertelement <4 x i8> poison, i8 %y, i32 0
+  %c = shufflevector <4 x i8> %b, <4 x i8> poison, <4 x i32> zeroinitializer
   %d = zext <4 x i8> %a to <4 x i16>
   %e = zext <4 x i8> %c to <4 x i16>
   %f = sub <4 x i16> %d, %e
@@ -443,8 +443,8 @@ define <2 x i32> @vwsubu_vx_v2i32(<2 x i16>* %x, i16 %y) {
 ; CHECK-NEXT:    vwsubu.vx v8, v9, a1
 ; CHECK-NEXT:    ret
   %a = load <2 x i16>, <2 x i16>* %x
-  %b = insertelement <2 x i16> undef, i16 %y, i32 0
-  %c = shufflevector <2 x i16> %b, <2 x i16> undef, <2 x i32> zeroinitializer
+  %b = insertelement <2 x i16> poison, i16 %y, i32 0
+  %c = shufflevector <2 x i16> %b, <2 x i16> poison, <2 x i32> zeroinitializer
   %d = zext <2 x i16> %a to <2 x i32>
   %e = zext <2 x i16> %c to <2 x i32>
   %f = sub <2 x i32> %d, %e
@@ -459,8 +459,8 @@ define <8 x i16> @vwsubu_vx_v8i16(<8 x i8>* %x, i8 %y) {
 ; CHECK-NEXT:    vwsubu.vx v8, v9, a1
 ; CHECK-NEXT:    ret
   %a = load <8 x i8>, <8 x i8>* %x
-  %b = insertelement <8 x i8> undef, i8 %y, i32 0
-  %c = shufflevector <8 x i8> %b, <8 x i8> undef, <8 x i32> zeroinitializer
+  %b = insertelement <8 x i8> poison, i8 %y, i32 0
+  %c = shufflevector <8 x i8> %b, <8 x i8> poison, <8 x i32> zeroinitializer
   %d = zext <8 x i8> %a to <8 x i16>
   %e = zext <8 x i8> %c to <8 x i16>
   %f = sub <8 x i16> %d, %e
@@ -475,8 +475,8 @@ define <4 x i32> @vwsubu_vx_v4i32(<4 x i16>* %x, i16 %y) {
 ; CHECK-NEXT:    vwsubu.vx v8, v9, a1
 ; CHECK-NEXT:    ret
   %a = load <4 x i16>, <4 x i16>* %x
-  %b = insertelement <4 x i16> undef, i16 %y, i32 0
-  %c = shufflevector <4 x i16> %b, <4 x i16> undef, <4 x i32> zeroinitializer
+  %b = insertelement <4 x i16> poison, i16 %y, i32 0
+  %c = shufflevector <4 x i16> %b, <4 x i16> poison, <4 x i32> zeroinitializer
   %d = zext <4 x i16> %a to <4 x i32>
   %e = zext <4 x i16> %c to <4 x i32>
   %f = sub <4 x i32> %d, %e
@@ -491,8 +491,8 @@ define <2 x i64> @vwsubu_vx_v2i64(<2 x i32>* %x, i32 %y) {
 ; CHECK-NEXT:    vwsubu.vx v8, v9, a1
 ; CHECK-NEXT:    ret
   %a = load <2 x i32>, <2 x i32>* %x
-  %b = insertelement <2 x i32> undef, i32 %y, i64 0
-  %c = shufflevector <2 x i32> %b, <2 x i32> undef, <2 x i32> zeroinitializer
+  %b = insertelement <2 x i32> poison, i32 %y, i64 0
+  %c = shufflevector <2 x i32> %b, <2 x i32> poison, <2 x i32> zeroinitializer
   %d = zext <2 x i32> %a to <2 x i64>
   %e = zext <2 x i32> %c to <2 x i64>
   %f = sub <2 x i64> %d, %e
@@ -507,8 +507,8 @@ define <16 x i16> @vwsubu_vx_v16i16(<16 x i8>* %x, i8 %y) {
 ; CHECK-NEXT:    vwsubu.vx v8, v10, a1
 ; CHECK-NEXT:    ret
   %a = load <16 x i8>, <16 x i8>* %x
-  %b = insertelement <16 x i8> undef, i8 %y, i32 0
-  %c = shufflevector <16 x i8> %b, <16 x i8> undef, <16 x i32> zeroinitializer
+  %b = insertelement <16 x i8> poison, i8 %y, i32 0
+  %c = shufflevector <16 x i8> %b, <16 x i8> poison, <16 x i32> zeroinitializer
   %d = zext <16 x i8> %a to <16 x i16>
   %e = zext <16 x i8> %c to <16 x i16>
   %f = sub <16 x i16> %d, %e
@@ -523,8 +523,8 @@ define <8 x i32> @vwsubu_vx_v8i32(<8 x i16>* %x, i16 %y) {
 ; CHECK-NEXT:    vwsubu.vx v8, v10, a1
 ; CHECK-NEXT:    ret
   %a = load <8 x i16>, <8 x i16>* %x
-  %b = insertelement <8 x i16> undef, i16 %y, i32 0
-  %c = shufflevector <8 x i16> %b, <8 x i16> undef, <8 x i32> zeroinitializer
+  %b = insertelement <8 x i16> poison, i16 %y, i32 0
+  %c = shufflevector <8 x i16> %b, <8 x i16> poison, <8 x i32> zeroinitializer
   %d = zext <8 x i16> %a to <8 x i32>
   %e = zext <8 x i16> %c to <8 x i32>
   %f = sub <8 x i32> %d, %e
@@ -539,8 +539,8 @@ define <4 x i64> @vwsubu_vx_v4i64(<4 x i32>* %x, i32 %y) {
 ; CHECK-NEXT:    vwsubu.vx v8, v10, a1
 ; CHECK-NEXT:    ret
   %a = load <4 x i32>, <4 x i32>* %x
-  %b = insertelement <4 x i32> undef, i32 %y, i64 0
-  %c = shufflevector <4 x i32> %b, <4 x i32> undef, <4 x i32> zeroinitializer
+  %b = insertelement <4 x i32> poison, i32 %y, i64 0
+  %c = shufflevector <4 x i32> %b, <4 x i32> poison, <4 x i32> zeroinitializer
   %d = zext <4 x i32> %a to <4 x i64>
   %e = zext <4 x i32> %c to <4 x i64>
   %f = sub <4 x i64> %d, %e
@@ -556,8 +556,8 @@ define <32 x i16> @vwsubu_vx_v32i16(<32 x i8>* %x, i8 %y) {
 ; CHECK-NEXT:    vwsubu.vx v8, v12, a1
 ; CHECK-NEXT:    ret
   %a = load <32 x i8>, <32 x i8>* %x
-  %b = insertelement <32 x i8> undef, i8 %y, i32 0
-  %c = shufflevector <32 x i8> %b, <32 x i8> undef, <32 x i32> zeroinitializer
+  %b = insertelement <32 x i8> poison, i8 %y, i32 0
+  %c = shufflevector <32 x i8> %b, <32 x i8> poison, <32 x i32> zeroinitializer
   %d = zext <32 x i8> %a to <32 x i16>
   %e = zext <32 x i8> %c to <32 x i16>
   %f = sub <32 x i16> %d, %e
@@ -572,8 +572,8 @@ define <16 x i32> @vwsubu_vx_v16i32(<16 x i16>* %x, i16 %y) {
 ; CHECK-NEXT:    vwsubu.vx v8, v12, a1
 ; CHECK-NEXT:    ret
   %a = load <16 x i16>, <16 x i16>* %x
-  %b = insertelement <16 x i16> undef, i16 %y, i32 0
-  %c = shufflevector <16 x i16> %b, <16 x i16> undef, <16 x i32> zeroinitializer
+  %b = insertelement <16 x i16> poison, i16 %y, i32 0
+  %c = shufflevector <16 x i16> %b, <16 x i16> poison, <16 x i32> zeroinitializer
   %d = zext <16 x i16> %a to <16 x i32>
   %e = zext <16 x i16> %c to <16 x i32>
   %f = sub <16 x i32> %d, %e
@@ -588,8 +588,8 @@ define <8 x i64> @vwsubu_vx_v8i64(<8 x i32>* %x, i32 %y) {
 ; CHECK-NEXT:    vwsubu.vx v8, v12, a1
 ; CHECK-NEXT:    ret
   %a = load <8 x i32>, <8 x i32>* %x
-  %b = insertelement <8 x i32> undef, i32 %y, i64 0
-  %c = shufflevector <8 x i32> %b, <8 x i32> undef, <8 x i32> zeroinitializer
+  %b = insertelement <8 x i32> poison, i32 %y, i64 0
+  %c = shufflevector <8 x i32> %b, <8 x i32> poison, <8 x i32> zeroinitializer
   %d = zext <8 x i32> %a to <8 x i64>
   %e = zext <8 x i32> %c to <8 x i64>
   %f = sub <8 x i64> %d, %e
@@ -605,8 +605,8 @@ define <64 x i16> @vwsubu_vx_v64i16(<64 x i8>* %x, i8 %y) {
 ; CHECK-NEXT:    vwsubu.vx v8, v16, a1
 ; CHECK-NEXT:    ret
   %a = load <64 x i8>, <64 x i8>* %x
-  %b = insertelement <64 x i8> undef, i8 %y, i32 0
-  %c = shufflevector <64 x i8> %b, <64 x i8> undef, <64 x i32> zeroinitializer
+  %b = insertelement <64 x i8> poison, i8 %y, i32 0
+  %c = shufflevector <64 x i8> %b, <64 x i8> poison, <64 x i32> zeroinitializer
   %d = zext <64 x i8> %a to <64 x i16>
   %e = zext <64 x i8> %c to <64 x i16>
   %f = sub <64 x i16> %d, %e
@@ -622,8 +622,8 @@ define <32 x i32> @vwsubu_vx_v32i32(<32 x i16>* %x, i16 %y) {
 ; CHECK-NEXT:    vwsubu.vx v8, v16, a1
 ; CHECK-NEXT:    ret
   %a = load <32 x i16>, <32 x i16>* %x
-  %b = insertelement <32 x i16> undef, i16 %y, i32 0
-  %c = shufflevector <32 x i16> %b, <32 x i16> undef, <32 x i32> zeroinitializer
+  %b = insertelement <32 x i16> poison, i16 %y, i32 0
+  %c = shufflevector <32 x i16> %b, <32 x i16> poison, <32 x i32> zeroinitializer
   %d = zext <32 x i16> %a to <32 x i32>
   %e = zext <32 x i16> %c to <32 x i32>
   %f = sub <32 x i32> %d, %e
@@ -638,8 +638,8 @@ define <16 x i64> @vwsubu_vx_v16i64(<16 x i32>* %x, i32 %y) {
 ; CHECK-NEXT:    vwsubu.vx v8, v16, a1
 ; CHECK-NEXT:    ret
   %a = load <16 x i32>, <16 x i32>* %x
-  %b = insertelement <16 x i32> undef, i32 %y, i64 0
-  %c = shufflevector <16 x i32> %b, <16 x i32> undef, <16 x i32> zeroinitializer
+  %b = insertelement <16 x i32> poison, i32 %y, i64 0
+  %c = shufflevector <16 x i32> %b, <16 x i32> poison, <16 x i32> zeroinitializer
   %d = zext <16 x i32> %a to <16 x i64>
   %e = zext <16 x i32> %c to <16 x i64>
   %f = sub <16 x i64> %d, %e
@@ -660,8 +660,8 @@ define <8 x i16> @vwsubu_vx_v8i16_i8(<8 x i8>* %x, i8* %y) {
   %a = load <8 x i8>, <8 x i8>* %x
   %b = load i8, i8* %y
   %c = zext i8 %b to i16
-  %d = insertelement <8 x i16> undef, i16 %c, i32 0
-  %e = shufflevector <8 x i16> %d, <8 x i16> undef, <8 x i32> zeroinitializer
+  %d = insertelement <8 x i16> poison, i16 %c, i32 0
+  %e = shufflevector <8 x i16> %d, <8 x i16> poison, <8 x i32> zeroinitializer
   %f = zext <8 x i8> %a to <8 x i16>
   %g = sub <8 x i16> %e, %f
   ret <8 x i16> %g
@@ -677,8 +677,8 @@ define <8 x i16> @vwsubu_vx_v8i16_i16(<8 x i8>* %x, i16* %y) {
 ; CHECK-NEXT:    ret
   %a = load <8 x i8>, <8 x i8>* %x
   %b = load i16, i16* %y
-  %d = insertelement <8 x i16> undef, i16 %b, i32 0
-  %e = shufflevector <8 x i16> %d, <8 x i16> undef, <8 x i32> zeroinitializer
+  %d = insertelement <8 x i16> poison, i16 %b, i32 0
+  %e = shufflevector <8 x i16> %d, <8 x i16> poison, <8 x i32> zeroinitializer
   %f = zext <8 x i8> %a to <8 x i16>
   %g = sub <8 x i16> %e, %f
   ret <8 x i16> %g
@@ -698,8 +698,8 @@ define <4 x i32> @vwsubu_vx_v4i32_i8(<4 x i16>* %x, i8* %y) {
   %a = load <4 x i16>, <4 x i16>* %x
   %b = load i8, i8* %y
   %c = zext i8 %b to i32
-  %d = insertelement <4 x i32> undef, i32 %c, i32 0
-  %e = shufflevector <4 x i32> %d, <4 x i32> undef, <4 x i32> zeroinitializer
+  %d = insertelement <4 x i32> poison, i32 %c, i32 0
+  %e = shufflevector <4 x i32> %d, <4 x i32> poison, <4 x i32> zeroinitializer
   %f = zext <4 x i16> %a to <4 x i32>
   %g = sub <4 x i32> %e, %f
   ret <4 x i32> %g
@@ -719,8 +719,8 @@ define <4 x i32> @vwsubu_vx_v4i32_i16(<4 x i16>* %x, i16* %y) {
   %a = load <4 x i16>, <4 x i16>* %x
   %b = load i16, i16* %y
   %c = zext i16 %b to i32
-  %d = insertelement <4 x i32> undef, i32 %c, i32 0
-  %e = shufflevector <4 x i32> %d, <4 x i32> undef, <4 x i32> zeroinitializer
+  %d = insertelement <4 x i32> poison, i32 %c, i32 0
+  %e = shufflevector <4 x i32> %d, <4 x i32> poison, <4 x i32> zeroinitializer
   %f = zext <4 x i16> %a to <4 x i32>
   %g = sub <4 x i32> %e, %f
   ret <4 x i32> %g
@@ -736,8 +736,8 @@ define <4 x i32> @vwsubu_vx_v4i32_i32(<4 x i16>* %x, i32* %y) {
 ; CHECK-NEXT:    ret
   %a = load <4 x i16>, <4 x i16>* %x
   %b = load i32, i32* %y
-  %d = insertelement <4 x i32> undef, i32 %b, i32 0
-  %e = shufflevector <4 x i32> %d, <4 x i32> undef, <4 x i32> zeroinitializer
+  %d = insertelement <4 x i32> poison, i32 %b, i32 0
+  %e = shufflevector <4 x i32> %d, <4 x i32> poison, <4 x i32> zeroinitializer
   %f = zext <4 x i16> %a to <4 x i32>
   %g = sub <4 x i32> %e, %f
   ret <4 x i32> %g
@@ -771,8 +771,8 @@ define <2 x i64> @vwsubu_vx_v2i64_i8(<2 x i32>* %x, i8* %y) nounwind {
   %a = load <2 x i32>, <2 x i32>* %x
   %b = load i8, i8* %y
   %c = zext i8 %b to i64
-  %d = insertelement <2 x i64> undef, i64 %c, i64 0
-  %e = shufflevector <2 x i64> %d, <2 x i64> undef, <2 x i32> zeroinitializer
+  %d = insertelement <2 x i64> poison, i64 %c, i64 0
+  %e = shufflevector <2 x i64> %d, <2 x i64> poison, <2 x i32> zeroinitializer
   %f = zext <2 x i32> %a to <2 x i64>
   %g = sub <2 x i64> %e, %f
   ret <2 x i64> %g
@@ -806,8 +806,8 @@ define <2 x i64> @vwsubu_vx_v2i64_i16(<2 x i32>* %x, i16* %y) nounwind {
   %a = load <2 x i32>, <2 x i32>* %x
   %b = load i16, i16* %y
   %c = zext i16 %b to i64
-  %d = insertelement <2 x i64> undef, i64 %c, i64 0
-  %e = shufflevector <2 x i64> %d, <2 x i64> undef, <2 x i32> zeroinitializer
+  %d = insertelement <2 x i64> poison, i64 %c, i64 0
+  %e = shufflevector <2 x i64> %d, <2 x i64> poison, <2 x i32> zeroinitializer
   %f = zext <2 x i32> %a to <2 x i64>
   %g = sub <2 x i64> %e, %f
   ret <2 x i64> %g
@@ -841,8 +841,8 @@ define <2 x i64> @vwsubu_vx_v2i64_i32(<2 x i32>* %x, i32* %y) nounwind {
   %a = load <2 x i32>, <2 x i32>* %x
   %b = load i32, i32* %y
   %c = zext i32 %b to i64
-  %d = insertelement <2 x i64> undef, i64 %c, i64 0
-  %e = shufflevector <2 x i64> %d, <2 x i64> undef, <2 x i32> zeroinitializer
+  %d = insertelement <2 x i64> poison, i64 %c, i64 0
+  %e = shufflevector <2 x i64> %d, <2 x i64> poison, <2 x i32> zeroinitializer
   %f = zext <2 x i32> %a to <2 x i64>
   %g = sub <2 x i64> %e, %f
   ret <2 x i64> %g
@@ -873,8 +873,8 @@ define <2 x i64> @vwsubu_vx_v2i64_i64(<2 x i32>* %x, i64* %y) nounwind {
 ; RV64-NEXT:    ret
   %a = load <2 x i32>, <2 x i32>* %x
   %b = load i64, i64* %y
-  %d = insertelement <2 x i64> undef, i64 %b, i64 0
-  %e = shufflevector <2 x i64> %d, <2 x i64> undef, <2 x i32> zeroinitializer
+  %d = insertelement <2 x i64> poison, i64 %b, i64 0
+  %e = shufflevector <2 x i64> %d, <2 x i64> poison, <2 x i32> zeroinitializer
   %f = zext <2 x i32> %a to <2 x i64>
   %g = sub <2 x i64> %e, %f
   ret <2 x i64> %g

diff  --git a/llvm/test/CodeGen/RISCV/rvv/vfwmacc-sdnode.ll b/llvm/test/CodeGen/RISCV/rvv/vfwmacc-sdnode.ll
index 425fdc371a9f7..ca7ee7ad369a6 100644
--- a/llvm/test/CodeGen/RISCV/rvv/vfwmacc-sdnode.ll
+++ b/llvm/test/CodeGen/RISCV/rvv/vfwmacc-sdnode.ll
@@ -24,8 +24,8 @@ define <vscale x 1 x float> @vfwmacc_vf_nxv1f32(<vscale x 1 x float> %va, <vscal
 ; CHECK-NEXT:    vsetvli a0, zero, e16, mf4, ta, mu
 ; CHECK-NEXT:    vfwmacc.vf v8, fa0, v9
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 1 x half> undef, half %c, i32 0
-  %splat = shufflevector <vscale x 1 x half> %head, <vscale x 1 x half> undef, <vscale x 1 x i32> zeroinitializer
+  %head = insertelement <vscale x 1 x half> poison, half %c, i32 0
+  %splat = shufflevector <vscale x 1 x half> %head, <vscale x 1 x half> poison, <vscale x 1 x i32> zeroinitializer
   %vd = fpext <vscale x 1 x half> %vb to <vscale x 1 x float>
   %ve = fpext <vscale x 1 x half> %splat to <vscale x 1 x float>
   %vf = call <vscale x 1 x float> @llvm.fma.v1f32(<vscale x 1 x float> %vd, <vscale x 1 x float> %ve, <vscale x 1 x float> %va)
@@ -52,8 +52,8 @@ define <vscale x 1 x float> @vfwnmacc_vf_nxv1f32(<vscale x 1 x float> %va, <vsca
 ; CHECK-NEXT:    vsetvli a0, zero, e16, mf4, ta, mu
 ; CHECK-NEXT:    vfwnmacc.vf v8, fa0, v9
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 1 x half> undef, half %c, i32 0
-  %splat = shufflevector <vscale x 1 x half> %head, <vscale x 1 x half> undef, <vscale x 1 x i32> zeroinitializer
+  %head = insertelement <vscale x 1 x half> poison, half %c, i32 0
+  %splat = shufflevector <vscale x 1 x half> %head, <vscale x 1 x half> poison, <vscale x 1 x i32> zeroinitializer
   %vd = fpext <vscale x 1 x half> %vb to <vscale x 1 x float>
   %ve = fpext <vscale x 1 x half> %splat to <vscale x 1 x float>
   %vf = fneg <vscale x 1 x float> %va
@@ -68,8 +68,8 @@ define <vscale x 1 x float> @vfwnmacc_fv_nxv1f32(<vscale x 1 x float> %va, <vsca
 ; CHECK-NEXT:    vsetvli a0, zero, e16, mf4, ta, mu
 ; CHECK-NEXT:    vfwnmacc.vf v8, fa0, v9
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 1 x half> undef, half %c, i32 0
-  %splat = shufflevector <vscale x 1 x half> %head, <vscale x 1 x half> undef, <vscale x 1 x i32> zeroinitializer
+  %head = insertelement <vscale x 1 x half> poison, half %c, i32 0
+  %splat = shufflevector <vscale x 1 x half> %head, <vscale x 1 x half> poison, <vscale x 1 x i32> zeroinitializer
   %vd = fpext <vscale x 1 x half> %vb to <vscale x 1 x float>
   %ve = fpext <vscale x 1 x half> %splat to <vscale x 1 x float>
   %vf = fneg <vscale x 1 x float> %va
@@ -97,8 +97,8 @@ define <vscale x 1 x float> @vfwmsac_vf_nxv1f32(<vscale x 1 x float> %va, <vscal
 ; CHECK-NEXT:    vsetvli a0, zero, e16, mf4, ta, mu
 ; CHECK-NEXT:    vfwmsac.vf v8, fa0, v9
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 1 x half> undef, half %c, i32 0
-  %splat = shufflevector <vscale x 1 x half> %head, <vscale x 1 x half> undef, <vscale x 1 x i32> zeroinitializer
+  %head = insertelement <vscale x 1 x half> poison, half %c, i32 0
+  %splat = shufflevector <vscale x 1 x half> %head, <vscale x 1 x half> poison, <vscale x 1 x i32> zeroinitializer
   %vd = fpext <vscale x 1 x half> %vb to <vscale x 1 x float>
   %ve = fpext <vscale x 1 x half> %splat to <vscale x 1 x float>
   %vf = fneg <vscale x 1 x float> %va
@@ -125,8 +125,8 @@ define <vscale x 1 x float> @vfwnmsac_vf_nxv1f32(<vscale x 1 x float> %va, <vsca
 ; CHECK-NEXT:    vsetvli a0, zero, e16, mf4, ta, mu
 ; CHECK-NEXT:    vfwnmsac.vf v8, fa0, v9
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 1 x half> undef, half %c, i32 0
-  %splat = shufflevector <vscale x 1 x half> %head, <vscale x 1 x half> undef, <vscale x 1 x i32> zeroinitializer
+  %head = insertelement <vscale x 1 x half> poison, half %c, i32 0
+  %splat = shufflevector <vscale x 1 x half> %head, <vscale x 1 x half> poison, <vscale x 1 x i32> zeroinitializer
   %vd = fpext <vscale x 1 x half> %vb to <vscale x 1 x float>
   %ve = fpext <vscale x 1 x half> %splat to <vscale x 1 x float>
   %vf = fneg <vscale x 1 x float> %vd
@@ -140,8 +140,8 @@ define <vscale x 1 x float> @vfwnmsac_fv_nxv1f32(<vscale x 1 x float> %va, <vsca
 ; CHECK-NEXT:    vsetvli a0, zero, e16, mf4, ta, mu
 ; CHECK-NEXT:    vfwnmsac.vf v8, fa0, v9
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 1 x half> undef, half %c, i32 0
-  %splat = shufflevector <vscale x 1 x half> %head, <vscale x 1 x half> undef, <vscale x 1 x i32> zeroinitializer
+  %head = insertelement <vscale x 1 x half> poison, half %c, i32 0
+  %splat = shufflevector <vscale x 1 x half> %head, <vscale x 1 x half> poison, <vscale x 1 x i32> zeroinitializer
   %vd = fpext <vscale x 1 x half> %vb to <vscale x 1 x float>
   %ve = fpext <vscale x 1 x half> %splat to <vscale x 1 x float>
   %vf = fneg <vscale x 1 x float> %ve
@@ -169,8 +169,8 @@ define <vscale x 2 x float> @vfwmacc_vf_nxv2f32(<vscale x 2 x float> %va, <vscal
 ; CHECK-NEXT:    vsetvli a0, zero, e16, mf2, ta, mu
 ; CHECK-NEXT:    vfwmacc.vf v8, fa0, v9
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 2 x half> undef, half %c, i32 0
-  %splat = shufflevector <vscale x 2 x half> %head, <vscale x 2 x half> undef, <vscale x 2 x i32> zeroinitializer
+  %head = insertelement <vscale x 2 x half> poison, half %c, i32 0
+  %splat = shufflevector <vscale x 2 x half> %head, <vscale x 2 x half> poison, <vscale x 2 x i32> zeroinitializer
   %vd = fpext <vscale x 2 x half> %vb to <vscale x 2 x float>
   %ve = fpext <vscale x 2 x half> %splat to <vscale x 2 x float>
   %vf = call <vscale x 2 x float> @llvm.fma.v2f32(<vscale x 2 x float> %vd, <vscale x 2 x float> %ve, <vscale x 2 x float> %va)
@@ -197,8 +197,8 @@ define <vscale x 2 x float> @vfwnmacc_vf_nxv2f32(<vscale x 2 x float> %va, <vsca
 ; CHECK-NEXT:    vsetvli a0, zero, e16, mf2, ta, mu
 ; CHECK-NEXT:    vfwnmacc.vf v8, fa0, v9
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 2 x half> undef, half %c, i32 0
-  %splat = shufflevector <vscale x 2 x half> %head, <vscale x 2 x half> undef, <vscale x 2 x i32> zeroinitializer
+  %head = insertelement <vscale x 2 x half> poison, half %c, i32 0
+  %splat = shufflevector <vscale x 2 x half> %head, <vscale x 2 x half> poison, <vscale x 2 x i32> zeroinitializer
   %vd = fpext <vscale x 2 x half> %vb to <vscale x 2 x float>
   %ve = fpext <vscale x 2 x half> %splat to <vscale x 2 x float>
   %vf = fneg <vscale x 2 x float> %va
@@ -213,8 +213,8 @@ define <vscale x 2 x float> @vfwnmacc_fv_nxv2f32(<vscale x 2 x float> %va, <vsca
 ; CHECK-NEXT:    vsetvli a0, zero, e16, mf2, ta, mu
 ; CHECK-NEXT:    vfwnmacc.vf v8, fa0, v9
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 2 x half> undef, half %c, i32 0
-  %splat = shufflevector <vscale x 2 x half> %head, <vscale x 2 x half> undef, <vscale x 2 x i32> zeroinitializer
+  %head = insertelement <vscale x 2 x half> poison, half %c, i32 0
+  %splat = shufflevector <vscale x 2 x half> %head, <vscale x 2 x half> poison, <vscale x 2 x i32> zeroinitializer
   %vd = fpext <vscale x 2 x half> %vb to <vscale x 2 x float>
   %ve = fpext <vscale x 2 x half> %splat to <vscale x 2 x float>
   %vf = fneg <vscale x 2 x float> %va
@@ -242,8 +242,8 @@ define <vscale x 2 x float> @vfwmsac_vf_nxv2f32(<vscale x 2 x float> %va, <vscal
 ; CHECK-NEXT:    vsetvli a0, zero, e16, mf2, ta, mu
 ; CHECK-NEXT:    vfwmsac.vf v8, fa0, v9
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 2 x half> undef, half %c, i32 0
-  %splat = shufflevector <vscale x 2 x half> %head, <vscale x 2 x half> undef, <vscale x 2 x i32> zeroinitializer
+  %head = insertelement <vscale x 2 x half> poison, half %c, i32 0
+  %splat = shufflevector <vscale x 2 x half> %head, <vscale x 2 x half> poison, <vscale x 2 x i32> zeroinitializer
   %vd = fpext <vscale x 2 x half> %vb to <vscale x 2 x float>
   %ve = fpext <vscale x 2 x half> %splat to <vscale x 2 x float>
   %vf = fneg <vscale x 2 x float> %va
@@ -270,8 +270,8 @@ define <vscale x 2 x float> @vfwnmsac_vf_nxv2f32(<vscale x 2 x float> %va, <vsca
 ; CHECK-NEXT:    vsetvli a0, zero, e16, mf2, ta, mu
 ; CHECK-NEXT:    vfwnmsac.vf v8, fa0, v9
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 2 x half> undef, half %c, i32 0
-  %splat = shufflevector <vscale x 2 x half> %head, <vscale x 2 x half> undef, <vscale x 2 x i32> zeroinitializer
+  %head = insertelement <vscale x 2 x half> poison, half %c, i32 0
+  %splat = shufflevector <vscale x 2 x half> %head, <vscale x 2 x half> poison, <vscale x 2 x i32> zeroinitializer
   %vd = fpext <vscale x 2 x half> %vb to <vscale x 2 x float>
   %ve = fpext <vscale x 2 x half> %splat to <vscale x 2 x float>
   %vf = fneg <vscale x 2 x float> %vd
@@ -285,8 +285,8 @@ define <vscale x 2 x float> @vfwnmsac_fv_nxv2f32(<vscale x 2 x float> %va, <vsca
 ; CHECK-NEXT:    vsetvli a0, zero, e16, mf2, ta, mu
 ; CHECK-NEXT:    vfwnmsac.vf v8, fa0, v9
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 2 x half> undef, half %c, i32 0
-  %splat = shufflevector <vscale x 2 x half> %head, <vscale x 2 x half> undef, <vscale x 2 x i32> zeroinitializer
+  %head = insertelement <vscale x 2 x half> poison, half %c, i32 0
+  %splat = shufflevector <vscale x 2 x half> %head, <vscale x 2 x half> poison, <vscale x 2 x i32> zeroinitializer
   %vd = fpext <vscale x 2 x half> %vb to <vscale x 2 x float>
   %ve = fpext <vscale x 2 x half> %splat to <vscale x 2 x float>
   %vf = fneg <vscale x 2 x float> %ve
@@ -315,8 +315,8 @@ define <vscale x 4 x float> @vfwmacc_vf_nxv4f32(<vscale x 4 x float> %va, <vscal
 ; CHECK-NEXT:    vsetvli a0, zero, e16, m1, ta, mu
 ; CHECK-NEXT:    vfwmacc.vf v8, fa0, v10
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 4 x half> undef, half %c, i32 0
-  %splat = shufflevector <vscale x 4 x half> %head, <vscale x 4 x half> undef, <vscale x 4 x i32> zeroinitializer
+  %head = insertelement <vscale x 4 x half> poison, half %c, i32 0
+  %splat = shufflevector <vscale x 4 x half> %head, <vscale x 4 x half> poison, <vscale x 4 x i32> zeroinitializer
   %vd = fpext <vscale x 4 x half> %vb to <vscale x 4 x float>
   %ve = fpext <vscale x 4 x half> %splat to <vscale x 4 x float>
   %vf = call <vscale x 4 x float> @llvm.fma.v4f32(<vscale x 4 x float> %vd, <vscale x 4 x float> %ve, <vscale x 4 x float> %va)
@@ -343,8 +343,8 @@ define <vscale x 4 x float> @vfwnmacc_vf_nxv4f32(<vscale x 4 x float> %va, <vsca
 ; CHECK-NEXT:    vsetvli a0, zero, e16, m1, ta, mu
 ; CHECK-NEXT:    vfwnmacc.vf v8, fa0, v10
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 4 x half> undef, half %c, i32 0
-  %splat = shufflevector <vscale x 4 x half> %head, <vscale x 4 x half> undef, <vscale x 4 x i32> zeroinitializer
+  %head = insertelement <vscale x 4 x half> poison, half %c, i32 0
+  %splat = shufflevector <vscale x 4 x half> %head, <vscale x 4 x half> poison, <vscale x 4 x i32> zeroinitializer
   %vd = fpext <vscale x 4 x half> %vb to <vscale x 4 x float>
   %ve = fpext <vscale x 4 x half> %splat to <vscale x 4 x float>
   %vf = fneg <vscale x 4 x float> %va
@@ -359,8 +359,8 @@ define <vscale x 4 x float> @vfwnmacc_fv_nxv4f32(<vscale x 4 x float> %va, <vsca
 ; CHECK-NEXT:    vsetvli a0, zero, e16, m1, ta, mu
 ; CHECK-NEXT:    vfwnmacc.vf v8, fa0, v10
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 4 x half> undef, half %c, i32 0
-  %splat = shufflevector <vscale x 4 x half> %head, <vscale x 4 x half> undef, <vscale x 4 x i32> zeroinitializer
+  %head = insertelement <vscale x 4 x half> poison, half %c, i32 0
+  %splat = shufflevector <vscale x 4 x half> %head, <vscale x 4 x half> poison, <vscale x 4 x i32> zeroinitializer
   %vd = fpext <vscale x 4 x half> %vb to <vscale x 4 x float>
   %ve = fpext <vscale x 4 x half> %splat to <vscale x 4 x float>
   %vf = fneg <vscale x 4 x float> %va
@@ -388,8 +388,8 @@ define <vscale x 4 x float> @vfwmsac_vf_nxv4f32(<vscale x 4 x float> %va, <vscal
 ; CHECK-NEXT:    vsetvli a0, zero, e16, m1, ta, mu
 ; CHECK-NEXT:    vfwmsac.vf v8, fa0, v10
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 4 x half> undef, half %c, i32 0
-  %splat = shufflevector <vscale x 4 x half> %head, <vscale x 4 x half> undef, <vscale x 4 x i32> zeroinitializer
+  %head = insertelement <vscale x 4 x half> poison, half %c, i32 0
+  %splat = shufflevector <vscale x 4 x half> %head, <vscale x 4 x half> poison, <vscale x 4 x i32> zeroinitializer
   %vd = fpext <vscale x 4 x half> %vb to <vscale x 4 x float>
   %ve = fpext <vscale x 4 x half> %splat to <vscale x 4 x float>
   %vf = fneg <vscale x 4 x float> %va
@@ -416,8 +416,8 @@ define <vscale x 4 x float> @vfwnmsac_vf_nxv4f32(<vscale x 4 x float> %va, <vsca
 ; CHECK-NEXT:    vsetvli a0, zero, e16, m1, ta, mu
 ; CHECK-NEXT:    vfwnmsac.vf v8, fa0, v10
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 4 x half> undef, half %c, i32 0
-  %splat = shufflevector <vscale x 4 x half> %head, <vscale x 4 x half> undef, <vscale x 4 x i32> zeroinitializer
+  %head = insertelement <vscale x 4 x half> poison, half %c, i32 0
+  %splat = shufflevector <vscale x 4 x half> %head, <vscale x 4 x half> poison, <vscale x 4 x i32> zeroinitializer
   %vd = fpext <vscale x 4 x half> %vb to <vscale x 4 x float>
   %ve = fpext <vscale x 4 x half> %splat to <vscale x 4 x float>
   %vf = fneg <vscale x 4 x float> %vd
@@ -431,8 +431,8 @@ define <vscale x 4 x float> @vfwnmsac_fv_nxv4f32(<vscale x 4 x float> %va, <vsca
 ; CHECK-NEXT:    vsetvli a0, zero, e16, m1, ta, mu
 ; CHECK-NEXT:    vfwnmsac.vf v8, fa0, v10
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 4 x half> undef, half %c, i32 0
-  %splat = shufflevector <vscale x 4 x half> %head, <vscale x 4 x half> undef, <vscale x 4 x i32> zeroinitializer
+  %head = insertelement <vscale x 4 x half> poison, half %c, i32 0
+  %splat = shufflevector <vscale x 4 x half> %head, <vscale x 4 x half> poison, <vscale x 4 x i32> zeroinitializer
   %vd = fpext <vscale x 4 x half> %vb to <vscale x 4 x float>
   %ve = fpext <vscale x 4 x half> %splat to <vscale x 4 x float>
   %vf = fneg <vscale x 4 x float> %ve
@@ -460,8 +460,8 @@ define <vscale x 8 x float> @vfwmacc_vf_nxv8f32(<vscale x 8 x float> %va, <vscal
 ; CHECK-NEXT:    vsetvli a0, zero, e16, m2, ta, mu
 ; CHECK-NEXT:    vfwmacc.vf v8, fa0, v12
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 8 x half> undef, half %c, i32 0
-  %splat = shufflevector <vscale x 8 x half> %head, <vscale x 8 x half> undef, <vscale x 8 x i32> zeroinitializer
+  %head = insertelement <vscale x 8 x half> poison, half %c, i32 0
+  %splat = shufflevector <vscale x 8 x half> %head, <vscale x 8 x half> poison, <vscale x 8 x i32> zeroinitializer
   %vd = fpext <vscale x 8 x half> %vb to <vscale x 8 x float>
   %ve = fpext <vscale x 8 x half> %splat to <vscale x 8 x float>
   %vf = call <vscale x 8 x float> @llvm.fma.v8f32(<vscale x 8 x float> %vd, <vscale x 8 x float> %ve, <vscale x 8 x float> %va)
@@ -488,8 +488,8 @@ define <vscale x 8 x float> @vfwnmacc_vf_nxv8f32(<vscale x 8 x float> %va, <vsca
 ; CHECK-NEXT:    vsetvli a0, zero, e16, m2, ta, mu
 ; CHECK-NEXT:    vfwnmacc.vf v8, fa0, v12
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 8 x half> undef, half %c, i32 0
-  %splat = shufflevector <vscale x 8 x half> %head, <vscale x 8 x half> undef, <vscale x 8 x i32> zeroinitializer
+  %head = insertelement <vscale x 8 x half> poison, half %c, i32 0
+  %splat = shufflevector <vscale x 8 x half> %head, <vscale x 8 x half> poison, <vscale x 8 x i32> zeroinitializer
   %vd = fpext <vscale x 8 x half> %vb to <vscale x 8 x float>
   %ve = fpext <vscale x 8 x half> %splat to <vscale x 8 x float>
   %vf = fneg <vscale x 8 x float> %va
@@ -504,8 +504,8 @@ define <vscale x 8 x float> @vfwnmacc_fv_nxv8f32(<vscale x 8 x float> %va, <vsca
 ; CHECK-NEXT:    vsetvli a0, zero, e16, m2, ta, mu
 ; CHECK-NEXT:    vfwnmacc.vf v8, fa0, v12
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 8 x half> undef, half %c, i32 0
-  %splat = shufflevector <vscale x 8 x half> %head, <vscale x 8 x half> undef, <vscale x 8 x i32> zeroinitializer
+  %head = insertelement <vscale x 8 x half> poison, half %c, i32 0
+  %splat = shufflevector <vscale x 8 x half> %head, <vscale x 8 x half> poison, <vscale x 8 x i32> zeroinitializer
   %vd = fpext <vscale x 8 x half> %vb to <vscale x 8 x float>
   %ve = fpext <vscale x 8 x half> %splat to <vscale x 8 x float>
   %vf = fneg <vscale x 8 x float> %va
@@ -533,8 +533,8 @@ define <vscale x 8 x float> @vfwmsac_vf_nxv8f32(<vscale x 8 x float> %va, <vscal
 ; CHECK-NEXT:    vsetvli a0, zero, e16, m2, ta, mu
 ; CHECK-NEXT:    vfwmsac.vf v8, fa0, v12
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 8 x half> undef, half %c, i32 0
-  %splat = shufflevector <vscale x 8 x half> %head, <vscale x 8 x half> undef, <vscale x 8 x i32> zeroinitializer
+  %head = insertelement <vscale x 8 x half> poison, half %c, i32 0
+  %splat = shufflevector <vscale x 8 x half> %head, <vscale x 8 x half> poison, <vscale x 8 x i32> zeroinitializer
   %vd = fpext <vscale x 8 x half> %vb to <vscale x 8 x float>
   %ve = fpext <vscale x 8 x half> %splat to <vscale x 8 x float>
   %vf = fneg <vscale x 8 x float> %va
@@ -561,8 +561,8 @@ define <vscale x 8 x float> @vfwnmsac_vf_nxv8f32(<vscale x 8 x float> %va, <vsca
 ; CHECK-NEXT:    vsetvli a0, zero, e16, m2, ta, mu
 ; CHECK-NEXT:    vfwnmsac.vf v8, fa0, v12
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 8 x half> undef, half %c, i32 0
-  %splat = shufflevector <vscale x 8 x half> %head, <vscale x 8 x half> undef, <vscale x 8 x i32> zeroinitializer
+  %head = insertelement <vscale x 8 x half> poison, half %c, i32 0
+  %splat = shufflevector <vscale x 8 x half> %head, <vscale x 8 x half> poison, <vscale x 8 x i32> zeroinitializer
   %vd = fpext <vscale x 8 x half> %vb to <vscale x 8 x float>
   %ve = fpext <vscale x 8 x half> %splat to <vscale x 8 x float>
   %vf = fneg <vscale x 8 x float> %vd
@@ -576,8 +576,8 @@ define <vscale x 8 x float> @vfwnmsac_fv_nxv8f32(<vscale x 8 x float> %va, <vsca
 ; CHECK-NEXT:    vsetvli a0, zero, e16, m2, ta, mu
 ; CHECK-NEXT:    vfwnmsac.vf v8, fa0, v12
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 8 x half> undef, half %c, i32 0
-  %splat = shufflevector <vscale x 8 x half> %head, <vscale x 8 x half> undef, <vscale x 8 x i32> zeroinitializer
+  %head = insertelement <vscale x 8 x half> poison, half %c, i32 0
+  %splat = shufflevector <vscale x 8 x half> %head, <vscale x 8 x half> poison, <vscale x 8 x i32> zeroinitializer
   %vd = fpext <vscale x 8 x half> %vb to <vscale x 8 x float>
   %ve = fpext <vscale x 8 x half> %splat to <vscale x 8 x float>
   %vf = fneg <vscale x 8 x float> %ve
@@ -605,8 +605,8 @@ define <vscale x 16 x float> @vfwmacc_vf_nxv16f32(<vscale x 16 x float> %va, <vs
 ; CHECK-NEXT:    vsetvli a0, zero, e16, m4, ta, mu
 ; CHECK-NEXT:    vfwmacc.vf v8, fa0, v16
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 16 x half> undef, half %c, i32 0
-  %splat = shufflevector <vscale x 16 x half> %head, <vscale x 16 x half> undef, <vscale x 16 x i32> zeroinitializer
+  %head = insertelement <vscale x 16 x half> poison, half %c, i32 0
+  %splat = shufflevector <vscale x 16 x half> %head, <vscale x 16 x half> poison, <vscale x 16 x i32> zeroinitializer
   %vd = fpext <vscale x 16 x half> %vb to <vscale x 16 x float>
   %ve = fpext <vscale x 16 x half> %splat to <vscale x 16 x float>
   %vf = call <vscale x 16 x float> @llvm.fma.v16f32(<vscale x 16 x float> %vd, <vscale x 16 x float> %ve, <vscale x 16 x float> %va)
@@ -633,8 +633,8 @@ define <vscale x 16 x float> @vfwnmacc_vf_nxv16f32(<vscale x 16 x float> %va, <v
 ; CHECK-NEXT:    vsetvli a0, zero, e16, m4, ta, mu
 ; CHECK-NEXT:    vfwnmacc.vf v8, fa0, v16
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 16 x half> undef, half %c, i32 0
-  %splat = shufflevector <vscale x 16 x half> %head, <vscale x 16 x half> undef, <vscale x 16 x i32> zeroinitializer
+  %head = insertelement <vscale x 16 x half> poison, half %c, i32 0
+  %splat = shufflevector <vscale x 16 x half> %head, <vscale x 16 x half> poison, <vscale x 16 x i32> zeroinitializer
   %vd = fpext <vscale x 16 x half> %vb to <vscale x 16 x float>
   %ve = fpext <vscale x 16 x half> %splat to <vscale x 16 x float>
   %vf = fneg <vscale x 16 x float> %va
@@ -649,8 +649,8 @@ define <vscale x 16 x float> @vfwnmacc_fv_nxv16f32(<vscale x 16 x float> %va, <v
 ; CHECK-NEXT:    vsetvli a0, zero, e16, m4, ta, mu
 ; CHECK-NEXT:    vfwnmacc.vf v8, fa0, v16
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 16 x half> undef, half %c, i32 0
-  %splat = shufflevector <vscale x 16 x half> %head, <vscale x 16 x half> undef, <vscale x 16 x i32> zeroinitializer
+  %head = insertelement <vscale x 16 x half> poison, half %c, i32 0
+  %splat = shufflevector <vscale x 16 x half> %head, <vscale x 16 x half> poison, <vscale x 16 x i32> zeroinitializer
   %vd = fpext <vscale x 16 x half> %vb to <vscale x 16 x float>
   %ve = fpext <vscale x 16 x half> %splat to <vscale x 16 x float>
   %vf = fneg <vscale x 16 x float> %va
@@ -678,8 +678,8 @@ define <vscale x 16 x float> @vfwmsac_vf_nxv16f32(<vscale x 16 x float> %va, <vs
 ; CHECK-NEXT:    vsetvli a0, zero, e16, m4, ta, mu
 ; CHECK-NEXT:    vfwmsac.vf v8, fa0, v16
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 16 x half> undef, half %c, i32 0
-  %splat = shufflevector <vscale x 16 x half> %head, <vscale x 16 x half> undef, <vscale x 16 x i32> zeroinitializer
+  %head = insertelement <vscale x 16 x half> poison, half %c, i32 0
+  %splat = shufflevector <vscale x 16 x half> %head, <vscale x 16 x half> poison, <vscale x 16 x i32> zeroinitializer
   %vd = fpext <vscale x 16 x half> %vb to <vscale x 16 x float>
   %ve = fpext <vscale x 16 x half> %splat to <vscale x 16 x float>
   %vf = fneg <vscale x 16 x float> %va
@@ -706,8 +706,8 @@ define <vscale x 16 x float> @vfwnmsac_vf_nxv16f32(<vscale x 16 x float> %va, <v
 ; CHECK-NEXT:    vsetvli a0, zero, e16, m4, ta, mu
 ; CHECK-NEXT:    vfwnmsac.vf v8, fa0, v16
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 16 x half> undef, half %c, i32 0
-  %splat = shufflevector <vscale x 16 x half> %head, <vscale x 16 x half> undef, <vscale x 16 x i32> zeroinitializer
+  %head = insertelement <vscale x 16 x half> poison, half %c, i32 0
+  %splat = shufflevector <vscale x 16 x half> %head, <vscale x 16 x half> poison, <vscale x 16 x i32> zeroinitializer
   %vd = fpext <vscale x 16 x half> %vb to <vscale x 16 x float>
   %ve = fpext <vscale x 16 x half> %splat to <vscale x 16 x float>
   %vf = fneg <vscale x 16 x float> %vd
@@ -721,8 +721,8 @@ define <vscale x 16 x float> @vfwnmsac_fv_nxv16f32(<vscale x 16 x float> %va, <v
 ; CHECK-NEXT:    vsetvli a0, zero, e16, m4, ta, mu
 ; CHECK-NEXT:    vfwnmsac.vf v8, fa0, v16
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 16 x half> undef, half %c, i32 0
-  %splat = shufflevector <vscale x 16 x half> %head, <vscale x 16 x half> undef, <vscale x 16 x i32> zeroinitializer
+  %head = insertelement <vscale x 16 x half> poison, half %c, i32 0
+  %splat = shufflevector <vscale x 16 x half> %head, <vscale x 16 x half> poison, <vscale x 16 x i32> zeroinitializer
   %vd = fpext <vscale x 16 x half> %vb to <vscale x 16 x float>
   %ve = fpext <vscale x 16 x half> %splat to <vscale x 16 x float>
   %vf = fneg <vscale x 16 x float> %ve
@@ -750,8 +750,8 @@ define <vscale x 1 x double> @vfwmacc_vf_nxv1f64(<vscale x 1 x double> %va, <vsc
 ; CHECK-NEXT:    vsetvli a0, zero, e32, mf2, ta, mu
 ; CHECK-NEXT:    vfwmacc.vf v8, fa0, v9
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 1 x float> undef, float %c, i32 0
-  %splat = shufflevector <vscale x 1 x float> %head, <vscale x 1 x float> undef, <vscale x 1 x i32> zeroinitializer
+  %head = insertelement <vscale x 1 x float> poison, float %c, i32 0
+  %splat = shufflevector <vscale x 1 x float> %head, <vscale x 1 x float> poison, <vscale x 1 x i32> zeroinitializer
   %vd = fpext <vscale x 1 x float> %vb to <vscale x 1 x double>
   %ve = fpext <vscale x 1 x float> %splat to <vscale x 1 x double>
   %vf = call <vscale x 1 x double> @llvm.fma.v1f64(<vscale x 1 x double> %vd, <vscale x 1 x double> %ve, <vscale x 1 x double> %va)
@@ -778,8 +778,8 @@ define <vscale x 1 x double> @vfwnmacc_vf_nxv1f64(<vscale x 1 x double> %va, <vs
 ; CHECK-NEXT:    vsetvli a0, zero, e32, mf2, ta, mu
 ; CHECK-NEXT:    vfwnmacc.vf v8, fa0, v9
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 1 x float> undef, float %c, i32 0
-  %splat = shufflevector <vscale x 1 x float> %head, <vscale x 1 x float> undef, <vscale x 1 x i32> zeroinitializer
+  %head = insertelement <vscale x 1 x float> poison, float %c, i32 0
+  %splat = shufflevector <vscale x 1 x float> %head, <vscale x 1 x float> poison, <vscale x 1 x i32> zeroinitializer
   %vd = fpext <vscale x 1 x float> %vb to <vscale x 1 x double>
   %ve = fpext <vscale x 1 x float> %splat to <vscale x 1 x double>
   %vf = fneg <vscale x 1 x double> %va
@@ -794,8 +794,8 @@ define <vscale x 1 x double> @vfwnmacc_fv_nxv1f64(<vscale x 1 x double> %va, <vs
 ; CHECK-NEXT:    vsetvli a0, zero, e32, mf2, ta, mu
 ; CHECK-NEXT:    vfwnmacc.vf v8, fa0, v9
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 1 x float> undef, float %c, i32 0
-  %splat = shufflevector <vscale x 1 x float> %head, <vscale x 1 x float> undef, <vscale x 1 x i32> zeroinitializer
+  %head = insertelement <vscale x 1 x float> poison, float %c, i32 0
+  %splat = shufflevector <vscale x 1 x float> %head, <vscale x 1 x float> poison, <vscale x 1 x i32> zeroinitializer
   %vd = fpext <vscale x 1 x float> %vb to <vscale x 1 x double>
   %ve = fpext <vscale x 1 x float> %splat to <vscale x 1 x double>
   %vf = fneg <vscale x 1 x double> %va
@@ -823,8 +823,8 @@ define <vscale x 1 x double> @vfwmsac_vf_nxv1f64(<vscale x 1 x double> %va, <vsc
 ; CHECK-NEXT:    vsetvli a0, zero, e32, mf2, ta, mu
 ; CHECK-NEXT:    vfwmsac.vf v8, fa0, v9
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 1 x float> undef, float %c, i32 0
-  %splat = shufflevector <vscale x 1 x float> %head, <vscale x 1 x float> undef, <vscale x 1 x i32> zeroinitializer
+  %head = insertelement <vscale x 1 x float> poison, float %c, i32 0
+  %splat = shufflevector <vscale x 1 x float> %head, <vscale x 1 x float> poison, <vscale x 1 x i32> zeroinitializer
   %vd = fpext <vscale x 1 x float> %vb to <vscale x 1 x double>
   %ve = fpext <vscale x 1 x float> %splat to <vscale x 1 x double>
   %vf = fneg <vscale x 1 x double> %va
@@ -851,8 +851,8 @@ define <vscale x 1 x double> @vfwnmsac_vf_nxv1f64(<vscale x 1 x double> %va, <vs
 ; CHECK-NEXT:    vsetvli a0, zero, e32, mf2, ta, mu
 ; CHECK-NEXT:    vfwnmsac.vf v8, fa0, v9
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 1 x float> undef, float %c, i32 0
-  %splat = shufflevector <vscale x 1 x float> %head, <vscale x 1 x float> undef, <vscale x 1 x i32> zeroinitializer
+  %head = insertelement <vscale x 1 x float> poison, float %c, i32 0
+  %splat = shufflevector <vscale x 1 x float> %head, <vscale x 1 x float> poison, <vscale x 1 x i32> zeroinitializer
   %vd = fpext <vscale x 1 x float> %vb to <vscale x 1 x double>
   %ve = fpext <vscale x 1 x float> %splat to <vscale x 1 x double>
   %vf = fneg <vscale x 1 x double> %vd
@@ -866,8 +866,8 @@ define <vscale x 1 x double> @vfwnmsac_fv_nxv1f64(<vscale x 1 x double> %va, <vs
 ; CHECK-NEXT:    vsetvli a0, zero, e32, mf2, ta, mu
 ; CHECK-NEXT:    vfwnmsac.vf v8, fa0, v9
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 1 x float> undef, float %c, i32 0
-  %splat = shufflevector <vscale x 1 x float> %head, <vscale x 1 x float> undef, <vscale x 1 x i32> zeroinitializer
+  %head = insertelement <vscale x 1 x float> poison, float %c, i32 0
+  %splat = shufflevector <vscale x 1 x float> %head, <vscale x 1 x float> poison, <vscale x 1 x i32> zeroinitializer
   %vd = fpext <vscale x 1 x float> %vb to <vscale x 1 x double>
   %ve = fpext <vscale x 1 x float> %splat to <vscale x 1 x double>
   %vf = fneg <vscale x 1 x double> %ve
@@ -895,8 +895,8 @@ define <vscale x 2 x double> @vfwmacc_vf_nxv2f64(<vscale x 2 x double> %va, <vsc
 ; CHECK-NEXT:    vsetvli a0, zero, e32, m1, ta, mu
 ; CHECK-NEXT:    vfwmacc.vf v8, fa0, v10
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 2 x float> undef, float %c, i32 0
-  %splat = shufflevector <vscale x 2 x float> %head, <vscale x 2 x float> undef, <vscale x 2 x i32> zeroinitializer
+  %head = insertelement <vscale x 2 x float> poison, float %c, i32 0
+  %splat = shufflevector <vscale x 2 x float> %head, <vscale x 2 x float> poison, <vscale x 2 x i32> zeroinitializer
   %vd = fpext <vscale x 2 x float> %vb to <vscale x 2 x double>
   %ve = fpext <vscale x 2 x float> %splat to <vscale x 2 x double>
   %vf = call <vscale x 2 x double> @llvm.fma.v2f64(<vscale x 2 x double> %vd, <vscale x 2 x double> %ve, <vscale x 2 x double> %va)
@@ -923,8 +923,8 @@ define <vscale x 2 x double> @vfwnmacc_vf_nxv2f64(<vscale x 2 x double> %va, <vs
 ; CHECK-NEXT:    vsetvli a0, zero, e32, m1, ta, mu
 ; CHECK-NEXT:    vfwnmacc.vf v8, fa0, v10
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 2 x float> undef, float %c, i32 0
-  %splat = shufflevector <vscale x 2 x float> %head, <vscale x 2 x float> undef, <vscale x 2 x i32> zeroinitializer
+  %head = insertelement <vscale x 2 x float> poison, float %c, i32 0
+  %splat = shufflevector <vscale x 2 x float> %head, <vscale x 2 x float> poison, <vscale x 2 x i32> zeroinitializer
   %vd = fpext <vscale x 2 x float> %vb to <vscale x 2 x double>
   %ve = fpext <vscale x 2 x float> %splat to <vscale x 2 x double>
   %vf = fneg <vscale x 2 x double> %va
@@ -939,8 +939,8 @@ define <vscale x 2 x double> @vfwnmacc_fv_nxv2f64(<vscale x 2 x double> %va, <vs
 ; CHECK-NEXT:    vsetvli a0, zero, e32, m1, ta, mu
 ; CHECK-NEXT:    vfwnmacc.vf v8, fa0, v10
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 2 x float> undef, float %c, i32 0
-  %splat = shufflevector <vscale x 2 x float> %head, <vscale x 2 x float> undef, <vscale x 2 x i32> zeroinitializer
+  %head = insertelement <vscale x 2 x float> poison, float %c, i32 0
+  %splat = shufflevector <vscale x 2 x float> %head, <vscale x 2 x float> poison, <vscale x 2 x i32> zeroinitializer
   %vd = fpext <vscale x 2 x float> %vb to <vscale x 2 x double>
   %ve = fpext <vscale x 2 x float> %splat to <vscale x 2 x double>
   %vf = fneg <vscale x 2 x double> %va
@@ -968,8 +968,8 @@ define <vscale x 2 x double> @vfwmsac_vf_nxv2f64(<vscale x 2 x double> %va, <vsc
 ; CHECK-NEXT:    vsetvli a0, zero, e32, m1, ta, mu
 ; CHECK-NEXT:    vfwmsac.vf v8, fa0, v10
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 2 x float> undef, float %c, i32 0
-  %splat = shufflevector <vscale x 2 x float> %head, <vscale x 2 x float> undef, <vscale x 2 x i32> zeroinitializer
+  %head = insertelement <vscale x 2 x float> poison, float %c, i32 0
+  %splat = shufflevector <vscale x 2 x float> %head, <vscale x 2 x float> poison, <vscale x 2 x i32> zeroinitializer
   %vd = fpext <vscale x 2 x float> %vb to <vscale x 2 x double>
   %ve = fpext <vscale x 2 x float> %splat to <vscale x 2 x double>
   %vf = fneg <vscale x 2 x double> %va
@@ -996,8 +996,8 @@ define <vscale x 2 x double> @vfwnmsac_vf_nxv2f64(<vscale x 2 x double> %va, <vs
 ; CHECK-NEXT:    vsetvli a0, zero, e32, m1, ta, mu
 ; CHECK-NEXT:    vfwnmsac.vf v8, fa0, v10
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 2 x float> undef, float %c, i32 0
-  %splat = shufflevector <vscale x 2 x float> %head, <vscale x 2 x float> undef, <vscale x 2 x i32> zeroinitializer
+  %head = insertelement <vscale x 2 x float> poison, float %c, i32 0
+  %splat = shufflevector <vscale x 2 x float> %head, <vscale x 2 x float> poison, <vscale x 2 x i32> zeroinitializer
   %vd = fpext <vscale x 2 x float> %vb to <vscale x 2 x double>
   %ve = fpext <vscale x 2 x float> %splat to <vscale x 2 x double>
   %vf = fneg <vscale x 2 x double> %vd
@@ -1011,8 +1011,8 @@ define <vscale x 2 x double> @vfwnmsac_fv_nxv2f64(<vscale x 2 x double> %va, <vs
 ; CHECK-NEXT:    vsetvli a0, zero, e32, m1, ta, mu
 ; CHECK-NEXT:    vfwnmsac.vf v8, fa0, v10
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 2 x float> undef, float %c, i32 0
-  %splat = shufflevector <vscale x 2 x float> %head, <vscale x 2 x float> undef, <vscale x 2 x i32> zeroinitializer
+  %head = insertelement <vscale x 2 x float> poison, float %c, i32 0
+  %splat = shufflevector <vscale x 2 x float> %head, <vscale x 2 x float> poison, <vscale x 2 x i32> zeroinitializer
   %vd = fpext <vscale x 2 x float> %vb to <vscale x 2 x double>
   %ve = fpext <vscale x 2 x float> %splat to <vscale x 2 x double>
   %vf = fneg <vscale x 2 x double> %ve
@@ -1041,8 +1041,8 @@ define <vscale x 4 x double> @vfwmacc_vf_nxv4f64(<vscale x 4 x double> %va, <vsc
 ; CHECK-NEXT:    vsetvli a0, zero, e32, m2, ta, mu
 ; CHECK-NEXT:    vfwmacc.vf v8, fa0, v12
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 4 x float> undef, float %c, i32 0
-  %splat = shufflevector <vscale x 4 x float> %head, <vscale x 4 x float> undef, <vscale x 4 x i32> zeroinitializer
+  %head = insertelement <vscale x 4 x float> poison, float %c, i32 0
+  %splat = shufflevector <vscale x 4 x float> %head, <vscale x 4 x float> poison, <vscale x 4 x i32> zeroinitializer
   %vd = fpext <vscale x 4 x float> %vb to <vscale x 4 x double>
   %ve = fpext <vscale x 4 x float> %splat to <vscale x 4 x double>
   %vf = call <vscale x 4 x double> @llvm.fma.v4f64(<vscale x 4 x double> %vd, <vscale x 4 x double> %ve, <vscale x 4 x double> %va)
@@ -1069,8 +1069,8 @@ define <vscale x 4 x double> @vfwnmacc_vf_nxv4f64(<vscale x 4 x double> %va, <vs
 ; CHECK-NEXT:    vsetvli a0, zero, e32, m2, ta, mu
 ; CHECK-NEXT:    vfwnmacc.vf v8, fa0, v12
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 4 x float> undef, float %c, i32 0
-  %splat = shufflevector <vscale x 4 x float> %head, <vscale x 4 x float> undef, <vscale x 4 x i32> zeroinitializer
+  %head = insertelement <vscale x 4 x float> poison, float %c, i32 0
+  %splat = shufflevector <vscale x 4 x float> %head, <vscale x 4 x float> poison, <vscale x 4 x i32> zeroinitializer
   %vd = fpext <vscale x 4 x float> %vb to <vscale x 4 x double>
   %ve = fpext <vscale x 4 x float> %splat to <vscale x 4 x double>
   %vf = fneg <vscale x 4 x double> %va
@@ -1085,8 +1085,8 @@ define <vscale x 4 x double> @vfwnmacc_fv_nxv4f64(<vscale x 4 x double> %va, <vs
 ; CHECK-NEXT:    vsetvli a0, zero, e32, m2, ta, mu
 ; CHECK-NEXT:    vfwnmacc.vf v8, fa0, v12
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 4 x float> undef, float %c, i32 0
-  %splat = shufflevector <vscale x 4 x float> %head, <vscale x 4 x float> undef, <vscale x 4 x i32> zeroinitializer
+  %head = insertelement <vscale x 4 x float> poison, float %c, i32 0
+  %splat = shufflevector <vscale x 4 x float> %head, <vscale x 4 x float> poison, <vscale x 4 x i32> zeroinitializer
   %vd = fpext <vscale x 4 x float> %vb to <vscale x 4 x double>
   %ve = fpext <vscale x 4 x float> %splat to <vscale x 4 x double>
   %vf = fneg <vscale x 4 x double> %va
@@ -1114,8 +1114,8 @@ define <vscale x 4 x double> @vfwmsac_vf_nxv4f64(<vscale x 4 x double> %va, <vsc
 ; CHECK-NEXT:    vsetvli a0, zero, e32, m2, ta, mu
 ; CHECK-NEXT:    vfwmsac.vf v8, fa0, v12
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 4 x float> undef, float %c, i32 0
-  %splat = shufflevector <vscale x 4 x float> %head, <vscale x 4 x float> undef, <vscale x 4 x i32> zeroinitializer
+  %head = insertelement <vscale x 4 x float> poison, float %c, i32 0
+  %splat = shufflevector <vscale x 4 x float> %head, <vscale x 4 x float> poison, <vscale x 4 x i32> zeroinitializer
   %vd = fpext <vscale x 4 x float> %vb to <vscale x 4 x double>
   %ve = fpext <vscale x 4 x float> %splat to <vscale x 4 x double>
   %vf = fneg <vscale x 4 x double> %va
@@ -1142,8 +1142,8 @@ define <vscale x 4 x double> @vfwnmsac_vf_nxv4f64(<vscale x 4 x double> %va, <vs
 ; CHECK-NEXT:    vsetvli a0, zero, e32, m2, ta, mu
 ; CHECK-NEXT:    vfwnmsac.vf v8, fa0, v12
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 4 x float> undef, float %c, i32 0
-  %splat = shufflevector <vscale x 4 x float> %head, <vscale x 4 x float> undef, <vscale x 4 x i32> zeroinitializer
+  %head = insertelement <vscale x 4 x float> poison, float %c, i32 0
+  %splat = shufflevector <vscale x 4 x float> %head, <vscale x 4 x float> poison, <vscale x 4 x i32> zeroinitializer
   %vd = fpext <vscale x 4 x float> %vb to <vscale x 4 x double>
   %ve = fpext <vscale x 4 x float> %splat to <vscale x 4 x double>
   %vf = fneg <vscale x 4 x double> %vd
@@ -1157,8 +1157,8 @@ define <vscale x 4 x double> @vfwnmsac_fv_nxv4f64(<vscale x 4 x double> %va, <vs
 ; CHECK-NEXT:    vsetvli a0, zero, e32, m2, ta, mu
 ; CHECK-NEXT:    vfwnmsac.vf v8, fa0, v12
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 4 x float> undef, float %c, i32 0
-  %splat = shufflevector <vscale x 4 x float> %head, <vscale x 4 x float> undef, <vscale x 4 x i32> zeroinitializer
+  %head = insertelement <vscale x 4 x float> poison, float %c, i32 0
+  %splat = shufflevector <vscale x 4 x float> %head, <vscale x 4 x float> poison, <vscale x 4 x i32> zeroinitializer
   %vd = fpext <vscale x 4 x float> %vb to <vscale x 4 x double>
   %ve = fpext <vscale x 4 x float> %splat to <vscale x 4 x double>
   %vf = fneg <vscale x 4 x double> %ve
@@ -1186,8 +1186,8 @@ define <vscale x 8 x double> @vfwmacc_vf_nxv8f64(<vscale x 8 x double> %va, <vsc
 ; CHECK-NEXT:    vsetvli a0, zero, e32, m4, ta, mu
 ; CHECK-NEXT:    vfwmacc.vf v8, fa0, v16
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 8 x float> undef, float %c, i32 0
-  %splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> undef, <vscale x 8 x i32> zeroinitializer
+  %head = insertelement <vscale x 8 x float> poison, float %c, i32 0
+  %splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> poison, <vscale x 8 x i32> zeroinitializer
   %vd = fpext <vscale x 8 x float> %vb to <vscale x 8 x double>
   %ve = fpext <vscale x 8 x float> %splat to <vscale x 8 x double>
   %vf = call <vscale x 8 x double> @llvm.fma.v8f64(<vscale x 8 x double> %vd, <vscale x 8 x double> %ve, <vscale x 8 x double> %va)
@@ -1214,8 +1214,8 @@ define <vscale x 8 x double> @vfwnmacc_vf_nxv8f64(<vscale x 8 x double> %va, <vs
 ; CHECK-NEXT:    vsetvli a0, zero, e32, m4, ta, mu
 ; CHECK-NEXT:    vfwnmacc.vf v8, fa0, v16
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 8 x float> undef, float %c, i32 0
-  %splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> undef, <vscale x 8 x i32> zeroinitializer
+  %head = insertelement <vscale x 8 x float> poison, float %c, i32 0
+  %splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> poison, <vscale x 8 x i32> zeroinitializer
   %vd = fpext <vscale x 8 x float> %vb to <vscale x 8 x double>
   %ve = fpext <vscale x 8 x float> %splat to <vscale x 8 x double>
   %vf = fneg <vscale x 8 x double> %va
@@ -1230,8 +1230,8 @@ define <vscale x 8 x double> @vfwnmacc_fv_nxv8f64(<vscale x 8 x double> %va, <vs
 ; CHECK-NEXT:    vsetvli a0, zero, e32, m4, ta, mu
 ; CHECK-NEXT:    vfwnmacc.vf v8, fa0, v16
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 8 x float> undef, float %c, i32 0
-  %splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> undef, <vscale x 8 x i32> zeroinitializer
+  %head = insertelement <vscale x 8 x float> poison, float %c, i32 0
+  %splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> poison, <vscale x 8 x i32> zeroinitializer
   %vd = fpext <vscale x 8 x float> %vb to <vscale x 8 x double>
   %ve = fpext <vscale x 8 x float> %splat to <vscale x 8 x double>
   %vf = fneg <vscale x 8 x double> %va
@@ -1259,8 +1259,8 @@ define <vscale x 8 x double> @vfwmsac_vf_nxv8f64(<vscale x 8 x double> %va, <vsc
 ; CHECK-NEXT:    vsetvli a0, zero, e32, m4, ta, mu
 ; CHECK-NEXT:    vfwmsac.vf v8, fa0, v16
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 8 x float> undef, float %c, i32 0
-  %splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> undef, <vscale x 8 x i32> zeroinitializer
+  %head = insertelement <vscale x 8 x float> poison, float %c, i32 0
+  %splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> poison, <vscale x 8 x i32> zeroinitializer
   %vd = fpext <vscale x 8 x float> %vb to <vscale x 8 x double>
   %ve = fpext <vscale x 8 x float> %splat to <vscale x 8 x double>
   %vf = fneg <vscale x 8 x double> %va
@@ -1287,8 +1287,8 @@ define <vscale x 8 x double> @vfwnmsac_vf_nxv8f64(<vscale x 8 x double> %va, <vs
 ; CHECK-NEXT:    vsetvli a0, zero, e32, m4, ta, mu
 ; CHECK-NEXT:    vfwnmsac.vf v8, fa0, v16
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 8 x float> undef, float %c, i32 0
-  %splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> undef, <vscale x 8 x i32> zeroinitializer
+  %head = insertelement <vscale x 8 x float> poison, float %c, i32 0
+  %splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> poison, <vscale x 8 x i32> zeroinitializer
   %vd = fpext <vscale x 8 x float> %vb to <vscale x 8 x double>
   %ve = fpext <vscale x 8 x float> %splat to <vscale x 8 x double>
   %vf = fneg <vscale x 8 x double> %vd
@@ -1302,8 +1302,8 @@ define <vscale x 8 x double> @vfwnmsac_fv_nxv8f64(<vscale x 8 x double> %va, <vs
 ; CHECK-NEXT:    vsetvli a0, zero, e32, m4, ta, mu
 ; CHECK-NEXT:    vfwnmsac.vf v8, fa0, v16
 ; CHECK-NEXT:    ret
-  %head = insertelement <vscale x 8 x float> undef, float %c, i32 0
-  %splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> undef, <vscale x 8 x i32> zeroinitializer
+  %head = insertelement <vscale x 8 x float> poison, float %c, i32 0
+  %splat = shufflevector <vscale x 8 x float> %head, <vscale x 8 x float> poison, <vscale x 8 x i32> zeroinitializer
   %vd = fpext <vscale x 8 x float> %vb to <vscale x 8 x double>
   %ve = fpext <vscale x 8 x float> %splat to <vscale x 8 x double>
   %vf = fneg <vscale x 8 x double> %ve


        


More information about the llvm-commits mailing list