1 ; This test makes sure that mul instructions are properly eliminated.
4 ; RUN: as < %s | opt -instcombine | dis | not grep mul
14 %B = mul int %A, 2 ; Should convert to an add instruction
19 %B = mul int %A, 0 ; This should disappear entirely
23 double %test4(double %A) {
24 %B = mul double 1.0, %A ; This is safe for FP
33 ubyte %test6(ubyte %A) {
40 %tmp = mul int %i, -1 ; %tmp = sub 0, %i
44 ulong %test8(ulong %i) {
45 %j = mul ulong %i, 18446744073709551615 ; tmp = sub 0, %i