1 ; RUN: llc < %s -march=x86 -mattr=+mmx,+sse2 | FileCheck %s -check-prefix=X86-32
2 ; RUN: llc < %s -march=x86-64 -mattr=+mmx,+sse2 | FileCheck %s -check-prefix=X86-64
6 define i32 @test0(<1 x i64>* %v4) {
7 %v5 = load <1 x i64>* %v4, align 8
8 %v12 = bitcast <1 x i64> %v5 to <4 x i16>
9 %v13 = bitcast <4 x i16> %v12 to x86_mmx
19 %v14 = tail call x86_mmx @llvm.x86.sse.pshuf.w(x86_mmx %v13, i8 -18)
20 %v15 = bitcast x86_mmx %v14 to <4 x i16>
21 %v16 = bitcast <4 x i16> %v15 to <1 x i64>
22 %v17 = extractelement <1 x i64> %v16, i32 0
23 %v18 = bitcast i64 %v17 to <2 x i32>
24 %v19 = extractelement <2 x i32> %v18, i32 0
25 %v20 = add i32 %v19, 32
29 declare x86_mmx @llvm.x86.sse.pshuf.w(x86_mmx, i8)