This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/50088] movzbl is generated instead of movl
- From: "hjl.tools at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 15 Aug 2011 15:47:39 +0000
- Subject: [Bug rtl-optimization/50088] movzbl is generated instead of movl
- Auto-submitted: auto-generated
- References: <bug-50088-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50088
--- Comment #5 from H.J. Lu <hjl.tools at gmail dot com> 2011-08-15 15:47:39 UTC ---
(In reply to comment #4)
> (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?
It is for movqi. We can only safely replace mozbl with movl if
the source is 4byte aligned. It should a new backend option.