https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108415
--- Comment #2 from Kewen Lin <linkw at gcc dot gnu.org> --- (In reply to Segher Boessenkool from comment #1) > Soft float does not conflict with anything (anything that does not need > FP registers that is). But yes, we really should neuter -mmodulo. The contradictory thing is that we can have TARGET_VSX and TARGET_SOFT_FLOAT (!TARGET_HARD_FLOAT) together with the proposed option combination. :) I agree that we should neuter -mmodulo, but note that this ICE isn't -mmodulo specific. With some more testings on those flags which the proposed patch (as field URL) tries to take care of, the ICE can be reproduced with any one of below: -mcpu=401 -m64 -mmodulo -mcpu=401 -m64 -mpower9-vector -mcpu=401 -m64 -mpower9-misc -mcpu=401 -m64 -mpower8-vector -mcpu=401 -m64 -mcrypto For -mcpu=401 -m64 -mpower9-minmax, it has the below error instead of ICE: f951: Error: power9 target option is incompatible with ‘-mcpu=<xxx>’ for <xxx> less than power9