> So in general, it's really not safe to mark a constraint that accepts > only far memory as "memory constraint" with current reload. > > Note that *not* marking the constraint as memory constraint actually > does not prevent reload from fixing up illegitimate addresses, so you > shouldn't really see much drawbacks from not marking it ...
While working through the regressions on this one I discovered one seemingly important side-effect... For such constraints that are memory operands but not define_memory_constraint, you need to use '*' to keep reload from trying to guess a register class from them (it guesses wrong for rl78). I.e. use "*Wfr" instead of "Wfr".