Sorry for the delay !
Am 24.06.21 um 13:19 schrieb clipka:
> Can you please double-check whether these problems are specific to the
> Unix source package (povunix-v3.8.0-beta.668.tar.gz), or whether they
> also occur when building form the "raw" repository source
Yes I can confirm the behavior for clang-10,clang-11 and clang-12.
> Yes - and that is very much deliberate. When AMD provided us with the
> AVX/FMA4 optimized code back in mid-2017, they also did some thorough
> performance testing on a very diverse farm of ~20 AMD and ~25 Intel
> machines, and ended up strongly recommending to specifically *NOT* use
> the AVX2/FMA3 optimized code (which had been provided by Intel years
> earlier) on AMD processors, but rather give preference to the portable
> code, in a variant compiler-optimized for AVX.
The real background was probably a bug in the FMA3 implementation of the
first Ryzen .
The Ryzen was the first processor from AMD to support FMA3. And FMA4 is
not officially supported via the CPU flags.
>> bool CPUInfo::IsIntel()
>> return gpData->cpuidInfo.vendorId == kCPUVendor_Intel|| kCPUVendor_AMD;
> Um... no, that would be broken on multiple levels. For starters, it
> fails to do what you probably intend it to do (it actually makes the
> function always return `true`, even if the vendor is neither Intel nor
Post a reply to this message