rs6000.md (indirect_jump): Prefer CTR over LR.

* rs6000.md (indirect_jump): Prefer CTR over LR.
        * xcoff.h (ASM_DECLARE_FUNCTION_NAME): Handle weak function.

From-SVN: r48315
This commit is contained in:
David Edelsohn 2001-12-26 18:02:17 +00:00 committed by David Edelsohn
parent 682bb08093
commit b92b324de7
3 changed files with 25 additions and 7 deletions

View File

@ -1,3 +1,8 @@
2001-12-26 David Edelsohn <edelsohn@gnu.org>
* rs6000.md (indirect_jump): Prefer CTR over LR.
* xcoff.h (ASM_DECLARE_FUNCTION_NAME): Handle weak function.
Tue Dec 25 12:04:47 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* dwarf2out.c: Reformatting and minor code rearrangement.

View File

@ -13030,15 +13030,19 @@
}")
(define_insn "indirect_jumpsi"
[(set (pc) (match_operand:SI 0 "register_operand" "cl"))]
[(set (pc) (match_operand:SI 0 "register_operand" "c,*l"))]
"TARGET_32BIT"
"b%T0"
"@
bctr
{br|blr}"
[(set_attr "type" "jmpreg")])
(define_insn "indirect_jumpdi"
[(set (pc) (match_operand:DI 0 "register_operand" "cl"))]
[(set (pc) (match_operand:DI 0 "register_operand" "c,*l"))]
"TARGET_64BIT"
"b%T0"
"@
bctr
blr"
[(set_attr "type" "jmpreg")])
;; Table jump for switch statements:

View File

@ -345,9 +345,18 @@ toc_section () \
SYMBOL_REF_FLAG (sym_ref) = 1; \
if (TREE_PUBLIC (DECL)) \
{ \
fputs ("\t.globl .", FILE); \
RS6000_OUTPUT_BASENAME (FILE, NAME); \
putc ('\n', FILE); \
if (RS6000_WEAK && DECL_WEAK (decl)) \
{ \
fputs ("\t.weak .", FILE); \
RS6000_OUTPUT_BASENAME (FILE, NAME); \
putc ('\n', FILE); \
} \
else \
{ \
fputs ("\t.globl .", FILE); \
RS6000_OUTPUT_BASENAME (FILE, NAME); \
putc ('\n', FILE); \
} \
} \
else \
{ \