[email protected] schrieb am 2021-11-07: > > Dear Felix, > > > > Thank you for the patch. I built the current git head with your patch. > > After importing chicken.flonum, I get the following error when calling fp*+: > >
> I'm terribly sorry. I'm an ass, I didn't even test it in the interpreter. > Please > find attached a revised patch. > felix Dear felix, the latest patch works. I extended my test code and here are the results: without -C -mfma: csc -O5 -d0 -C -O3 fma-test.scm && ./fma-test 7.998s CPU time, 0/225861 GCs (major/minor), maximum live heap: 30.78 MiB 10.104s CPU time, 0/256410 GCs (major/minor), maximum live heap: 30.78 MiB 10.69s CPU time, 0/311364 GCs (major/minor), maximum live heap: 30.78 MiB with -C -mfma: csc -O5 -d0 -C -O3 -C -mfma fma-test.scm && ./fma-test 7.697s CPU time, 0/238095 GCs (major/minor), maximum live heap: 30.78 MiB 9.135s CPU time, 0/262467 GCs (major/minor), maximum live heap: 30.78 MiB 11.008s CPU time, 0/317460 GCs (major/minor), maximum live heap: 30.78 MiB It seems the number of GCs is a lot higher than for fp*/fp+ or c99-fma with or without fma compiler flag. So currently, there seems to be no benefit integrating c99's fma as fp*+ besides a slightly better rounding error. At least for me, this comes unexpected. Thank you for providing the patch. If you want to test something in this regard in the future, I am happy to test further patches. Cheers Christian
