aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2016-06-28 10:29:11 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2016-06-28 10:29:11 +0200
commit95ef39f4415224f4d98c85c10a9efa9f2f952fe0 (patch)
tree954244dd9c093a5b71e3372a666c911391b09b63 /gcc
parent849a76a5a20db3830b3a627aae1b8c7eb0f1623d (diff)
downloadgcc-95ef39f4415224f4d98c85c10a9efa9f2f952fe0.zip
gcc-95ef39f4415224f4d98c85c10a9efa9f2f952fe0.tar.gz
gcc-95ef39f4415224f4d98c85c10a9efa9f2f952fe0.tar.bz2
re PR rtl-optimization/71673 (FAIL: c-c++-common/torture/builtin-arith-overflow-p-19.c -O2 (internal compiler error))
PR rtl-optimization/71673 * internal-fn.c (expand_arith_overflow_result_store): Use OPTAB_LIB_WIDEN instead of OPTAB_DIRECT as last argument to expand_simple_binop. From-SVN: r237815
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/internal-fn.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ad247ce..338c603 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2016-06-28 Jakub Jelinek <jakub@redhat.com>
+ PR rtl-optimization/71673
+ * internal-fn.c (expand_arith_overflow_result_store): Use
+ OPTAB_LIB_WIDEN instead of OPTAB_DIRECT as last argument to
+ expand_simple_binop.
+
PR middle-end/66867
* builtins.c (expand_ifn_atomic_compare_exchange_into_call,
expand_ifn_atomic_compare_exchange): New functions.
diff --git a/gcc/internal-fn.c b/gcc/internal-fn.c
index 5dd813f..49f3495 100644
--- a/gcc/internal-fn.c
+++ b/gcc/internal-fn.c
@@ -454,7 +454,7 @@ expand_arith_overflow_result_store (tree lhs, rtx target,
= immed_wide_int_const (wi::shifted_mask (0, prec, false, tgtprec),
tgtmode);
lres = expand_simple_binop (tgtmode, AND, res, mask, NULL_RTX,
- true, OPTAB_DIRECT);
+ true, OPTAB_LIB_WIDEN);
}
else
{