volatile and defining
long double to match
For the __builtin_xxx issues, one option is to write regular functions in assembly that use an efficient implementation, and link those to all the executables created.
When speed is critical QBE instructions could be added but, as much as possible, QBE's instruction selection should be improved (for e.g., rol ror).
Sent a whole bunch of patches to various packages, but this is now done.
Still need to sort out
volatile, but the workarounds are fine for now.