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