Instcombine x-((x/y)*y) into a remainder operator.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42035 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dan Gohman
2007-09-17 17:31:57 +00:00
parent baa2fa5823
commit 5d066ff7f0
3 changed files with 28 additions and 1 deletions

View File

@@ -0,0 +1,8 @@
; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep urem
define i64 @rem_unsigned(i64 %x1, i64 %y2) {
%r = udiv i64 %x1, %y2
%r7 = mul i64 %r, %y2
%r8 = sub i64 %x1, %r7
ret i64 %r8
}