On Mon, 27 Sep 2021, sunil.k.pandey wrote:

> On Linux/x86_64,
> 
> 6390c5047adb75960f86d56582e6322aaa4d9281 is the first bad commit
> commit 6390c5047adb75960f86d56582e6322aaa4d9281
> Author: Richard Biener <rguent...@suse.de>
> Date:   Wed Nov 18 09:36:57 2020 +0100
> 
>     Allow different vector types for stmt groups
> 
> caused
> 
> FAIL: gcc.dg/vect/bb-slp-17.c -flto -ffat-lto-objects  scan-tree-dump-times 
> slp2 "optimized: basic block" 1
> FAIL: gcc.dg/vect/bb-slp-17.c scan-tree-dump-times slp2 "optimized: basic 
> block" 1

This shows that it is maybe a bad idea to support V2SImode vectorization
with -m32 when we refuse to implement even plus.

OTOH it's just the mode that's available, autovectorize_vector_modes
doesn't include the corresponding mode but we still pick it up via
the related vector mode for group-size == 2.

> FAIL: gcc.dg/vect/bb-slp-pr65935.c -flto -ffat-lto-objects  
> scan-tree-dump-times slp1 "optimized: basic block" 10
> FAIL: gcc.dg/vect/bb-slp-pr65935.c scan-tree-dump-times slp1 "optimized: 
> basic block" 10

We are now vectorizing the SSE tail when vectorizing with AVX.  I'll 
adjust the testcase to prefer SSE.

> FAIL: gcc.target/i386/vect-pr97352.c scan-assembler-times vmov.pd 4

With -mach=cascadelake we get

        vpermpd $68, c, %ymm0
        vpermpd $238, c, %ymm0

instead of

        vmovapd c, %ymm1
        vinsertf128     $1, %xmm1, %ymm1, %ymm0
        vperm2f128      $49, %ymm1, %ymm1, %ymm0

what's a way to disallow additional -march= from taking effect?  It's
really impossible to cater for all possible ISA variants in these kind
of testcases.

Richard.

Reply via email to