aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1999-07-28 19:21:34 +0000
committerJeff Law <law@gcc.gnu.org>1999-07-28 13:21:34 -0600
commit885ae155e98c7cf33c0e41a743b5b7edf0d05ec6 (patch)
tree8365f81d11bd1039e0faaddd304769d0de2c8f2b
parent895f233648a93130de0091319145d255ef4d140d (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--gcc/config/pa/pa.md20
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