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: New prologue/epilogue code for i386 string functions


On Tue, Oct 22, 2013 at 8:58 AM, Jan Hubicka <hubicka@ucw.cz> wrote:
> Hi,
> this patch adds code to produce prologues/epilogues as suggested by Ondrej Bilka
> (I described more the approach in http://gcc.gnu.org/ml/gcc-patches/2013-09/msg02082.html)
> This patch is updated and cleaned up version after Mikhail changes merging memset/memcpy
> generation code.  (I will continue with some incremental cleanups for the code dulication
> we ended up with).
>
> For now I don't have value range code in, but all logic is in place once
> http://gcc.gnu.org/ml/gcc-patches/2013-09/msg02011.html
> gets reviewed.
>
> Bootstrapped/regtesed x86_64-linux also with -minline-all-stringops and tested on SPEC2k6.
> I will commit it later today after more testing.
>
> Honza
>
>         * i386.h (TARGET_MISALIGNED_MOVE_STRING_PROLOGUES_EPILOGUES): New tuning flag.
>         * x86-tune.def (TARGET_MISALIGNED_MOVE_STRING_PROLOGUES): Define it.
>         * i386.c (expand_small_movmem_or_setmem): New function.
>         (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): New function
>         (alg_usable_p): Add support for value ranges; cleanup.
>         (ix86_expand_set_or_movmem): Add support for misaligned moves.

This caused:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59605


-- 
H.J.


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