Test: Transforms/InstCombine/unfold-masked-merge-with-const-mask-vector.ll define <3 x i4> @splat_undef(<3 x i4> %x, <3 x i4> %y) { %n0 = xor <3 x i4> %x, %y %n1 = and <3 x i4> %n0, { 14, undef, 14 } %r = xor <3 x i4> %n1, %y ret <3 x i4> %r } => define <3 x i4> @splat_undef(<3 x i4> %x, <3 x i4> %y) { %1 = and <3 x i4> %x, { 14, undef, 14 } %2 = and <3 x i4> %y, { 1, undef, 1 } %r = or <3 x i4> %1, %2 ret <3 x i4> %r } Transformation doesn't verify! ERROR: Value mismatch Example: <3 x i4> %x = < #x0 (0), #xd (13, -3), #x0 (0) > <3 x i4> %y = < undef, #x8 (8, -8), #x0 (0) > Source: <3 x i4> %n0 = < #x0 (0), #x5 (5), #x0 (0) > <3 x i4> %n1 = < #x0 (0), #x0 (0) [based on undef value], #x0 (0) > <3 x i4> %r = < #x0 (0), #x8 (8, -8), #x0 (0) > Target: <3 x i4> %1 = < #x0 (0), #x1 (1), #x0 (0) > <3 x i4> %2 = < #x0 (0), #x0 (0), #x0 (0) > <3 x i4> %r = < #x0 (0), #x1 (1), #x0 (0) > Source value: < #x0 (0), #x8 (8, -8), #x0 (0) > Target value: < #x0 (0), #x1 (1), #x0 (0) > https://web.ist.utl.pt/nuno.lopes/alive2/index.php?hash=2009353267698970&test=Transforms%2FInstCombine%2Funfold-masked-merge-with-const-mask-vector.ll
*** This bug has been marked as a duplicate of bug 45955 ***