According to table 4-7 in chapter 4, Vol 1 of IA32/Inte64 SDM, x86 FP add and multiply aren't commutative with Qnan/Snan inputs. But we have
DEF_RTL_EXPR(PLUS, "plus", "ee", RTX_COMM_ARITH) DEF_RTL_EXPR(MULT, "mult", "ee", RTX_COMM_ARITH) That impacts x86 FP plus and mult patterns. Should we introduce a new target option to disable x86 commutative FP plus and mult? -- Summary: X86 FP add and multiply aren't commutative Product: gcc Version: 4.5.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hjl dot tools at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45365