summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/i386/pr48237.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.target/i386/pr48237.c')
-rw-r--r--gcc/testsuite/gcc.target/i386/pr48237.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/i386/pr48237.c b/gcc/testsuite/gcc.target/i386/pr48237.c
new file mode 100644
index 00000000000..e20446eab04
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr48237.c
@@ -0,0 +1,22 @@
+/* { dg-do compile } */
+/* { dg-options "-O -fcaller-saves -fschedule-insns2 -fselective-scheduling2 -mtune=core2" } */
+
+union double_union
+{
+ double d;
+ int i[2];
+};
+
+void bar (int, ...);
+
+void
+foo (double d)
+{
+ union double_union du = { d };
+ while (1)
+ {
+ du.i[1] -= 0x100000L;
+ bar (0, du.d);
+ du.d += d;
+ }
+}