picolisp

Unnamed repository; edit this file to name it for gitweb.
git clone https://logand.com/git/picolisp.git/
Log | Files | Refs | README | LICENSE

commit 87d1e760954eaf9e4810b1a67ec0d1eb00931871
parent 041b80986351a07a03ea1b184d551bfe985aae7c
Author: Commit-Bot <unknown>
Date:   Thu, 29 Jul 2010 17:53:52 +0000

Automatic commit from picoLisp.tgz, From: Thu, 29 Jul 2010 17:53:52 GMT
Diffstat:
Msrc64/arch/x86-64.l | 10+++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src64/arch/x86-64.l b/src64/arch/x86-64.l @@ -610,7 +610,6 @@ (prinst "mov" "6(%rsp)" "%ax") # Mantissa [s111 1111 1111 xxxx] (prinst "and" "$0x7FF0" "%rax") # Infinite/NaN? (prinst "cmp" "$0x7FF0" "%rax") - (prinst "pop" "%rax") # Keep value (prinst "jz" "2f") # Yes: Skip (prinst "shr" "$4" "%rbx") # Normalize scale (prinst "cvtsi2sd" "%rbx" "%xmm7") # Mulitply with scale @@ -624,16 +623,17 @@ (prinst "jmp" "3f") (prinl "1:") (prinst "neg" "%rbx") # Negate - (prinst "js" "2f") # Still negative: NIL + (prinst "js" "2f") # Still negative: Overflow (prinst "shl" "$4" "%rbx") # Make negative short (prinst "orb" "$10" "%bl") (prinst "jmp" "3f") (prinl "2:") # Infinite/NaN (prinst "mov" "$Nil" "%rbx") # Preload NIL - (prinst "or" "%rax" "%rax") # Negative? - (prinst "js" "3f") # Yes: Skip + (prinst "testb" "$0x80" "7(%rsp)") # Float value negative? + (prinst "jnz" "3f") # Yes: Skip (prinst "mov" "$TSym" "%rbx") # Load T - (prinl "3:") ) + (prinl "3:") + (prinst "add" "$8" "%rsp") ) # Drop buffer (asm cc (Adr A Arg M) (unless (== 'cc (caar (seek '((L) (== (cadr L) *Statement)) *Program)))