On Tue, Jul 12, 2016 at 02:02:43PM +0200, Ulrich Weigand wrote: > The second time around, get_secondary_mem should reuse the > same stack slot it already allocated, and the elimination > offsets should already be set to accommodate that stack slot, > which means the second time around, the correct RTX should be > generated for the memory access. > > Is this not happening somehow?
Duh, yes, of course. Second time around the mem is (mem/c:V16QI (plus:DI (reg/f:DI 1 1) (const_int -16 [0xfffffffffffffff0])) [0 S16 A128]) so we're checking the correct offset. The problem now is that this passes rs6000_legitimate_address_p due to mode_supports_vsx_dform_quad and quad_address_p being true. That doesn't seem correct for -mno-vsx. -- Alan Modra Australia Development Lab, IBM