(original) (raw)
> Still trying to get the bottom of why we're crashing with double floating point literal. It seems the fpu in question (fpv4-sp-d16) only supports 32 bit operations so this is somehow getting passed to a software wrapper and crashing there. But to be fair this was crashing in gcc too which is why we added the -fsingle-precision-constant flag since we didn't care about the precision of the constants and we're using floats everywhere anyway for performance.
Shouldn't the code generator know to make the constants 32-bit if that's all the target supports? Or does it emulate 64-bit in software?
Yes I believe it is (trying to) emulate in software. There's no requirement to have an FPU at all so this is the expected behavior.