Hi,

On Tue, 3 Dec 2019 at 15:46, Richard Biener <rguent...@suse.de> wrote:
>
>
> The PR shows I added the bail-out prematurely.
>
> Bootstrapped and tested on x86_64-unknown-linux-gnu, applied.
>
> Richard.
>
> 2019-12-03  Richard Biener  <rguent...@suse.de>
>
>         PR tree-optimization/92758
>         * tree-ssa-forwprop.c (simplify_vector_constructor): Restore
>         operation on uniform vectors.
>

This patch (r278938) causes a regression on aarch64:
FAIL: gcc.target/aarch64/fmla_intrinsic_1.c scan-assembler-times
fmla\\tv[0-9]+.2s, v[0-9]+.2s, v[0-9]+.2s\\[[0-9]+\\] 2
FAIL: gcc.target/aarch64/fmls_intrinsic_1.c scan-assembler-times
fmls\\tv[0-9]+.2s, v[0-9]+.2s, v[0-9]+.2s\\[[0-9]+\\] 2
FAIL: gcc.target/aarch64/fmul_intrinsic_1.c scan-assembler-times
fmul\\td[0-9]+, d[0-9]+, d[0-9]+ 1
FAIL: gcc.target/aarch64/fmul_intrinsic_1.c scan-assembler-times
fmul\\tv[0-9]+.2d, v[0-9]+.2d, v[0-9]+.d\\[[0-9]+\\] 3
FAIL: gcc.target/aarch64/fmul_intrinsic_1.c scan-assembler-times
fmul\\tv[0-9]+.2s, v[0-9]+.2s, v[0-9]+.s\\[[0-9]+\\] 2
FAIL: gcc.target/aarch64/simd/vmulx_laneq_f32_1.c scan-assembler-times
fmulx[ \t]+[vV][0-9]+.2[sS], ?[vV][0-9]+.2[sS],
?[vV][0-9]+.[sS]\\[0\\]\n 1
FAIL: gcc.target/aarch64/simd/vmulx_laneq_f32_1.c scan-assembler-times
fmulx[ \t]+[vV][0-9]+.2[sS], ?[vV][0-9]+.2[sS],
?[vV][0-9]+.[sS]\\[1\\]\n 1
FAIL: gcc.target/aarch64/simd/vmulx_laneq_f32_1.c scan-assembler-times
fmulx[ \t]+[vV][0-9]+.2[sS], ?[vV][0-9]+.2[sS],
?[vV][0-9]+.[sS]\\[2\\]\n 1
FAIL: gcc.target/aarch64/simd/vmulx_laneq_f32_1.c scan-assembler-times
fmulx[ \t]+[vV][0-9]+.2[sS], ?[vV][0-9]+.2[sS],
?[vV][0-9]+.[sS]\\[3\\]\n 1
FAIL: gcc.target/aarch64/simd/vmulx_laneq_f64_1.c scan-assembler-times
fmulx[ \t]+[dD][0-9]+, ?[dD][0-9]+, ?[vV][0-9]+.[dD]\\[0\\]\n 1
FAIL: gcc.target/aarch64/simd/vmulx_laneq_f64_1.c scan-assembler-times
fmulx[ \t]+[dD][0-9]+, ?[dD][0-9]+, ?[vV][0-9]+.[dD]\\[1\\]\n 1
FAIL: gcc.target/aarch64/singleton_intrinsics_1.c scan-assembler-times
aarch64_get_lanev2di 2

Do you want me to file a PR?

Thanks,

Christophe


> Index: gcc/tree-ssa-forwprop.c
> ===================================================================
> --- gcc/tree-ssa-forwprop.c     (revision 278930)
> +++ gcc/tree-ssa-forwprop.c     (working copy)
> @@ -2043,8 +2043,7 @@ simplify_vector_constructor (gimple_stmt
>    gcc_checking_assert (TREE_CODE (op) == CONSTRUCTOR
>                        && TREE_CODE (type) == VECTOR_TYPE);
>
> -  if (!TYPE_VECTOR_SUBPARTS (type).is_constant (&nelts)
> -      || uniform_vector_p (op))
> +  if (!TYPE_VECTOR_SUBPARTS (type).is_constant (&nelts))
>      return false;
>    elem_type = TREE_TYPE (type);
>    elem_size = TREE_INT_CST_LOW (TYPE_SIZE (elem_type));

Reply via email to