blob: 2fc916ff005f08b1d687e8140dd3295f57f70397 [file] [log] [blame]
Dan Gohmanfce288f2009-09-09 00:09:15 +00001; RUN: llc < %s -march=ppc32 | not grep srawi
2; RUN: llc < %s -march=ppc32 | grep blr
Chris Lattnerbabac052005-10-07 06:10:03 +00003
Tanya Lattnercfab3da2008-02-19 08:07:33 +00004define 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
Chris Lattnerbabac052005-10-07 06:10:03 +00008}
Chris Lattnera77e86e2005-10-07 15:27:12 +00009
Tanya Lattnercfab3da2008-02-19 08:07:33 +000010define 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
Chris Lattnera77e86e2005-10-07 15:27:12 +000015}
16
Tanya Lattnercfab3da2008-02-19 08:07:33 +000017define 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
Chris Lattnera77e86e2005-10-07 15:27:12 +000022}
23
Tanya Lattnercfab3da2008-02-19 08:07:33 +000024define 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
Chris Lattnera77e86e2005-10-07 15:27:12 +000029}
Tanya Lattnercfab3da2008-02-19 08:07:33 +000030