diff options
author | Jeffrey A Law <law@cygnus.com> | 1999-07-28 19:21:34 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1999-07-28 13:21:34 -0600 |
commit | 885ae155e98c7cf33c0e41a743b5b7edf0d05ec6 (patch) | |
tree | 8365f81d11bd1039e0faaddd304769d0de2c8f2b | |
parent | 895f233648a93130de0091319145d255ef4d140d (diff) | |
download | gcc-885ae155e98c7cf33c0e41a743b5b7edf0d05ec6.zip gcc-885ae155e98c7cf33c0e41a743b5b7edf0d05ec6.tar.gz gcc-885ae155e98c7cf33c0e41a743b5b7edf0d05ec6.tar.bz2 |
pa.md (reload_indi, [...]): Scratch register should be a DImode register.
* pa.md (reload_indi, reload_outdi): Scratch register should
be a DImode register.
(call, call_value): Use "word_mode" instead of "SImode" as needed.
From-SVN: r28320
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/pa/pa.md | 20 |
2 files changed, 15 insertions, 11 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 23c08e6..fdecb38 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Wed Jul 28 13:18:35 1999 Jeffrey A Law (law@cygnus.com) + + * pa.md (reload_indi, reload_outdi): Scratch register should + be a DImode register. + (call, call_value): Use "word_mode" instead of "SImode" as needed. + Wed Jul 28 11:28:04 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> * builtins.c (expand_builtin): Typo in call to expand_builtin_ffs. diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md index af209c3..56777fd 100644 --- a/gcc/config/pa/pa.md +++ b/gcc/config/pa/pa.md @@ -2408,7 +2408,7 @@ (define_expand "reload_indi" [(set (match_operand:DI 0 "register_operand" "=f") (match_operand:DI 1 "non_hard_reg_operand" "")) - (clobber (match_operand:SI 2 "register_operand" "=&r"))] + (clobber (match_operand:DI 2 "register_operand" "=&r"))] "" " { @@ -2423,7 +2423,7 @@ (define_expand "reload_outdi" [(set (match_operand:DI 0 "general_operand" "") (match_operand:DI 1 "register_operand" "f")) - (clobber (match_operand:SI 2 "register_operand" "=&r"))] + (clobber (match_operand:DI 2 "register_operand" "=&r"))] "" " { @@ -2473,8 +2473,6 @@ [(set_attr "type" "move") (set_attr "length" "8")]) -;;; Experimental - (define_insn "" [(set (match_operand:DI 0 "reg_or_nonsymb_mem_operand" "=r,o,Q,r,r,r,f,f,*TR") @@ -4309,8 +4307,8 @@ call_insn = emit_call_insn (gen_call_internal_symref (op, operands[1])); else { - rtx tmpreg = gen_rtx_REG (SImode, 22); - emit_move_insn (tmpreg, force_reg (SImode, op)); + rtx tmpreg = gen_rtx_REG (word_mode, 22); + emit_move_insn (tmpreg, force_reg (word_mode, op)); call_insn = emit_call_insn (gen_call_internal_reg (operands[1])); } @@ -4324,7 +4322,7 @@ This will set regs_ever_live for the callee saved register we stored the PIC register in. */ emit_move_insn (pic_offset_table_rtx, - gen_rtx_REG (SImode, PIC_OFFSET_TABLE_REGNUM_SAVED)); + gen_rtx_REG (word_mode, PIC_OFFSET_TABLE_REGNUM_SAVED)); emit_insn (gen_rtx_USE (VOIDmode, pic_offset_table_rtx)); /* Gross. We have to keep the scheduler from moving the restore @@ -4451,7 +4449,7 @@ rtx call_insn; if (TARGET_PORTABLE_RUNTIME) - op = force_reg (SImode, XEXP (operands[1], 0)); + op = force_reg (word_mode, XEXP (operands[1], 0)); else op = XEXP (operands[1], 0); @@ -4466,8 +4464,8 @@ operands[2])); else { - rtx tmpreg = gen_rtx_REG (SImode, 22); - emit_move_insn (tmpreg, force_reg (SImode, op)); + rtx tmpreg = gen_rtx_REG (word_mode, 22); + emit_move_insn (tmpreg, force_reg (word_mode, op)); call_insn = emit_call_insn (gen_call_value_internal_reg (operands[0], operands[2])); } @@ -4481,7 +4479,7 @@ This will set regs_ever_live for the callee saved register we stored the PIC register in. */ emit_move_insn (pic_offset_table_rtx, - gen_rtx_REG (SImode, PIC_OFFSET_TABLE_REGNUM_SAVED)); + gen_rtx_REG (word_mode, PIC_OFFSET_TABLE_REGNUM_SAVED)); emit_insn (gen_rtx_USE (VOIDmode, pic_offset_table_rtx)); /* Gross. We have to keep the scheduler from moving the restore |