OSDN Git Service

Revert:
authorfroydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 3 Nov 2008 18:19:13 +0000 (18:19 +0000)
committerfroydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 3 Nov 2008 18:19:13 +0000 (18:19 +0000)
2008-10-31  Nathan Froyd  <froydnj@codesourcery.com>

* config/rs6000/rs6000.c (no_global_regs_above): Fix precedence
problem.
(rs6000_emit_prologue): Invert logic.
* config/rs6000/rs6000.md (*save_gpregs_<mode>): Use explicit
(reg:P 11) instead of match_operand.
(*save_fpregs_<mode>): Likewise.
(*restore_gpregs_<mode>): Likewise.
(*return_and_restore_gpregs_<mode>): Likewise.
(*return_and_restore_fpregs_<mode>): Likewise.
* config/rs6000/spe.md (*save_gpregs_spe): Use explicit
(reg:P 11) insted of match_operand.
(*restore_gpregs_spe): Likewise.
(*return_and_restore_gpregs_spe): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141554 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.md
gcc/config/rs6000/spe.md

index c3b7446..5b01a8c 100644 (file)
@@ -1,3 +1,22 @@
+2008-11-03  Nathan Froyd  <froydnj@codesourcery.com>
+
+       Revert:
+       2008-10-31  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * config/rs6000/rs6000.c (no_global_regs_above): Fix precedence
+       problem.
+       (rs6000_emit_prologue): Invert logic.
+       * config/rs6000/rs6000.md (*save_gpregs_<mode>): Use explicit
+       (reg:P 11) instead of match_operand.
+       (*save_fpregs_<mode>): Likewise.
+       (*restore_gpregs_<mode>): Likewise.
+       (*return_and_restore_gpregs_<mode>): Likewise.
+       (*return_and_restore_fpregs_<mode>): Likewise.
+       * config/rs6000/spe.md (*save_gpregs_spe): Use explicit
+       (reg:P 11) insted of match_operand.
+       (*restore_gpregs_spe): Likewise.
+       (*return_and_restore_gpregs_spe): Likewise.
+
 2008-11-03  Harsha Jagasia  <harsha.jagasia@amd.com>
 
        PR tree-optimization/37684
index 6376305..faeae52 100644 (file)
@@ -15842,8 +15842,7 @@ static bool
 no_global_regs_above (int first, bool gpr)
 {
   int i;
-  int last = gpr ? 32 : 64;
-  for (i = first; i < last; i++)
+  for (i = first; i < gpr ? 32 : 64 ; i++)
     if (global_regs[i])
       return false;
   return true;
@@ -16122,7 +16121,7 @@ rs6000_emit_prologue (void)
   int using_store_multiple;
   int using_static_chain_p = (cfun->static_chain_decl != NULL_TREE
                               && df_regs_ever_live_p (STATIC_CHAIN_REGNUM)
-                              && call_used_regs[STATIC_CHAIN_REGNUM]);
+                              && !call_used_regs[STATIC_CHAIN_REGNUM]);
   HOST_WIDE_INT sp_offset = 0;
 
   if (TARGET_FIX_AND_CONTINUE)
index 46ff6b7..4fa690d 100644 (file)
   [(match_parallel 0 "any_parallel_operand"
                   [(clobber (reg:P 65))
                    (use (match_operand:P 1 "symbol_ref_operand" "s"))
-                    (use (reg:P 11))
-                   (set (match_operand:P 2 "memory_operand" "=m")
-                        (match_operand:P 3 "gpc_reg_operand" "r"))])]
+                    (use (match_operand:P 2 "gpc_reg_operand" "r"))
+                   (set (match_operand:P 3 "memory_operand" "=m")
+                        (match_operand:P 4 "gpc_reg_operand" "r"))])]
   ""
   "bl %z1"
   [(set_attr "type" "branch")
   [(match_parallel 0 "any_parallel_operand"
                   [(clobber (reg:P 65))
                    (use (match_operand:P 1 "symbol_ref_operand" "s"))
-                    (use (reg:P 11))
-                   (set (match_operand:DF 2 "memory_operand" "=m")
-                        (match_operand:DF 3 "gpc_reg_operand" "f"))])]
+                    (use (match_operand:P 2 "gpc_reg_operand" "r"))
+                   (set (match_operand:DF 3 "memory_operand" "=m")
+                        (match_operand:DF 4 "gpc_reg_operand" "f"))])]
   ""
   "bl %z1"
   [(set_attr "type" "branch")
  [(match_parallel 0 "any_parallel_operand"
                   [(clobber (match_operand:P 1 "register_operand" "=l"))
                    (use (match_operand:P 2 "symbol_ref_operand" "s"))
-                   (use (reg:P 11))
-                  (set (match_operand:P 3 "gpc_reg_operand" "=r")
-                       (match_operand:P 4 "memory_operand" "m"))])]
+                   (use (match_operand:P 3 "gpc_reg_operand" "r"))
+                  (set (match_operand:P 4 "gpc_reg_operand" "=r")
+                       (match_operand:P 5 "memory_operand" "m"))])]
  ""
  "bl %z2"
  [(set_attr "type" "branch")
                   [(return)
                   (clobber (match_operand:P 1 "register_operand" "=l"))
                   (use (match_operand:P 2 "symbol_ref_operand" "s"))
-                   (use (reg:P 11))
-                  (set (match_operand:P 3 "gpc_reg_operand" "=r")
-                       (match_operand:P 4 "memory_operand" "m"))])]
+                   (use (match_operand:P 3 "gpc_reg_operand" "r"))
+                  (set (match_operand:P 4 "gpc_reg_operand" "=r")
+                       (match_operand:P 5 "memory_operand" "m"))])]
  ""
  "b %z2"
  [(set_attr "type" "branch")
                   [(return)
                   (clobber (match_operand:P 1 "register_operand" "=l"))
                   (use (match_operand:P 2 "symbol_ref_operand" "s"))
-                   (use (reg:P 11))
-                  (set (match_operand:DF 3 "gpc_reg_operand" "=f")
-                       (match_operand:DF 4 "memory_operand" "m"))])]
+                   (use (match_operand:P 3 "gpc_reg_operand" "r"))
+                  (set (match_operand:DF 4 "gpc_reg_operand" "=f")
+                       (match_operand:DF 5 "memory_operand" "m"))])]
  ""
  "b %z2"
  [(set_attr "type" "branch")
index c87d67e..96be255 100644 (file)
   [(match_parallel 0 "any_parallel_operand"
                   [(clobber (reg:P 65))
                    (use (match_operand:P 1 "symbol_ref_operand" "s"))
-                   (use (reg:P 11))
-                   (set (match_operand:V2SI 2 "memory_operand" "=m")
-                        (match_operand:V2SI 3 "gpc_reg_operand" "r"))])]
+                   (use (match_operand:P 2 "gpc_reg_operand" "r"))
+                   (set (match_operand:V2SI 3 "memory_operand" "=m")
+                        (match_operand:V2SI 4 "gpc_reg_operand" "r"))])]
   "TARGET_SPE_ABI"
   "bl %z1"
   [(set_attr "type" "branch")
  [(match_parallel 0 "any_parallel_operand"
                  [(clobber (reg:P 65))
                   (use (match_operand:P 1 "symbol_ref_operand" "s"))
-                  (use (reg:P 11))
-                  (set (match_operand:V2SI 2 "gpc_reg_operand" "=r")
-                       (match_operand:V2SI 3 "memory_operand" "m"))])]
+                  (use (match_operand:P 2 "gpc_reg_operand" "r"))
+                  (set (match_operand:V2SI 3 "gpc_reg_operand" "=r")
+                       (match_operand:V2SI 4 "memory_operand" "m"))])]
  "TARGET_SPE_ABI"
  "bl %z1"
  [(set_attr "type" "branch")
                  [(return)
                   (clobber (reg:P 65))
                   (use (match_operand:P 1 "symbol_ref_operand" "s"))
-                  (use (reg:P 11))
-                  (set (match_operand:V2SI 2 "gpc_reg_operand" "=r")
-                       (match_operand:V2SI 3 "memory_operand" "m"))])]
+                  (use (match_operand:P 2 "gpc_reg_operand" "r"))
+                  (set (match_operand:V2SI 3 "gpc_reg_operand" "=r")
+                       (match_operand:V2SI 4 "memory_operand" "m"))])]
  "TARGET_SPE_ABI"
  "b %z1"
  [(set_attr "type" "branch")