From: James Y K. <fo...@fu...> - 2005-11-10 02:08:56
|
This doesn't seem quite right... * (declaim (optimize (sb-ext:inhibit-warnings 0))) * (defun test () (loop repeat 5 do (print "Hi"))) ; in: LAMBDA NIL ; (LOOP REPEAT 5 DO (PRINT "Hi")) ; --> BLOCK LET SB-LOOP::LOOP-BODY TAGBODY IF <= IF ; ==> ; (> #:LOOP-REPEAT-0 0) ; ; note: forced to do GENERIC-> (cost 10) ; unable to do inline float comparison (cost 3) because: ; The first argument is a UNSIGNED-BYTE, not a SINGLE-FLOAT. ; The second argument is a (INTEGER 0 0), not a SINGLE-FLOAT. ; unable to do inline float comparison (cost 3) because: ; The first argument is a UNSIGNED-BYTE, not a DOUBLE-FLOAT. ; The second argument is a (INTEGER 0 0), not a DOUBLE-FLOAT. ; etc. ; --> BLOCK LET SB-LOOP::LOOP-BODY TAGBODY IF DECF LET* ; ==> ; (- #:LOOP-REPEAT-0 #:G2) ; ; note: forced to do GENERIC-- (cost 10) ; unable to do inline fixnum arithmetic (cost 1) because: ; The first argument is a (INTEGER 1), not a FIXNUM. ; The result is a (VALUES UNSIGNED-BYTE ; &OPTIONAL), not a (VALUES FIXNUM &REST T). ; unable to do inline float arithmetic (cost 2) because: ; The first argument is a (INTEGER 1), not a DOUBLE-FLOAT. ; The second argument is a (INTEGER 1 1), not a DOUBLE-FLOAT. ; The result is a (VALUES UNSIGNED-BYTE ; &OPTIONAL), not a (VALUES DOUBLE- FLOAT &REST T). ; etc. ; ; compilation unit finished ; printed 2 notes |