On 06/02/2015 07:13 PM, Jeff Law wrote: > But isn't that 3 registers used in the address computation if the > (const_int 1) gets reloaded? one of the value shifted, two for the > shift count? I'm not familiar with the s390, so if you can handle that > kind of insn, then, umm, cool. The address style operand is only the shift count. Our instructions support base + displacement here. E.g. sll %r2,%r3(3) is r2 << (r3 + 3)
> The only other thing that comes immediately to mind would be secondary > reloads. But I always hate suggesting them. I don't see how this would help here. It is not really that reload needs help moving something to/from a register. In fact the INSN is good as is and we are trying to prevent reload from doing anything. Bye, -Andreas-