This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RTL] (vec_select (vec_concat a b) c) may be just a or b


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]