diff --git a/lib/Target/X86/README.txt b/lib/Target/X86/README.txt index 75dde2d28aa..876bb65acdd 100644 --- a/lib/Target/X86/README.txt +++ b/lib/Target/X86/README.txt @@ -1955,12 +1955,13 @@ information to add the "lock" prefix. //===---------------------------------------------------------------------===// -int func(int a, int b) { if (a & 0x80) b |= 0x80; else b &= 0x80; return b; } +int func(int a, int b) { if (a & 0x80) b |= 0x80; else b &= ~0x80; return b; } Current: + movb %sil, %al - andb $-128, %sil + andb $127, %sil orb $-128, %al testb %dil, %dil js LBB1_2 @@ -1968,11 +1969,12 @@ Current: LBB1_2: movsbl %al, %eax + Better: movl %esi, %eax orl $-128, %eax - andl $-128, %esi + andl $127, %esi testb %dil, %dil cmovns %esi, %eax movsbl %al,%eax