This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/29775] redundant movzbl
- From: "michael dot meissner at amd dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 3 Feb 2007 04:49:11 -0000
- Subject: [Bug target/29775] redundant movzbl
- References: <bug-29775-5748@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #1 from michael dot meissner at amd dot com 2007-02-03 04:49 -------
If you look at the RTL, in the if statement, the RTL loads the QI value into
the register and does the test against the QI value, and the movzbl is how the
load is done. The second movzbl is to zero extend the value into a SI value
that can be used in the __builtin_ctz function.
In addition, there is a spurious move at the end to move the value from %edx
into %eax for the return.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29775