diff options
author | Segher Boessenkool <segher@kernel.crashing.org> | 2016-09-01 17:01:02 +0200 |
---|---|---|
committer | Segher Boessenkool <segher@gcc.gnu.org> | 2016-09-01 17:01:02 +0200 |
commit | a345b5b02652cfa82f18a995fa939a6009ffd73c (patch) | |
tree | cdbd0f14fabb3df8a4ebed61fa0e2f742c86ece3 /gcc | |
parent | 295844f68760cd2c8d38e5cd42ba0f81b55cb65b (diff) | |
download | gcc-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/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 18 |
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")]) |