From: William H. N. <wil...@ai...> - 2001-02-08 13:26:36
|
On Tue, Feb 06, 2001 at 02:11:06PM +0100, Martin Atzmueller wrote: > I've tested current SBCL for BUG 39, and it seems not to be present. > I looked at the code in src/compiler/x86/float.lisp and it seems that > this bug in CMUCL was introduced by some earlier "optimizations" that > have not found their way into SBCL. > The test code is attached, and it should probably be included into the > testsuite. OK, thank you. > While looking at the float-vop code, I found that CMUCL differentiates > between x86 CPU flavors, such that different code can be generated > for the Athlon and Ppro, for example. > SBCL seems to have lost the ability to test for a "backend-feature" > (I couldn't find a "backend-featurep" that CMUCL uses for that.) > Has this been moved to some other place?? Features are set in target-features.lisp-expr at build time and eventually end up in CL:*FEATURES* in the target SBCL. Once SBCL is built and running normally, it no longer makes a distinction between backend features and native features: its compiler is hardwired to produce code for itself. Earlier, when you're cross-compiling to build the system and *FEATURES* is still being used to hold the features of the cross-compilation host, what CMU CL calls "backend features" (which more or less correspond to what SBCL calls target features) are kept in *SHEBANG-FEATURES* (so named because these features correspond to *FEATURES*, but control the expansion of #!+ and #!- readmacros instead of #+ and #- readmacros). If you add code into SBCL itself, where it will be built at cross-compilation time, generally you should use #!+ and #!- tests in code in the same places where CMU CL uses #+ and #- tests. -- William Harold Newman <wil...@ai...> software consultant PGP key fingerprint 85 CE 1C BA 79 8D 51 8C B9 25 FB EE E0 C3 E5 7C |