1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 03:23:01 +02:00
llvm-mirror/test/Transforms/InstCombine/2008-11-20-DivMulRem.ll
Dan Gohman 8d84372836 Change these tests to feed the assembly files to opt directly, instead
of using llvm-as, now that opt supports this.

llvm-svn: 81226
2009-09-08 16:50:01 +00:00

35 lines
610 B
LLVM

; RUN: opt %s -instcombine | llvm-dis > %t
; RUN: grep urem %t | count 3
; RUN: grep srem %t | count 1
; RUN: grep sub %t | count 2
; RUN: grep add %t | count 1
; PR3103
define i8 @test1(i8 %x, i8 %y) {
%A = udiv i8 %x, %y
%B = mul i8 %A, %y
%C = sub i8 %x, %B
ret i8 %C
}
define i8 @test2(i8 %x, i8 %y) {
%A = sdiv i8 %x, %y
%B = mul i8 %A, %y
%C = sub i8 %x, %B
ret i8 %C
}
define i8 @test3(i8 %x, i8 %y) {
%A = udiv i8 %x, %y
%B = mul i8 %A, %y
%C = sub i8 %B, %x
ret i8 %C
}
define i8 @test4(i8 %x) {
%A = udiv i8 %x, 3
%B = mul i8 %A, -3
%C = sub i8 %x, %B
ret i8 %C
}