summaryrefslogtreecommitdiff
path: root/gcc/config/rs6000/aix.h
diff options
context:
space:
mode:
authorGeoff Keating <geoffk@cygnus.com>2000-09-11 06:00:52 +0000
committerGeoffrey Keating <geoffk@gcc.gnu.org>2000-09-11 06:00:52 +0000
commit9cb8fcaf501a9d87a7271f379f58c0579053101b (patch)
treea48921c91a591233c26e1604a1db0a35c708f619 /gcc/config/rs6000/aix.h
parent8f820299e3a349d39429bfe64bcbf22593369bf4 (diff)
downloadgcc-9cb8fcaf501a9d87a7271f379f58c0579053101b.tar.gz
aix.h (RS6000_ITRUNC): Moved from rs6000.h.
* config/rs6000/aix.h (RS6000_ITRUNC): Moved from rs6000.h. (RS6000_UITRUNC): Likewise. (INIT_TARGET_OPTABS): New macro. * config/rs6000/rs6000.c (rs6000_trunc_used): Delete. (trunc_defined): Delete. (output_prolog): Don't output .extern definitions for fp->int conversion routines, ASM_OUTPUT_EXTERNAL_LIBCALL will do it. * config/rs6000/rs6000.h (rs6000_trunc_used): Delete. (trunc_defined): Delete. (RS6000_ITRUNC): Moved to aix.h. (RS6000_UITRUNC): Likewise. * config/rs6000/rs6000.md (fix_truncdfsi2): Fail if it would only emit a libcall. (fixuns_truncdfsi2): Delete. (trunc_call): Delete. (trunc_call_rtl): Delete. From-SVN: r36310
Diffstat (limited to 'gcc/config/rs6000/aix.h')
-rw-r--r--gcc/config/rs6000/aix.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/config/rs6000/aix.h b/gcc/config/rs6000/aix.h
index 3487efff195..9c4e3418336 100644
--- a/gcc/config/rs6000/aix.h
+++ b/gcc/config/rs6000/aix.h
@@ -275,6 +275,22 @@ toc_section () \
/* Function name to call to do profiling. */
#define RS6000_MCOUNT ".__mcount"
+/* Function names to call to do floating point truncation. */
+
+#define RS6000_ITRUNC "__itrunc"
+#define RS6000_UITRUNC "__uitrunc"
+
+/* Optabs entries for the int->float routines, using the standard
+ AIX names. */
+#define INIT_TARGET_OPTABS \
+ do { \
+ if (! TARGET_POWER2 && ! TARGET_POWERPC && TARGET_HARD_FLOAT) \
+ { \
+ fixdfsi_libfunc = init_one_libfunc (RS6000_ITRUNC); \
+ fixunsdfsi_libfunc = init_one_libfunc (RS6000_UITRUNC); \
+ } \
+ } while (0)
+
/* AIX always has a TOC. */
#define TARGET_NO_TOC 0
#define TARGET_TOC 1