This is the mail archive of the gcc-cvs@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]

r200751 - in /trunk/gcc: ChangeLog config/i386/...


Author: kyukhin
Date: Mon Jul  8 06:48:15 2013
New Revision: 200751

URL: http://gcc.gnu.org/viewcvs?rev=200751&root=gcc&view=rev
Log:
ChangeLog:
        * config/i386/i386-opts.h (enum stringop_alg): Add vector_loop.
        * config/i386/i386.c (expand_set_or_movmem_via_loop): Use
        adjust_address instead of change_address to keep info about alignment.
        (emit_strmov): Remove.
        (emit_memmov): New function.
        (expand_movmem_epilogue): Refactor to properly handle bigger sizes.
        (expand_movmem_epilogue): Likewise and return updated rtx for
        destination.
        (expand_constant_movmem_prologue): Likewise and return updated rtx for
        destination and source.
        (decide_alignment): Refactor, handle vector_loop.
        (ix86_expand_movmem): Likewise.
        (ix86_expand_setmem): Likewise.
        * config/i386/i386.opt (Enum): Add vector_loop to option stringop_alg.

testsuite/ChangeLog:
        * gcc.target/i386/memcpy-vector_loop-1.c: New.
        * gcc.target/i386/memcpy-vector_loop-2.c: New.


Added:
    trunk/gcc/testsuite/gcc.target/i386/memcpy-vector_loop-1.c
    trunk/gcc/testsuite/gcc.target/i386/memcpy-vector_loop-2.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/i386/i386-opts.h
    trunk/gcc/config/i386/i386.c
    trunk/gcc/config/i386/i386.opt
    trunk/gcc/testsuite/ChangeLog


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