• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; 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
7
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
122