On Thu, Jul 9, 2015 at 8:35 AM, Paolo Bonzini <bonz...@gnu.org> wrote: > > > On 07/07/2015 11:08, Richard Biener wrote: >> Also I am not sure ceil_div and floor_div can be handled this way. >> (5 /[ceil] 2) * 2 == 6 but you compute it as 4. So I am only convinced >> trunc_div works this way. > > Of course also floor_div for unsigned arguments. > > For signed arguments, ceil_div works if the operand is known-negative > and floor_div if known-positive. > > Perhaps you could optimize these cases to trunc_div first (or maybe it's > already done...)?
fold-const.c does this already, yes. Richard. > Paolo