rs6000: Fix for AIX, for r239866
authorSegher Boessenkool <segher@kernel.crashing.org>
Thu, 1 Sep 2016 15:01:02 +0000 (17:01 +0200)
committerSegher Boessenkool <segher@gcc.gnu.org>
Thu, 1 Sep 2016 15:01:02 +0000 (17:01 +0200)
This should fix r239866 for AIX.  I missed two patterns that refer to LR
as "register_operand" "l" instead of as reg:P LR_REGNO.

* config/rs6000/rs6000.md
(define_insn "*return_and_restore_fpregs_aix_<mode>_r11"): Delete
the use of the link register.
(define_insn "*return_and_restore_fpregs_aix_<mode>_r1"): Ditto.

From-SVN: r239940

gcc/ChangeLog
gcc/config/rs6000/rs6000.md

index 53335d916fe12aecca3213f92e196aa1f0ddb909..24a56fa716aa894254bfbd0e25a0209b668d8b8a 100644 (file)
@@ -1,3 +1,10 @@
+2016-09-01  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/rs6000.md
+       (define_insn "*return_and_restore_fpregs_aix_<mode>_r11"): Delete
+       the use of the link register.
+       (define_insn "*return_and_restore_fpregs_aix_<mode>_r1"): Ditto.
+
 2016-09-01  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
            Michael Meissner <meissner@linux.vnet.ibm.com>
 
index 560cf1fd7404956221111f220ddc95abe7db99a9..d86d27b91021bd0f0f34bb12d2d7c58ae08091e2 100644 (file)
 (define_insn "*return_and_restore_fpregs_aix_<mode>_r11"
  [(match_parallel 0 "any_parallel_operand"
                  [(return)
-                  (use (match_operand:P 1 "register_operand" "l"))
-                  (use (match_operand:P 2 "symbol_ref_operand" "s"))
+                  (use (match_operand:P 1 "symbol_ref_operand" "s"))
                   (use (reg:P 11))
-                  (set (match_operand:DF 3 "gpc_reg_operand" "=d")
-                       (match_operand:DF 4 "memory_operand" "m"))])]
+                  (set (match_operand:DF 2 "gpc_reg_operand" "=d")
+                       (match_operand:DF 3 "memory_operand" "m"))])]
  ""
- "b %2"
+ "b %1"
  [(set_attr "type" "branch")
   (set_attr "length" "4")])
 
 (define_insn "*return_and_restore_fpregs_aix_<mode>_r1"
  [(match_parallel 0 "any_parallel_operand"
                  [(return)
-                  (use (match_operand:P 1 "register_operand" "l"))
-                  (use (match_operand:P 2 "symbol_ref_operand" "s"))
+                  (use (match_operand:P 1 "symbol_ref_operand" "s"))
                   (use (reg:P 1))
-                  (set (match_operand:DF 3 "gpc_reg_operand" "=d")
-                       (match_operand:DF 4 "memory_operand" "m"))])]
+                  (set (match_operand:DF 2 "gpc_reg_operand" "=d")
+                       (match_operand:DF 3 "memory_operand" "m"))])]
  ""
- "b %2"
+ "b %1"
  [(set_attr "type" "branch")
   (set_attr "length" "4")])