BLK mode move pattern ?

Martien de Jong maurits.de.jong@ericsson.com
Thu Oct 13 14:06:00 GMT 2016


Hi,


Sorry to bother you again, but I am stuck.

First, movmem is only invoked if move_by_pieces gives up,
which means it will expand using DImode moves before attempting
movmem. I have tweaked MOVE_RATIO for now, but that is far
from optimal (! by_pieces, ! memmov => libcall).

Second, can I use TI mode in my movti_internal? I guess reload will have
trouble handling any TI register (and I have seen some reload failures 
in my experiments,) since it will look for movti in vain.
If I can't use TI mode, how do I tell the register allocator the size
of the quad register?

Kind regards,
Martien


On 12/10/16 17:54, Jeff Law wrote:

> I'd look at defining a movmem/movstr patterns.
>
> That may in turn involve creating a pattern which implements movti, but
> don't call it movti.  Lots of stuff is going to trigger off the
> existence of movXX patterns, which is precisely what you're trying to
> avoid.  So change the name of your pattern from "movti" to
> "movti_internal" or somesuch.  You can then generate that pattern via
> gen_movti_internal (args...)



More information about the Gcc-help mailing list