forked from OSchip/llvm-project
parent
cd4d148040
commit
2974f63cb5
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue