; This test makes sure that div instructions are properly eliminated.
;

; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep div

implementation

int %test1(int %A) {
	%B = div int %A, 1
	ret int %B
}

uint %test2(uint %A) {
	%B = div uint %A, 8   ; => Shift
	ret uint %B
}

int %test3(int %A) {
	%B = div int 0, %A    ; => 0, don't need to keep traps
	ret int %B
}

int %test4(int %A) {
	%B = div int %A, -1    ; 0-A
	ret int %B
}

uint %test5(uint %A) {
	%B = div uint %A, 4294967280
	%C = div uint %B, 4294967292
	ret uint %C
}

bool %test6(uint %A) {
	%B = div uint %A, 123
	%C = seteq uint %B, 0   ; A < 123
	ret bool %C
} 

bool %test7(uint %A) {
	%B = div uint %A, 10
	%C = seteq uint %B, 2    ; A >= 20 && A < 30
	ret bool %C
}

bool %test8(ubyte %A) {
	%B = div ubyte %A, 123
	%C = seteq ubyte %B, 2   ; A >= 246
	ret bool %C
} 

bool %test9(ubyte %A) {
	%B = div ubyte %A, 123
	%C = setne ubyte %B, 2   ; A < 246
	ret bool %C
} 

uint %test10(uint %X, bool %C) {
        %V = select bool %C, uint 64, uint 8
        %R = udiv uint %X, %V
        ret uint %R
}

int %test11(int %X, bool %C) {
        %A = select bool %C, int 1024, int 32
        %B = udiv int %X, %A
        ret int %B
}
