Andrew Kelley d4805472c3 compiler_rt: addXf3: add coercion to @clz
We're going to remove the first parameter from this function in the
future. Stage2 already ignores the first parameter. So we put an `@as`
in here to make it work for both.
2022-02-06 20:06:00 -07:00
..
2022-01-02 13:16:17 -07:00
2022-01-02 13:16:17 -07:00
2022-01-07 00:06:06 -05:00
2022-02-05 01:35:46 -05:00
2022-01-07 00:06:06 -05:00
2022-01-02 13:16:17 -07:00
2019-09-25 23:35:41 -04:00
2022-01-07 00:06:06 -05: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.