https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106831
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> --- I guess disabling them at least for now could be fine. If somebody involved with dfp wants to extend it for dfp, it can be done incrementally. BTW, thinking further about the singletons, I wonder if MODE_COMPOSITE_P don't have similar problems. For the case where the values are exactly equal to their MSB (i.e. the __ibm128 value is equal to that value cast to double and back), then the low part can be either +0.0 or -0.0. Ditto for +Inf and -Inf. So there can be quite a few non-singleton values. libgcc/config/rs6000/ibm-ldouble-format describes it.