diff options
author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-07-28 22:34:57 +0000 |
---|---|---|
committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-07-28 22:34:57 +0000 |
commit | 359a0be828241e84eb7d657ba85b433002297825 (patch) | |
tree | aa134d2319eb6787e5508c483b1e461fb698e477 | |
parent | c374232c6023093b7b81be8297b39405d4dadaa3 (diff) | |
download | gcc-359a0be828241e84eb7d657ba85b433002297825.tar.gz |
* pa.c (store_reg): Do not call add_high_const generator directly.
(load_reg, set_reg_plus_d): Likewise.
* pa.md (add_high_const): No longer a named pattern.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28327 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/pa/pa.c | 24 | ||||
-rw-r--r-- | gcc/config/pa/pa.md | 2 |
3 files changed, 17 insertions, 13 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7a125b74a97..cd22387d8f4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ Wed Jul 28 13:18:35 1999 Jeffrey A Law (law@cygnus.com) + * pa.c (store_reg): Do not call add_high_const generator directly. + (load_reg, set_reg_plus_d): Likewise. + * pa.md (add_high_const): No longer a named pattern. + * pa.c (legitimize_address): Consistently use Pmode rather than SImode. Do not call gen_pic2_highpart directly anymore. * pa.md (pic2_highpart): No longer a named pattern. diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 03e178f3886..a5753bfee47 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -2453,7 +2453,7 @@ remove_useless_addtr_insns (insns, check_notes) */ /* Emit RTL to store REG at the memory location specified by BASE+DISP. - Handle case where DISP > 8k by using the add_high_const pattern. + Handle case where DISP > 8k by using the add_high_const patterns. Note in DISP > 8k case, we will leave the high part of the address in %r1. There is code in expand_hppa_{prologue,epilogue} that knows this.*/ @@ -2471,9 +2471,9 @@ store_reg (reg, disp, base) } else { - emit_insn (gen_add_high_const (gen_rtx_REG (Pmode, 1), - gen_rtx_REG (Pmode, base), - GEN_INT (disp))); + emit_move_insn (gen_rtx_REG (Pmode, 1), + gen_rtx_PLUS (Pmode, gen_rtx_REG (Pmode, base), + gen_rtx_HIGH (Pmode, GEN_INT (disp)))); emit_move_insn (gen_rtx_MEM (word_mode, gen_rtx_LO_SUM (Pmode, gen_rtx_REG (Pmode, 1), @@ -2483,7 +2483,7 @@ store_reg (reg, disp, base) } /* Emit RTL to load REG from the memory location specified by BASE+DISP. - Handle case where DISP > 8k by using the add_high_const pattern. + Handle case where DISP > 8k by using the add_high_const patterns. Note in DISP > 8k case, we will leave the high part of the address in %r1. There is code in expand_hppa_{prologue,epilogue} that knows this.*/ @@ -2501,9 +2501,9 @@ load_reg (reg, disp, base) } else { - emit_insn (gen_add_high_const (gen_rtx_REG (Pmode, 1), - gen_rtx_REG (Pmode, base), - GEN_INT (disp))); + emit_move_insn (gen_rtx_REG (Pmode, 1), + gen_rtx_PLUS (Pmode, gen_rtx_REG (Pmode, base), + gen_rtx_HIGH (Pmode, GEN_INT (disp)))); emit_move_insn (gen_rtx_REG (word_mode, reg), gen_rtx_MEM (word_mode, gen_rtx_LO_SUM (Pmode, @@ -2513,7 +2513,7 @@ load_reg (reg, disp, base) } /* Emit RTL to set REG to the value specified by BASE+DISP. - Handle case where DISP > 8k by using the add_high_const pattern. + Handle case where DISP > 8k by using the add_high_const patterns. Note in DISP > 8k case, we will leave the high part of the address in %r1. There is code in expand_hppa_{prologue,epilogue} that knows this.*/ @@ -2530,9 +2530,9 @@ set_reg_plus_d(reg, base, disp) } else { - emit_insn (gen_add_high_const (gen_rtx_REG (Pmode, 1), - gen_rtx_REG (Pmode, base), - GEN_INT (disp))); + emit_move_insn (gen_rtx_REG (Pmode, 1), + gen_rtx_PLUS (Pmode, gen_rtx_REG (Pmode, base), + gen_rtx_HIGH (Pmode, GEN_INT (disp)))); emit_move_insn (gen_rtx_REG (Pmode, reg), gen_rtx_LO_SUM (Pmode, gen_rtx_REG (Pmode, 1), diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md index b441f3df511..b2c4c8cb444 100644 --- a/gcc/config/pa/pa.md +++ b/gcc/config/pa/pa.md @@ -1668,7 +1668,7 @@ ;; Because of the additional %r1 pressure, we probably do not ;; want to use this in general code, so make it available ;; only after reload. -(define_insn "add_high_const" +(define_insn "" [(set (match_operand:SI 0 "register_operand" "=!a,*r") (plus:SI (match_operand:SI 1 "register_operand" "r,r") (high:SI (match_operand 2 "const_int_operand" ""))))] |