------- Comment #1 from carrot at google dot com 2010-05-12 02:22 ------- It turns out that my original test case matches a conditional move pattern. It shows another opportunity.
The following code demonstrates a simple compare and branch case void foo1(); void bar5(int x) { if (x == -1) foo1(); } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44072