https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78879
Jeffrey A. Law <law at redhat dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #12 from Jeffrey A. Law <law at redhat dot com> --- b_c_p with two distinct constant values returns 0. You're missing the fundamental point. Changing the order is just working around the core problem in that there are paths where b_c_p may return 0 and thus you must issue the call to ilog_NaN, which is not provided. This is a linux kernel bug, not a bug in GCC.