[racket-dev] assembler code within gmplonglong.h
Hi. The last days I've been reading the code within gmplonglong.h and
I've a question/request. Why there is assembler code? Why not just to
remove the assembler code and to use the C fallback for every CPU?.
These days the racket developers (and users) mostly only test their code
on amd64, specially the math code. The file doesn't contain assembler
code for amd64, so almost every one is compiling their interpreters with
the C code.
The old CPUs supported by gmplonglong.h are dead or have a modern C
compiler. I doubt the assembler code even gives a better performance to
racket than the C version.
I'm complaining because I've tried to compile racket 5.3.6 (with some
patches related to clang and gmp backported from the master branch) with
clang and the build failed. I read the code and I was stunned when I saw
the assembler code supporting so old CPUs and the C fallback used by amd64.