On 03/26/2014 12:40 PM, Jakub Jelinek wrote: > On Wed, Mar 26, 2014 at 01:32:44PM -0600, Jeff Law wrote: >> On 03/26/14 12:28, Jakub Jelinek wrote: >>> (mult:SI (const_int 0) (const_int 4)) is IMHO far from being canonical. >>> And, I'd say it is likely other target legitimization hooks would also try >>> to simplify it similarly. >>> simplify_gen_binary is used in several other places during expansion, >>> so I don't see why it couldn't be desirable here. >> No particular reason. I'll try that since we disagree about the >> validity of the RTL and we can both agree that using >> simplify_gen_binary is reasonable. > > Other possibility if you want to change it in the i386.c legitimize_address > hook would be IMHO using force_reg instead of force_operand, it should be > the same thing in most cases, except for these corner cases, and there would > be no need to canonizalize anything afterwards. > But, if the i?86 maintainers feel otherwise on this and think your patch is > ok, I don't feel that strongly about this.
I like this as a solution. Let the combiner clean things up if it's gotten so far. r~