pa.c (store_reg): Do not call add_high_const generator directly.
authorJeffrey A Law <law@cygnus.com>
Wed, 28 Jul 1999 22:34:57 +0000 (22:34 +0000)
committerJeff Law <law@gcc.gnu.org>
Wed, 28 Jul 1999 22:34:57 +0000 (16:34 -0600)
        * 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.

From-SVN: r28327

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

index 7a125b74a974543a61010b32fdacf9a01ebc4e2a..cd22387d8f45c95df7b24d3de245f7ce26e2e6b7 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 03e178f3886c47c32a022af4d17cccbd69e66810..a5753bfee474c883f87d2b429d900ab16469666b 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 b441f3df51195b876926a223c8fad3fc65f5c73c..b2c4c8cb444e77f35c16ddf4e4b7d17f24d6d01c 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" ""))))]