blob: 9ef7fbdb0c5044f0b6efa5ecf1d396ef691b0b65 [file] [log] [blame]
Nate Begemanbdcb5af2010-07-27 22:37:06 +00001; RUN: llc < %s -march=x86 -mattr=+sse41 | FileCheck %s
2
Nate Begeman51409212010-07-28 00:21:48 +00003define <2 x i64> @shl1(<4 x i32> %r, <4 x i32> %a) nounwind readnone ssp {
Nate Begemanbdcb5af2010-07-27 22:37:06 +00004entry:
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}
Nate Begeman51409212010-07-28 00:21:48 +000015
16define <2 x i64> @shl2(<16 x i8> %r, <16 x i8> %a) nounwind readnone ssp {
17entry:
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}