예제 #1
0
파일: pr78419.c 프로젝트: WojciechMigda/gcc
/* PR middle-end/78419 */
/* { dg-do compile } */

static double bar (double *__restrict, double *__restrict, int)
__attribute__ ((target_clones("avx,foo,avx2,avx512f,default")));

double
foo (double *__restrict a, double *__restrict b, int n)
{
  return bar (a,b,n);
}

double
bar (double *__restrict a, double *__restrict b, int n)	/* { dg-error "attribute\[^\n\r]*foo\[^\n\r]* is unknown" } */
{
  double s;
  int i;
  s = 0.0;
  for (i=0; i<n; i++)
    s += a[i] + b[i];

  return s;
}
예제 #2
0
파일: mvc2.c 프로젝트: 0day-ci/gcc
/* { dg-do compile } */

__attribute__((target_clones("avx","arch=slm","arch=core-avx2")))
int foo ();
예제 #3
0
/* PR ipa/84722.  */
/* { dg-do run } */
/* { dg-require-ifunc "" } */

__attribute__ ((target_clones ("avx", "arch=core-avx2", "default"))) int
foo (int i)
{
  return i - 1;
}
int weaks (int i) __attribute__ ((weak, alias ("foo")));

int
main (int argc, char **argv)
{
  return weaks (argc);
}