blob: a3cd73cbda1b7e2481af0738847dff1eb48a4bd9 [file] [log] [blame]
Reid Spencereb1d74e2007-04-16 17:36:08 +00001; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc32 | not grep srawi
Reid Spencer69ccadd2006-12-02 04:23:10 +00002; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc32 | grep blr
Chris Lattnerbabac052005-10-07 06:10:03 +00003
Chris Lattnera77e86e2005-10-07 15:27:12 +00004int %test1(int %X) {
Chris Lattnerbabac052005-10-07 06:10:03 +00005 %Y = and int %X, 15
6 %Z = div int %Y, 4
7 ret int %Z
8}
Chris Lattnera77e86e2005-10-07 15:27:12 +00009
10int %test2(int %W) {
11 %X = and int %W, 15
12 %Y = sub int 16, %X
13 %Z = div int %Y, 4
14 ret int %Z
15}
16
17int %test3(int %W) {
18 %X = and int %W, 15
19 %Y = sub int 15, %X
20 %Z = div int %Y, 4
21 ret int %Z
22}
23
24int %test4(int %W) {
25 %X = and int %W, 2
26 %Y = sub int 5, %X
27 %Z = div int %Y, 2
28 ret int %Z
29}