------- Comment #14 from vda dot linux at googlemail dot com 2006-08-04 18:14 ------- >But since these sort of transformations are of >a very mathematical nature, I trust the author of the >suggested changes has proven the algorithms?
I did not write a paper about it, but I think I have the proof and it is documented in the patch. I will happily ament that comment if it has any unclear spots. I don't want anydoby to have headaches over it :) > If it is decided that these cases are indeed important enough to require optimization, the choose_multiplier function should course be amended, of course. I think that we can get more gains if we will use new algorithm _and_ will propagate dividend value range info into choose_multiplier(). New algorithm (of should I say "modified", it is not that new) takes max_A parameter already, so it's trivial. For example, with value range propagation (n & 0xffff) / 10 will generate code with just a mul without shift, because there exist suitable K for L=2^32 -> we can just take higher half of multiply. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28417