For this function: int test (int a, int b, int c, int g) { int d, e; if (a) d = b * c; else d = b - c; e = b * c + g; return d + e; }
the multiply expression is moved to both branches of the "if", it would be better to move it before the "if". Intel's compiler does that. -- Summary: PRE for post dominating expressions Product: gcc Version: 4.3.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dann at godzilla dot ics dot uci dot edu GCC host triplet: i386-pc-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38204