https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84251
--- Comment #5 from Uroš Bizjak <ubizjak at gmail dot com> --- (In reply to Jakub Jelinek from comment #2) > This changed with r254167. Please see PR 82692, comment #4. We need UNSPECs as an alternative to CCFPUmode to prevent combine from changing CCFPUmode to CCFPmode. It looks that this UNSPEC prevents cse1 pass from performing some optimizations involving COMPARE RTXes. So, until combine is fixed or whatever, using UNSPECs is the only way to reliably generate exceptions with NaN arguments.