93e01eb5d1
Old .o files stop working if they use floating point. One must recompile those files. Old files don't call libfp in the correct way, and may use symbols that I removed from libem. I don't keep old symbols in libem/flp.s, because a program that pulls both libfp and flp.s would get "multiply defined" errors in the linker. I teach mach/i80/ncg/table to use libfp by copying or adapting the patterns from mach/i86/ncg/table. I did not test all the patterns, but I did use `ack -mcpm -fp -O4` to compile examples/mandelbrot.c, then I ran it in the emulator YAZE-AG. It worked, but it was slow.
39 lines
455 B
ArmAsm
39 lines
455 B
ArmAsm
.define .adf4,.adf8,.sbf4,.sbf8,.mlf4,.mlf8,.dvf4,.dvf8
|
|
.define .ngf4,.ngf8,.fif4,.fif8,.fef4,.fef8
|
|
.define .cfi,.cif4,.cif8,.cuf4,.cuf8,.cff4,.cff8,.cfu
|
|
.define .cmf4,.cmf8
|
|
.sect .text
|
|
.sect .rom
|
|
.sect .data
|
|
.sect .bss
|
|
.sect .text
|
|
|
|
! Floating point is not implemented
|
|
|
|
.adf4:
|
|
.adf8:
|
|
.sbf4:
|
|
.sbf8:
|
|
.mlf4:
|
|
.mlf8:
|
|
.dvf4:
|
|
.dvf8:
|
|
.ngf4:
|
|
.ngf8:
|
|
.fif4:
|
|
.fif8:
|
|
.fef4:
|
|
.fef8:
|
|
.cfi:
|
|
.cif4:
|
|
.cif8:
|
|
.cuf4:
|
|
.cuf8:
|
|
.cff4:
|
|
.cff8:
|
|
.cfu:
|
|
.cmf4:
|
|
.cmf8:
|
|
call eunimpl
|
|
ret
|