mirror of
https://github.com/ziglang/zig.git
synced 2024-11-27 23:52:31 +00:00
c50f33b111
The Zig LLVM backend emits calls to softfloat methods with the "standard compiler-rt" names. Rather than add complexity to the backend and have to synchronize the naming scheme across all targets, the simplest fix is just to export these symbols under both the "standard" and the platform-specific naming convention.
22 lines
635 B
Zig
22 lines
635 B
Zig
const common = @import("./common.zig");
|
|
const mulf3 = @import("./mulf3.zig").mulf3;
|
|
|
|
pub const panic = common.panic;
|
|
|
|
comptime {
|
|
if (common.want_ppc_abi) {
|
|
@export(__multf3, .{ .name = "__mulkf3", .linkage = common.linkage });
|
|
} else if (common.want_sparc_abi) {
|
|
@export(_Qp_mul, .{ .name = "_Qp_mul", .linkage = common.linkage });
|
|
}
|
|
@export(__multf3, .{ .name = "__multf3", .linkage = common.linkage });
|
|
}
|
|
|
|
pub fn __multf3(a: f128, b: f128) callconv(.C) f128 {
|
|
return mulf3(f128, a, b);
|
|
}
|
|
|
|
fn _Qp_mul(c: *f128, a: *const f128, b: *const f128) callconv(.C) void {
|
|
c.* = mulf3(f128, a.*, b.*);
|
|
}
|