mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-14 00:32:55 +00:00
Add a note.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85329 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
50b6e33584
commit
1ff2c485e2
@ -1952,3 +1952,26 @@ fact these instructions are identical to the non-lock versions. We need a way to
|
||||
add target specific information to target nodes and have this information
|
||||
carried over to machine instructions. Asm printer (or JIT) can use this
|
||||
information to add the "lock" prefix.
|
||||
|
||||
//===---------------------------------------------------------------------===//
|
||||
|
||||
int func(int a, int b) { if (a & 0x80) b |= 0x80; else b &= 0x80; return b; }
|
||||
|
||||
Current:
|
||||
|
||||
movb %sil, %al
|
||||
andb $-128, %sil
|
||||
orb $-128, %al
|
||||
testb %dil, %dil
|
||||
js LBB1_2
|
||||
movb %sil, %al
|
||||
LBB1_2:
|
||||
movsbl %al, %eax
|
||||
|
||||
Better:
|
||||
movl %esi, %eax
|
||||
orl $-128, %eax
|
||||
andl $-128, %esi
|
||||
testb %dil, %dil
|
||||
cmovns %esi, %eax
|
||||
movsbl %al,%eax
|
||||
|
Loading…
x
Reference in New Issue
Block a user