reload_cse_simplify_operandss likes to change (compare REG (const_int 0)) to a compare between registers on VAX, when it has a register at hand whose value is zero. This pessimizes code and in some cases even introduces spurious compares instead of using CC0.
/* -Os */ f(int count,double r,double *rho) { int i, j, miny, maxy, hy; float help, d; for (hy = miny; hy<= maxy; hy++) while(j >=0) if ( d <= r) abort (); } -- Summary: [cond-optab] reload_cse_simplify_operands complicates code on vax Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: bonzini at gnu dot org OtherBugsDependingO 39714 nThis: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39724