mirror of
https://github.com/ziglang/zig.git
synced 2024-11-27 23:52:31 +00:00
30ef033693
wasm32-wasi-musl wants the standard symbol names however Linux requires the `__gnu_*` flavors. I did not find any authoritative source on what decides which symbol flavors to use. If we run into more trouble in the future we can go back to having both.
27 lines
810 B
Zig
27 lines
810 B
Zig
const common = @import("./common.zig");
|
|
const truncf = @import("./truncf.zig").truncf;
|
|
|
|
pub const panic = common.panic;
|
|
|
|
comptime {
|
|
if (common.gnu_f16_abi) {
|
|
@export(__gnu_f2h_ieee, .{ .name = "__gnu_f2h_ieee", .linkage = common.linkage });
|
|
} else if (common.want_aeabi) {
|
|
@export(__aeabi_f2h, .{ .name = "__aeabi_f2h", .linkage = common.linkage });
|
|
} else {
|
|
@export(__truncsfhf2, .{ .name = "__truncsfhf2", .linkage = common.linkage });
|
|
}
|
|
}
|
|
|
|
pub fn __truncsfhf2(a: f32) callconv(.C) common.F16T {
|
|
return @bitCast(common.F16T, truncf(f16, f32, a));
|
|
}
|
|
|
|
fn __gnu_f2h_ieee(a: f32) callconv(.C) common.F16T {
|
|
return @bitCast(common.F16T, truncf(f16, f32, a));
|
|
}
|
|
|
|
fn __aeabi_f2h(a: f32) callconv(.AAPCS) u16 {
|
|
return @bitCast(common.F16T, truncf(f16, f32, a));
|
|
}
|