https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95528
--- Comment #12 from CVS Commits ---
The releases/gcc-10 branch has been updated by Jakub Jelinek
:
https://gcc.gnu.org/g:c75a2abc3a976096b89475f062d4795247aa02b8
commit r10-8296-gc75a2abc3a976096b89475f062d4795247aa02b8
Author: Jakub Jelinek
Date: Mon Jun 8 11:05:10 2020 +0200
forwprop: Ignore scalar mode vectors in simplify_vector_constructor
[PR95528]
As mentioned in the PR, the problem is that at least the x86 backend asumes
that the vec_unpack* and vec_pack* optabs with integral modes are for the
AVX512-ish vector masks rather than for very small vectors done in GPRs.
The only other target that seems to have a scalar mode vec_{,un}pack* optab
is aarch64 as discussed in the PR, so there is also a condition for that.
All other targets have just vector mode optabs.
2020-06-08 Jakub Jelinek
PR target/95528
* tree-ssa-forwprop.c (simplify_vector_constructor): Don't use
VEC_UNPACK*_EXPR or VEC_PACK_TRUNC_EXPR with scalar modes unless
the
type is vector boolean.
* g++.dg/opt/pr95528.C: New test.
(cherry picked from commit 8be374e02761c9d63d2753d71e4bd4874a1577b1)