> This is interesting. I've quickly tried it out on the SH port. It can be > accomplished with the combine pass, although there are a few things that > should be taken care of: > - an "extendsidi2" pattern is required (so that the extension is not > performed before expand) > ... > One potential pitfall might be the handling of a real "reg:DI << reg:DI" > if there are no patterns already there that handle it (as it is the case for > the > SH port). If I observed correctly, the "ashldi3" expander must not FAIL for a > "reg:DI << reg:DI" (to do a lib call), or else combine would not arrive at the > pattern above. > > Hope this helps.
Thanks Oleg, these were the bits I hadn't figured out. Cheers, Jon