https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126625
--- Comment #4 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Kael Andrew Franco <[email protected]>: https://gcc.gnu.org/g:c73b71d6bc7e106714bec94d13f877c6027d9531 commit r17-3165-gc73b71d6bc7e106714bec94d13f877c6027d9531 Author: Kael Andrew Alonzo Franco <[email protected]> Date: Sat Aug 8 21:59:24 2026 -0400 middle-end: If supported, use __builtin_*. [PR126625] hwint.cc reflect_hwi uses a naive for loop approach to emulate __builtin_bitreverse64 (). This is slow compared to using __builtin_bitreverse64 () plus bitshift. This is useful for bootstrapping GCC since r17-523. Also add assert on BITWIDTH <= 64. For reflect_hwi and ira-color.cc, add STAGE0_CXX_HAS_BUILTIN in system.h to test for specific builtins. Bootstrapped and regtested on x86_64-pc-linux-gnu. PR middle-end/126625 gcc/ChangeLog: * hwint.cc (reflect_hwi): Use STAGE0_CXX_HAS_BUILTIN for __builtin_bitreverse64. * ira-color.cc (HAS_SMUL_OVERFLOW): Remove and use STAGE0_CXX_HAS_BUILTIN instead. * system.h (STAGE0_CXX_HAS_BUILTIN): New macro. Signed-off-by: Kael Andrew Franco <[email protected]>
