blob: cccdc4737f7686948e05fb6fcc32a781fb710d36 [file] [log] [blame]
Dan Gohmanda594cf2009-09-09 00:09:15 +00001; RUN: llc < %s -march=systemz | grep sra | count 6
2; RUN: llc < %s -march=systemz | grep srag | count 3
3; RUN: llc < %s -march=systemz | grep srl | count 6
4; RUN: llc < %s -march=systemz | grep srlg | count 3
5; RUN: llc < %s -march=systemz | grep sll | count 6
6; RUN: llc < %s -march=systemz | grep sllg | count 3
Anton Korobeynikova58fac92009-07-16 13:43:18 +00007
8define signext i32 @foo1(i32 %a, i32 %idx) nounwind readnone {
9entry:
10 %add = add i32 %idx, 1 ; <i32> [#uses=1]
11 %shr = ashr i32 %a, %add ; <i32> [#uses=1]
12 ret i32 %shr
13}
14
15define signext i32 @foo2(i32 %a, i32 %idx) nounwind readnone {
16entry:
17 %add = add i32 %idx, 1 ; <i32> [#uses=1]
18 %shr = shl i32 %a, %add ; <i32> [#uses=1]
19 ret i32 %shr
20}
21
22define signext i32 @foo3(i32 %a, i32 %idx) nounwind readnone {
23entry:
24 %add = add i32 %idx, 1 ; <i32> [#uses=1]
25 %shr = lshr i32 %a, %add ; <i32> [#uses=1]
26 ret i32 %shr
27}
28
29define signext i64 @foo4(i64 %a, i64 %idx) nounwind readnone {
30entry:
31 %add = add i64 %idx, 1 ; <i64> [#uses=1]
32 %shr = ashr i64 %a, %add ; <i64> [#uses=1]
33 ret i64 %shr
34}
35
36define signext i64 @foo5(i64 %a, i64 %idx) nounwind readnone {
37entry:
38 %add = add i64 %idx, 1 ; <i64> [#uses=1]
39 %shr = shl i64 %a, %add ; <i64> [#uses=1]
40 ret i64 %shr
41}
42
43define signext i64 @foo6(i64 %a, i64 %idx) nounwind readnone {
44entry:
45 %add = add i64 %idx, 1 ; <i64> [#uses=1]
46 %shr = lshr i64 %a, %add ; <i64> [#uses=1]
47 ret i64 %shr
48}
49
50define signext i32 @foo7(i32 %a, i32 %idx) nounwind readnone {
51entry:
52 %shr = ashr i32 %a, 1
53 ret i32 %shr
54}
55
56define signext i32 @foo8(i32 %a, i32 %idx) nounwind readnone {
57entry:
58 %shr = shl i32 %a, 1
59 ret i32 %shr
60}
61
62define signext i32 @foo9(i32 %a, i32 %idx) nounwind readnone {
63entry:
64 %shr = lshr i32 %a, 1
65 ret i32 %shr
66}
67
68define signext i32 @foo10(i32 %a, i32 %idx) nounwind readnone {
69entry:
70 %shr = ashr i32 %a, %idx
71 ret i32 %shr
72}
73
74define signext i32 @foo11(i32 %a, i32 %idx) nounwind readnone {
75entry:
76 %shr = shl i32 %a, %idx
77 ret i32 %shr
78}
79
80define signext i32 @foo12(i32 %a, i32 %idx) nounwind readnone {
81entry:
82 %shr = lshr i32 %a, %idx
83 ret i32 %shr
84}
85
86define signext i64 @foo13(i64 %a, i64 %idx) nounwind readnone {
87entry:
88 %shr = ashr i64 %a, 1
89 ret i64 %shr
90}
91
92define signext i64 @foo14(i64 %a, i64 %idx) nounwind readnone {
93entry:
94 %shr = shl i64 %a, 1
95 ret i64 %shr
96}
97
98define signext i64 @foo15(i64 %a, i64 %idx) nounwind readnone {
99entry:
100 %shr = lshr i64 %a, 1
101 ret i64 %shr
102}
103
104define signext i64 @foo16(i64 %a, i64 %idx) nounwind readnone {
105entry:
106 %shr = ashr i64 %a, %idx
107 ret i64 %shr
108}
109
110define signext i64 @foo17(i64 %a, i64 %idx) nounwind readnone {
111entry:
112 %shr = shl i64 %a, %idx
113 ret i64 %shr
114}
115
116define signext i64 @foo18(i64 %a, i64 %idx) nounwind readnone {
117entry:
118 %shr = lshr i64 %a, %idx
119 ret i64 %shr
120}
121