llvm-6502/test/Transforms/InstCombine/apint-div1.ll
Reid Spencer 5d787bb93e Add test case for testing InstCombine with arbitrary precision integer
types. These tests mimic the integer test cases in the normal InstCombine
test suite but use "strange" integer bit widths.

Most tests written by Zhou Sheng, a few by me.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35284 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-23 20:48:34 +00:00

25 lines
531 B
LLVM

; This test makes sure that div instructions are properly eliminated.
; This test is for Integer BitWidth < 64 && BitWidth % 2 != 0.
;
; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep div
implementation
define i33 @test1(i33 %X) {
%Y = udiv i33 %X, 4096
ret i33 %Y
}
define i49 @test2(i49 %X) {
%tmp.0 = shl i49 4096, 17
%Y = udiv i49 %X, %tmp.0
ret i49 %Y
}
define i59 @test3(i59 %X, bool %C) {
%V = select bool %C, i59 1024, i59 4096
%R = udiv i59 %X, %V
ret i59 %R
}