https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114732
--- Comment #2 from Segher Boessenkool <segher at gcc dot gnu.org> --- The fourth CR bit for BCD insns does not mean "unordered", it means "invalid or overflow". It behaves exactly as unordered though, except that it can signal overflow as well as one of the lt gt eq conditions at the same time (so 1100, 1010, 1001 are valid bit settings from it). This part makes CCFP not ideal, but the codegen as shown here is correct nevertheless.