Only v1i16 (i.e. _m64) is returned via RAX / RDX.
[oota-llvm.git] / test / CodeGen / X86 / ret-mmx.ll
1 ; RUN: llvm-as < %s | llc -march=x86-64 -mattr=+mmx
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 }
12
13 declare <1 x i64> @return_v1di()
14
15 define <1 x i64> @t2() nounwind {
16         ret <1 x i64> <i64 1>
17 }
18
19 define <2 x i32> @t3() nounwind {
20         ret <2 x i32> <i32 1, i32 0>
21 }
22
23 define double @t4() nounwind {
24         ret double bitcast (<2 x i32> <i32 1, i32 0> to double)
25 }
26