aboutsummaryrefslogtreecommitdiff
path: root/gcc/target-def.h
diff options
context:
space:
mode:
authorAndreas Krebbel <krebbel1@de.ibm.com>2007-07-06 10:47:31 +0000
committerAndreas Krebbel <krebbel@gcc.gnu.org>2007-07-06 10:47:31 +0000
commitc7ff6e7a7a943f9eed6a66dd41c8e35e9df2bf6c (patch)
tree5d263d30ab0db65a0e38c1d8aa4ab05795f921c6 /gcc/target-def.h
parent713df810031e8183d0ec88a490a8677ab0932e2c (diff)
downloadgcc-c7ff6e7a7a943f9eed6a66dd41c8e35e9df2bf6c.zip
gcc-c7ff6e7a7a943f9eed6a66dd41c8e35e9df2bf6c.tar.gz
gcc-c7ff6e7a7a943f9eed6a66dd41c8e35e9df2bf6c.tar.bz2
libgcc2.h (word_type): Type definition removed.
2007-07-06 Andreas Krebbel <krebbel1@de.ibm.com> * 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
Diffstat (limited to 'gcc/target-def.h')
-rw-r--r--gcc/target-def.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/target-def.h b/gcc/target-def.h
index e5eae40..31cb8f8 100644
--- a/gcc/target-def.h
+++ b/gcc/target-def.h
@@ -374,6 +374,10 @@ Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
/* In except.c */
#define TARGET_EH_RETURN_FILTER_MODE default_eh_return_filter_mode
+/* In libgcc2.c */
+#define TARGET_LIBGCC_CMP_RETURN_MODE default_libgcc_cmp_return_mode
+#define TARGET_LIBGCC_SHIFT_COUNT_MODE default_libgcc_shift_count_mode
+
/* In tree.c. */
#define TARGET_MERGE_DECL_ATTRIBUTES merge_decl_attributes
#define TARGET_MERGE_TYPE_ATTRIBUTES merge_type_attributes
@@ -669,6 +673,8 @@ Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
TARGET_HANDLE_OPTION, \
TARGET_HELP, \
TARGET_EH_RETURN_FILTER_MODE, \
+ TARGET_LIBGCC_CMP_RETURN_MODE, \
+ TARGET_LIBGCC_SHIFT_COUNT_MODE, \
TARGET_MERGE_DECL_ATTRIBUTES, \
TARGET_MERGE_TYPE_ATTRIBUTES, \
TARGET_ATTRIBUTE_TABLE, \