EnzymeAD/Enzyme

Add support for soft float

Open

#567 opened on Mar 15, 2022

View on GitHub
 (5 comments) (0 reactions) (0 assignees)LLVM (165 forks)github user discovery
good first issue

Repository metrics

Stars
 (1,613 stars)
PR merge metrics
 (Avg merge 3d 2h) (49 merged PRs in 30d)

Description

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.

Contributor guide