1; RUN: llc < %s -march=ppc32 | not grep srawi
2; RUN: llc < %s -march=ppc32 | grep blr
3
4define i32 @test1(i32 %X) {
5        %Y = and i32 %X, 15             ; <i32> [#uses=1]
6        %Z = sdiv i32 %Y, 4             ; <i32> [#uses=1]
7        ret i32 %Z
8}
9
10define i32 @test2(i32 %W) {
11        %X = and i32 %W, 15             ; <i32> [#uses=1]
12        %Y = sub i32 16, %X             ; <i32> [#uses=1]
13        %Z = sdiv i32 %Y, 4             ; <i32> [#uses=1]
14        ret i32 %Z
15}
16
17define i32 @test3(i32 %W) {
18        %X = and i32 %W, 15             ; <i32> [#uses=1]
19        %Y = sub i32 15, %X             ; <i32> [#uses=1]
20        %Z = sdiv i32 %Y, 4             ; <i32> [#uses=1]
21        ret i32 %Z
22}
23
24define i32 @test4(i32 %W) {
25        %X = and i32 %W, 2              ; <i32> [#uses=1]
26        %Y = sub i32 5, %X              ; <i32> [#uses=1]
27        %Z = sdiv i32 %Y, 2             ; <i32> [#uses=1]
28        ret i32 %Z
29}
30
31