"Mohamed Shafi" <[EMAIL PROTECTED]> writes: > Everything starts when cleanup_subreg_operands() is called from > reload() for the following pattern. > > (set (subreg:HI (mem:SI (plus:HI (reg:HI 12 [SP]) (const_int 256)) 2) > (reg:HI 3))
I think your movhi operand predicate may have to look for this case and reject it. > This pattern is not legitimate due to out of range offset. > Will i be able to overcome this if i write LEGITIMIZE_RELOAD_ADDRESS > or LEGITIMIZE_ADDRESS No, because those won't reliably be called on a legitimate address. You need to reject the operand at some point. Ian