zig/std/special/compiler_rt
Andrew Kelley e3ea0b652c still build compiler-rt when linking msvc CRT
because it's missing some things
2017-10-01 21:19:58 -04:00
..
README.md add compiler-rt fns: udivmodti4, udivti3, umodti3 2017-08-18 16:26:09 -04:00
aulldiv.zig compiler-rt: add _aulldiv and _aullrem for i386 windows 2017-09-30 13:58:05 -04:00
aullrem.zig compiler-rt: add _aulldiv and _aullrem for i386 windows 2017-09-30 13:58:05 -04:00
comparetf2.zig still build compiler-rt when linking msvc CRT 2017-10-01 21:19:58 -04:00
fixuint.zig bit shifting safety 2017-08-19 01:43:43 -04:00
fixunsdfdi.zig macos updates 2017-08-27 02:51:25 -04:00
fixunsdfdi_test.zig bit shifting safety 2017-08-19 01:43:43 -04:00
fixunsdfsi.zig macos updates 2017-08-27 02:51:25 -04:00
fixunsdfsi_test.zig compiler_rt implementations for __fixuns* functions 2017-08-16 19:07:35 -04:00
fixunsdfti.zig macos updates 2017-08-27 02:51:25 -04:00
fixunsdfti_test.zig compiler_rt implementations for __fixuns* functions 2017-08-16 19:07:35 -04:00
fixunssfdi.zig macos updates 2017-08-27 02:51:25 -04:00
fixunssfdi_test.zig compiler_rt implementations for __fixuns* functions 2017-08-16 19:07:35 -04:00
fixunssfsi.zig macos updates 2017-08-27 02:51:25 -04:00
fixunssfsi_test.zig compiler_rt implementations for __fixuns* functions 2017-08-16 19:07:35 -04:00
fixunssfti.zig macos updates 2017-08-27 02:51:25 -04:00
fixunssfti_test.zig compiler_rt implementations for __fixuns* functions 2017-08-16 19:07:35 -04:00
fixunstfdi.zig macos updates 2017-08-27 02:51:25 -04:00
fixunstfdi_test.zig add compiler_rt functions for f128 2017-08-17 19:10:15 -04:00
fixunstfsi.zig macos updates 2017-08-27 02:51:25 -04:00
fixunstfsi_test.zig include compiler-rt tests in main testing suite 2017-08-18 13:51:16 -04:00
fixunstfti.zig macos updates 2017-08-27 02:51:25 -04:00
fixunstfti_test.zig include compiler-rt tests in main testing suite 2017-08-18 13:51:16 -04:00
index.zig add windows 32 bit to test matrix 2017-10-01 11:11:38 -04:00
udivmod.zig align syntax: align(4) instead of align 4 2017-08-30 04:54:33 -04:00
udivmoddi4.zig macos passing all tests except for building a shared library 2017-08-27 05:44:03 -04:00
udivmoddi4_test.zig make udivmod generic and add tests 2017-08-18 17:20:03 -04:00
udivmodti4.zig macos passing all tests except for building a shared library 2017-08-27 05:44:03 -04:00
udivmodti4_test.zig add compiler-rt fns: udivmodti4, udivti3, umodti3 2017-08-18 16:26:09 -04:00
udivti3.zig macos passing all tests except for building a shared library 2017-08-27 05:44:03 -04:00
umodti3.zig macos passing all tests except for building a shared library 2017-08-27 05:44:03 -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.