Commit 3095f7c6 by Ilya Enkovich Committed by Ilya Enkovich

expr.c (do_store_flag): Expand vector comparison as VEC_COND_EXPR if...

gcc/

	* expr.c (do_store_flag): Expand vector comparison as
	VEC_COND_EXPR if vector comparison is not supported
	by target.

gcc/testsuite/

	* gcc.dg/pr68286.c: New test.

From-SVN: r230238
parent e9ea8f9e
2015-11-12 Ilya Enkovich <enkovich.gnu@gmail.com>
* expr.c (do_store_flag): Expand vector comparison as
VEC_COND_EXPR if vector comparison is not supported
by target.
2015-11-12 Renlin Li <renlin.li@arm.com>
* config/arm/arm.md (addsi3_compare_op2): Make the order of
......@@ -11128,7 +11128,8 @@ do_store_flag (sepops ops, rtx target, machine_mode mode)
if (TREE_CODE (ops->type) == VECTOR_TYPE)
{
tree ifexp = build2 (ops->code, ops->type, arg0, arg1);
if (VECTOR_BOOLEAN_TYPE_P (ops->type))
if (VECTOR_BOOLEAN_TYPE_P (ops->type)
&& expand_vec_cmp_expr_p (TREE_TYPE (arg0), ops->type))
return expand_vec_cmp_expr (ops->type, ifexp, target);
else
{
......
2015-11-12 Ilya Enkovich <enkovich.gnu@gmail.com>
* gcc.dg/pr68286.c: New test.
2015-11-12 Christian Bruel <christian.bruel@st.com>
* gcc.target/arm/mmx-1.c: Adjust for unified asm.
......
/* PR target/68286 */
/* { dg-do compile } */
/* { dg-options "-O3" } */
int a, b, c;
int fn1 ()
{
int d[] = {0};
for (; c; c++)
{
float e = c;
if (e)
d[0]++;
}
b = d[0];
return a;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment