1 ; RUN: llc < %s -mtriple=x86_64-apple-darwin11 -mcpu=core2 -mattr=+mmx,+sse2 | FileCheck %s 2 ; rdar://6602459 3 4 @g_v1di = external global <1 x i64> 5 6 define void @t1() nounwind { 7 entry: 8 %call = call <1 x i64> @return_v1di() ; <<1 x i64>> [#uses=0] 9 store <1 x i64> %call, <1 x i64>* @g_v1di 10 ret void 11 ; CHECK-LABEL: t1: 12 ; CHECK: callq 13 ; CHECK-NEXT: movq _g_v1di 14 ; CHECK-NEXT: movq %rax, 15 } 16 17 declare <1 x i64> @return_v1di() 18 19 define <1 x i64> @t2() nounwind { 20 ret <1 x i64> <i64 1> 21 ; CHECK-LABEL: t2: 22 ; CHECK: movl $1 23 ; CHECK-NEXT: ret 24 } 25 26 define <2 x i32> @t3() nounwind { 27 ret <2 x i32> <i32 1, i32 0> 28 ; CHECK-LABEL: t3: 29 ; CHECK: movl $1 30 ; CHECK: movd {{.*}}, %xmm0 31 } 32 33 define double @t4() nounwind { 34 ret double bitcast (<2 x i32> <i32 1, i32 0> to double) 35 ; CHECK-LABEL: t4: 36 ; CHECK: movl $1 37 ; CHECK-NOT: pshufd 38 ; CHECK: movd {{.*}}, %xmm0 39 } 40 41