634d11ab28
And add std.math.f128_* constants. The routines are: __fixdfdi, __fixdfsi, __fixdfti, __fixsfdi, __fixsfsi, __fixsfti, __fixtfdi, __fixtfsi, __fixtfti. These all call fixint which is a generic zig function that does the conversion: pub fn fixint(comptime fp_t: type, comptime fixint_t: type, a: fp_t) fixint_t There are also a set tests: __fixdfdi_test, __fixdfsi_test, __fixdfti_test, __fixsfdi_test, __fixsfsi_test, __fixsfti_test, __fixtfdi_test, __fixtfsi_test, __fixtfti_test. |
||
---|---|---|
.. | ||
aulldiv.zig | ||
aullrem.zig | ||
comparetf2.zig | ||
divti3_test.zig | ||
divti3.zig | ||
extendXfYf2_test.zig | ||
extendXfYf2.zig | ||
fixdfdi_test.zig | ||
fixdfdi.zig | ||
fixdfsi_test.zig | ||
fixdfsi.zig | ||
fixdfti_test.zig | ||
fixdfti.zig | ||
fixint_test.zig | ||
fixint.zig | ||
fixsfdi_test.zig | ||
fixsfdi.zig | ||
fixsfsi_test.zig | ||
fixsfsi.zig | ||
fixsfti_test.zig | ||
fixsfti.zig | ||
fixtfdi_test.zig | ||
fixtfdi.zig | ||
fixtfsi_test.zig | ||
fixtfsi.zig | ||
fixtfti_test.zig | ||
fixtfti.zig | ||
fixuint.zig | ||
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 | ||
fixunstfdi.zig | ||
fixunstfsi_test.zig | ||
fixunstfsi.zig | ||
fixunstfti_test.zig | ||
fixunstfti.zig | ||
floattidf_test.zig | ||
floattidf.zig | ||
floattisf_test.zig | ||
floattisf.zig | ||
floattitf_test.zig | ||
floattitf.zig | ||
floatunditf_test.zig | ||
floatunditf.zig | ||
floatunsitf_test.zig | ||
floatunsitf.zig | ||
floatuntidf_test.zig | ||
floatuntidf.zig | ||
floatuntisf_test.zig | ||
floatuntisf.zig | ||
floatuntitf_test.zig | ||
floatuntitf.zig | ||
index.zig | ||
muloti4_test.zig | ||
muloti4.zig | ||
multi3_test.zig | ||
multi3.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.