Re: Auto-vectorization speeds up multiplication of large-precision numerics - Mailing list pgsql-hackers

From Amit Khandekar
Subject Re: Auto-vectorization speeds up multiplication of large-precision numerics
Date
Msg-id CAJ3gD9ePT7NOSad=WymVvVwoNPLieT2ufddb7raaGMXyw5u89A@mail.gmail.com
Whole thread Raw
In response to Re: Auto-vectorization speeds up multiplication of large-precision numerics  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Auto-vectorization speeds up multiplication of large-precision numerics
List pgsql-hackers
On Mon, 7 Sep 2020 at 11:23, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
> I wrote:
> > I made some cosmetic changes to this and committed it.

Thanks!

>
> BTW, poking at this further, it seems that the patch only really
> works for gcc.  clang accepts the -ftree-vectorize switch, but
> looking at the generated asm shows that it does nothing useful.
> Which is odd, because clang does do loop vectorization.
>
> I tried adding -Rpass-analysis=loop-vectorize and got
>
> numeric.c:8341:3: remark: loop not vectorized: could not determine number of loop iterations
[-Rpass-analysis=loop-vectorize]
>                 for (i2 = 0; i2 <= i; i2++)

Hmm, yeah that's unfortunate. My guess is that the compiler would do
vectorization only if 'i' is a constant, which is not true for our
case.

-- 
Thanks,
-Amit Khandekar
Huawei Technologies



pgsql-hackers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: PATCH: logical_work_mem and logical streaming of large in-progress transactions
Next
From: "Andrey M. Borodin"
Date:
Subject: Re: Yet another fast GiST build (typo)