double a,b,c,d,e,f; // int a,b,c,d,e,f; void foo() { e = b*c/d; f = b/d*a; }
Compile with -O3 -ffast-math, b/d should be CSEed. -- Summary: missing CSE of division (lack of reassociation) Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: xinliangli at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35289