zig/std/special/compiler_rt
Andrew Kelley a0c564d762 zig fmt
2018-07-09 01:23:47 -04:00
..
aulldiv.zig
aullrem.zig
comparetf2.zig Clean up outstanding compiler_rt todos 2018-07-03 13:22:12 +12:00
divti3_test.zig
divti3.zig
extendXfYf2_test.zig zig fmt 2018-07-09 01:23:47 -04:00
extendXfYf2.zig
fixuint.zig Clean up outstanding compiler_rt todos 2018-07-03 13:22:12 +12:00
fixunsdfdi_test.zig
fixunsdfdi.zig
fixunsdfsi_test.zig
fixunsdfsi.zig
fixunsdfti_test.zig
fixunsdfti.zig
fixunssfdi_test.zig
fixunssfdi.zig
fixunssfsi_test.zig
fixunssfsi.zig
fixunssfti_test.zig
fixunssfti.zig
fixunstfdi_test.zig Clean up outstanding compiler_rt todos 2018-07-03 13:22:12 +12:00
fixunstfdi.zig
fixunstfsi_test.zig Clean up outstanding compiler_rt todos 2018-07-03 13:22:12 +12:00
fixunstfsi.zig
fixunstfti_test.zig
fixunstfti.zig
floattidf_test.zig compiler_rt: Add floattitf/floattidf/floattisf 2018-06-30 21:58:59 +12:00
floattidf.zig compiler_rt: Remove wrapping add/sub operators where unneeded 2018-06-30 21:58:59 +12:00
floattisf_test.zig compiler_rt: Add floattitf/floattidf/floattisf 2018-06-30 21:58:59 +12:00
floattisf.zig compiler_rt: Remove wrapping add/sub operators where unneeded 2018-06-30 21:58:59 +12:00
floattitf_test.zig compiler_rt: Add floattitf/floattidf/floattisf 2018-06-30 21:58:59 +12:00
floattitf.zig compiler_rt: Remove wrapping add/sub operators where unneeded 2018-06-30 21:58:59 +12:00
floatunditf_test.zig
floatunditf.zig Alignment fix and allow rudimentary f128 float printing 2018-06-30 21:58:59 +12:00
floatunsitf_test.zig
floatunsitf.zig Clean up outstanding compiler_rt todos 2018-07-03 13:22:12 +12:00
floatuntidf_test.zig
floatuntidf.zig compiler_rt: Remove wrapping add/sub operators where unneeded 2018-06-30 21:58:59 +12:00
floatuntisf_test.zig
floatuntisf.zig compiler_rt: Remove wrapping add/sub operators where unneeded 2018-06-30 21:58:59 +12:00
floatuntitf_test.zig compiler_rt: Add floatuntitf 2018-06-30 21:58:59 +12:00
floatuntitf.zig compiler_rt: Remove wrapping add/sub operators where unneeded 2018-06-30 21:58:59 +12:00
index.zig compiler_rt: Add floattitf/floattidf/floattisf 2018-06-30 21:58:59 +12:00
muloti4_test.zig
muloti4.zig
README.md
truncXfYf2_test.zig
truncXfYf2.zig
udivmod.zig
udivmoddi4_test.zig
udivmoddi4.zig
udivmodti4_test.zig
udivmodti4.zig
udivti3.zig
umodti3.zig

This compiler-rt library is ported from LLVM.

It's needed because LLVM emits library calls to compiler-rt when hardware lacks functionality, for example, 64-bit integer multiplication on 32-bit x86.

This library is automatically built as-needed for the compilation target and then statically linked and therefore is a transparent dependency for the programmer.

Any bugs should be solved by trying to duplicate the bug upstream.

  • If the bug exists upstream, get it fixed with the LLVM team and then port the fix downstream to Zig.
  • If the bug only exists in Zig, something went wrong porting the code, and you can run the C code and Zig code side by side in a debugger to figure out what's happening differently.