http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48496
--- Comment #21 from Ulrich Weigand <uweigand at gcc dot gnu.org> 2012-04-10 12:16:36 UTC --- (In reply to comment #19) > and the matching alternative would be (f, Q) with > > ;; Note that while this accepts mem, it only accepts non-volatile mem, > ;; and so cannot be "fixed" by adjusting the address. Thus it cannot > ;; and does not use define_memory_constraint. > (define_constraint "Q" > "Non-volatile memory for FP_REG loads/stores" > (and (match_operand 0 "memory_operand") > (match_test "!MEM_VOLATILE_P (op)"))) Ah, I see. So the fix would probably be to simply add an equivalent "if reload_in_progress, accept pseudos" (since pseudo stack slots are never volatile) to this constrains ...