re PR tree-optimization/69282 (aarch64/armhf ICE on SPEC2006 464.h264ref at -O3)

2016-02-09  Andrew Pinski  <apinski@cavium.com>

        PR tree-opt/69282
        * optabs-tree.c (expand_vec_cond_expr_p): Don't early return if
        get_vcond_mask_icode returns false.

2016-02-09  Andrew Pinski  <apinski@cavium.com>

        PR tree-opt/69282
        * gcc.c-torture/compile/20160205-1.c: New testcase.

From-SVN: r233261
This commit is contained in:
Andrew Pinski 2016-02-10 03:13:53 +00:00 committed by Andrew Pinski
parent de24ed7803
commit 0d99886f66
4 changed files with 24 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2016-02-09 Andrew Pinski <apinski@cavium.com>
PR tree-opt/69282
* optabs-tree.c (expand_vec_cond_expr_p): Don't early return if
get_vcond_mask_icode returns false.
2016-02-09 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/68404

View File

@ -322,9 +322,11 @@ expand_vec_cond_expr_p (tree value_type, tree cmp_op_type)
{
machine_mode value_mode = TYPE_MODE (value_type);
machine_mode cmp_op_mode = TYPE_MODE (cmp_op_type);
if (VECTOR_BOOLEAN_TYPE_P (cmp_op_type))
return get_vcond_mask_icode (TYPE_MODE (value_type),
TYPE_MODE (cmp_op_type)) != CODE_FOR_nothing;
if (VECTOR_BOOLEAN_TYPE_P (cmp_op_type)
&& get_vcond_mask_icode (TYPE_MODE (value_type),
TYPE_MODE (cmp_op_type)) != CODE_FOR_nothing)
return true;
if (GET_MODE_SIZE (value_mode) != GET_MODE_SIZE (cmp_op_mode)
|| GET_MODE_NUNITS (value_mode) != GET_MODE_NUNITS (cmp_op_mode)
|| get_vcond_icode (TYPE_MODE (value_type), TYPE_MODE (cmp_op_type),

View File

@ -1,3 +1,8 @@
2016-02-09 Andrew Pinski <apinski@cavium.com>
PR tree-opt/69282
* gcc.c-torture/compile/20160205-1.c: New testcase.
2016-02-09 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/68404

View File

@ -0,0 +1,8 @@
int a[32];
int fn1(int d) {
int c = 1;
for (int b = 0; b < 32; b++)
if (a[b])
c = 0;
return c;
}