https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96958
Bug ID: 96958 Summary: Long Double in Hash Table policy forces soft-float calculations Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: jgreenhalgh at gcc dot gnu.org Target Milestone: --- It was pointed out that some forks of GCC ( https://github.com/FEX-Emu/gcc/commit/8a2b7389f50a50a4e26ec98101d47fb1fc1c1bcd ) reduce the hashtable policy implementation from a long double to a double. Doing this reduces it from a soft-float calculation to hardware floating-point. Reading the discussion on libstdc++ from when this code was introduced the intention was to provide massive amounts of forwards compatibility for Very Big hash tables. We're taking quite an efficiency hit for that future proofing.