diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1994-03-18 17:53:04 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1994-03-18 17:53:04 -0500 |
commit | c764f757d53ebb592795f8c59a95e252c51598bc (patch) | |
tree | b38cbf9543b1d4b31ff71b9456a2e09beb108712 /gcc | |
parent | 8ffd9c51e4d97ff8a7fb9a282a7cb535c51d82f1 (diff) | |
download | gcc-c764f757d53ebb592795f8c59a95e252c51598bc.zip gcc-c764f757d53ebb592795f8c59a95e252c51598bc.tar.gz gcc-c764f757d53ebb592795f8c59a95e252c51598bc.tar.bz2 |
(common_mode_defined): New variable.
(output_prolog): Define external common-mode calls.
From-SVN: r6817
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index ecbf963..0cadc31 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -55,6 +55,8 @@ int rs6000_trunc_used; static int trunc_defined; +/* Set to non-zero once AIX common-mode calls have been defined. */ +static int common_mode_defined; /* Save information from a "cmpxx" operation until the branch or scc is emitted. */ @@ -1422,6 +1424,18 @@ output_prolog (file, size) RS6000_ITRUNC, RS6000_UITRUNC); trunc_defined = 1; } + /* Write .extern for AIX common mode routines, if needed. */ + if (! TARGET_POWER && ! TARGET_POWERPC && ! common_mode_defined) + { + fputs ("\t.extern __mulh\n" + "\t.extern __mull\n" + "\t.extern __divss\n" + "\t.extern __divus\n" + "\t.extern __quoss\n" + "\t.extern __quous\n", + file); + common_mode_defined = 1; + } /* If we have to call a function to save fpr's, or if we are doing profiling, then we will be using LR. */ |