cakeml icon indicating copy to clipboard operation
cakeml copied to clipboard

Add arm64 target to bootstrap compilation and disable x86 and ag32

Open oskarabrahamsson opened this issue 3 years ago • 1 comments

Currently, the only targets enabled in bootstrap compilation are:

  • ag32
  • the 32-bit x86 target
  • the 64-bit x86 target (x86-64)

It would be nice to also enable the arm64 target (arm8): it could run on arm64 Linux, and it will be needed to support modern Apple mac's in the future (which we intend to do).

At the same time, I think we should focus the bootstrap compilation on running only useful targets, since it takes a long time (and lots of energy). I suspect the 32-bit x86 target is probably not used by anyone, and I know for a fact that very few people have access to ag32 hardware. Most other targets supported by the backend are not run in the bootstrap compilation, so running these two 32-bit targets seems a bit arbitrary.

oskarabrahamsson avatar Oct 16 '22 14:10 oskarabrahamsson

The problem with disabling any of these is that they'll stop working at some point and will be very hard to fix. I would support adding more targets though.

Separately I think it's prudent to include at least one 32 bit architecture since that probably exercises a lot of different code than the 64 bit ones.

xrchz avatar Oct 16 '22 15:10 xrchz

Bootstrapping many targets has recently become much faster. I think this issue should be closed by #1022.

oskarabrahamsson avatar Jul 25 '24 14:07 oskarabrahamsson

Closed by #1022.

oskarabrahamsson avatar Jul 26 '24 08:07 oskarabrahamsson