[Bug target/36222] x86 fails to optimize out __v4si -> __m128i move
hjl dot tools at gmail dot com
gcc-bugzilla@gcc.gnu.org
Fri May 16 21:55:00 GMT 2008
------- Comment #7 from hjl dot tools at gmail dot com 2008-05-16 21:54 -------
find_reloads in reload.c has
/* Special case a simple move with an input reload and a
destination of a hard reg, if the hard reg is ok, use it. */
for (i = 0; i < n_reloads; i++)
if (rld[i].when_needed == RELOAD_FOR_INPUT
&& GET_CODE (PATTERN (insn)) == SET
&& REG_P (SET_DEST (PATTERN (insn)))
&& (SET_SRC (PATTERN (insn)) == rld[i].in
|| SET_SRC (PATTERN (insn)) == rld[i].in_reg)
&& !elimination_target_reg_p (SET_DEST (PATTERN (insn))))
{
rtx dest = SET_DEST (PATTERN (insn));
unsigned int regno = REGNO (dest);
If it can be extended to handle vector instructions, it will help this
bug.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36222
More information about the Gcc-bugs
mailing list