%vzip = shufflevector <8 x i8> %t, <8 x i8> <i8 0, i8 0, i8 0, i8 0, i8 undef, i8 undef, i8 undef, i8 undef>, <8 x i32> <i32 0, i32 8, i32 1, i32 9, i32 2, i32 10, i32 3, i32 11>
ret <8 x i8> %vzip
}
+
+; FIXME: this is identical to @vzipNoBlend
+; CHECK-LABEL: vzipNoBlendCommutted:
+; CHECK-NOT: zip1
+define <8 x i8> @vzipNoBlendCommutted(ptr %A, ptr %B) nounwind {
+ %t = load <8 x i8>, ptr %A
+ %vzip = shufflevector <8 x i8> <i8 0, i8 0, i8 0, i8 0, i8 undef, i8 undef, i8 undef, i8 undef>, <8 x i8> %t, <8 x i32> <i32 8, i32 0, i32 9, i32 1, i32 10, i32 2, i32 11, i32 3>
+ ret <8 x i8> %vzip
+}
+
+; FIXME: this is identical to @vzipNoBlend
+; CHECK-LABEL: vzipStillZExt:
+; CHECK-NOT: zip1
+define <8 x i8> @vzipStillZExt(ptr %A, ptr %B) nounwind {
+ %t = load <8 x i8>, ptr %A
+ %vzip = shufflevector <8 x i8> %t, <8 x i8> <i8 undef, i8 0, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef>, <8 x i32> <i32 0, i32 9, i32 1, i32 9, i32 2, i32 9, i32 3, i32 9>
+ ret <8 x i8> %vzip
+}
+
+; FIXME: this is identical to @vzipNoBlend
+; CHECK-LABEL: vzipStillZExtCommutted:
+; CHECK-NOT: zip1
+define <8 x i8> @vzipStillZExtCommutted(ptr %A, ptr %B) nounwind {
+ %t = load <8 x i8>, ptr %A
+ %vzip = shufflevector <8 x i8> <i8 undef, i8 0, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef>, <8 x i8> %t, <8 x i32> <i32 8, i32 1, i32 9, i32 1, i32 10, i32 1, i32 11, i32 1>
+ ret <8 x i8> %vzip
+}