On Sun, Aug 9, 2026 at 6:26 PM <[email protected]> wrote:
>
> From: Kyrylo Tkachov <[email protected]>
>
> The positive test only folds when the wide and narrow vector MIN operations
> are available.  Default x86_64 lowers the V2DI MIN before the narrowing rule
> can see it, so the dump still contains the wide type.
>
> Enable AVX512VL and AVX512DQ for x86 targets to enable the type.
>
> Tested on x86_64-pc-linux-gnu.
> Pushed to trunk.
>
> gcc/testsuite/ChangeLog:
>
>         * g++.dg/tree-ssa/vec-narrow-1.C: Enable AVX512VL and AVX512DQ on
>         x86 targets.
>
> Signed-off-by: Kyrylo Tkachov <[email protected]>
> ---
>  gcc/testsuite/g++.dg/tree-ssa/vec-narrow-1.C | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/gcc/testsuite/g++.dg/tree-ssa/vec-narrow-1.C 
> b/gcc/testsuite/g++.dg/tree-ssa/vec-narrow-1.C
> index de738e33c30..cec5b0ba345 100644
> --- a/gcc/testsuite/g++.dg/tree-ssa/vec-narrow-1.C
> +++ b/gcc/testsuite/g++.dg/tree-ssa/vec-narrow-1.C
> @@ -1,5 +1,6 @@
>  // { dg-do compile }
>  // { dg-options "-O2 -fdump-tree-optimized" }
> +// { dg-additional-options "-mavx512vl -mavx512dq" { target { i?86-*-* 
> x86_64-*-* } } }
>  // Extension is monotone, so it commutes with the comparison and the outer
>  // truncation is exact.  The argument is lanewise, so a widened vector
>  // MIN/MAX feeding a truncating conversion narrows.
> --
> 2.50.1 (Apple Git-155)
>

This failed with

$ make check-c++ RUNTESTFLAGS="--target_board='unix{-m32}'
dg.exp=vec-narrow-1.C"

on Linux/x86-64.

-- 
H.J.

Reply via email to