This is the mail archive of the
mailing list for the GCC project.
Re: powerpc & unaligned block moves with fp registers
- To: Mark Mitchell <mark at codesourcery dot com>
- Subject: Re: powerpc & unaligned block moves with fp registers
- From: David Edelsohn <dje at watson dot ibm dot com>
- Date: Fri, 09 Nov 2001 15:01:13 -0500
- cc: Richard Kenner <kenner at vlsi1 dot ultra dot nyu dot edu>, "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
>>>>> Mark Mitchell writes:
Mark> This would certainly work, but I think it would be nicer to just always
Mark> use BLKmode and have the back ends call back to a common routine if they
Mark> want command handling. I would like the middle end/back end interface
Mark> to be small, and then provide a library of common routines that back
Mark> ends could use.
As Richard Kenner pointed out, we want the structure to be an
integer mode so that the structure is operated on in a register. That
requires that some of the load/store operations be in that mode and any
heuristic to use BLKmode moves needs to choose when to use emit_block_move
and when to use emit_move_insn.
If we don't want to use SLOW_UNALIGNED_ACCESS macro and "always"
want to punt to BLKmode, it sounds like the criteria is memory-to-memory
moves, as opposed to memory-to-register moves. In other words, when
expand_assignment() sees that the LHS and RHS are memory, it should
convert the mode to BLKmode, or something like that. Comments?