------- Comment #10 from dje at gcc dot gnu dot org 2008-01-21 18:18 ------- The secondary_reload target hook does not provide the full MEM RTL as an argument, only the address RTL, which prevents the hook implementation from distinguishing ALTIVEC, which only allows indexed addresses, from GPR and FPR, which allow offset addresses.
If the target hook can add a scratch register, reload should be able to add a scratch register itself. If reload cannot fix this address correctly, rs6000_legitimate_offset_address needs to reject offset addresses for Altivec modes. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34529