------- Comment #5 from schwab at suse dot de 2008-09-16 21:00 -------
Reverting this change in commutative_operand_precedence fixes the testcase:
case RTX_OBJ:
/* Complex expressions should be the first, so decrease priority
- of objects. */
- return -1;
+ of objects. Prefer pointer objects over non pointer objects. */
+ if ((REG_P (op) && REG_POINTER (op))
+ || (MEM_P (op) && MEM_POINTER (op)))
+ return -1;
+ return -2;
case RTX_COMM_ARITH:
/* Prefer operands that are themselves commutative to be first.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37053