X86: Fixed assertion failure in 32-bit mode
[oota-llvm.git] / test / CodeGen / X86 / avx-shuffle-x86_32.ll
index 78b4888cfa16ad0e888668f7f74a93e27250c150..4bdba37c7118999655170957a450e55f1a13760a 100644 (file)
@@ -6,3 +6,14 @@ define <4 x i64> @test1(<4 x i64> %a) nounwind {
  ; CHECK-LABEL: test1:
  ; CHECK-NOT: vinsertf128
  }
+
+define <8 x i16> @test2(<4 x i16>* %v) nounwind {
+; CHECK-LABEL: test2
+; CHECK: vmovsd
+; CHECK: vmovq
+  %v9 = load <4 x i16>, <4 x i16> * %v, align 8
+  %v10 = shufflevector <4 x i16> %v9, <4 x i16> undef, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef>
+  %v11 = shufflevector <8 x i16> <i16 undef, i16 undef, i16 undef, i16 undef, i16 0, i16 0, i16 0, i16 0>, <8 x i16> %v10, <8 x i32> <i32 8, i32 9, i32 10, i32 11, i32 4, i32 5, i32 6, i32 7>
+  ret <8 x i16> %v11
+}
+