[Bug rtl-optimization/40772] generating rendundant moves from second byte of 32b/64b register

zsojka at seznam dot cz gcc-bugzilla@gcc.gnu.org
Thu Jul 16 15:42:00 GMT 2009



------- Comment #2 from zsojka at seznam dot cz  2009-07-16 15:42 -------
When
                data[j] = ((i + j) & 0xFF00) >> 8;
is replaced by
                data[j] = (i + j) >> 8;

generated asm uses "shr eax, 8" instead of "movzx eax, ah", and runs in 19
ticks in average.


-- 


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



More information about the Gcc-bugs mailing list