From c7ff6e7a7a943f9eed6a66dd41c8e35e9df2bf6c Mon Sep 17 00:00:00 2001 From: Andreas Krebbel Date: Fri, 6 Jul 2007 10:47:31 +0000 Subject: libgcc2.h (word_type): Type definition removed. 2007-07-06 Andreas Krebbel * libgcc2.h (word_type): Type definition removed. (cmp_return_type, shift_count_type): Type definitions added. (__lshrdi3, __ashldi3, __ashrdi3): word_type of second parameter replaced with shift_count_type. (__cmpdi2, __ucmpdi2): word_type of return type replaced with cmp_return_type. * libgcc2.c (__udivmoddi4, __moddi3): Type of local variable c changed from word_type to Wtype. (__lshrdi3, __ashldi3, __ashrdi3): word_type of second parameter replaced with shift_count_type. (__cmpdi2, __ucmpdi2): word_type of return type replaced with cmp_return_type. * c-common.c (handle_mode_attribute): Handling for libgcc_cmp_return and libgcc_shift_count attribute added. * target-def.h (TARGET_LIBGCC_CMP_RETURN_MODE, TARGET_LIBGCC_SHIFT_COUNT_MODE): New target hooks defined. (TARGET_INITIALIZER): New target hooks added. * targhooks.c (default_libgcc_cmp_return_mode, default_libgcc_shift_count_mode): Default implementations for the new target hooks added. * targhooks.h (default_libgcc_cmp_return_mode, default_libgcc_shift_count_mode): Function prototypes added. * target.h (struct gcc_target): Fields for the new target hooks added. * optabs.c (expand_binop): Use shift_count_mode when expanding shift as library call. (prepare_cmp_insn): Use cmp_return_mode when expanding comparison as library call. * doc/tm.texi (TARGET_LIBGCC_CMP_RETURN_MODE, TARGET_LIBGCC_SHIFT_COUNT_MODE): Documentation added. * config/s390/s390.c (s390_libgcc_cmp_return_mode, s390_libgcc_shift_count_mode): Functions added. (TARGET_LIBGCC_CMP_RETURN_MODE, TARGET_LIBGCC_SHIFT_COUNT_MODE): Target hooks defined. From-SVN: r126410 --- gcc/doc/tm.texi | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'gcc/doc') diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index ceeec11..3a66303 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -1334,6 +1334,20 @@ You would most commonly define this macro if the @code{allocate_stack} pattern needs to support both a 32- and a 64-bit mode. @end defmac +@deftypefn {Target Hook} {enum machine_mode} TARGET_LIBGCC_CMP_RETURN_MODE () +This target hook should return the mode to be used for the return value +of compare instructions expanded to libgcc calls. If not defined +@code{word_mode} is returned which is the right choice for a majority of +targets. +@end deftypefn + +@deftypefn {Target Hook} {enum machine_mode} TARGET_LIBGCC_SHIFT_COUNT_MODE () +This target hook should return the mode to be used for the shift count operand +of shift instructions expanded to libgcc calls. If not defined +@code{word_mode} is returned which is the right choice for a majority of +targets. +@end deftypefn + @defmac TARGET_FLOAT_FORMAT A code distinguishing the floating point format of the target machine. There are four defined values: -- cgit v1.1