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: Tue, 16 Aug 2011 14:23: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 #10 from H.J. Lu <hjl.tools at gmail dot com> 2011-08-16 14:23:39 UTC ---
The real problem is the store forward issue on Atom:
addl $1, 4(%esp) # 67 *addsi_1/2 [length = 5]
andl $15, 4(%esp) # 68 *andsi_1/1 [length = 5]
movl (%eax), %edi # 70 *movsi_internal/1 [length = 2]
movzbl 4(%esp), %ecx # 154 *movqi_internal/3 [length = 5]
That is we write 32bit and read 8bit, which performs very
poorly on Atom. We should write/read the same size.