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)?

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


--
WBR,
Andrew

Reply via email to