diff options
author | Michael Meissner <meissner@cygnus.com> | 1997-11-26 22:59:52 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 1997-11-26 22:59:52 +0000 |
commit | a226df468638df96fa2ebf5274f266b2a9cbcec7 (patch) | |
tree | b513b96f8363743d35c3021c4fe343c8e9788d48 /gcc | |
parent | 034e84c4a5d2e59e6a8313d5beccf8d541698c47 (diff) | |
download | gcc-a226df468638df96fa2ebf5274f266b2a9cbcec7.zip gcc-a226df468638df96fa2ebf5274f266b2a9cbcec7.tar.gz gcc-a226df468638df96fa2ebf5274f266b2a9cbcec7.tar.bz2 |
Use @local for local calls under System V
From-SVN: r16765
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 8 |
2 files changed, 7 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f60b906..80525ff 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ Wed Nov 26 15:47:30 1997 Michael Meissner <meissner@cygnus.com> + * rs6000.md (call insns): For local calls, use @local suffix under + System V. Don't use @plt under Solaris. + * rs6000.c (output_function_profiler): Put label address in r0, and store LR in 4(sp) for System V/eabi. diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 26ea2b4..cf88a7a 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -7525,7 +7525,7 @@ else if (INTVAL (operands[2]) & CALL_V4_CLEAR_FP_ARGS) output_asm_insn (\"creqv 6,6,6\", operands); - return \"bl %z0\"; + return (DEFAULT_ABI == ABI_V4 && flag_pic) ? \"bl %z0@local\" : \"bl %z0\"; }" [(set_attr "type" "branch") (set_attr "length" "4,8")]) @@ -7580,7 +7580,7 @@ else if (INTVAL (operands[2]) & CALL_V4_CLEAR_FP_ARGS) output_asm_insn (\"creqv 6,6,6\", operands); - return flag_pic ? \"bl %z0@plt\" : \"bl %z0\"; + return (DEFAULT_ABI == ABI_V4 && flag_pic) ? \"bl %z0@plt\" : \"bl %z0\"; }" [(set_attr "type" "branch") (set_attr "length" "4,8")]) @@ -7600,7 +7600,7 @@ else if (INTVAL (operands[3]) & CALL_V4_CLEAR_FP_ARGS) output_asm_insn (\"creqv 6,6,6\", operands); - return \"bl %z1\"; + return (DEFAULT_ABI == ABI_V4 && flag_pic) ? \"bl %z1@local\" : \"bl %z1\"; }" [(set_attr "type" "branch") (set_attr "length" "4,8")]) @@ -7650,7 +7650,7 @@ else if (INTVAL (operands[3]) & CALL_V4_CLEAR_FP_ARGS) output_asm_insn (\"creqv 6,6,6\", operands); - return flag_pic ? \"bl %z1@plt\" : \"bl %z1\"; + return (DEFAULT_ABI == ABI_V4 && flag_pic) ? \"bl %z1@plt\" : \"bl %z1\"; }" [(set_attr "type" "branch") (set_attr "length" "4,8")]) |