aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.apple/4113078.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.apple/4113078.c')
-rw-r--r--gcc/testsuite/gcc.apple/4113078.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.apple/4113078.c b/gcc/testsuite/gcc.apple/4113078.c
new file mode 100644
index 00000000000..37ff9d76948
--- /dev/null
+++ b/gcc/testsuite/gcc.apple/4113078.c
@@ -0,0 +1,17 @@
+/* APPLE LOCAL file 4113078 */
+/* Check that stack alignment is correct when callee inlined function uses
+ a vector and caller does not. */
+/* { dg-do compile { target i?86-*-darwin* } } */
+/* { dg-options "-O2 -msse3 -march=pentium4 -march=prescott" } */
+#include <xmmintrin.h>
+extern void bar(__m128i*);
+__m128i *global;
+static void vfunc(void) {
+ volatile __m128i xone = _mm_cvtsi32_si128(0x00010001);
+ global = (__m128i*)&xone;
+}
+void baz() {
+ int x;
+ vfunc();
+}
+/* { dg-final { scan-assembler "\\-24\\(\\%ebp\\)" } } */