This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [rtl, i386] vec_merge simplification
- From: Uros Bizjak <ubizjak at gmail dot com>
- To: Marc Glisse <marc dot glisse at inria dot fr>
- Cc: Eric Botcazou <ebotcazou at adacore dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Sun, 31 Mar 2013 10:32:22 +0200
- Subject: Re: [rtl, i386] vec_merge simplification
- References: <alpine dot DEB dot 2 dot 02 dot 1303170103230 dot 12359 at stedding dot saclay dot inria dot fr> <8694562 dot qGXxdu6rGm at polaris> <alpine dot DEB dot 2 dot 02 dot 1303301513400 dot 10575 at stedding dot saclay dot inria dot fr>
On Sat, Mar 30, 2013 at 3:47 PM, Marc Glisse <marc.glisse@inria.fr> wrote:
>> OK, modulo a few nits:
>
>
> Thanks, here is a version taking into account all your comments, and which still passes bootstrap+testsuite on x86_64-linux-gnu. I am not completely sure if there is a point checking !side_effects_p (op1) after rtx_equal_p (op0, op1), but I am still doing it as it seems safe.
>
> Uros, are you ok with the testsuite part?
>
>
> 2013-03-30 Marc Glisse <marc.glisse@inria.fr>
>
> gcc/
> * simplify-rtx.c (simplify_binary_operation_1) <VEC_SELECT>:
> Handle VEC_MERGE.
> (simplify_ternary_operation) <VEC_MERGE>: Use unsigned HOST_WIDE_INT
> for masks. Test for side effects. Handle nested VEC_MERGE. Handle
> equal arguments.
>
> gcc/testsuite/
> * gcc.target/i386/merge-1.c: New testcase.
> * gcc.target/i386/avx2-vpblendd128-1.c: Make it non-trivial.
Yes, testsuite changes are also OK.
Thanks,
Uros.