Commit 893fc0a0 by Segher Boessenkool Committed by Segher Boessenkool

rs6000: Use LR_REGNO instead of constant 65

Many places still use 65 instead of the symbolic constant LR_REGNO.  This
fixes them all (I looked for the string "65" only, in config/rs6000/ only,
I didn't read all code :-) )

I left it in *restore_world because Iain will remove it there soon.


	* config/rs6000/altivec.md (*save_world, *save_vregs_<mode>_r11,
	save_vregs_<mode>_r12, *restore_vregs_<mode>_r11,
	*restore_vregs_<mode>_r12): Use LR_REGNO instead of 65.
	* config/rs6000/darwin.md (load_macho_picbase, load_macho_picbase_si,
	load_macho_picbase_di, *call_indirect_nonlocal_darwin64,
	*call_nonlocal_darwin64, *call_value_indirect_nonlocal_darwin64,
	*call_value_nonlocal_darwin64, reload_macho_picbase,
	reload_macho_picbase_si, reload_macho_picbase_di): Ditto.
	* config/rs6000/rs6000.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Ditto.
	* config/rs6000/rs6000.md (*save_gpregs_<mode>_r11,
	*save_gpregs_<mode>_r12, *save_gpregs_<mode>_r1,
	*save_fpregs_<mode>_r11, *save_fpregs_<mode>_r12,
	*save_fpregs_<mode>_r1): Ditto.
	* config/rs6000/spe.md (*save_gpregs_spe, *restore_gpregs_spe,
	*return_and_restore_gpregs_spe): Ditto.

From-SVN: r239941
parent a345b5b0
2016-09-01 Segher Boessenkool <segher@kernel.crashing.org> 2016-09-01 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/altivec.md (*save_world, *save_vregs_<mode>_r11,
save_vregs_<mode>_r12, *restore_vregs_<mode>_r11,
*restore_vregs_<mode>_r12): Use LR_REGNO instead of 65.
* config/rs6000/darwin.md (load_macho_picbase, load_macho_picbase_si,
load_macho_picbase_di, *call_indirect_nonlocal_darwin64,
*call_nonlocal_darwin64, *call_value_indirect_nonlocal_darwin64,
*call_value_nonlocal_darwin64, reload_macho_picbase,
reload_macho_picbase_si, reload_macho_picbase_di): Ditto.
* config/rs6000/rs6000.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Ditto.
* config/rs6000/rs6000.md (*save_gpregs_<mode>_r11,
*save_gpregs_<mode>_r12, *save_gpregs_<mode>_r1,
*save_fpregs_<mode>_r11, *save_fpregs_<mode>_r12,
*save_fpregs_<mode>_r1): Ditto.
* config/rs6000/spe.md (*save_gpregs_spe, *restore_gpregs_spe,
*return_and_restore_gpregs_spe): Ditto.
2016-09-01 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.md * config/rs6000/rs6000.md
(define_insn "*return_and_restore_fpregs_aix_<mode>_r11"): Delete (define_insn "*return_and_restore_fpregs_aix_<mode>_r11"): Delete
the use of the link register. the use of the link register.
......
...@@ -397,7 +397,7 @@ ...@@ -397,7 +397,7 @@
(define_insn "*save_world" (define_insn "*save_world"
[(match_parallel 0 "save_world_operation" [(match_parallel 0 "save_world_operation"
[(clobber (reg:SI 65)) [(clobber (reg:SI LR_REGNO))
(use (match_operand:SI 1 "call_operand" "s"))])] (use (match_operand:SI 1 "call_operand" "s"))])]
"TARGET_MACHO && (DEFAULT_ABI == ABI_DARWIN) && TARGET_32BIT" "TARGET_MACHO && (DEFAULT_ABI == ABI_DARWIN) && TARGET_32BIT"
"bl %z1" "bl %z1"
...@@ -407,7 +407,7 @@ ...@@ -407,7 +407,7 @@
(define_insn "*restore_world" (define_insn "*restore_world"
[(match_parallel 0 "restore_world_operation" [(match_parallel 0 "restore_world_operation"
[(return) [(return)
(use (reg:SI 65)) (use (reg:SI LR_REGNO))
(use (match_operand:SI 1 "call_operand" "s")) (use (match_operand:SI 1 "call_operand" "s"))
(clobber (match_operand:SI 2 "gpc_reg_operand" "=r"))])] (clobber (match_operand:SI 2 "gpc_reg_operand" "=r"))])]
"TARGET_MACHO && (DEFAULT_ABI == ABI_DARWIN) && TARGET_32BIT" "TARGET_MACHO && (DEFAULT_ABI == ABI_DARWIN) && TARGET_32BIT"
...@@ -421,7 +421,7 @@ ...@@ -421,7 +421,7 @@
;; to describe the operation to dwarf2out_frame_debug_expr. ;; to describe the operation to dwarf2out_frame_debug_expr.
(define_insn "*save_vregs_<mode>_r11" (define_insn "*save_vregs_<mode>_r11"
[(match_parallel 0 "any_parallel_operand" [(match_parallel 0 "any_parallel_operand"
[(clobber (reg:P 65)) [(clobber (reg:P LR_REGNO))
(use (match_operand:P 1 "symbol_ref_operand" "s")) (use (match_operand:P 1 "symbol_ref_operand" "s"))
(clobber (reg:P 11)) (clobber (reg:P 11))
(use (reg:P 0)) (use (reg:P 0))
...@@ -435,7 +435,7 @@ ...@@ -435,7 +435,7 @@
(define_insn "*save_vregs_<mode>_r12" (define_insn "*save_vregs_<mode>_r12"
[(match_parallel 0 "any_parallel_operand" [(match_parallel 0 "any_parallel_operand"
[(clobber (reg:P 65)) [(clobber (reg:P LR_REGNO))
(use (match_operand:P 1 "symbol_ref_operand" "s")) (use (match_operand:P 1 "symbol_ref_operand" "s"))
(clobber (reg:P 12)) (clobber (reg:P 12))
(use (reg:P 0)) (use (reg:P 0))
...@@ -449,7 +449,7 @@ ...@@ -449,7 +449,7 @@
(define_insn "*restore_vregs_<mode>_r11" (define_insn "*restore_vregs_<mode>_r11"
[(match_parallel 0 "any_parallel_operand" [(match_parallel 0 "any_parallel_operand"
[(clobber (reg:P 65)) [(clobber (reg:P LR_REGNO))
(use (match_operand:P 1 "symbol_ref_operand" "s")) (use (match_operand:P 1 "symbol_ref_operand" "s"))
(clobber (reg:P 11)) (clobber (reg:P 11))
(use (reg:P 0)) (use (reg:P 0))
...@@ -463,7 +463,7 @@ ...@@ -463,7 +463,7 @@
(define_insn "*restore_vregs_<mode>_r12" (define_insn "*restore_vregs_<mode>_r12"
[(match_parallel 0 "any_parallel_operand" [(match_parallel 0 "any_parallel_operand"
[(clobber (reg:P 65)) [(clobber (reg:P LR_REGNO))
(use (match_operand:P 1 "symbol_ref_operand" "s")) (use (match_operand:P 1 "symbol_ref_operand" "s"))
(clobber (reg:P 12)) (clobber (reg:P 12))
(use (reg:P 0)) (use (reg:P 0))
......
...@@ -238,7 +238,7 @@ You should have received a copy of the GNU General Public License ...@@ -238,7 +238,7 @@ You should have received a copy of the GNU General Public License
"") "")
(define_expand "load_macho_picbase" (define_expand "load_macho_picbase"
[(set (reg:SI 65) [(set (reg:SI LR_REGNO)
(unspec [(match_operand 0 "" "")] (unspec [(match_operand 0 "" "")]
UNSPEC_LD_MPIC))] UNSPEC_LD_MPIC))]
"(DEFAULT_ABI == ABI_DARWIN) && flag_pic" "(DEFAULT_ABI == ABI_DARWIN) && flag_pic"
...@@ -252,7 +252,7 @@ You should have received a copy of the GNU General Public License ...@@ -252,7 +252,7 @@ You should have received a copy of the GNU General Public License
}) })
(define_insn "load_macho_picbase_si" (define_insn "load_macho_picbase_si"
[(set (reg:SI 65) [(set (reg:SI LR_REGNO)
(unspec:SI [(match_operand:SI 0 "immediate_operand" "s") (unspec:SI [(match_operand:SI 0 "immediate_operand" "s")
(pc)] UNSPEC_LD_MPIC))] (pc)] UNSPEC_LD_MPIC))]
"(DEFAULT_ABI == ABI_DARWIN) && flag_pic" "(DEFAULT_ABI == ABI_DARWIN) && flag_pic"
...@@ -268,7 +268,7 @@ You should have received a copy of the GNU General Public License ...@@ -268,7 +268,7 @@ You should have received a copy of the GNU General Public License
(set_attr "length" "4")]) (set_attr "length" "4")])
(define_insn "load_macho_picbase_di" (define_insn "load_macho_picbase_di"
[(set (reg:DI 65) [(set (reg:DI LR_REGNO)
(unspec:DI [(match_operand:DI 0 "immediate_operand" "s") (unspec:DI [(match_operand:DI 0 "immediate_operand" "s")
(pc)] UNSPEC_LD_MPIC))] (pc)] UNSPEC_LD_MPIC))]
"(DEFAULT_ABI == ABI_DARWIN) && flag_pic && TARGET_64BIT" "(DEFAULT_ABI == ABI_DARWIN) && flag_pic && TARGET_64BIT"
...@@ -325,7 +325,7 @@ You should have received a copy of the GNU General Public License ...@@ -325,7 +325,7 @@ You should have received a copy of the GNU General Public License
[(call (mem:SI (match_operand:DI 0 "register_operand" "c,*l,c,*l")) [(call (mem:SI (match_operand:DI 0 "register_operand" "c,*l,c,*l"))
(match_operand 1 "" "g,g,g,g")) (match_operand 1 "" "g,g,g,g"))
(use (match_operand:SI 2 "immediate_operand" "O,O,n,n")) (use (match_operand:SI 2 "immediate_operand" "O,O,n,n"))
(clobber (reg:SI 65))] (clobber (reg:SI LR_REGNO))]
"DEFAULT_ABI == ABI_DARWIN && TARGET_64BIT" "DEFAULT_ABI == ABI_DARWIN && TARGET_64BIT"
{ {
return "b%T0l"; return "b%T0l";
...@@ -337,7 +337,7 @@ You should have received a copy of the GNU General Public License ...@@ -337,7 +337,7 @@ You should have received a copy of the GNU General Public License
[(call (mem:SI (match_operand:DI 0 "symbol_ref_operand" "s,s")) [(call (mem:SI (match_operand:DI 0 "symbol_ref_operand" "s,s"))
(match_operand 1 "" "g,g")) (match_operand 1 "" "g,g"))
(use (match_operand:SI 2 "immediate_operand" "O,n")) (use (match_operand:SI 2 "immediate_operand" "O,n"))
(clobber (reg:SI 65))] (clobber (reg:SI LR_REGNO))]
"(DEFAULT_ABI == ABI_DARWIN) "(DEFAULT_ABI == ABI_DARWIN)
&& (INTVAL (operands[2]) & CALL_LONG) == 0" && (INTVAL (operands[2]) & CALL_LONG) == 0"
{ {
...@@ -355,7 +355,7 @@ You should have received a copy of the GNU General Public License ...@@ -355,7 +355,7 @@ You should have received a copy of the GNU General Public License
(call (mem:SI (match_operand:DI 1 "register_operand" "c,*l,c,*l")) (call (mem:SI (match_operand:DI 1 "register_operand" "c,*l,c,*l"))
(match_operand 2 "" "g,g,g,g"))) (match_operand 2 "" "g,g,g,g")))
(use (match_operand:SI 3 "immediate_operand" "O,O,n,n")) (use (match_operand:SI 3 "immediate_operand" "O,O,n,n"))
(clobber (reg:SI 65))] (clobber (reg:SI LR_REGNO))]
"DEFAULT_ABI == ABI_DARWIN" "DEFAULT_ABI == ABI_DARWIN"
{ {
return "b%T1l"; return "b%T1l";
...@@ -368,7 +368,7 @@ You should have received a copy of the GNU General Public License ...@@ -368,7 +368,7 @@ You should have received a copy of the GNU General Public License
(call (mem:SI (match_operand:DI 1 "symbol_ref_operand" "s,s")) (call (mem:SI (match_operand:DI 1 "symbol_ref_operand" "s,s"))
(match_operand 2 "" "g,g"))) (match_operand 2 "" "g,g")))
(use (match_operand:SI 3 "immediate_operand" "O,n")) (use (match_operand:SI 3 "immediate_operand" "O,n"))
(clobber (reg:SI 65))] (clobber (reg:SI LR_REGNO))]
"(DEFAULT_ABI == ABI_DARWIN) "(DEFAULT_ABI == ABI_DARWIN)
&& (INTVAL (operands[3]) & CALL_LONG) == 0" && (INTVAL (operands[3]) & CALL_LONG) == 0"
{ {
...@@ -382,7 +382,7 @@ You should have received a copy of the GNU General Public License ...@@ -382,7 +382,7 @@ You should have received a copy of the GNU General Public License
(set_attr "length" "4,8")]) (set_attr "length" "4,8")])
(define_expand "reload_macho_picbase" (define_expand "reload_macho_picbase"
[(set (reg:SI 65) [(set (reg:SI LR_REGNO)
(unspec [(match_operand 0 "" "")] (unspec [(match_operand 0 "" "")]
UNSPEC_RELD_MPIC))] UNSPEC_RELD_MPIC))]
"(DEFAULT_ABI == ABI_DARWIN) && flag_pic" "(DEFAULT_ABI == ABI_DARWIN) && flag_pic"
...@@ -396,7 +396,7 @@ You should have received a copy of the GNU General Public License ...@@ -396,7 +396,7 @@ You should have received a copy of the GNU General Public License
}) })
(define_insn "reload_macho_picbase_si" (define_insn "reload_macho_picbase_si"
[(set (reg:SI 65) [(set (reg:SI LR_REGNO)
(unspec:SI [(match_operand:SI 0 "immediate_operand" "s") (unspec:SI [(match_operand:SI 0 "immediate_operand" "s")
(pc)] UNSPEC_RELD_MPIC))] (pc)] UNSPEC_RELD_MPIC))]
"(DEFAULT_ABI == ABI_DARWIN) && flag_pic" "(DEFAULT_ABI == ABI_DARWIN) && flag_pic"
...@@ -419,7 +419,7 @@ You should have received a copy of the GNU General Public License ...@@ -419,7 +419,7 @@ You should have received a copy of the GNU General Public License
(set_attr "length" "4")]) (set_attr "length" "4")])
(define_insn "reload_macho_picbase_di" (define_insn "reload_macho_picbase_di"
[(set (reg:DI 65) [(set (reg:DI LR_REGNO)
(unspec:DI [(match_operand:DI 0 "immediate_operand" "s") (unspec:DI [(match_operand:DI 0 "immediate_operand" "s")
(pc)] UNSPEC_RELD_MPIC))] (pc)] UNSPEC_RELD_MPIC))]
"(DEFAULT_ABI == ABI_DARWIN) && flag_pic && TARGET_64BIT" "(DEFAULT_ABI == ABI_DARWIN) && flag_pic && TARGET_64BIT"
......
...@@ -1958,7 +1958,7 @@ typedef struct rs6000_args ...@@ -1958,7 +1958,7 @@ typedef struct rs6000_args
#define TRAMPOLINE_SIZE rs6000_trampoline_size () #define TRAMPOLINE_SIZE rs6000_trampoline_size ()
/* Definitions for __builtin_return_address and __builtin_frame_address. /* Definitions for __builtin_return_address and __builtin_frame_address.
__builtin_return_address (0) should give link register (65), enable __builtin_return_address (0) should give link register (LR_REGNO), enable
this. */ this. */
/* This should be uncommented, so that the link register is used, but /* This should be uncommented, so that the link register is used, but
currently this would result in unmatched insns and spilling fixed currently this would result in unmatched insns and spilling fixed
......
...@@ -12455,7 +12455,7 @@ ...@@ -12455,7 +12455,7 @@
(define_insn "*save_gpregs_<mode>_r11" (define_insn "*save_gpregs_<mode>_r11"
[(match_parallel 0 "any_parallel_operand" [(match_parallel 0 "any_parallel_operand"
[(clobber (reg:P 65)) [(clobber (reg:P LR_REGNO))
(use (match_operand:P 1 "symbol_ref_operand" "s")) (use (match_operand:P 1 "symbol_ref_operand" "s"))
(use (reg:P 11)) (use (reg:P 11))
(set (match_operand:P 2 "memory_operand" "=m") (set (match_operand:P 2 "memory_operand" "=m")
...@@ -12467,7 +12467,7 @@ ...@@ -12467,7 +12467,7 @@
(define_insn "*save_gpregs_<mode>_r12" (define_insn "*save_gpregs_<mode>_r12"
[(match_parallel 0 "any_parallel_operand" [(match_parallel 0 "any_parallel_operand"
[(clobber (reg:P 65)) [(clobber (reg:P LR_REGNO))
(use (match_operand:P 1 "symbol_ref_operand" "s")) (use (match_operand:P 1 "symbol_ref_operand" "s"))
(use (reg:P 12)) (use (reg:P 12))
(set (match_operand:P 2 "memory_operand" "=m") (set (match_operand:P 2 "memory_operand" "=m")
...@@ -12479,7 +12479,7 @@ ...@@ -12479,7 +12479,7 @@
(define_insn "*save_gpregs_<mode>_r1" (define_insn "*save_gpregs_<mode>_r1"
[(match_parallel 0 "any_parallel_operand" [(match_parallel 0 "any_parallel_operand"
[(clobber (reg:P 65)) [(clobber (reg:P LR_REGNO))
(use (match_operand:P 1 "symbol_ref_operand" "s")) (use (match_operand:P 1 "symbol_ref_operand" "s"))
(use (reg:P 1)) (use (reg:P 1))
(set (match_operand:P 2 "memory_operand" "=m") (set (match_operand:P 2 "memory_operand" "=m")
...@@ -12491,7 +12491,7 @@ ...@@ -12491,7 +12491,7 @@
(define_insn "*save_fpregs_<mode>_r11" (define_insn "*save_fpregs_<mode>_r11"
[(match_parallel 0 "any_parallel_operand" [(match_parallel 0 "any_parallel_operand"
[(clobber (reg:P 65)) [(clobber (reg:P LR_REGNO))
(use (match_operand:P 1 "symbol_ref_operand" "s")) (use (match_operand:P 1 "symbol_ref_operand" "s"))
(use (reg:P 11)) (use (reg:P 11))
(set (match_operand:DF 2 "memory_operand" "=m") (set (match_operand:DF 2 "memory_operand" "=m")
...@@ -12503,7 +12503,7 @@ ...@@ -12503,7 +12503,7 @@
(define_insn "*save_fpregs_<mode>_r12" (define_insn "*save_fpregs_<mode>_r12"
[(match_parallel 0 "any_parallel_operand" [(match_parallel 0 "any_parallel_operand"
[(clobber (reg:P 65)) [(clobber (reg:P LR_REGNO))
(use (match_operand:P 1 "symbol_ref_operand" "s")) (use (match_operand:P 1 "symbol_ref_operand" "s"))
(use (reg:P 12)) (use (reg:P 12))
(set (match_operand:DF 2 "memory_operand" "=m") (set (match_operand:DF 2 "memory_operand" "=m")
...@@ -12515,7 +12515,7 @@ ...@@ -12515,7 +12515,7 @@
(define_insn "*save_fpregs_<mode>_r1" (define_insn "*save_fpregs_<mode>_r1"
[(match_parallel 0 "any_parallel_operand" [(match_parallel 0 "any_parallel_operand"
[(clobber (reg:P 65)) [(clobber (reg:P LR_REGNO))
(use (match_operand:P 1 "symbol_ref_operand" "s")) (use (match_operand:P 1 "symbol_ref_operand" "s"))
(use (reg:P 1)) (use (reg:P 1))
(set (match_operand:DF 2 "memory_operand" "=m") (set (match_operand:DF 2 "memory_operand" "=m")
......
...@@ -3464,7 +3464,7 @@ ...@@ -3464,7 +3464,7 @@
;; Out-of-line prologues and epilogues. ;; Out-of-line prologues and epilogues.
(define_insn "*save_gpregs_spe" (define_insn "*save_gpregs_spe"
[(match_parallel 0 "any_parallel_operand" [(match_parallel 0 "any_parallel_operand"
[(clobber (reg:P 65)) [(clobber (reg:P LR_REGNO))
(use (match_operand:P 1 "symbol_ref_operand" "s")) (use (match_operand:P 1 "symbol_ref_operand" "s"))
(use (reg:P 11)) (use (reg:P 11))
(set (match_operand:V2SI 2 "memory_operand" "=m") (set (match_operand:V2SI 2 "memory_operand" "=m")
...@@ -3476,7 +3476,7 @@ ...@@ -3476,7 +3476,7 @@
(define_insn "*restore_gpregs_spe" (define_insn "*restore_gpregs_spe"
[(match_parallel 0 "any_parallel_operand" [(match_parallel 0 "any_parallel_operand"
[(clobber (reg:P 65)) [(clobber (reg:P LR_REGNO))
(use (match_operand:P 1 "symbol_ref_operand" "s")) (use (match_operand:P 1 "symbol_ref_operand" "s"))
(use (reg:P 11)) (use (reg:P 11))
(set (match_operand:V2SI 2 "gpc_reg_operand" "=r") (set (match_operand:V2SI 2 "gpc_reg_operand" "=r")
...@@ -3489,7 +3489,7 @@ ...@@ -3489,7 +3489,7 @@
(define_insn "*return_and_restore_gpregs_spe" (define_insn "*return_and_restore_gpregs_spe"
[(match_parallel 0 "any_parallel_operand" [(match_parallel 0 "any_parallel_operand"
[(return) [(return)
(clobber (reg:P 65)) (clobber (reg:P LR_REGNO))
(use (match_operand:P 1 "symbol_ref_operand" "s")) (use (match_operand:P 1 "symbol_ref_operand" "s"))
(use (reg:P 11)) (use (reg:P 11))
(set (match_operand:V2SI 2 "gpc_reg_operand" "=r") (set (match_operand:V2SI 2 "gpc_reg_operand" "=r")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment