forked from OSchip/llvm-project
30 lines
506 B
LLVM
30 lines
506 B
LLVM
; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc32 | not grep srawi
|
|
; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc32 | grep blr
|
|
|
|
int %test1(int %X) {
|
|
%Y = and int %X, 15
|
|
%Z = div int %Y, 4
|
|
ret int %Z
|
|
}
|
|
|
|
int %test2(int %W) {
|
|
%X = and int %W, 15
|
|
%Y = sub int 16, %X
|
|
%Z = div int %Y, 4
|
|
ret int %Z
|
|
}
|
|
|
|
int %test3(int %W) {
|
|
%X = and int %W, 15
|
|
%Y = sub int 15, %X
|
|
%Z = div int %Y, 4
|
|
ret int %Z
|
|
}
|
|
|
|
int %test4(int %W) {
|
|
%X = and int %W, 2
|
|
%Y = sub int 5, %X
|
|
%Z = div int %Y, 2
|
|
ret int %Z
|
|
}
|