aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/optabs.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6f30563..5b93ed1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2007-09-09 Andrew Haley <aph@redhat.com>
+
+ * optabs.c (sign_expand_binop): Set libcall_gen = NULL in the
+ fake signed optab.
+
2007-09-09 Hans-Peter Nilsson <hp@axis.com>
Divide REG_LABEL notes into REG_LABEL_OPERAND and REG_LABEL_TARGET.
diff --git a/gcc/optabs.c b/gcc/optabs.c
index 32b195c..e8ac1d7 100644
--- a/gcc/optabs.c
+++ b/gcc/optabs.c
@@ -2249,6 +2249,9 @@ sign_expand_binop (enum machine_mode mode, optab uoptab, optab soptab,
hides any signed insn for direct use. */
wide_soptab = *soptab;
optab_handler (&wide_soptab, mode)->insn_code = CODE_FOR_nothing;
+ /* We don't want to generate new hash table entries from this fake
+ optab. */
+ wide_soptab.libcall_gen = NULL;
temp = expand_binop (mode, &wide_soptab, op0, op1, target,
unsignedp, OPTAB_WIDEN);