blinks

"the Nintendo 64 homebrew scene has written multiple 3D APIs with different performance/usability tradeoffs"

blinks

"the Nintendo 64 homebrew scene has forked GCC to add a new ABI that benefits performance given its 64-bit CPU core and 32-bit pointers"

at this point I am about 60% certain AGI will be achieved not with venture capital money but with a libdragon fork, for the sole purpose of unlocking additional performance in Super Mario 64 or whatever
@asie okay but this ABI would be very useful even for desktop software, it's how Wasm nextpnr keeps up with the native one
U64: A Custom ABI For Nintendo 64 - HackMD

The U64 ABI is mostly O32 or EABI32, with some N32 features.

HackMD

@whitequark @asie The decision to sign-extend CSRs during restore is fascinating; I have to wonder whether the backend is engineered to deal with that properly. Compilers working with smaller-than-register integers often reason about the high bits and emit code assuming they’ll stay intact

It helps a lot that the actual address space is <<< 2GB, I’m sure, so that signedness is irrelevant to pointers, size computations, and so on