Home | History | Annotate | Download | only in X86
      1 ; RUN: llc < %s -march=x86-64 -mcpu=corei7 | FileCheck %s
      2 
      3 ; rdar://11897677
      4 
      5 ;CHECK-LABEL: intrin_pmov:
      6 ;CHECK: pmovzxbw  (%{{.*}}), %xmm0
      7 ;CHECK-NEXT: movdqu
      8 ;CHECK-NEXT: ret
      9 define void @intrin_pmov(i16* noalias %dest, i8* noalias %src) nounwind uwtable ssp {
     10   %1 = bitcast i8* %src to <2 x i64>*
     11   %2 = load <2 x i64>* %1, align 16
     12   %3 = bitcast <2 x i64> %2 to <16 x i8>
     13   %4 = tail call <8 x i16> @llvm.x86.sse41.pmovzxbw(<16 x i8> %3) nounwind
     14   %5 = bitcast i16* %dest to i8*
     15   %6 = bitcast <8 x i16> %4 to <16 x i8>
     16   tail call void @llvm.x86.sse2.storeu.dq(i8* %5, <16 x i8> %6) nounwind
     17   ret void
     18 }
     19 
     20 declare <8 x i16> @llvm.x86.sse41.pmovzxbw(<16 x i8>) nounwind readnone
     21 
     22 declare void @llvm.x86.sse2.storeu.dq(i8*, <16 x i8>) nounwind
     23