diff options
author | Jakub Jelinek <jakub@redhat.com> | 2010-11-15 23:31:47 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2010-11-15 23:31:47 +0100 |
commit | 567b99c86ed9aa49d20979160613d735555e81f4 (patch) | |
tree | c16d1988a30f0cf7d0b8af94b59218433855d7eb | |
parent | 7a4f257ddd7903fd2553d92a4e6539d8fa6a67e5 (diff) | |
download | gcc-567b99c86ed9aa49d20979160613d735555e81f4.zip gcc-567b99c86ed9aa49d20979160613d735555e81f4.tar.gz gcc-567b99c86ed9aa49d20979160613d735555e81f4.tar.bz2 |
re PR tree-optimization/46491 (ipa-pure-const.c miscompilation)
PR tree-optimization/46491
* gcc.target/i386/pr46491.c: New test.
From-SVN: r166777
-rw-r--r-- | gcc/testsuite/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr46491.c | 22 |
2 files changed, 25 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index aeaf08b..82413bd 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,8 @@ 2010-11-15 Jakub Jelinek <jakub@redhat.com> + PR tree-optimization/46491 + * gcc.target/i386/pr46491.c: New test. + PR tree-optimization/46461 * gcc.c-torture/compile/pr46461.c: New test. diff --git a/gcc/testsuite/gcc.target/i386/pr46491.c b/gcc/testsuite/gcc.target/i386/pr46491.c new file mode 100644 index 0000000..82f704c --- /dev/null +++ b/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; +} |