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