[RTL] (vec_select (vec_concat a b) c) may be just a or b
Jeff Law
law@redhat.com
Fri Jul 18 05:05:00 GMT 2014
On 06/21/14 13:16, Marc Glisse wrote:
> Hello,
>
> this is another small simplification of RTL for vectors. Note that it
> doesn't really solve the problem, because these simplifications are only
> performed for single-use objects. If I start from vectors [a,b] and
> [c,d] and concatenate them into [a,b,c,d], then extract both halves, as
> in the original testcase in the PR, we won't notice that those are the
> original vectors. Still, better than nothing...
>
> (we output a vzeroupper for the testcase, that seems unnecessary)
>
> Bootstrap+testsuite on x86_64-linux-gnu.
>
> 2014-06-22 Marc Glisse <marc.glisse@inria.fr>
>
> PR target/44551
> gcc/
> * simplify-rtx.c (simplify_binary_operation_1) <VEC_SELECT>:
> Optimize inverse of a VEC_CONCAT.
> gcc/testsuite/
> * gcc.target/i386/pr44551-1.c: New file.
>
OK.
Jeff
More information about the Gcc-patches
mailing list