In some rare cases, the register allocator can spill registers but end up not utilizi...
[llvm/msp430.git] / test / CodeGen / PowerPC / div-2.ll
blob26e6221784087cc2243db795ad5e15fb5cf6285e
1 ; RUN: llvm-as < %s | llc -march=ppc32 | not grep srawi 
2 ; RUN: llvm-as < %s | llc -march=ppc32 | grep blr
4 define 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
10 define 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
17 define 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
24 define 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