zig/lib/std/special/compiler_rt
2020-10-17 14:09:59 +02:00
..
addXf3.zig Make std.meta.Int accept a signedness parameter 2020-10-17 14:09:59 +02:00
addXf3_test.zig
arm.zig
ashldi3_test.zig
ashlti3_test.zig
ashrdi3_test.zig
ashrti3_test.zig
atomics.zig
aulldiv.zig
aullrem.zig
clear_cache.zig
clzsi2.zig
clzsi2_test.zig
comparedf2_test.zig
comparesf2_test.zig
compareXf2.zig Make std.meta.Int accept a signedness parameter 2020-10-17 14:09:59 +02:00
divdf3.zig Make std.meta.Int accept a signedness parameter 2020-10-17 14:09:59 +02:00
divdf3_test.zig
divsf3.zig Make std.meta.Int accept a signedness parameter 2020-10-17 14:09:59 +02:00
divsf3_test.zig
divtf3.zig Make std.meta.Int accept a signedness parameter 2020-10-17 14:09:59 +02:00
divtf3_test.zig
divti3.zig
divti3_test.zig
extendXfYf2.zig Make std.meta.Int accept a signedness parameter 2020-10-17 14:09:59 +02:00
extendXfYf2_test.zig
fixdfdi.zig
fixdfdi_test.zig
fixdfsi.zig
fixdfsi_test.zig
fixdfti.zig
fixdfti_test.zig
fixint.zig Make std.meta.Int accept a signedness parameter 2020-10-17 14:09:59 +02:00
fixint_test.zig
fixsfdi.zig
fixsfdi_test.zig
fixsfsi.zig
fixsfsi_test.zig
fixsfti.zig
fixsfti_test.zig
fixtfdi.zig
fixtfdi_test.zig
fixtfsi.zig
fixtfsi_test.zig
fixtfti.zig
fixtfti_test.zig
fixuint.zig Make std.meta.Int accept a signedness parameter 2020-10-17 14:09:59 +02:00
fixunsdfdi.zig
fixunsdfdi_test.zig
fixunsdfsi.zig
fixunsdfsi_test.zig
fixunsdfti.zig
fixunsdfti_test.zig
fixunssfdi.zig
fixunssfdi_test.zig
fixunssfsi.zig
fixunssfsi_test.zig
fixunssfti.zig
fixunssfti_test.zig
fixunstfdi.zig
fixunstfdi_test.zig
fixunstfsi.zig
fixunstfsi_test.zig
fixunstfti.zig
fixunstfti_test.zig
floatdidf.zig
floatdidf_test.zig
floatdisf_test.zig
floatditf.zig
floatditf_test.zig
floatsiXf.zig Make std.meta.Int accept a signedness parameter 2020-10-17 14:09:59 +02:00
floattidf.zig
floattidf_test.zig
floattisf_test.zig
floattitf.zig
floattitf_test.zig
floatundidf.zig
floatundidf_test.zig
floatundisf.zig
floatunditf.zig
floatunditf_test.zig
floatunsidf.zig
floatunsisf.zig
floatunsitf.zig
floatunsitf_test.zig
floatuntidf.zig
floatuntidf_test.zig
floatuntisf.zig
floatuntisf_test.zig
floatuntitf.zig
floatuntitf_test.zig
floatXisf.zig Make std.meta.Int accept a signedness parameter 2020-10-17 14:09:59 +02:00
int.zig
lshrdi3_test.zig
lshrti3_test.zig
modti3.zig
modti3_test.zig
muldi3.zig
muldi3_test.zig
mulodi4.zig
mulodi4_test.zig
muloti4.zig
muloti4_test.zig
multi3.zig
multi3_test.zig
mulXf3.zig Make std.meta.Int accept a signedness parameter 2020-10-17 14:09:59 +02:00
mulXf3_test.zig
negXf2.zig Make std.meta.Int accept a signedness parameter 2020-10-17 14:09:59 +02:00
popcountdi2.zig
popcountdi2_test.zig
README.md
shift.zig Make std.meta.Int accept a signedness parameter 2020-10-17 14:09:59 +02:00
stack_probe.zig
truncXfYf2.zig Make std.meta.Int accept a signedness parameter 2020-10-17 14:09:59 +02:00
truncXfYf2_test.zig
udivmod.zig Make std.meta.Int accept a signedness parameter 2020-10-17 14:09:59 +02:00
udivmoddi4_test.zig
udivmodti4.zig
udivmodti4_test.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.