If hardware lacks basic or specialized functionality, compiler-rt adds such functionality. One such example is 64-bit integer multiplication on 32-bit x86.
Open question about scope (tracking libgcc):
- Integer library routines => implemented
- Soft float library routines => mostly implemented
- Decimal float library routines => ~120 functions
- Fixed-point fractional library routines => ~300 functions
- Exception handling routines? => 32 functions not including undocumented ones
- Miscellaneous routines => cache control and stack function