mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-19 04:32:19 +00:00
Minor x86 README updates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126054 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
37d42f8a50
commit
86b115c78b
@ -710,23 +710,17 @@ This:
|
|||||||
{ return !full_add(a, b).second; }
|
{ return !full_add(a, b).second; }
|
||||||
|
|
||||||
Should compile to:
|
Should compile to:
|
||||||
|
addl %esi, %edi
|
||||||
|
setae %al
|
||||||
|
movzbl %al, %eax
|
||||||
|
ret
|
||||||
|
|
||||||
|
on x86-64, instead of the rather stupid-looking:
|
||||||
_Z11no_overflowjj:
|
addl %esi, %edi
|
||||||
addl %edi, %esi
|
setb %al
|
||||||
setae %al
|
xorb $1, %al
|
||||||
ret
|
movzbl %al, %eax
|
||||||
|
ret
|
||||||
FIXME: That code looks wrong; bool return is normally defined as zext.
|
|
||||||
|
|
||||||
on x86-64, not:
|
|
||||||
|
|
||||||
__Z11no_overflowjj:
|
|
||||||
addl %edi, %esi
|
|
||||||
cmpl %edi, %esi
|
|
||||||
setae %al
|
|
||||||
movzbl %al, %eax
|
|
||||||
ret
|
|
||||||
|
|
||||||
|
|
||||||
//===---------------------------------------------------------------------===//
|
//===---------------------------------------------------------------------===//
|
||||||
@ -994,10 +988,10 @@ _foo:
|
|||||||
|
|
||||||
instead of:
|
instead of:
|
||||||
_foo:
|
_foo:
|
||||||
movl $255, %eax
|
movl $65280, %eax
|
||||||
orl 4(%esp), %eax
|
andl 4(%esp), %eax
|
||||||
andl $65535, %eax
|
orl $255, %eax
|
||||||
ret
|
ret
|
||||||
|
|
||||||
//===---------------------------------------------------------------------===//
|
//===---------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user