------- Comment #6 from ubizjak at gmail dot com  2010-08-29 19:20 -------
Some other examples:

char test(int a, int b, int i, int j)
{
  return (i & 0xFF) + ((j & 0xFF00) >> 8);
}

        movzbl  %ch, %eax
        addl    %edx, %eax
        ret

char test(int a, int b, int i, int j)
{
  return (i & 0xFF) - ((j & 0xFF00) >> 8);
}

        movzbl  %ch, %ecx
        movl    %edx, %eax
        subb    %cl, %al


-- 


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

Reply via email to