1 ; RUN: llc < %s -march=x86 -mattr=+sse41 | FileCheck %s 2 3 define <2 x i64> @shl1(<4 x i32> %r, <4 x i32> %a) nounwind readnone ssp { 4 entry: 5 ; CHECK-NOT: shll 6 ; CHECK: pslld 7 ; CHECK: paddd 8 ; CHECK: cvttps2dq 9 ; CHECK: pmulld 10 11 %shl = shl <4 x i32> %r, %a ; <<4 x i32>> [#uses=1] 12 %tmp2 = bitcast <4 x i32> %shl to <2 x i64> ; <<2 x i64>> [#uses=1] 13 ret <2 x i64> %tmp2 14 } 15 16 define <2 x i64> @shl2(<16 x i8> %r, <16 x i8> %a) nounwind readnone ssp { 17 entry: 18 ; CHECK-NOT: shlb 19 ; CHECK: pblendvb 20 ; CHECK: pblendvb 21 ; CHECK: pblendvb 22 %shl = shl <16 x i8> %r, %a ; <<16 x i8>> [#uses=1] 23 %tmp2 = bitcast <16 x i8> %shl to <2 x i64> ; <<2 x i64>> [#uses=1] 24 ret <2 x i64> %tmp2 25 } 26