1 ; RUN: llc < %s -march=x86 -mcpu=corei7 -mtriple=i686-pc-win32 | FileCheck %s 2 3 ; CHECK: load_store 4 define void @load_store(<4 x i16>* %in) { 5 entry: 6 ; CHECK: pmovzxwd 7 %A27 = load <4 x i16>, <4 x i16>* %in, align 4 8 %A28 = add <4 x i16> %A27, %A27 9 ; CHECK: movq 10 store <4 x i16> %A28, <4 x i16>* %in, align 4 11 ret void 12 ; CHECK: ret 13 } 14 15 ; Make sure that we store a 64bit value, even on 32bit systems. 16 ;CHECK-LABEL: store_64: 17 define void @store_64(<2 x i32>* %ptr) { 18 BB: 19 store <2 x i32> zeroinitializer, <2 x i32>* %ptr 20 ret void 21 ;CHECK: movlps 22 ;CHECK: ret 23 } 24 25 ;CHECK-LABEL: load_64: 26 define <2 x i32> @load_64(<2 x i32>* %ptr) { 27 BB: 28 %t = load <2 x i32>, <2 x i32>* %ptr 29 ret <2 x i32> %t 30 ;CHECK: pmovzxdq 31 ;CHECK: ret 32 } 33