[Bug rtl-optimization/50088] movzbl is generated instead of movl

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Aug 15 15:32:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50088

--- Comment #4 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-08-15 15:26:19 UTC ---
(In reply to comment #3)
> It is done on purpose:
> 
>   /* X86_TUNE_MOVX: Enable to zero extend integer registers to avoid
>      partial dependencies.  */
>   m_PPRO | m_P4_NOCONA | m_CORE2I7 | m_ATOM | m_GEODE | m_AMD_MULTIPLE  |
> m_GENERIC,
> 
> You can remove m_ATOM to see its performance impact with -mtune=atom
> on Atom.

Well, yes, I think the proposal was to spill/load the full SImode instead
which would avoid both the partial dependency and the mismatched load/store
size.  No?



More information about the Gcc-bugs mailing list