From 333a59eced18579363b7d11a04f97bca6553edc7 Mon Sep 17 00:00:00 2001 From: Bruno Cardoso Lopes Date: Wed, 14 Sep 2011 02:36:14 +0000 Subject: Vector shuffle mask should yield "movsd", not "movss". llvm-svn: 139686 --- llvm/test/CodeGen/X86/vec_shuffle-38.ll | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'llvm/test/CodeGen/X86/vec_shuffle-38.ll') diff --git a/llvm/test/CodeGen/X86/vec_shuffle-38.ll b/llvm/test/CodeGen/X86/vec_shuffle-38.ll index 978f59eec71..69a2ede758a 100644 --- a/llvm/test/CodeGen/X86/vec_shuffle-38.ll +++ b/llvm/test/CodeGen/X86/vec_shuffle-38.ll @@ -43,3 +43,17 @@ entry: %shuffle = shufflevector <4 x float> %vecin1, <4 x float> %vecin2, <4 x i32> ret <4 x float> %shuffle } + +; rdar://10119696 +; CHECK: f +define <4 x float> @f(<4 x float> %x, double* nocapture %y) nounwind uwtable readonly ssp { +entry: + ; CHECK: movsd (% + ; CHECK-NEXT: movsd %xmm + %u110.i = load double* %y, align 1 + %tmp8.i = insertelement <2 x double> undef, double %u110.i, i32 0 + %tmp9.i = bitcast <2 x double> %tmp8.i to <4 x float> + %shuffle.i = shufflevector <4 x float> %x, <4 x float> %tmp9.i, <4 x i32> + ret <4 x float> %shuffle.i +} + -- cgit v1.2.3