Tested on x86_64-unknown-linux-gnu, applied to trunk and branches. Richard.
2014-07-28 Richard Biener <rguent...@suse.de> PR rtl-optimization/61801 * gcc.target/i386/pr61801.c: New testcase. Index: gcc/testsuite/gcc.target/i386/pr61801.c =================================================================== --- gcc/testsuite/gcc.target/i386/pr61801.c (revision 0) +++ gcc/testsuite/gcc.target/i386/pr61801.c (working copy) @@ -0,0 +1,22 @@ +/* { dg-do compile } */ +/* { dg-options "-Os -fcompare-debug" } */ + +int a, b, c; +void fn1 () +{ + int d; + if (fn2 () && !0) + { + b = ( + { + int e; + fn3 (); + switch (0) + default: + asm volatile("" : "=a"(e) : "0"(a), ""(0)); + e; + }); + d = b; + } + c = d; +}