fixxfti.zig (713B) - 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(&__fixxfti_windows_x86_64, .{ .name = "__fixxfti", .linkage = common.linkage, .visibility = common.visibility }); 10 } else { 11 @export(&__fixxfti, .{ .name = "__fixxfti", .linkage = common.linkage, .visibility = common.visibility }); 12 } 13 } 14 15 pub fn __fixxfti(a: f80) callconv(.c) i128 { 16 return intFromFloat(i128, a); 17 } 18 19 const v2u64 = @Vector(2, u64); 20 21 fn __fixxfti_windows_x86_64(a: f80) callconv(.c) v2u64 { 22 return @bitCast(intFromFloat(i128, a)); 23 }