Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Page Properties


Development

Status
colourGreen
titleCOMPLETE


Development Timeline1H2024
Upstreaming

Status
colourYellow
titleNOT STARTED


Upstream Version

gcc-15 (target)

(spring 2025)




Contacts

Jeff Law (Ventana)


Dependencies

None




Updates

 

  • Simple tests using this code to detect a CRC loop that is compatible with the x86 crc32 instruction and generating the crc32 instruction for such loops show using the crc32 instruction is at least 5X faster than a loop.
  • Currently investigating generating aarch64 clmul as there is a bit time to do this as a proof of concept before focusing on the upstreaming effort.

  • It had been speculated that this work could generate a "crc" instruction on suitable ISAs if a loop with the right field polynomial were encountered.  This has been implemented as a proof of concept on x86
  • It has also been speculated that this work could be used to detect clmul idioms outside of a CRC loop.  This appears to work by relaxing various aspects of the CRC loop verifier.  It is not an area of focus though.
  • Minor bugs have been fixed in the implementation as it is prepared for upstreaming.  Goal is still integration for gcc-15 in the late spring.

...