Merged trunk at revision 161680 into branch.
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / vararg-1.c
blob9ed9ab087d0b9d80dbd81e446d770c77163cf120
1 /* PR middle-end/36858 */
2 /* { dg-do run } */
3 /* { dg-options "-w" { target { lp64 } } } */
4 /* { dg-options "-w" { target { llp64 } } } */
5 /* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" { target { ilp32 } } } */
6 /* { dg-require-effective-target sse2 } */
8 #include "sse2-check.h"
9 #include <stdarg.h>
10 #include <emmintrin.h>
12 int
13 __attribute__((noinline))
14 test (int a, ...)
16 return a;
19 __m128 n1 = { -283.3, -23.3, 213.4, 1119.03 };
21 int
22 __attribute__((noinline))
23 foo (void)
25 return test (1, n1);
28 static void
29 __attribute__((noinline))
30 sse2_test (void)
32 if (foo () != 1)
33 abort ();