aboutsummaryrefslogtreecommitdiff
path: root/lib/compiler_rt/subxf3.zig
blob: a143f10ffe6779d1b64d92be3f05b9a832d8506a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const std = @import("std");
const common = @import("./common.zig");

pub const panic = common.panic;

comptime {
    @export(__subxf3, .{ .name = "__subxf3", .linkage = common.linkage });
}

fn __subxf3(a: f80, b: f80) callconv(.C) f80 {
    var b_rep = std.math.break_f80(b);
    b_rep.exp ^= 0x8000;
    const neg_b = std.math.make_f80(b_rep);
    return a + neg_b;
}