recent KahanSum change causes a new test failure on ppc64le
Stephan Bergmann
sbergman at redhat.com
Wed Sep 13 18:46:20 UTC 2023
On 9/13/23 13:58, Eike Rathke wrote:
> On Wednesday, 2023-09-13 13:45:36 +0200, Dan Horák wrote:
>>> It would be worth a try to simply call executeFast() only if SC_USE_SSE2
>>> is defined, so the failing platforms skip executeUnrolled(), here
>>> https://opengrok.libreoffice.org/xref/core/sc/inc/arraysumfunctor.hxx?r=7f15354c#89
>>>
>>> Please report back if that helps and I'll prepare another patch.
>>
>> I hop I got your idea right and with
>>
>> diff --git a/sc/inc/arraysumfunctor.hxx b/sc/inc/arraysumfunctor.hxx
>> index c261c120addf..d9a5b805db50 100644
>> --- a/sc/inc/arraysumfunctor.hxx
>> +++ b/sc/inc/arraysumfunctor.hxx
>> @@ -86,7 +86,11 @@ inline KahanSum sumArray(const double* pArray, size_t nSize)
>> {
>> size_t i = 0;
>> const double* pCurrent = pArray;
>> +#if 0
>> KahanSum fSum = executeFast(i, nSize, pCurrent);
>> +#else
>> + KahanSum fSum = 0.0;
>> +#endif
>>
>> // sum rest of the array
>> for (; i < nSize; ++i)
>>
>> the test passed on aarch64 on master branch (no reverts or such)
>
> Yup, such I meant. Thanks for confirming.
But my
> diff --git a/sc/inc/arraysumfunctor.hxx b/sc/inc/arraysumfunctor.hxx
> index c261c120addf..79204622942f 100644
> --- a/sc/inc/arraysumfunctor.hxx
> +++ b/sc/inc/arraysumfunctor.hxx
> @@ -85,8 +85,12 @@ static inline KahanSum executeFast(size_t& i, size_t nSize, const double* pCurre
> inline KahanSum sumArray(const double* pArray, size_t nSize)
> {
> size_t i = 0;
> +#if defined SC_USE_SSE2
> const double* pCurrent = pArray;
> KahanSum fSum = executeFast(i, nSize, pCurrent);
> +#else
> + KahanSum fSum;
> +#endif
>
> // sum rest of the array
> for (; i < nSize; ++i)
still failed for aarch64 at
<https://buildbot.flathub.org/#/builders/9/builds/5816>.
More information about the LibreOffice
mailing list