[RFC] Formation of vector function name

Andrew Pinski pinskia@gmail.com
Mon Jun 15 23:46:00 GMT 2015


On Mon, Jun 15, 2015 at 9:06 AM, Andrew Senkevich
<andrew.n.senkevich@gmail.com> wrote:
> Hi,
>
> compilation with options -fopenmp -ffast-math -O1 -msse4
>
> of the test
>
> #pragma omp declare simd notinbranch simdlen(2)
> extern double log (double);
>
> int N = 3200;
> double b[3200];
> double a[3200];
>
> int main (void)
> {
>   int i;
>
> #pragma omp simd
>   for (i = 0; i < N; i += 1)
>   {
>     b[i] = log (a[i]);
>   }
>
>   return (0);
> }
>
> results in asm redirection for log to __log_finite and final vector
> function name becomes _ZGVbN2v___log_finite.
>
> With point of view from C Library side, it reflects in addition of asm
> redirections _ZGVbN2v___log_finite = _ZGVbN2v_log in the headers.
>
> May be the cleaner way is to base vector name on original name of
> declaration, not asm declaration name (use DECL_NAME instead of
> DECL_ASSEMBLER_NAME)?


I don't think this would be useful really because if you have a
function say logl where you have two options of long double, you want
to support both you would name one logl and the other logl128 and then
using DECL_ASSEMBLER_NAME to from the SIMD name would be useful to use
the one with logl128 in it rather than logl.

Thanks,
Andrew Pinski

>
> According libc-alpha thread is
> https://sourceware.org/ml/libc-alpha/2015-06/msg00213.html
>
>
> --
> WBR,
> Andrew



More information about the Gcc mailing list