diff options
Diffstat (limited to 'gcc/config/sh/sh.md')
-rw-r--r-- | gcc/config/sh/sh.md | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md index 45a5edf6ad7..914d5bf8b92 100644 --- a/gcc/config/sh/sh.md +++ b/gcc/config/sh/sh.md @@ -6187,7 +6187,7 @@ label: if (TARGET_SH5 && true_regnum (operands[1]) < 16) { emit_move_insn (stack_pointer_rtx, - plus_constant (stack_pointer_rtx, -8)); + plus_constant (Pmode, stack_pointer_rtx, -8)); tos = gen_tmp_stack_mem (DFmode, stack_pointer_rtx); } else @@ -6203,7 +6203,8 @@ label: gen_rtx_POST_INC (Pmode, stack_pointer_rtx)); insn = emit_insn (gen_movdf_i4 (operands[0], tos, operands[2])); if (TARGET_SH5 && true_regnum (operands[0]) < 16) - emit_move_insn (stack_pointer_rtx, plus_constant (stack_pointer_rtx, 8)); + emit_move_insn (stack_pointer_rtx, + plus_constant (Pmode, stack_pointer_rtx, 8)); else add_reg_note (insn, REG_INC, stack_pointer_rtx); DONE; @@ -6413,7 +6414,7 @@ label: case PLUS: emit_insn (gen_movsf_ie (reg0, operands[1], operands[2])); operands[1] = copy_rtx (operands[1]); - XEXP (operands[1], 0) = plus_constant (addr, 4); + XEXP (operands[1], 0) = plus_constant (Pmode, addr, 4); emit_insn (gen_movsf_ie (reg1, operands[1], operands[2])); break; @@ -6480,7 +6481,7 @@ label: emit_insn (gen_movsf_ie (operands[0], reg0, operands[2])); operands[0] = copy_rtx (operands[0]); - XEXP (operands[0], 0) = plus_constant (addr, 4); + XEXP (operands[0], 0) = plus_constant (Pmode, addr, 4); emit_insn (gen_movsf_ie (operands[0], reg1, operands[2])); break; @@ -11244,7 +11245,8 @@ label: emit_insn (gen_movsi (shift_reg, operands[3])); qi_val = gen_rtx_SUBREG (QImode, shift_reg, 3); } - addr_target = copy_addr_to_reg (plus_constant (orig_address, size - 1)); + addr_target = copy_addr_to_reg (plus_constant (Pmode, + orig_address, size - 1)); operands[0] = replace_equiv_address (operands[0], addr_target); emit_insn (gen_movqi (operands[0], qi_val)); |