Enzyme
Enzyme copied to clipboard
Add support for soft float
https://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html
Adding support for mul and div would be a good start.
Runtime Function: complex float __mulsc3 (float a, float b, float c, float d)
Runtime Function: complex double __muldc3 (double a, double b, double c, double d)
Runtime Function: complex long double __multc3 (long double a, long double b, long double c, long double d)
Runtime Function: complex long double __mulxc3 (long double a, long double b, long double c, long double d)
These functions return the product of a + ib and c + id, following the rules of C99 Annex G.
Runtime Function: complex float __divsc3 (float a, float b, float c, float d)
Runtime Function: complex double __divdc3 (double a, double b, double c, double d)
Runtime Function: complex long double __divtc3 (long double a, long double b, long double c, long double d)
Runtime Function: complex long double __divxc3 (long double a, long double b, long double c, long double d)
These functions return the quotient of a + ib and c + id (i.e., (a + ib) / (c + id)), following the rules of C99 Annex G.
@tgymnich how many of these are done right now (And can we convert to a check list)?
@wsmoses all of them
If they're all done can we close?
The link contains some more functions. But we can still close this.
Can you add those functions to this issue then? It's fine to keep open but we should mark which ones need doing