re PR rtl-optimization/71673 (FAIL: c-c++-common/torture/builtin-arith-overflow-p...
authorJakub Jelinek <jakub@redhat.com>
Tue, 28 Jun 2016 08:29:11 +0000 (10:29 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 28 Jun 2016 08:29:11 +0000 (10:29 +0200)
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

gcc/ChangeLog
gcc/internal-fn.c

index ad247ce0f20436885b455df40857bb04d75b68ac..338c60331d03b5b45328439484fe5285b23bbe73 100644 (file)
@@ -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.
index 5dd813f707ae22dc6c92adc87899781c90c27a53..49f3495866351c6d687b60ccef79deee9bb0134b 100644 (file)
@@ -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
        {