reload.c:operands_match_p does not do big endian adjustment for floating point operands. Hence, when you have a pattern that needs such a match, you get an ICE saying that the insn does not match its constraints.
-- Summary: Can't match differently sized floating point operands for big endian target Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: amylaar at gcc dot gnu dot org OtherBugsDependingO 29842,29845 nThis: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29847