zig/lib/std/special/compiler_rt
Andrew Kelley e0db54e89d
update the codebase to use `@as`
2019-11-08 15:57:24 -05:00
..
arm mv std/ lib/ 2019-09-25 23:35:41 -04:00
README.md mv std/ lib/ 2019-09-25 23:35:41 -04:00
addXf3.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
addXf3_test.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
ashlti3.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
ashlti3_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
ashrti3.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
ashrti3_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
aulldiv.zig Initial support for i386-windows-msvc target 2019-10-06 14:27:36 +02:00
aullrem.zig Initial support for i386-windows-msvc target 2019-10-06 14:27:36 +02:00
comparedf2.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
comparedf2_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
comparesf2.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
comparesf2_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
comparetf2.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
divdf3.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
divdf3_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
divsf3.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
divsf3_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
divti3.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
divti3_test.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
extendXfYf2.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
extendXfYf2_test.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
fixdfdi.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixdfdi_test.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
fixdfsi.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixdfsi_test.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
fixdfti.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixdfti_test.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
fixint.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
fixint_test.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
fixsfdi.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixsfdi_test.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
fixsfsi.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixsfsi_test.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
fixsfti.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixsfti_test.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
fixtfdi.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixtfdi_test.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
fixtfsi.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixtfsi_test.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
fixtfti.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixtfti_test.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
fixuint.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
fixunsdfdi.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixunsdfdi_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixunsdfsi.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixunsdfsi_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixunsdfti.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixunsdfti_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixunssfdi.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixunssfdi_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixunssfsi.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixunssfsi_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixunssfti.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixunssfti_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixunstfdi.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixunstfdi_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixunstfsi.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixunstfsi_test.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
fixunstfti.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixunstfti_test.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
floatdidf.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
floatdidf_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
floatsiXf.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
floattidf.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
floattidf_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
floattisf.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
floattisf_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
floattitf.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
floattitf_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
floatundidf.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
floatundidf_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
floatunditf.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
floatunditf_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
floatunsidf.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
floatunsitf.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
floatunsitf_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
floatuntidf.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
floatuntidf_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
floatuntisf.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
floatuntisf_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
floatuntitf.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
floatuntitf_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
lshrti3.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
lshrti3_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
modti3.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
modti3_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
mulXf3.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
mulXf3_test.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
muldi3.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
muldi3_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
mulodi4.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
mulodi4_test.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
muloti4.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
muloti4_test.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
multi3.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
multi3_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
negXf2.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
popcountdi2.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
popcountdi2_test.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
stack_probe.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
truncXfYf2.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
truncXfYf2_test.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
udivmod.zig update the codebase to use `@as` 2019-11-08 15:57:24 -05:00
udivmoddi4.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
udivmoddi4_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
udivmodti4.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
udivmodti4_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
udivti3.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
umodti3.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00

README.md

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.