Commit 21caa1a2 by Prathamesh Kulkarni Committed by Prathamesh Kulkarni

re PR middle-end/91166 ([SVE] Unfolded ZIPs of constants)

2019-07-24  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

	PR middle-end/91166
	* match.pd (vec_perm_expr(v, v, mask) -> v): New pattern.
	(define_predicates): Add entry for uniform_vector_p.
	(vec_same_elem_p): New match pattern.

testsuite/
	* gcc.target/aarch64/sve/pr91166.c: New test.

From-SVN: r273758
parent 70121844
2019-07-24 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
PR middle-end/91166
* match.pd (vec_perm_expr(v, v, mask) -> v): New pattern.
(define_predicates): Add entry for uniform_vector_p.
(vec_same_elem_p): New match pattern.
2019-07-24 Iain Sandoe <iain@sandoe.co.uk>
PR bootstrap/87030
......
......@@ -36,7 +36,8 @@ along with GCC; see the file COPYING3. If not see
integer_valued_real_p
integer_pow2p
uniform_integer_cst_p
HONOR_NANS)
HONOR_NANS
uniform_vector_p)
/* Operator lists. */
(define_operator_list tcc_comparison
......@@ -5568,3 +5569,16 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
{ bitsize_int (at * tree_to_uhwi (TYPE_SIZE (TREE_TYPE (type)))); })
(if (changed)
(vec_perm { op0; } { op1; } { op2; }))))))))))
/* VEC_PERM_EXPR (v, v, mask) -> v where v contains same element. */
(match vec_same_elem_p
@0
(if (uniform_vector_p (@0))))
(match vec_same_elem_p
(vec_duplicate @0))
(simplify
(vec_perm vec_same_elem_p@0 @0 @1)
@0)
2019-07-24 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
PR middle-end/91166
* gcc.target/aarch64/sve/pr91166.c: New test.
2019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/54072
......
/* { dg-do compile } */
/* { dg-options "-O3 -march=armv8.2-a+sve -fdump-tree-optimized" } */
void
f1 (double x[][4])
{
for (int i = 0; i < 4; ++i)
for (int j = 0; j < 4; ++j)
x[i][j] = 0;
}
void
f2 (double x[][4], double y)
{
for (int i = 0; i < 4; ++i)
for (int j = 0; j < 4; ++j)
x[i][j] = y;
}
/* { dg-final { scan-tree-dump-not "VEC_PERM_EXPR" "optimized"} } */
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