aboutsummaryrefslogtreecommitdiff
path: root/gcc/fold-const.c
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1992-08-31 08:02:58 +0000
committerRichard Stallman <rms@gnu.org>1992-08-31 08:02:58 +0000
commit812dd8a30d0b036bffca9780cfdef45d934d8558 (patch)
treef79651b3ca22363f52598cb6699e028005a98ec4 /gcc/fold-const.c
parent8c2bf92af150355c9bf356fd57a0a4438bdeb2d4 (diff)
downloadgcc-812dd8a30d0b036bffca9780cfdef45d934d8558.zip
gcc-812dd8a30d0b036bffca9780cfdef45d934d8558.tar.gz
gcc-812dd8a30d0b036bffca9780cfdef45d934d8558.tar.bz2
(const_binop): Delete special case for mult by 3.
From-SVN: r2002
Diffstat (limited to 'gcc/fold-const.c')
-rw-r--r--gcc/fold-const.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index 069c503..b3564de 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -1073,7 +1073,7 @@ const_binop (code, arg1, arg2)
break;
case MULT_EXPR:
- /* Optimize simple cases. */
+ /* Optimize simple cases. */
if (int1h == 0)
{
unsigned HOST_WIDE_INT temp;
@@ -1091,11 +1091,13 @@ const_binop (code, arg1, arg2)
int2h = int2h * 2 + (temp < int2l);
t = build_int_2 (temp, int2h);
goto got_it;
+#if 0 /* This code can lose carries. */
case 3:
temp = int2l + int2l + int2l;
int2h = int2h * 3 + (temp < int2l);
t = build_int_2 (temp, int2h);
goto got_it;
+#endif
case 4:
temp = int2l + int2l;
int2h = int2h * 4 + ((temp < int2l) << 1);