On Monday, 22 August 2016 at 18:19:52 UTC, Engine Machine wrote:
On Monday, 22 August 2016 at 05:02:41 UTC, jkpl wrote:
On Monday, 22 August 2016 at 04:52:40 UTC, Cauterite wrote:
[...]

That's a 32 bit codegen issue then because DMD64 's disasm shows that SSE regs are used:
x86 give 7FF and x64 gives 7FB in win.

You can hack the ABI this way:

    void loadInScratchReg(float[1] f...) {}

and pass a single float value.
However when you'll start to use the param (f[0]), loading in ST(0) will happen so you must write in iasm. (Not to mention an aggressive optimizer that would be able, I think, to replace the param type if no iasm is present).

example, usage of a tagged union to perform a safe bit cast:

https://github.com/BBasile/iz/blob/master/import/iz/sugar.d#L1176

Not tested yet...

Reply via email to