On 11/01/2009 04:03 PM, Paolo Bonzini wrote:
An andl
#1 after a seq is 1 to 1, but how should compiler know that?</li>
I don't understand the last sentence.
I think it's talking about something like
int f(int x, int y)
{
int r;
r = x == y;
r &= 1;
return r;
}
cmpl %esi, %edi
sete %al
andl $1, %eax
Not the most ideal way to zero-extend the return value, from a partial
register stall point of view. Note that with char values, we do
eliminate the AND operation, so this is not (any longer) about some pass
not understanding STORE_FLAG_VALUE.
r~