https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57032
--- Comment #9 from Richard Henderson <rth at gcc dot gnu.org> --- I think all of the bits touching reload internals stems from the non-existence of define_memory_constraint when the port was first written. I suspect that this is fixable with nothing more than (define_memory_constraint "Q" "@internal normal memory operand" (and (match_code "mem") (match_test "GET_CODE (XEXP (op, 0)) != AND") (match_test "memory_address_addr_space_p (GET_MODE (op), XEXP (op, 0), MEM_ADDR_SPACE (op))")))