summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/compat/vector-1b_main.c
blob: fb5a5a93d792f9a1dd114e82aab67aa51f520933 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/* { dg-skip-if "test AVX vector" { ! { i?86-*-* x86_64-*-* } } } */
/* { dg-require-effective-target avx } */

/* Test compatibility of vector types: layout between separately-compiled
   modules, parameter passing, and function return.  This test uses
   vectors of integer values.  */

#include "cpuid.h"

extern void vector_1_x (void);
extern void exit (int);
int fails;

int
main ()
{
  unsigned int eax, ebx, ecx, edx;

  if (!__get_cpuid (1, &eax, &ebx, &ecx, &edx))
    return 0;

  /* Run AVX vector test only if host has AVX support.  */
  if (ecx & bit_AVX)
    vector_1_x ();

  exit (0);
}