aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@kernel.crashing.org>2016-09-01 17:01:02 +0200
committerSegher Boessenkool <segher@gcc.gnu.org>2016-09-01 17:01:02 +0200
commita345b5b02652cfa82f18a995fa939a6009ffd73c (patch)
treecdbd0f14fabb3df8a4ebed61fa0e2f742c86ece3 /gcc
parent295844f68760cd2c8d38e5cd42ba0f81b55cb65b (diff)
downloadgcc-a345b5b02652cfa82f18a995fa939a6009ffd73c.zip
gcc-a345b5b02652cfa82f18a995fa939a6009ffd73c.tar.gz
gcc-a345b5b02652cfa82f18a995fa939a6009ffd73c.tar.bz2
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. From-SVN: r239940
Diffstat (limited to 'gcc')
-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 53335d9..24a56fa 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 560cf1f..d86d27b 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")])