1 /* This testcase generates MMX instructions together with x87 instructions.
2 Currently, there is no "emms" generated to switch between register sets,
3 so the testcase fails for targets where MMX insns are enabled. */
4 /* { dg-options "-mno-mmx -Wno-psabi" { target { x86_64-*-* i?86-*-* } } } */
6 extern void abort (void);
8 typedef int V2SI
__attribute__ ((vector_size (8)));
9 typedef unsigned int V2USI
__attribute__ ((vector_size (8)));
10 typedef float V2SF
__attribute__ ((vector_size (8)));
11 typedef short V2HI
__attribute__ ((vector_size (4)));
12 typedef unsigned int V2UHI
__attribute__ ((vector_size (4)));
17 return (long long) (V2SI
) x
;
29 return (long long) (V2SF
) x
;
35 if (sizeof (short) != 2 || sizeof (int) != 4 || sizeof (long long) != 8)
38 V2SF x
= { 2.0, 2.0 };
39 union { long long l
; float f
[2]; int i
[2]; } u
;
41 if (u
.f
[0] != 2.0 || u
.f
[1] != 2.0)
44 V2SF y
= { 6.0, 6.0 };
46 if (u
.f
[0] != 6.0 || u
.f
[1] != 6.0)
51 if (u
.i
[0] != 4 || u
.i
[1] != 4)