]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Revert:
authorNathan Froyd <froydnj@codesourcery.com>
Mon, 3 Nov 2008 18:19:13 +0000 (18:19 +0000)
committerNathan Froyd <froydnj@gcc.gnu.org>
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.

From-SVN: r141554

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

index c3b744628b24009130c89bc088f8bd2e382a4960..5b01a8c05bda34be889af439906baef7f36df2ad 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 6376305ef6a76ccf027fa0cccf2583736178a9b3..faeae52e7ffd1e0a6fcebd6b3f59c679012bf289 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 46ff6b7a4b3da57a0b08e8b4340e68d3eed91e7d..4fa690d809770fce45f89fb8d0c4e2b50f179ee4 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 c87d67ea47fdfa08171e1ee70e2a5adb6d3f13e8..96be255895b128867d35c2ddf4269cc665c3459b 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")