On Thu, 24 Jun 2021, Uros Bizjak wrote:

> 2021-06-24  Uroš Bizjak  <ubiz...@gmail.com>
> 
> gcc/
>     PR target/89021
>     * config/i386/i386-expand.c (ix86_expand_sse_unpack):
>     Handle V8QI and V4HI modes.
>     * config/i386/mmx.md (sse4_1_<any_extend:code>v4qiv4hi2):
>     New insn pattern.
>     (sse4_1_<any_extend:code>v4qiv4hi2): Ditto.
>     (mmxpackmode): New mode attribute.
>     (vec_pack_trunc_<mmxpackmode:mode>): New expander.
>     (mmxunpackmode): New mode attribute.
>     (vec_unpacks_lo_<mmxunpackmode:mode>): New expander.
>     (vec_unpacks_hi_<mmxunpackmode:mode>): Ditto.
>     (vec_unpacku_lo_<mmxunpackmode:mode>): Ditto.
>     (vec_unpacku_hi_<mmxunpackmode:mode>): Ditto.
>     * config/i386/i386.md (extsuffix): Move from ...
>     * config/i386/sse.md: ... here.
> 
> gcc/testsuite/
> 
>     PR target/89021
>     * gcc.target/i386/pr97249-1.c (foo): Add #pragma
>     to avoid loop vectorization.
>     (foo1): Ditto.
>     (foo2): Ditto.
> 
> Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}.
> 
> There is still one scan-tree-not failure in generic vectorization testsuite:
> 
> FAIL: gcc.dg/vect/vect-nb-iter-ub-3.c scan-tree-dump-not cunroll "loop
> turned into non-loop; it never loops"
> 
> This probably happens due to the additional epilogue vectorization,
> but I don't know how to "fix" this failure. Richi, can you perhaps
> help me here?

I would suggest to add --param vect-epilogues-nomask=0 to
dg-additional-options to preserve what the testcase tested.

Richard.

Reply via email to