summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/compat/union-m128-1_main.c
blob: 11f872154eba28386f4c7c4e6c5ee463f96243e2 (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
/* { dg-skip-if "test SSE2 support" { ! { i?86-*-* x86_64-*-* } } } */
/* { dg-options "-O" } */

#include "cpuid.h"

/* Test function argument passing.  PR target/15301.  */

extern void union_m128_1_x (void);
extern void exit (int);

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

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

  /* Run SSE vector test only if host has SSE2 support.  */
  if (edx & bit_SSE2)
    union_m128_1_x ();

  exit (0);
}