Home | History | Annotate | Download | only in X86
      1 ; RUN: llc < %s -march=x86 -mattr=+sse2 | grep psllq
      2 ; RUN: llc < %s -march=x86 -mattr=+sse2 | grep psraw
      3 ; RUN: llc < %s -march=x86 -mattr=+sse2 | grep movd | count 2
      4 
      5 define <2 x i64> @t1(<2 x i64> %x1, i32 %bits) nounwind  {
      6 entry:
      7 	%tmp3 = tail call <2 x i64> @llvm.x86.sse2.pslli.q( <2 x i64> %x1, i32 %bits ) nounwind readnone 		; <<2 x i64>> [#uses=1]
      8 	ret <2 x i64> %tmp3
      9 }
     10 
     11 define <2 x i64> @t2(<2 x i64> %x1) nounwind  {
     12 entry:
     13 	%tmp3 = tail call <2 x i64> @llvm.x86.sse2.pslli.q( <2 x i64> %x1, i32 10 ) nounwind readnone 		; <<2 x i64>> [#uses=1]
     14 	ret <2 x i64> %tmp3
     15 }
     16 
     17 define <2 x i64> @t3(<2 x i64> %x1, i32 %bits) nounwind  {
     18 entry:
     19 	%tmp2 = bitcast <2 x i64> %x1 to <8 x i16>		; <<8 x i16>> [#uses=1]
     20 	%tmp4 = tail call <8 x i16> @llvm.x86.sse2.psrai.w( <8 x i16> %tmp2, i32 %bits ) nounwind readnone 		; <<8 x i16>> [#uses=1]
     21 	%tmp5 = bitcast <8 x i16> %tmp4 to <2 x i64>		; <<2 x i64>> [#uses=1]
     22 	ret <2 x i64> %tmp5
     23 }
     24 
     25 declare <8 x i16> @llvm.x86.sse2.psrai.w(<8 x i16>, i32) nounwind readnone 
     26 declare <2 x i64> @llvm.x86.sse2.pslli.q(<2 x i64>, i32) nounwind readnone 
     27