zig/lib/std/special/compiler_rt
Andrew Kelley c86589a738 disable f128 compiler_rt tests failing on windows
These were never working with native CPU features. In this branch,
we fix native CPU features not being enabled on Windows, and regress
f128 language features. In the llvm10 branch, all this is fixed,
and the tests are re-enabled.
2020-01-23 02:05:24 -05:00
..
addXf3.zig Use the correct calling convention for AEABI intrinsics 2020-01-07 13:42:47 -05:00
addXf3_test.zig disable f128 compiler_rt tests failing on windows 2020-01-23 02:05:24 -05:00
arm.zig Minor changes to the ARM builtin fns 2020-01-16 12:50:53 -05:00
ashlti3.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
ashlti3_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
ashrti3.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
ashrti3_test.zig Fix remaining variadic formatted prints 2020-01-09 13:36:44 -05:00
aulldiv.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
aullrem.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
clzsi2.zig Small cleanups 2020-01-19 00:11:45 +01:00
clzsi2_test.zig Port clzsi2 from compiler_rt, required for using std.fmt.format on some ARM architecture. 2020-01-17 14:25:22 -05:00
comparedf2_test.zig Fix some tests broken by the renamed files 2020-01-19 09:31:45 +01:00
comparesf2_test.zig Fix some tests broken by the renamed files 2020-01-19 09:31:45 +01:00
compareXf2.zig Nuke some more code 2020-01-19 00:12:27 +01:00
divdf3.zig Use the correct calling convention for AEABI intrinsics 2020-01-07 13:42:47 -05:00
divdf3_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
divsf3.zig Use the correct calling convention for AEABI intrinsics 2020-01-07 13:42:47 -05:00
divsf3_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
divti3.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
divti3_test.zig update the codebase to use @as 2019-11-08 15:57:24 -05:00
extendXfYf2.zig Use the correct calling convention for AEABI intrinsics 2020-01-07 13:42:47 -05:00
extendXfYf2_test.zig update the codebase to use @as 2019-11-08 15:57:24 -05:00
fixdfdi.zig Use the correct calling convention for AEABI intrinsics 2020-01-07 13:42:47 -05:00
fixdfdi_test.zig Fix remaining variadic formatted prints 2020-01-09 13:36:44 -05:00
fixdfsi.zig Use the correct calling convention for AEABI intrinsics 2020-01-07 13:42:47 -05:00
fixdfsi_test.zig Fix remaining variadic formatted prints 2020-01-09 13:36:44 -05:00
fixdfti.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
fixdfti_test.zig Fix remaining variadic formatted prints 2020-01-09 13:36:44 -05:00
fixint.zig update the codebase to use @as 2019-11-08 15:57:24 -05:00
fixint_test.zig Fix remaining variadic formatted prints 2020-01-09 13:36:44 -05:00
fixsfdi.zig Use the correct calling convention for AEABI intrinsics 2020-01-07 13:42:47 -05:00
fixsfdi_test.zig Fix remaining variadic formatted prints 2020-01-09 13:36:44 -05:00
fixsfsi.zig Use the correct calling convention for AEABI intrinsics 2020-01-07 13:42:47 -05:00
fixsfsi_test.zig Fix remaining variadic formatted prints 2020-01-09 13:36:44 -05:00
fixsfti.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
fixsfti_test.zig Fix remaining variadic formatted prints 2020-01-09 13:36:44 -05:00
fixtfdi.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
fixtfdi_test.zig disable f128 compiler_rt tests failing on windows 2020-01-23 02:05:24 -05:00
fixtfsi.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
fixtfsi_test.zig disable f128 compiler_rt tests failing on windows 2020-01-23 02:05:24 -05:00
fixtfti.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
fixtfti_test.zig disable f128 compiler_rt tests failing on windows 2020-01-23 02:05:24 -05:00
fixuint.zig update the codebase to use @as 2019-11-08 15:57:24 -05:00
fixunsdfdi.zig Use the correct calling convention for AEABI intrinsics 2020-01-07 13:42:47 -05:00
fixunsdfdi_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixunsdfsi.zig Use the correct calling convention for AEABI intrinsics 2020-01-07 13:42:47 -05:00
fixunsdfsi_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixunsdfti.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
fixunsdfti_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixunssfdi.zig Use the correct calling convention for AEABI intrinsics 2020-01-07 13:42:47 -05:00
fixunssfdi_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixunssfsi.zig Use the correct calling convention for AEABI intrinsics 2020-01-07 13:42:47 -05:00
fixunssfsi_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixunssfti.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
fixunssfti_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
fixunstfdi.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
fixunstfdi_test.zig disable f128 compiler_rt tests failing on windows 2020-01-23 02:05:24 -05:00
fixunstfsi.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
fixunstfsi_test.zig disable f128 compiler_rt tests failing on windows 2020-01-23 02:05:24 -05:00
fixunstfti.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
fixunstfti_test.zig disable f128 compiler_rt tests failing on windows 2020-01-23 02:05:24 -05:00
floatdidf.zig Use the correct calling convention for AEABI intrinsics 2020-01-07 13:42:47 -05:00
floatdidf_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
floatsiXf.zig Use the correct calling convention for AEABI intrinsics 2020-01-07 13:42:47 -05:00
floattidf.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
floattidf_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
floattisf.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
floattisf_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
floattitf.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
floattitf_test.zig disable f128 compiler_rt tests failing on windows 2020-01-23 02:05:24 -05:00
floatundidf.zig Use the correct calling convention for AEABI intrinsics 2020-01-07 13:42:47 -05:00
floatundidf_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
floatundisf.zig Use the correct calling convention for AEABI intrinsics 2020-01-07 13:42:47 -05:00
floatunditf.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
floatunditf_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
floatunsidf.zig Use the correct calling convention for AEABI intrinsics 2020-01-07 13:42:47 -05:00
floatunsisf.zig Use the correct calling convention for AEABI intrinsics 2020-01-07 13:42:47 -05:00
floatunsitf.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
floatunsitf_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
floatuntidf.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
floatuntidf_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
floatuntisf.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
floatuntisf_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
floatuntitf.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
floatuntitf_test.zig disable f128 compiler_rt tests failing on windows 2020-01-23 02:05:24 -05:00
int.zig Fix test case 2020-01-15 18:41:07 +01:00
lshrti3.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
lshrti3_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
modti3.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
modti3_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
muldi3.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
muldi3_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
mulodi4.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
mulodi4_test.zig update the codebase to use @as 2019-11-08 15:57:24 -05:00
muloti4.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
muloti4_test.zig update the codebase to use @as 2019-11-08 15:57:24 -05:00
multi3.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
multi3_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
mulXf3.zig Use the correct calling convention for AEABI intrinsics 2020-01-07 13:42:47 -05:00
mulXf3_test.zig disable f128 compiler_rt tests failing on windows 2020-01-23 02:05:24 -05:00
negXf2.zig Use the correct calling convention for AEABI intrinsics 2020-01-07 13:42:47 -05:00
popcountdi2.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
popcountdi2_test.zig update the codebase to use @as 2019-11-08 15:57:24 -05:00
README.md mv std/ lib/ 2019-09-25 23:35:41 -04:00
stack_probe.zig Implement the callconv() annotation 2020-01-02 18:53:16 +01:00
truncXfYf2.zig Use the correct calling convention for AEABI intrinsics 2020-01-07 13:42:47 -05:00
truncXfYf2_test.zig disable f128 compiler_rt tests failing on windows 2020-01-23 02:05:24 -05:00
udivmod.zig update the codebase to use @as 2019-11-08 15:57:24 -05:00
udivmoddi4_test.zig Fix test case 2020-01-15 18:41:07 +01:00
udivmodti4.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
udivmodti4_test.zig mv std/ lib/ 2019-09-25 23:35:41 -04:00
udivti3.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
umodti3.zig zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -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.