remove the "old" at&t style asmprinter. Unfortunately, most of the
[llvm/avr.git] / test / CodeGen / SystemZ / 04-RetShifts.ll
blobcccdc4737f7686948e05fb6fcc32a781fb710d36
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
8 define signext i32 @foo1(i32 %a, i32 %idx) nounwind readnone {
9 entry:
10         %add = add i32 %idx, 1          ; <i32> [#uses=1]
11         %shr = ashr i32 %a, %add                ; <i32> [#uses=1]
12         ret i32 %shr
15 define signext i32 @foo2(i32 %a, i32 %idx) nounwind readnone {
16 entry:
17         %add = add i32 %idx, 1          ; <i32> [#uses=1]
18         %shr = shl i32 %a, %add         ; <i32> [#uses=1]
19         ret i32 %shr
22 define signext i32 @foo3(i32 %a, i32 %idx) nounwind readnone {
23 entry:
24         %add = add i32 %idx, 1          ; <i32> [#uses=1]
25         %shr = lshr i32 %a, %add                ; <i32> [#uses=1]
26         ret i32 %shr
29 define signext i64 @foo4(i64 %a, i64 %idx) nounwind readnone {
30 entry:
31         %add = add i64 %idx, 1          ; <i64> [#uses=1]
32         %shr = ashr i64 %a, %add                ; <i64> [#uses=1]
33         ret i64 %shr
36 define signext i64 @foo5(i64 %a, i64 %idx) nounwind readnone {
37 entry:
38         %add = add i64 %idx, 1          ; <i64> [#uses=1]
39         %shr = shl i64 %a, %add         ; <i64> [#uses=1]
40         ret i64 %shr
43 define signext i64 @foo6(i64 %a, i64 %idx) nounwind readnone {
44 entry:
45         %add = add i64 %idx, 1          ; <i64> [#uses=1]
46         %shr = lshr i64 %a, %add                ; <i64> [#uses=1]
47         ret i64 %shr
50 define signext i32 @foo7(i32 %a, i32 %idx) nounwind readnone {
51 entry:
52         %shr = ashr i32 %a, 1
53         ret i32 %shr
56 define signext i32 @foo8(i32 %a, i32 %idx) nounwind readnone {
57 entry:
58         %shr = shl i32 %a, 1
59         ret i32 %shr
62 define signext i32 @foo9(i32 %a, i32 %idx) nounwind readnone {
63 entry:
64         %shr = lshr i32 %a, 1
65         ret i32 %shr
68 define signext i32 @foo10(i32 %a, i32 %idx) nounwind readnone {
69 entry:
70         %shr = ashr i32 %a, %idx
71         ret i32 %shr
74 define signext i32 @foo11(i32 %a, i32 %idx) nounwind readnone {
75 entry:
76         %shr = shl i32 %a, %idx
77         ret i32 %shr
80 define signext i32 @foo12(i32 %a, i32 %idx) nounwind readnone {
81 entry:
82         %shr = lshr i32 %a, %idx
83         ret i32 %shr
86 define signext i64 @foo13(i64 %a, i64 %idx) nounwind readnone {
87 entry:
88         %shr = ashr i64 %a, 1
89         ret i64 %shr
92 define signext i64 @foo14(i64 %a, i64 %idx) nounwind readnone {
93 entry:
94         %shr = shl i64 %a, 1
95         ret i64 %shr
98 define signext i64 @foo15(i64 %a, i64 %idx) nounwind readnone {
99 entry:
100         %shr = lshr i64 %a, 1
101         ret i64 %shr
104 define signext i64 @foo16(i64 %a, i64 %idx) nounwind readnone {
105 entry:
106         %shr = ashr i64 %a, %idx
107         ret i64 %shr
110 define signext i64 @foo17(i64 %a, i64 %idx) nounwind readnone {
111 entry:
112         %shr = shl i64 %a, %idx
113         ret i64 %shr
116 define signext i64 @foo18(i64 %a, i64 %idx) nounwind readnone {
117 entry:
118         %shr = lshr i64 %a, %idx
119         ret i64 %shr