zig/std/special/compiler_rt
2019-06-12 15:02:46 -04:00
..
arm Fix float comparison result in __aeabi_{f,d}cmp* 2019-05-07 11:47:23 +02:00
addXf3_test.zig Use official llvm mirror for compiler-rt commit ref 2019-02-15 17:37:55 +13:00
addXf3.zig breaking changes to all bit manipulation intrinsics 2019-05-16 16:37:58 -04:00
ashlti3_test.zig compiler-rt: Add __ashlti3 2019-05-10 13:26:33 +02:00
ashlti3.zig compiler-rt: Add __ashlti3 2019-05-10 13:26:33 +02:00
ashrti3_test.zig zig fmt on the standard library 2019-05-12 12:56:01 -04:00
ashrti3.zig compiler-rt: Add __ashrti3 2019-05-10 13:26:33 +02:00
aulldiv.zig
aullrem.zig
comparedf2_test.zig different array literal syntax when inferring the size 2019-06-09 19:26:32 -04:00
comparedf2.zig compiler-rt: add aeabi_dcmp, comparedf2 2019-04-24 21:15:39 -04:00
comparesf2_test.zig different array literal syntax when inferring the size 2019-06-09 19:26:32 -04:00
comparesf2.zig compiler-rt: Add missing import of test for comparesf2 2019-04-24 21:16:03 -04:00
comparetf2.zig fix @bitCast with runtime scalar and dest result loc var 2019-06-12 15:02:46 -04:00
divdf3_test.zig Add divdf3 to compiler_rt 2019-04-05 18:10:19 -04:00
divdf3.zig breaking changes to all bit manipulation intrinsics 2019-05-16 16:37:58 -04:00
divsf3_test.zig Add divsf3 to compiler rt 2019-04-04 15:38:09 -04:00
divsf3.zig breaking changes to all bit manipulation intrinsics 2019-05-16 16:37:58 -04:00
divti3_test.zig std.debug.assert: remove special case for test builds 2019-02-08 18:23:38 -05:00
divti3.zig compiler-rt: better way to do the ABI required on Windows 2019-04-10 18:47:14 -04:00
extendXfYf2_test.zig std.debug.assert: remove special case for test builds 2019-02-08 18:23:38 -05:00
extendXfYf2.zig ran zig fmt on stdlib 2019-05-19 16:33:31 -04:00
fixdfdi_test.zig zig fmt on the standard library 2019-05-12 12:56:01 -04:00
fixdfdi.zig Add add compiler_rt routines for float to signed integer conversion 2018-12-12 00:21:42 -05:00
fixdfsi_test.zig zig fmt on the standard library 2019-05-12 12:56:01 -04:00
fixdfsi.zig Add add compiler_rt routines for float to signed integer conversion 2018-12-12 00:21:42 -05:00
fixdfti_test.zig zig fmt on the standard library 2019-05-12 12:56:01 -04:00
fixdfti.zig Add add compiler_rt routines for float to signed integer conversion 2018-12-12 00:21:42 -05:00
fixint_test.zig zig fmt on the standard library 2019-05-12 12:56:01 -04:00
fixint.zig Add add compiler_rt routines for float to signed integer conversion 2018-12-12 00:21:42 -05:00
fixsfdi_test.zig zig fmt on the standard library 2019-05-12 12:56:01 -04:00
fixsfdi.zig Add add compiler_rt routines for float to signed integer conversion 2018-12-12 00:21:42 -05:00
fixsfsi_test.zig zig fmt on the standard library 2019-05-12 12:56:01 -04:00
fixsfsi.zig Add add compiler_rt routines for float to signed integer conversion 2018-12-12 00:21:42 -05:00
fixsfti_test.zig zig fmt on the standard library 2019-05-12 12:56:01 -04:00
fixsfti.zig Add add compiler_rt routines for float to signed integer conversion 2018-12-12 00:21:42 -05:00
fixtfdi_test.zig zig fmt on the standard library 2019-05-12 12:56:01 -04:00
fixtfdi.zig Add add compiler_rt routines for float to signed integer conversion 2018-12-12 00:21:42 -05:00
fixtfsi_test.zig zig fmt on the standard library 2019-05-12 12:56:01 -04:00
fixtfsi.zig Add add compiler_rt routines for float to signed integer conversion 2018-12-12 00:21:42 -05:00
fixtfti_test.zig zig fmt on the standard library 2019-05-12 12:56:01 -04:00
fixtfti.zig Add add compiler_rt routines for float to signed integer conversion 2018-12-12 00:21:42 -05:00
fixuint.zig
fixunsdfdi_test.zig std.debug.assert: remove special case for test builds 2019-02-08 18:23:38 -05:00
fixunsdfdi.zig
fixunsdfsi_test.zig std.debug.assert: remove special case for test builds 2019-02-08 18:23:38 -05:00
fixunsdfsi.zig
fixunsdfti_test.zig std.debug.assert: remove special case for test builds 2019-02-08 18:23:38 -05:00
fixunsdfti.zig
fixunssfdi_test.zig std.debug.assert: remove special case for test builds 2019-02-08 18:23:38 -05:00
fixunssfdi.zig
fixunssfsi_test.zig std.debug.assert: remove special case for test builds 2019-02-08 18:23:38 -05:00
fixunssfsi.zig
fixunssfti_test.zig std.debug.assert: remove special case for test builds 2019-02-08 18:23:38 -05:00
fixunssfti.zig
fixunstfdi_test.zig std.debug.assert: remove special case for test builds 2019-02-08 18:23:38 -05:00
fixunstfdi.zig
fixunstfsi_test.zig std.debug.assert: remove special case for test builds 2019-02-08 18:23:38 -05:00
fixunstfsi.zig
fixunstfti_test.zig std.debug.assert: remove special case for test builds 2019-02-08 18:23:38 -05:00
fixunstfti.zig
floatdidf_test.zig compiler-rt: Add __floatdidf 2019-05-08 23:57:09 +02:00
floatdidf.zig compiler-rt: Add __floatdidf 2019-05-08 23:57:09 +02:00
floatsiXf.zig breaking changes to all bit manipulation intrinsics 2019-05-16 16:37:58 -04:00
floattidf_test.zig std.debug.assert: remove special case for test builds 2019-02-08 18:23:38 -05:00
floattidf.zig breaking changes to all bit manipulation intrinsics 2019-05-16 16:37:58 -04:00
floattisf_test.zig std.debug.assert: remove special case for test builds 2019-02-08 18:23:38 -05:00
floattisf.zig breaking changes to all bit manipulation intrinsics 2019-05-16 16:37:58 -04:00
floattitf_test.zig std.debug.assert: remove special case for test builds 2019-02-08 18:23:38 -05:00
floattitf.zig breaking changes to all bit manipulation intrinsics 2019-05-16 16:37:58 -04:00
floatundidf_test.zig compiler-rt: Add __floatundidf & __floatunsidf 2019-05-08 23:57:09 +02:00
floatundidf.zig compiler-rt: Add __floatundidf & __floatunsidf 2019-05-08 23:57:09 +02:00
floatunditf_test.zig std.debug.assert: remove special case for test builds 2019-02-08 18:23:38 -05:00
floatunditf.zig breaking changes to all bit manipulation intrinsics 2019-05-16 16:37:58 -04:00
floatunsidf.zig breaking changes to all bit manipulation intrinsics 2019-05-16 16:37:58 -04:00
floatunsitf_test.zig std.debug.assert: remove special case for test builds 2019-02-08 18:23:38 -05:00
floatunsitf.zig breaking changes to all bit manipulation intrinsics 2019-05-16 16:37:58 -04:00
floatuntidf_test.zig std.debug.assert: remove special case for test builds 2019-02-08 18:23:38 -05:00
floatuntidf.zig breaking changes to all bit manipulation intrinsics 2019-05-16 16:37:58 -04:00
floatuntisf_test.zig std.debug.assert: remove special case for test builds 2019-02-08 18:23:38 -05:00
floatuntisf.zig breaking changes to all bit manipulation intrinsics 2019-05-16 16:37:58 -04:00
floatuntitf_test.zig std.debug.assert: remove special case for test builds 2019-02-08 18:23:38 -05:00
floatuntitf.zig breaking changes to all bit manipulation intrinsics 2019-05-16 16:37:58 -04:00
lshrti3_test.zig compiler-rt: Add __lshrti3 2019-05-10 13:26:33 +02:00
lshrti3.zig compiler-rt: Add __lshrti3 2019-05-10 13:26:33 +02:00
modti3_test.zig fix @divFloor returning incorrect value and add __modti3 2019-04-04 15:45:37 -04:00
modti3.zig compiler-rt: better way to do the ABI required on Windows 2019-04-10 18:47:14 -04:00
mulodi4_test.zig compiler-rt: Add __mulodi4 2019-04-29 18:55:20 -04:00
mulodi4.zig compiler-rt: Add __mulodi4 2019-04-29 18:55:20 -04:00
muloti4_test.zig std.debug.assert: remove special case for test builds 2019-02-08 18:23:38 -05:00
muloti4.zig __muloti4 does not need the ABI workaround on Windows 2019-04-10 22:33:33 -04:00
multi3_test.zig std.debug.assert: remove special case for test builds 2019-02-08 18:23:38 -05:00
multi3.zig compiler-rt: better way to do the ABI required on Windows 2019-04-10 18:47:14 -04:00
mulXf3_test.zig add mulXf3 to compiler-rt 2019-03-22 17:46:49 -04:00
mulXf3.zig breaking changes to all bit manipulation intrinsics 2019-05-16 16:37:58 -04:00
negXf2.zig Add __aeabi_{f,d}neg and __neg{s,d,X}f2 to compiler-rt 2019-03-31 15:54:02 -05:00
popcountdi2_test.zig add popcountdi2 to compiler_rt 2019-03-05 23:09:00 -05:00
popcountdi2.zig add popcountdi2 to compiler_rt 2019-03-05 23:09:00 -05:00
README.md
stack_probe.zig zig fmt on the standard library 2019-05-12 12:56:01 -04:00
truncXfYf2_test.zig compiler-rt: Add __truncdfsf2 2019-05-08 23:57:09 +02:00
truncXfYf2.zig compiler-rt: Add __truncdfsf2 2019-05-08 23:57:09 +02:00
udivmod.zig breaking changes to all bit manipulation intrinsics 2019-05-16 16:37:58 -04:00
udivmoddi4_test.zig different array literal syntax when inferring the size 2019-06-09 19:26:32 -04:00
udivmoddi4.zig
udivmodti4_test.zig different array literal syntax when inferring the size 2019-06-09 19:26:32 -04:00
udivmodti4.zig compiler-rt: better way to do the ABI required on Windows 2019-04-10 18:47:14 -04:00
udivti3.zig compiler-rt: better way to do the ABI required on Windows 2019-04-10 18:47:14 -04:00
umodti3.zig compiler-rt: better way to do the ABI required on Windows 2019-04-10 18:47:14 -04:00

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.