OSDN Git Service

* pa.c (store_reg): Do not call add_high_const generator directly.
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 28 Jul 1999 22:34:57 +0000 (22:34 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 28 Jul 1999 22:34:57 +0000 (22:34 +0000)
        (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

gcc/ChangeLog
gcc/config/pa/pa.c
gcc/config/pa/pa.md

index 7a125b7..cd22387 100644 (file)
@@ -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.
index 03e178f..a5753bf 100644 (file)
@@ -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),
index b441f3d..b2c4c8c 100644 (file)
 ;; 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" ""))))]