This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Simplify a VEC_SELECT from one half of a VEC_CONCAT
On Sun, Dec 2, 2012 at 6:39 PM, Marc Glisse <marc.glisse@inria.fr> wrote:
> While I was there, I decided to improve another bit of VEC_SELECT
> simplification (this supersedes the patch in the father of this message).
>
> Adding Uros in Cc: because I am touching the x86 backend. Sorry to add yet
> another insn variant, but I don't see how we can avoid it here.
>
> The x86 and RTL parts are independent, but the testcases need both.
>
> bootstrap+testsuite on x86_64-linux. (for next stage1 I assume)
>
> 2012-12-02 Marc Glisse <marc.glisse@inria.fr>
>
> PR target/43147
> PR target/44551
> gcc/
> * simplify-rtx.c (simplify_binary_operation_1) <VEC_SELECT>:
> Improve VEC_SELECT and VEC_CONCAT subcases.
> * config/i386/sse.md (*sse_shufps_<mode>_single): New.
>
> gcc/testsuite/
> * gcc.target/i386/pr43147.c: New testcase.
> * gcc.target/i386/pr44551.c: New testcase.
x86 part and testcases are OK, together with RTL part. I will leave to
RTL maintainer if the combined patch is still OK for 4.8.
Thanks,
Uros.