blob: 26e6221784087cc2243db795ad5e15fb5cf6285e [file] [log] [blame]
Tanya Lattnercfab3da2008-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
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