re PR target/41029 (ICE RTL check: expected code 'reg', have 'post_inc' in rhs_regno...
[gcc.git] / gcc / config / sh / sh.md
index 30084c2d0f81da9f464e4b2aa46b76c5c5c6255d..f06098bfc1bf8c3648fc3e00cd29169b1a386847 100644 (file)
@@ -6065,7 +6065,7 @@ label:
           /* If we have modified the stack pointer, the value that we have
             read with post-increment might be modified by an interrupt,
             so write it back.  */
-          if (REGNO (addr) == STACK_POINTER_REGNUM)
+          if (REGNO (XEXP (addr, 0)) == STACK_POINTER_REGNUM)
            emit_insn (gen_push_e (reg0));
           else
            emit_insn (gen_addsi3 (XEXP (operands[1], 0), XEXP (operands[1], 0), GEN_INT (-4)));