aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.8/gcc/testsuite/gcc.target/i386/pr46491.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.8/gcc/testsuite/gcc.target/i386/pr46491.c')
-rw-r--r--gcc-4.8/gcc/testsuite/gcc.target/i386/pr46491.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc-4.8/gcc/testsuite/gcc.target/i386/pr46491.c b/gcc-4.8/gcc/testsuite/gcc.target/i386/pr46491.c
new file mode 100644
index 000000000..82f704c26
--- /dev/null
+++ b/gcc-4.8/gcc/testsuite/gcc.target/i386/pr46491.c
@@ -0,0 +1,22 @@
+/* PR tree-optimization/46491 */
+/* { dg-do run } */
+/* { dg-options "-O2" } */
+
+extern void abort (void);
+
+__attribute__((noinline)) int
+foo (int *p)
+{
+ int r;
+ asm ("movl $6, (%1)\n\txorl %0, %0" : "=r" (r) : "r" (p) : "memory");
+ return r;
+}
+
+int
+main (void)
+{
+ int p = 8;
+ if ((foo (&p) ? : p) != 6)
+ abort ();
+ return 0;
+}