diary at Telent Netowrks

Some progress on AMD64: the cross-compiler has managed to#

Fri, 30 Jan 2004 00:58:48 +0000

Some progress on AMD64: the cross-compiler has managed to cross-compile something

; compiling file "/opt/home/dan/src/sourceforge/sbcl/src/code/show.lisp" (written 02 OCT 2002 06:09:17 AM):
; compiling top level form: 
; compiling function SB!INT::CANNOT-/SHOW: 
; recognizing DEFUN CANNOT-/SHOW
; compiling top level form: 
; compiling top level form: 
; compiling DEFMACRO /SHOW: 
; compiling top level form: 

The code that it's generating is, I have no doubt, seriously bogus, but hey At that point it fails with

debugger invoked on a SIMPLE-ERROR in thread 27960:
    failed AVER: "(NOT (EQ SIZE QWORD))"

which comes from the MOV case for big immediate constants which checks they're not 64 bit immediate constants - seems that at leastg one of them is. On the basis of the bits of amd64 manual I've read so far it seems that I can only load a 64 bit constant into rax and not into any other register, which is a shame, because the backtrace says it wanted to use rbx. Perhaps it's bedtime.

<rtoy3> It compiles!  Ship it!