Hi, the g++.dg/tree-ssa/pr61034.C has turned out to be sensitive to PUSH_ARGS settings so fixing it on PPC64 caused x86_64 to regress. This patch introduce temporary so the code is consistent between PPC64 and x86_64.
Comitted after ICR dicussion with Richard. Honza Index: ChangeLog =================================================================== --- ChangeLog (revision 222526) +++ ChangeLog (working copy) @@ -1,3 +1,7 @@ +2015-04-28 Jan Hubicka <hubi...@ucw.cz> + + * g++.dg/tree-ssa/pr61034.C: Add temporary; fix template. + 2015-04-28 Marek Polacek <pola...@redhat.com> PR c/65901 Index: g++.dg/tree-ssa/pr61034.C =================================================================== --- g++.dg/tree-ssa/pr61034.C (revision 222526) +++ g++.dg/tree-ssa/pr61034.C (working copy) @@ -34,7 +34,8 @@ inline I operator- (I a, I const&b) { re inline bool operator< (I const&a, I const&b) { return a.o->num < b.o->num; } bool f(I a, I b, I c, I d) { - return (a * d - b * c) * (a * b - c * d) < 42; + I tmp = (a * d - b * c) * (a * b - c * d); + return tmp < 42; } // We should be able to CSE most references to count and thus remove