fixunstfti.zig (891B) - Raw
1 const builtin = @import("builtin"); 2 const common = @import("./common.zig"); 3 const intFromFloat = @import("./int_from_float.zig").intFromFloat; 4 5 pub const panic = common.panic; 6 7 comptime { 8 if (common.want_windows_v2u64_abi) { 9 @export(&__fixunstfti_windows_x86_64, .{ .name = "__fixunstfti", .linkage = common.linkage, .visibility = common.visibility }); 10 } else { 11 if (common.want_ppc_abi) 12 @export(&__fixunstfti, .{ .name = "__fixunskfti", .linkage = common.linkage, .visibility = common.visibility }); 13 @export(&__fixunstfti, .{ .name = "__fixunstfti", .linkage = common.linkage, .visibility = common.visibility }); 14 } 15 } 16 17 pub fn __fixunstfti(a: f128) callconv(.c) u128 { 18 return intFromFloat(u128, a); 19 } 20 21 const v2u64 = @Vector(2, u64); 22 23 fn __fixunstfti_windows_x86_64(a: f128) callconv(.c) v2u64 { 24 return @bitCast(intFromFloat(u128, a)); 25 }