aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@kernel.crashing.org>2016-09-01 15:01:02 +0000
committerSegher Boessenkool <segher@kernel.crashing.org>2016-09-01 15:01:02 +0000
commitb2567f9da96a303f4b57e7d534b2b3facbd8c6e6 (patch)
treecdbd0f14fabb3df8a4ebed61fa0e2f742c86ece3
parent9f00e76c328a677d3e2cd18ac31f99ae00030401 (diff)
rs6000: Fix for AIX, for r239866
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@239940 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/rs6000/rs6000.md18
2 files changed, 15 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 53335d916fe..24a56fa716a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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>
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 560cf1fd740..d86d27b9102 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -12735,26 +12735,24 @@
(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")])