From f4dbfb4e9e3e291fd9218c829ff31b87b4af70af Mon Sep 17 00:00:00 2001 From: rth Date: Mon, 22 Jul 2002 00:15:49 +0000 Subject: * libgcc2.c (__divdi3, __moddi3): Use unary minus operator instead of __negdi2 directly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55632 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/libgcc2.c | 17 +++++++---------- 2 files changed, 12 insertions(+), 10 deletions(-) (limited to 'gcc') diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 90096f63ddf..c9d4cbb1d88 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-07-21 Hartmut Schirmer + + * libgcc2.c (__divdi3, __moddi3): Use unary minus operator + instead of __negdi2 directly. + 2002-07-21 Neil Booth * gengenrtl.c (gencode): Don't define obstack_alloc_rtx. diff --git a/gcc/libgcc2.c b/gcc/libgcc2.c index 4b1e187bcf4..f91aadbe728 100644 --- a/gcc/libgcc2.c +++ b/gcc/libgcc2.c @@ -43,10 +43,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include "libgcc2.h" -#if defined (L_negdi2) || defined (L_divdi3) || defined (L_moddi3) -#if defined (L_divdi3) || defined (L_moddi3) -static inline -#endif +#if defined (L_negdi2) DWtype __negdi2 (DWtype u) { @@ -732,14 +729,14 @@ __divdi3 (DWtype u, DWtype v) if (uu.s.high < 0) c = ~c, - uu.ll = __negdi2 (uu.ll); + uu.ll = -uu.ll; if (vv.s.high < 0) c = ~c, - vv.ll = __negdi2 (vv.ll); + vv.ll = -vv.ll; w = __udivmoddi4 (uu.ll, vv.ll, (UDWtype *) 0); if (c) - w = __negdi2 (w); + w = -w; return w; } @@ -758,13 +755,13 @@ __moddi3 (DWtype u, DWtype v) if (uu.s.high < 0) c = ~c, - uu.ll = __negdi2 (uu.ll); + uu.ll = -uu.ll; if (vv.s.high < 0) - vv.ll = __negdi2 (vv.ll); + vv.ll = -vv.ll; (void) __udivmoddi4 (uu.ll, vv.ll, &w); if (c) - w = __negdi2 (w); + w = -w; return w; } -- cgit v1.2.3