blob: 26e6221784087cc2243db795ad5e15fb5cf6285e [file] [log] [blame]
Tanya Lattner5ebaf3b2008-02-19 08:07:33 +00001; RUN: llvm-as < %s | llc -march=ppc32 | not grep srawi
2; RUN: llvm-as < %s | llc -march=ppc32 | grep blr
Dan Gohmanf17a25c2007-07-18 16:29:46 +00003
Tanya Lattner5ebaf3b2008-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
Dan Gohmanf17a25c2007-07-18 16:29:46 +00008}
9
Tanya Lattner5ebaf3b2008-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
Dan Gohmanf17a25c2007-07-18 16:29:46 +000015}
16
Tanya Lattner5ebaf3b2008-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
Dan Gohmanf17a25c2007-07-18 16:29:46 +000022}
23
Tanya Lattner5ebaf3b2008-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
Dan Gohmanf17a25c2007-07-18 16:29:46 +000029}
Tanya Lattner5ebaf3b2008-02-19 08:07:33 +000030