diff options
author | krebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-07-06 10:47:31 +0000 |
---|---|---|
committer | krebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-07-06 10:47:31 +0000 |
commit | 0ef89dfdc208f14d10e19a0d9e3aad04f879bc0a (patch) | |
tree | 5d263d30ab0db65a0e38c1d8aa4ab05795f921c6 /gcc/libgcc2.c | |
parent | f999f5d0de4400c2626a9ef3c321ea071edeee76 (diff) | |
download | gcc-0ef89dfdc208f14d10e19a0d9e3aad04f879bc0a.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126410 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/libgcc2.c')
-rw-r--r-- | gcc/libgcc2.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/gcc/libgcc2.c b/gcc/libgcc2.c index dd26a6e5ca0..5351a3b1cfa 100644 --- a/gcc/libgcc2.c +++ b/gcc/libgcc2.c @@ -406,16 +406,16 @@ __mulvDI3 (DWtype u, DWtype v) /* Unless shift functions are defined with full ANSI prototypes, - parameter b will be promoted to int if word_type is smaller than an int. */ + parameter b will be promoted to int if shift_count_type is smaller than an int. */ #ifdef L_lshrdi3 DWtype -__lshrdi3 (DWtype u, word_type b) +__lshrdi3 (DWtype u, shift_count_type b) { if (b == 0) return u; const DWunion uu = {.ll = u}; - const word_type bm = (sizeof (Wtype) * BITS_PER_UNIT) - b; + const shift_count_type bm = (sizeof (Wtype) * BITS_PER_UNIT) - b; DWunion w; if (bm <= 0) @@ -437,13 +437,13 @@ __lshrdi3 (DWtype u, word_type b) #ifdef L_ashldi3 DWtype -__ashldi3 (DWtype u, word_type b) +__ashldi3 (DWtype u, shift_count_type b) { if (b == 0) return u; const DWunion uu = {.ll = u}; - const word_type bm = (sizeof (Wtype) * BITS_PER_UNIT) - b; + const shift_count_type bm = (sizeof (Wtype) * BITS_PER_UNIT) - b; DWunion w; if (bm <= 0) @@ -465,13 +465,13 @@ __ashldi3 (DWtype u, word_type b) #ifdef L_ashrdi3 DWtype -__ashrdi3 (DWtype u, word_type b) +__ashrdi3 (DWtype u, shift_count_type b) { if (b == 0) return u; const DWunion uu = {.ll = u}; - const word_type bm = (sizeof (Wtype) * BITS_PER_UNIT) - b; + const shift_count_type bm = (sizeof (Wtype) * BITS_PER_UNIT) - b; DWunion w; if (bm <= 0) @@ -1082,7 +1082,7 @@ __udivmoddi4 (UDWtype n, UDWtype d, UDWtype *rp) DWtype __divdi3 (DWtype u, DWtype v) { - word_type c = 0; + Wtype c = 0; DWunion uu = {.ll = u}; DWunion vv = {.ll = v}; DWtype w; @@ -1106,7 +1106,7 @@ __divdi3 (DWtype u, DWtype v) DWtype __moddi3 (DWtype u, DWtype v) { - word_type c = 0; + Wtype c = 0; DWunion uu = {.ll = u}; DWunion vv = {.ll = v}; DWtype w; @@ -1146,7 +1146,7 @@ __udivdi3 (UDWtype n, UDWtype d) #endif #ifdef L_cmpdi2 -word_type +cmp_return_type __cmpdi2 (DWtype a, DWtype b) { const DWunion au = {.ll = a}; @@ -1165,7 +1165,7 @@ __cmpdi2 (DWtype a, DWtype b) #endif #ifdef L_ucmpdi2 -word_type +cmp_return_type __ucmpdi2 (DWtype a, DWtype b) { const DWunion au = {.ll = a}; |