From: | Amit Khandekar <amitdkhan(dot)pg(at)gmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Auto-vectorization speeds up multiplication of large-precision numerics |
Date: | 2020-09-07 07:10:49 |
Message-ID: | CAJ3gD9ePT7NOSad=WymVvVwoNPLieT2ufddb7raaGMXyw5u89A@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Mon, 7 Sep 2020 at 11:23, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Andrey M. Borodin | 2020-09-07 07:14:35 | Re: Yet another fast GiST build (typo) |
Previous Message | Michael Paquier | 2020-09-07 06:58:58 | Re: Online checksums verification in the backend |