Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 23 Jul 2020 23:56:03 +0200
From: Szabolcs Nagy <nsz@...t70.net>
To: sidneym@...eaurora.org
Cc: 'Rich Felker' <dalias@...c.org>, musl@...ts.openwall.com
Subject: Re: Hexagon DSP support

* sidneym@...eaurora.org <sidneym@...eaurora.org> [2020-07-20 16:26:58 -0500]:
> I removed fma/fmal/fmax/fmin/fabs from compiler-rt-builtins,
> https://reviews.llvm.org/D82263
> The comparison with musl can be found here:
> https://github.com/quic/musl/compare/hexagon but I've also attached the
> patch.
> 
> An assert in clang when building both musl and libc-test for hexagon was
> fixed by, https://reviews.llvm.org/D80952 prior to this change
> -frounding-math had to be used.
> 
> The test-results are also attached.  Everything is built with the
> tip-of-tree llvm so sometimes results vary but these are the results I got
> from this morning's clone.  The only notable difference in the results would
> be that both fma and fmal fail and this is because of the compiler-rt
> change.  I didn't add fma to musl because it require more complex assembly,
> along the lines you saw in an earlier version with sqrt. 


the fma and sqrt failures are still not fully explained,
e.g. this looks wrong:

src/math/special/fma.h:42: RN fma(0x1p+0,0x1p+0,-0x1p-1074) want 0x1p+0 got -0x1.fffffp-43 ulperr -4503599627370496.000 = -0x1p+52 + 0x0p+0

the only target specific bit in fma is a_clz_64 so i would
check that.

e.g. a_clz_64(1ULL << 42) should give 21
(this computation happens during the fma test case above).

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.