[Bug middle-end/126774] New: wi::bitreverse/wi::bswap should use __builtin_* if supported and precision is known at compile time.
kaelfandrew at gmail dot com via Gcc-bugs <[email protected]>
| Newsgroups | gmane.comp.gcc.bugs |
|---|---|
| Message-ID | <[email protected]/bugzilla/> |
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126774
Bug ID: 126774
Summary: wi::bitreverse/wi::bswap should use __builtin_* if
supported and precision is known at compile time.
Product: gcc
Version: 17.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: kaelfandrew at gmail dot com
Target Milestone: ---
GCC does not optimize wi::bitreverse_large/wi::bswap_large to use
__builtin_bswap/__builtin_bitreverse if precision is known.
Use STAGE0_CXX_HAS_BUILTIN(bitreverse8) to detect if compiler
supports __builtin_bitreverse8.