| ... | @@ -32,88 +32,47 @@ const FrameIndex = bits.FrameIndex; | ... | @@ -32,88 +32,47 @@ const FrameIndex = bits.FrameIndex; |
| 32 | | 32 | |
| 33 | const InnerError = codegen.CodeGenError || error{OutOfRegisters}; | 33 | const InnerError = codegen.CodeGenError || error{OutOfRegisters}; |
| 34 | | 34 | |
| 35 | pub fn legalizeFeatures(target: *const std.Target) *const Air.Legalize.Features { | 35 | pub fn legalizeFeatures(_: *const std.Target) *const Air.Legalize.Features { |
| 36 | @setEvalBranchQuota(1_200); | 36 | return comptime &.initMany(&.{ |
| 37 | return switch (target.ofmt == .coff) { | 37 | .scalarize_mul_sat, |
| 38 | inline false, true => |use_old| comptime &.init(.{ | 38 | .scalarize_div_floor, |
| 39 | .scalarize_add = use_old, | 39 | .scalarize_mod, |
| 40 | .scalarize_add_sat = use_old, | 40 | .scalarize_add_with_overflow, |
| 41 | .scalarize_sub = use_old, | 41 | .scalarize_sub_with_overflow, |
| 42 | .scalarize_sub_sat = use_old, | 42 | .scalarize_mul_with_overflow, |
| 43 | .scalarize_mul = use_old, | 43 | .scalarize_shl_with_overflow, |
| 44 | .scalarize_mul_wrap = use_old, | 44 | .scalarize_shr, |
| 45 | .scalarize_mul_sat = true, | 45 | .scalarize_shr_exact, |
| 46 | .scalarize_div_float = use_old, | 46 | .scalarize_shl, |
| 47 | .scalarize_div_float_optimized = use_old, | 47 | .scalarize_shl_exact, |
| 48 | .scalarize_div_trunc = use_old, | 48 | .scalarize_shl_sat, |
| 49 | .scalarize_div_trunc_optimized = use_old, | 49 | .scalarize_bitcast, |
| 50 | .scalarize_div_floor = true, | 50 | .scalarize_ctz, |
| 51 | .scalarize_div_floor_optimized = use_old, | 51 | .scalarize_popcount, |
| 52 | .scalarize_div_exact = use_old, | 52 | .scalarize_byte_swap, |
| 53 | .scalarize_div_exact_optimized = use_old, | 53 | .scalarize_bit_reverse, |
| 54 | .scalarize_mod = true, | 54 | .scalarize_cmp_vector, |
| 55 | .scalarize_max = use_old, | 55 | .scalarize_cmp_vector_optimized, |
| 56 | .scalarize_min = use_old, | 56 | .scalarize_shuffle_one, |
| 57 | .scalarize_add_with_overflow = true, | 57 | .scalarize_shuffle_two, |
| 58 | .scalarize_sub_with_overflow = true, | 58 | .scalarize_select, |
| 59 | .scalarize_mul_with_overflow = true, | 59 | |
| 60 | .scalarize_shl_with_overflow = true, | 60 | //.unsplat_shift_rhs, |
| 61 | .scalarize_bit_and = use_old, | 61 | .reduce_one_elem_to_bitcast, |
| 62 | .scalarize_bit_or = use_old, | 62 | .splat_one_elem_to_bitcast, |
| 63 | .scalarize_shr = true, | 63 | |
| 64 | .scalarize_shr_exact = true, | 64 | .expand_intcast_safe, |
| 65 | .scalarize_shl = true, | 65 | .expand_int_from_float_safe, |
| 66 | .scalarize_shl_exact = true, | 66 | .expand_int_from_float_optimized_safe, |
| 67 | .scalarize_shl_sat = true, | 67 | .expand_add_safe, |
| 68 | .scalarize_xor = use_old, | 68 | .expand_sub_safe, |
| 69 | .scalarize_not = use_old, | 69 | .expand_mul_safe, |
| 70 | .scalarize_bitcast = true, | 70 | |
| 71 | .scalarize_clz = use_old, | 71 | .expand_packed_load, |
| 72 | .scalarize_ctz = true, | 72 | .expand_packed_store, |
| 73 | .scalarize_popcount = true, | 73 | .expand_packed_struct_field_val, |
| 74 | .scalarize_byte_swap = true, | 74 | .expand_packed_aggregate_init, |
| 75 | .scalarize_bit_reverse = true, | 75 | }); |
| 76 | .scalarize_sin = use_old, | | |
| 77 | .scalarize_cos = use_old, | | |
| 78 | .scalarize_tan = use_old, | | |
| 79 | .scalarize_exp = use_old, | | |
| 80 | .scalarize_exp2 = use_old, | | |
| 81 | .scalarize_log = use_old, | | |
| 82 | .scalarize_log2 = use_old, | | |
| 83 | .scalarize_log10 = use_old, | | |
| 84 | .scalarize_abs = use_old, | | |
| 85 | .scalarize_floor = use_old, | | |
| 86 | .scalarize_ceil = use_old, | | |
| 87 | .scalarize_trunc_float = use_old, | | |
| 88 | .scalarize_cmp_vector = true, | | |
| 89 | .scalarize_cmp_vector_optimized = true, | | |
| 90 | .scalarize_fptrunc = use_old, | | |
| 91 | .scalarize_fpext = use_old, | | |
| 92 | .scalarize_intcast = use_old, | | |
| 93 | .scalarize_int_from_float = use_old, | | |
| 94 | .scalarize_int_from_float_optimized = use_old, | | |
| 95 | .scalarize_float_from_int = use_old, | | |
| 96 | .scalarize_shuffle_one = true, | | |
| 97 | .scalarize_shuffle_two = true, | | |
| 98 | .scalarize_select = true, | | |
| 99 | .scalarize_mul_add = use_old, | | |
| 100 | | | |
| 101 | .unsplat_shift_rhs = false, | | |
| 102 | .reduce_one_elem_to_bitcast = true, | | |
| 103 | | | |
| 104 | .expand_intcast_safe = true, | | |
| 105 | .expand_int_from_float_safe = true, | | |
| 106 | .expand_int_from_float_optimized_safe = true, | | |
| 107 | .expand_add_safe = true, | | |
| 108 | .expand_sub_safe = true, | | |
| 109 | .expand_mul_safe = true, | | |
| 110 | | | |
| 111 | .expand_packed_load = true, | | |
| 112 | .expand_packed_store = true, | | |
| 113 | .expand_packed_struct_field_val = true, | | |
| 114 | .expand_packed_aggregate_init = true, | | |
| 115 | }), | | |
| 116 | }; | | |
| 117 | } | 76 | } |
| 118 | | 77 | |
| 119 | /// Set this to `false` to uncover Sema OPV bugs. | 78 | /// Set this to `false` to uncover Sema OPV bugs. |
| ... | @@ -246,6 +205,7 @@ pub const MCValue = union(enum) { | ... | @@ -246,6 +205,7 @@ pub const MCValue = union(enum) { |
| 246 | memory: u64, | 205 | memory: u64, |
| 247 | /// The value is in memory at a constant offset from the address in a register. | 206 | /// The value is in memory at a constant offset from the address in a register. |
| 248 | indirect: bits.RegisterOffset, | 207 | indirect: bits.RegisterOffset, |
| | 208 | indirect_load_frame: bits.FrameAddr, |
| 249 | /// The value stored at an offset from a frame index | 209 | /// The value stored at an offset from a frame index |
| 250 | /// Payload is a frame address. | 210 | /// Payload is a frame address. |
| 251 | load_frame: bits.FrameAddr, | 211 | load_frame: bits.FrameAddr, |
| ... | @@ -279,6 +239,7 @@ pub const MCValue = union(enum) { | ... | @@ -279,6 +239,7 @@ pub const MCValue = union(enum) { |
| 279 | .register_mask, | 239 | .register_mask, |
| 280 | .eflags, | 240 | .eflags, |
| 281 | .register_overflow, | 241 | .register_overflow, |
| | 242 | .indirect_load_frame, |
| 282 | .lea_frame, | 243 | .lea_frame, |
| 283 | .lea_nav, | 244 | .lea_nav, |
| 284 | .load_uav, | 245 | .load_uav, |
| ... | @@ -417,6 +378,7 @@ pub const MCValue = union(enum) { | ... | @@ -417,6 +378,7 @@ pub const MCValue = union(enum) { |
| 417 | 0 => .{ .register = reg_off.reg }, | 378 | 0 => .{ .register = reg_off.reg }, |
| 418 | else => .{ .register_offset = reg_off }, | 379 | else => .{ .register_offset = reg_off }, |
| 419 | }, | 380 | }, |
| | 381 | .indirect_load_frame => |frame_addr| .{ .load_frame = frame_addr }, |
| 420 | .load_frame => |frame_addr| .{ .lea_frame = frame_addr }, | 382 | .load_frame => |frame_addr| .{ .lea_frame = frame_addr }, |
| 421 | .load_nav => |nav| .{ .lea_nav = nav }, | 383 | .load_nav => |nav| .{ .lea_nav = nav }, |
| 422 | .load_uav => |uav| .{ .lea_uav = uav }, | 384 | .load_uav => |uav| .{ .lea_uav = uav }, |
| ... | @@ -439,7 +401,7 @@ pub const MCValue = union(enum) { | ... | @@ -439,7 +401,7 @@ pub const MCValue = union(enum) { |
| 439 | .register_mask, | 401 | .register_mask, |
| 440 | .memory, | 402 | .memory, |
| 441 | .indirect, | 403 | .indirect, |
| 442 | .load_frame, | 404 | .indirect_load_frame, |
| 443 | .load_nav, | 405 | .load_nav, |
| 444 | .load_uav, | 406 | .load_uav, |
| 445 | .load_lazy_sym, | 407 | .load_lazy_sym, |
| ... | @@ -451,6 +413,7 @@ pub const MCValue = union(enum) { | ... | @@ -451,6 +413,7 @@ pub const MCValue = union(enum) { |
| 451 | .immediate => |addr| .{ .memory = addr }, | 413 | .immediate => |addr| .{ .memory = addr }, |
| 452 | .register => |reg| .{ .indirect = .{ .reg = reg } }, | 414 | .register => |reg| .{ .indirect = .{ .reg = reg } }, |
| 453 | .register_offset => |reg_off| .{ .indirect = reg_off }, | 415 | .register_offset => |reg_off| .{ .indirect = reg_off }, |
| | 416 | .load_frame => |frame_addr| .{ .indirect_load_frame = frame_addr }, |
| 454 | .lea_frame => |frame_addr| .{ .load_frame = frame_addr }, | 417 | .lea_frame => |frame_addr| .{ .load_frame = frame_addr }, |
| 455 | .lea_nav => |nav| .{ .load_nav = nav }, | 418 | .lea_nav => |nav| .{ .load_nav = nav }, |
| 456 | .lea_uav => |uav| .{ .load_uav = uav }, | 419 | .lea_uav => |uav| .{ .load_uav = uav }, |
| ... | @@ -477,6 +440,7 @@ pub const MCValue = union(enum) { | ... | @@ -477,6 +440,7 @@ pub const MCValue = union(enum) { |
| 477 | .register_mask, | 440 | .register_mask, |
| 478 | .memory, | 441 | .memory, |
| 479 | .indirect, | 442 | .indirect, |
| | 443 | .indirect_load_frame, |
| 480 | .load_frame, | 444 | .load_frame, |
| 481 | .load_nav, | 445 | .load_nav, |
| 482 | .lea_nav, | 446 | .lea_nav, |
| ... | @@ -516,6 +480,7 @@ pub const MCValue = union(enum) { | ... | @@ -516,6 +480,7 @@ pub const MCValue = union(enum) { |
| 516 | .register_offset, | 480 | .register_offset, |
| 517 | .register_overflow, | 481 | .register_overflow, |
| 518 | .register_mask, | 482 | .register_mask, |
| | 483 | .indirect_load_frame, |
| 519 | .lea_frame, | 484 | .lea_frame, |
| 520 | .elementwise_args, | 485 | .elementwise_args, |
| 521 | .reserved_frame, | 486 | .reserved_frame, |
| ... | @@ -589,6 +554,7 @@ pub const MCValue = union(enum) { | ... | @@ -589,6 +554,7 @@ pub const MCValue = union(enum) { |
| 589 | @tagName(pl.reg), | 554 | @tagName(pl.reg), |
| 590 | }), | 555 | }), |
| 591 | .indirect => |pl| try writer.print("[{s} + 0x{x}]", .{ @tagName(pl.reg), pl.off }), | 556 | .indirect => |pl| try writer.print("[{s} + 0x{x}]", .{ @tagName(pl.reg), pl.off }), |
| | 557 | .indirect_load_frame => |pl| try writer.print("[[{} + 0x{x}]]", .{ pl.index, pl.off }), |
| 592 | .load_frame => |pl| try writer.print("[{} + 0x{x}]", .{ pl.index, pl.off }), | 558 | .load_frame => |pl| try writer.print("[{} + 0x{x}]", .{ pl.index, pl.off }), |
| 593 | .lea_frame => |pl| try writer.print("{} + 0x{x}", .{ pl.index, pl.off }), | 559 | .lea_frame => |pl| try writer.print("{} + 0x{x}", .{ pl.index, pl.off }), |
| 594 | .load_nav => |pl| try writer.print("[nav:{d}]", .{@intFromEnum(pl)}), | 560 | .load_nav => |pl| try writer.print("[nav:{d}]", .{@intFromEnum(pl)}), |
| ... | @@ -621,6 +587,7 @@ const InstTracking = struct { | ... | @@ -621,6 +587,7 @@ const InstTracking = struct { |
| 621 | .undef, | 587 | .undef, |
| 622 | .immediate, | 588 | .immediate, |
| 623 | .memory, | 589 | .memory, |
| | 590 | .indirect_load_frame, |
| 624 | .load_frame, | 591 | .load_frame, |
| 625 | .lea_frame, | 592 | .lea_frame, |
| 626 | .load_nav, | 593 | .load_nav, |
| ... | @@ -724,6 +691,7 @@ const InstTracking = struct { | ... | @@ -724,6 +691,7 @@ const InstTracking = struct { |
| 724 | .undef, | 691 | .undef, |
| 725 | .immediate, | 692 | .immediate, |
| 726 | .memory, | 693 | .memory, |
| | 694 | .indirect_load_frame, |
| 727 | .lea_frame, | 695 | .lea_frame, |
| 728 | .load_nav, | 696 | .load_nav, |
| 729 | .lea_nav, | 697 | .lea_nav, |
| ... | @@ -795,9 +763,9 @@ const InstTracking = struct { | ... | @@ -795,9 +763,9 @@ const InstTracking = struct { |
| 795 | } | 763 | } |
| 796 | } | 764 | } |
| 797 | | 765 | |
| 798 | fn die(self: *InstTracking, function: *CodeGen, inst: Air.Inst.Index) !void { | 766 | fn die(self: *InstTracking, function: *CodeGen, inst: Air.Inst.Index, comptime opts: FreeOptions) !void { |
| 799 | if (self.short == .dead) return; | 767 | if (self.short == .dead) return; |
| 800 | try function.freeValue(self.short); | 768 | try function.freeValue(self.short, opts); |
| 801 | if (self.long == .none) self.long = self.short; | 769 | if (self.long == .none) self.long = self.short; |
| 802 | self.short = .{ .dead = function.scope_generation }; | 770 | self.short = .{ .dead = function.scope_generation }; |
| 803 | tracking_log.debug("{} => {} (death)", .{ inst, self.* }); | 771 | tracking_log.debug("{} => {} (death)", .{ inst, self.* }); |
| ... | @@ -2356,13 +2324,12 @@ fn genBodyBlock(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -2356,13 +2324,12 @@ fn genBodyBlock(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2356 | } | 2324 | } |
| 2357 | | 2325 | |
| 2358 | fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | 2326 | fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2359 | @setEvalBranchQuota(28_700); | 2327 | @setEvalBranchQuota(29_400); |
| 2360 | const pt = cg.pt; | 2328 | const pt = cg.pt; |
| 2361 | const zcu = pt.zcu; | 2329 | const zcu = pt.zcu; |
| 2362 | const ip = &zcu.intern_pool; | 2330 | const ip = &zcu.intern_pool; |
| 2363 | const air_tags = cg.air.instructions.items(.tag); | 2331 | const air_tags = cg.air.instructions.items(.tag); |
| 2364 | const air_datas = cg.air.instructions.items(.data); | 2332 | const air_datas = cg.air.instructions.items(.data); |
| 2365 | const use_old = cg.target.ofmt == .coff; | | |
| 2366 | | 2333 | |
| 2367 | for (body) |inst| { | 2334 | for (body) |inst| { |
| 2368 | if (cg.liveness.isUnused(inst) and !cg.air.mustLower(inst, ip)) continue; | 2335 | if (cg.liveness.isUnused(inst) and !cg.air.mustLower(inst, ip)) continue; |
| ... | @@ -2372,17 +2339,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -2372,17 +2339,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2372 | cg.reused_operands = .initEmpty(); | 2339 | cg.reused_operands = .initEmpty(); |
| 2373 | try cg.inst_tracking.ensureUnusedCapacity(cg.gpa, 1); | 2340 | try cg.inst_tracking.ensureUnusedCapacity(cg.gpa, 1); |
| 2374 | switch (air_tags[@intFromEnum(inst)]) { | 2341 | switch (air_tags[@intFromEnum(inst)]) { |
| 2375 | // zig fmt: off | 2342 | .select => try cg.airSelect(inst), |
| 2376 | .select => try cg.airSelect(inst), | | |
| 2377 | .shuffle_one, .shuffle_two => @panic("x86_64 TODO: shuffle_one/shuffle_two"), | 2343 | .shuffle_one, .shuffle_two => @panic("x86_64 TODO: shuffle_one/shuffle_two"), |
| 2378 | // zig fmt: on | | |
| 2379 | | 2344 | |
| 2380 | .arg => try cg.airArg(inst), | 2345 | .arg => try cg.airArg(inst), |
| 2381 | .add, .add_optimized, .add_wrap => |air_tag| if (use_old) try cg.airBinOp(inst, switch (air_tag) { | 2346 | .add, .add_optimized, .add_wrap => |air_tag| { |
| 2382 | else => unreachable, | | |
| 2383 | .add, .add_optimized => .add, | | |
| 2384 | .add_wrap => .add_wrap, | | |
| 2385 | }) else { | | |
| 2386 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | 2347 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| 2387 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 2348 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| 2388 | var res: [1]Temp = undefined; | 2349 | var res: [1]Temp = undefined; |
| ... | @@ -3393,7 +3354,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -3393,7 +3354,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 3393 | .any, | 3354 | .any, |
| 3394 | }, | 3355 | }, |
| 3395 | .patterns = &.{ | 3356 | .patterns = &.{ |
| 3396 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 3357 | .{ .src = .{ |
| | 3358 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 3359 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 3360 | .none, |
| | 3361 | } }, |
| 3397 | }, | 3362 | }, |
| 3398 | .call_frame = .{ .alignment = .@"16" }, | 3363 | .call_frame = .{ .alignment = .@"16" }, |
| 3399 | .extra_temps = .{ | 3364 | .extra_temps = .{ |
| ... | @@ -3527,8 +3492,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -3527,8 +3492,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 3527 | .call_frame = .{ .alignment = .@"16" }, | 3492 | .call_frame = .{ .alignment = .@"16" }, |
| 3528 | .extra_temps = .{ | 3493 | .extra_temps = .{ |
| 3529 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 3494 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 3530 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 3495 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 3531 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 3496 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 3532 | .{ .type = .usize, .kind = .{ .extern_func = "__addhf3" } }, | 3497 | .{ .type = .usize, .kind = .{ .extern_func = "__addhf3" } }, |
| 3533 | .unused, | 3498 | .unused, |
| 3534 | .unused, | 3499 | .unused, |
| ... | @@ -3563,8 +3528,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -3563,8 +3528,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 3563 | .call_frame = .{ .alignment = .@"16" }, | 3528 | .call_frame = .{ .alignment = .@"16" }, |
| 3564 | .extra_temps = .{ | 3529 | .extra_temps = .{ |
| 3565 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 3530 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 3566 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 3531 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 3567 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 3532 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 3568 | .{ .type = .usize, .kind = .{ .extern_func = "__addhf3" } }, | 3533 | .{ .type = .usize, .kind = .{ .extern_func = "__addhf3" } }, |
| 3569 | .unused, | 3534 | .unused, |
| 3570 | .unused, | 3535 | .unused, |
| ... | @@ -3600,8 +3565,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -3600,8 +3565,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 3600 | .call_frame = .{ .alignment = .@"16" }, | 3565 | .call_frame = .{ .alignment = .@"16" }, |
| 3601 | .extra_temps = .{ | 3566 | .extra_temps = .{ |
| 3602 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 3567 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 3603 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 3568 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 3604 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 3569 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 3605 | .{ .type = .usize, .kind = .{ .extern_func = "__addhf3" } }, | 3570 | .{ .type = .usize, .kind = .{ .extern_func = "__addhf3" } }, |
| 3606 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 3571 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 3607 | .unused, | 3572 | .unused, |
| ... | @@ -3640,8 +3605,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -3640,8 +3605,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 3640 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 3605 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 3641 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 3606 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 3642 | .{ .type = .f32, .kind = .mem }, | 3607 | .{ .type = .f32, .kind = .mem }, |
| 3643 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 3608 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 3644 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 3609 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 3645 | .{ .type = .usize, .kind = .{ .extern_func = "__addhf3" } }, | 3610 | .{ .type = .usize, .kind = .{ .extern_func = "__addhf3" } }, |
| 3646 | .unused, | 3611 | .unused, |
| 3647 | .unused, | 3612 | .unused, |
| ... | @@ -4021,6 +3986,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -4021,6 +3986,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 4021 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 3986 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 4022 | } }, | 3987 | } }, |
| 4023 | }, .{ | 3988 | }, .{ |
| | 3989 | .required_abi = .gnu, |
| 4024 | .required_features = .{ .x87, null, null, null }, | 3990 | .required_features = .{ .x87, null, null, null }, |
| 4025 | .src_constraints = .{ | 3991 | .src_constraints = .{ |
| 4026 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 3992 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -4051,6 +4017,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -4051,6 +4017,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 4051 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, | 4017 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| 4052 | } }, | 4018 | } }, |
| 4053 | }, .{ | 4019 | }, .{ |
| | 4020 | .required_abi = .msvc, |
| | 4021 | .required_features = .{ .x87, null, null, null }, |
| | 4022 | .src_constraints = .{ |
| | 4023 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 4024 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 4025 | .any, |
| | 4026 | }, |
| | 4027 | .patterns = &.{ |
| | 4028 | .{ .src = .{ .mem, .mem, .none } }, |
| | 4029 | }, |
| | 4030 | .extra_temps = .{ |
| | 4031 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 4032 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 4033 | .{ .type = .u16, .kind = .mem }, |
| | 4034 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| | 4035 | .unused, |
| | 4036 | .unused, |
| | 4037 | .unused, |
| | 4038 | .unused, |
| | 4039 | .unused, |
| | 4040 | .unused, |
| | 4041 | .unused, |
| | 4042 | }, |
| | 4043 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 4044 | .each = .{ .once = &.{ |
| | 4045 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| | 4046 | .{ ._, .f_, .ld, .src1t, ._, ._, ._ }, |
| | 4047 | .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ }, |
| | 4048 | .{ ._, ._, .movzx, .tmp3d, .memd(.tmp2b, 1), ._, ._ }, |
| | 4049 | .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_00_11), ._, ._ }, |
| | 4050 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| | 4051 | .{ ._, ._, .mov, .memd(.tmp2b, 1), .tmp3b, ._, ._ }, |
| | 4052 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| | 4053 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| | 4054 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 4055 | } }, |
| | 4056 | }, .{ |
| | 4057 | .required_abi = .gnu, |
| 4054 | .required_features = .{ .x87, null, null, null }, | 4058 | .required_features = .{ .x87, null, null, null }, |
| 4055 | .src_constraints = .{ | 4059 | .src_constraints = .{ |
| 4056 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 4060 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -4082,6 +4086,45 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -4082,6 +4086,45 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 4082 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, | 4086 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| 4083 | } }, | 4087 | } }, |
| 4084 | }, .{ | 4088 | }, .{ |
| | 4089 | .required_abi = .msvc, |
| | 4090 | .required_features = .{ .x87, null, null, null }, |
| | 4091 | .src_constraints = .{ |
| | 4092 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 4093 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 4094 | .any, |
| | 4095 | }, |
| | 4096 | .patterns = &.{ |
| | 4097 | .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } }, |
| | 4098 | .{ .src = .{ .mem, .to_x87, .none } }, |
| | 4099 | .{ .src = .{ .to_x87, .to_x87, .none } }, |
| | 4100 | }, |
| | 4101 | .extra_temps = .{ |
| | 4102 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 4103 | .{ .type = .u16, .kind = .mem }, |
| | 4104 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| | 4105 | .unused, |
| | 4106 | .unused, |
| | 4107 | .unused, |
| | 4108 | .unused, |
| | 4109 | .unused, |
| | 4110 | .unused, |
| | 4111 | .unused, |
| | 4112 | .unused, |
| | 4113 | }, |
| | 4114 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 4115 | .each = .{ .once = &.{ |
| | 4116 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| | 4117 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 4118 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, |
| | 4119 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_00_11), ._, ._ }, |
| | 4120 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 4121 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, |
| | 4122 | .{ ._, .f_, .add, .tmp0t, .src1t, ._, ._ }, |
| | 4123 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 4124 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 4125 | } }, |
| | 4126 | }, .{ |
| | 4127 | .required_abi = .gnu, |
| 4085 | .required_features = .{ .x87, null, null, null }, | 4128 | .required_features = .{ .x87, null, null, null }, |
| 4086 | .src_constraints = .{ | 4129 | .src_constraints = .{ |
| 4087 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 4130 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -4115,6 +4158,47 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -4115,6 +4158,47 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 4115 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 4158 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 4116 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 4159 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 4117 | } }, | 4160 | } }, |
| | 4161 | }, .{ |
| | 4162 | .required_abi = .msvc, |
| | 4163 | .required_features = .{ .x87, null, null, null }, |
| | 4164 | .src_constraints = .{ |
| | 4165 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 4166 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 4167 | .any, |
| | 4168 | }, |
| | 4169 | .patterns = &.{ |
| | 4170 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 4171 | }, |
| | 4172 | .extra_temps = .{ |
| | 4173 | .{ .type = .u16, .kind = .mem }, |
| | 4174 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 4175 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 4176 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 4177 | .unused, |
| | 4178 | .unused, |
| | 4179 | .unused, |
| | 4180 | .unused, |
| | 4181 | .unused, |
| | 4182 | .unused, |
| | 4183 | .unused, |
| | 4184 | }, |
| | 4185 | .dst_temps = .{ .mem, .unused }, |
| | 4186 | .clobbers = .{ .eflags = true }, |
| | 4187 | .each = .{ .once = &.{ |
| | 4188 | .{ ._, .fn_cw, .st, .tmp0w, ._, ._, ._ }, |
| | 4189 | .{ ._, ._, .movzx, .tmp1d, .memd(.tmp0b, 1), ._, ._ }, |
| | 4190 | .{ ._, ._, .@"or", .memd(.tmp0b, 1), .ui(0b000_0_00_11), ._, ._ }, |
| | 4191 | .{ ._, .f_cw, .ld, .tmp0w, ._, ._, ._ }, |
| | 4192 | .{ ._, ._, .mov, .memd(.tmp0b, 1), .tmp1b, ._, ._ }, |
| | 4193 | .{ ._, ._, .mov, .tmp1p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 4194 | .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp1, .add_unaligned_size), ._, ._, ._ }, |
| | 4195 | .{ ._, .f_, .ld, .memia(.src1t, .tmp1, .add_unaligned_size), ._, ._, ._ }, |
| | 4196 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| | 4197 | .{ ._, .f_p, .st, .memia(.dst0t, .tmp1, .add_unaligned_size), ._, ._, ._ }, |
| | 4198 | .{ ._, ._, .add, .tmp1p, .si(16), ._, ._ }, |
| | 4199 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 4200 | .{ ._, .f_cw, .ld, .tmp0w, ._, ._, ._ }, |
| | 4201 | } }, |
| 4118 | }, .{ | 4202 | }, .{ |
| 4119 | .required_features = .{ .sse, null, null, null }, | 4203 | .required_features = .{ .sse, null, null, null }, |
| 4120 | .src_constraints = .{ | 4204 | .src_constraints = .{ |
| ... | @@ -4123,7 +4207,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -4123,7 +4207,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 4123 | .any, | 4207 | .any, |
| 4124 | }, | 4208 | }, |
| 4125 | .patterns = &.{ | 4209 | .patterns = &.{ |
| 4126 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 4210 | .{ .src = .{ |
| | 4211 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 4212 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 4213 | .none, |
| | 4214 | } }, |
| 4127 | }, | 4215 | }, |
| 4128 | .call_frame = .{ .alignment = .@"16" }, | 4216 | .call_frame = .{ .alignment = .@"16" }, |
| 4129 | .extra_temps = .{ | 4217 | .extra_temps = .{ |
| ... | @@ -4157,8 +4245,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -4157,8 +4245,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 4157 | .call_frame = .{ .alignment = .@"16" }, | 4245 | .call_frame = .{ .alignment = .@"16" }, |
| 4158 | .extra_temps = .{ | 4246 | .extra_temps = .{ |
| 4159 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 4247 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 4160 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 4248 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 4161 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 4249 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 4162 | .{ .type = .usize, .kind = .{ .extern_func = "__addtf3" } }, | 4250 | .{ .type = .usize, .kind = .{ .extern_func = "__addtf3" } }, |
| 4163 | .unused, | 4251 | .unused, |
| 4164 | .unused, | 4252 | .unused, |
| ... | @@ -4192,8 +4280,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -4192,8 +4280,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 4192 | .call_frame = .{ .alignment = .@"16" }, | 4280 | .call_frame = .{ .alignment = .@"16" }, |
| 4193 | .extra_temps = .{ | 4281 | .extra_temps = .{ |
| 4194 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 4282 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 4195 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 4283 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 4196 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 4284 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 4197 | .{ .type = .usize, .kind = .{ .extern_func = "__addtf3" } }, | 4285 | .{ .type = .usize, .kind = .{ .extern_func = "__addtf3" } }, |
| 4198 | .unused, | 4286 | .unused, |
| 4199 | .unused, | 4287 | .unused, |
| ... | @@ -4227,8 +4315,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -4227,8 +4315,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 4227 | .call_frame = .{ .alignment = .@"16" }, | 4315 | .call_frame = .{ .alignment = .@"16" }, |
| 4228 | .extra_temps = .{ | 4316 | .extra_temps = .{ |
| 4229 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 4317 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 4230 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 4318 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 4231 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 4319 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 4232 | .{ .type = .usize, .kind = .{ .extern_func = "__addtf3" } }, | 4320 | .{ .type = .usize, .kind = .{ .extern_func = "__addtf3" } }, |
| 4233 | .unused, | 4321 | .unused, |
| 4234 | .unused, | 4322 | .unused, |
| ... | @@ -4273,7 +4361,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -4273,7 +4361,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 4273 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 4361 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 4274 | }, | 4362 | }, |
| 4275 | .add_safe => unreachable, | 4363 | .add_safe => unreachable, |
| 4276 | .add_sat => |air_tag| if (use_old) try cg.airAddSat(inst) else { | 4364 | .add_sat => |air_tag| { |
| 4277 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | 4365 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| 4278 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 4366 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| 4279 | var res: [1]Temp = undefined; | 4367 | var res: [1]Temp = undefined; |
| ... | @@ -12838,11 +12926,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -12838,11 +12926,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 12838 | }; | 12926 | }; |
| 12839 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 12927 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 12840 | }, | 12928 | }, |
| 12841 | .sub, .sub_optimized, .sub_wrap => |air_tag| if (use_old) try cg.airBinOp(inst, switch (air_tag) { | 12929 | .sub, .sub_optimized, .sub_wrap => |air_tag| { |
| 12842 | else => unreachable, | | |
| 12843 | .sub, .sub_optimized => .sub, | | |
| 12844 | .sub_wrap => .sub_wrap, | | |
| 12845 | }) else { | | |
| 12846 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | 12930 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| 12847 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 12931 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| 12848 | var res: [1]Temp = undefined; | 12932 | var res: [1]Temp = undefined; |
| ... | @@ -13825,7 +13909,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -13825,7 +13909,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 13825 | .any, | 13909 | .any, |
| 13826 | }, | 13910 | }, |
| 13827 | .patterns = &.{ | 13911 | .patterns = &.{ |
| 13828 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 13912 | .{ .src = .{ |
| | 13913 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 13914 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 13915 | .none, |
| | 13916 | } }, |
| 13829 | }, | 13917 | }, |
| 13830 | .call_frame = .{ .alignment = .@"16" }, | 13918 | .call_frame = .{ .alignment = .@"16" }, |
| 13831 | .extra_temps = .{ | 13919 | .extra_temps = .{ |
| ... | @@ -13959,8 +14047,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -13959,8 +14047,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 13959 | .call_frame = .{ .alignment = .@"16" }, | 14047 | .call_frame = .{ .alignment = .@"16" }, |
| 13960 | .extra_temps = .{ | 14048 | .extra_temps = .{ |
| 13961 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 14049 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 13962 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 14050 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 13963 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 14051 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 13964 | .{ .type = .usize, .kind = .{ .extern_func = "__subhf3" } }, | 14052 | .{ .type = .usize, .kind = .{ .extern_func = "__subhf3" } }, |
| 13965 | .unused, | 14053 | .unused, |
| 13966 | .unused, | 14054 | .unused, |
| ... | @@ -13995,8 +14083,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -13995,8 +14083,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 13995 | .call_frame = .{ .alignment = .@"16" }, | 14083 | .call_frame = .{ .alignment = .@"16" }, |
| 13996 | .extra_temps = .{ | 14084 | .extra_temps = .{ |
| 13997 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 14085 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 13998 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 14086 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 13999 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 14087 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 14000 | .{ .type = .usize, .kind = .{ .extern_func = "__subhf3" } }, | 14088 | .{ .type = .usize, .kind = .{ .extern_func = "__subhf3" } }, |
| 14001 | .unused, | 14089 | .unused, |
| 14002 | .unused, | 14090 | .unused, |
| ... | @@ -14032,8 +14120,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -14032,8 +14120,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 14032 | .call_frame = .{ .alignment = .@"16" }, | 14120 | .call_frame = .{ .alignment = .@"16" }, |
| 14033 | .extra_temps = .{ | 14121 | .extra_temps = .{ |
| 14034 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 14122 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 14035 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 14123 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 14036 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 14124 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 14037 | .{ .type = .usize, .kind = .{ .extern_func = "__subhf3" } }, | 14125 | .{ .type = .usize, .kind = .{ .extern_func = "__subhf3" } }, |
| 14038 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 14126 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 14039 | .unused, | 14127 | .unused, |
| ... | @@ -14072,8 +14160,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -14072,8 +14160,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 14072 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 14160 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 14073 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 14161 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 14074 | .{ .type = .f32, .kind = .mem }, | 14162 | .{ .type = .f32, .kind = .mem }, |
| 14075 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 14163 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 14076 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 14164 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 14077 | .{ .type = .usize, .kind = .{ .extern_func = "__subhf3" } }, | 14165 | .{ .type = .usize, .kind = .{ .extern_func = "__subhf3" } }, |
| 14078 | .unused, | 14166 | .unused, |
| 14079 | .unused, | 14167 | .unused, |
| ... | @@ -14442,6 +14530,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -14442,6 +14530,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 14442 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 14530 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 14443 | } }, | 14531 | } }, |
| 14444 | }, .{ | 14532 | }, .{ |
| | 14533 | .required_abi = .gnu, |
| 14445 | .required_features = .{ .x87, null, null, null }, | 14534 | .required_features = .{ .x87, null, null, null }, |
| 14446 | .src_constraints = .{ | 14535 | .src_constraints = .{ |
| 14447 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 14536 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -14472,6 +14561,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -14472,6 +14561,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 14472 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, | 14561 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| 14473 | } }, | 14562 | } }, |
| 14474 | }, .{ | 14563 | }, .{ |
| | 14564 | .required_abi = .msvc, |
| | 14565 | .required_features = .{ .x87, null, null, null }, |
| | 14566 | .src_constraints = .{ |
| | 14567 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 14568 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 14569 | .any, |
| | 14570 | }, |
| | 14571 | .patterns = &.{ |
| | 14572 | .{ .src = .{ .mem, .mem, .none } }, |
| | 14573 | }, |
| | 14574 | .extra_temps = .{ |
| | 14575 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 14576 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 14577 | .{ .type = .u16, .kind = .mem }, |
| | 14578 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| | 14579 | .unused, |
| | 14580 | .unused, |
| | 14581 | .unused, |
| | 14582 | .unused, |
| | 14583 | .unused, |
| | 14584 | .unused, |
| | 14585 | .unused, |
| | 14586 | }, |
| | 14587 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 14588 | .each = .{ .once = &.{ |
| | 14589 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| | 14590 | .{ ._, .f_, .ld, .src1t, ._, ._, ._ }, |
| | 14591 | .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ }, |
| | 14592 | .{ ._, ._, .movzx, .tmp3d, .memd(.tmp2b, 1), ._, ._ }, |
| | 14593 | .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_00_11), ._, ._ }, |
| | 14594 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| | 14595 | .{ ._, ._, .mov, .memd(.tmp2b, 1), .tmp3b, ._, ._ }, |
| | 14596 | .{ ._, .f_p, .sub, ._, ._, ._, ._ }, |
| | 14597 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| | 14598 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 14599 | } }, |
| | 14600 | }, .{ |
| | 14601 | .required_abi = .gnu, |
| 14475 | .required_features = .{ .x87, null, null, null }, | 14602 | .required_features = .{ .x87, null, null, null }, |
| 14476 | .src_constraints = .{ | 14603 | .src_constraints = .{ |
| 14477 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 14604 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -14501,6 +14628,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -14501,6 +14628,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 14501 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, | 14628 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| 14502 | } }, | 14629 | } }, |
| 14503 | }, .{ | 14630 | }, .{ |
| | 14631 | .required_abi = .msvc, |
| | 14632 | .required_features = .{ .x87, null, null, null }, |
| | 14633 | .src_constraints = .{ |
| | 14634 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 14635 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 14636 | .any, |
| | 14637 | }, |
| | 14638 | .patterns = &.{ |
| | 14639 | .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } }, |
| | 14640 | }, |
| | 14641 | .extra_temps = .{ |
| | 14642 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 14643 | .{ .type = .u16, .kind = .mem }, |
| | 14644 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| | 14645 | .unused, |
| | 14646 | .unused, |
| | 14647 | .unused, |
| | 14648 | .unused, |
| | 14649 | .unused, |
| | 14650 | .unused, |
| | 14651 | .unused, |
| | 14652 | .unused, |
| | 14653 | }, |
| | 14654 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 14655 | .each = .{ .once = &.{ |
| | 14656 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| | 14657 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 14658 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, |
| | 14659 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_00_11), ._, ._ }, |
| | 14660 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 14661 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, |
| | 14662 | .{ ._, .f_, .subr, .tmp0t, .src1t, ._, ._ }, |
| | 14663 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 14664 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 14665 | } }, |
| | 14666 | }, .{ |
| | 14667 | .required_abi = .gnu, |
| 14504 | .required_features = .{ .x87, null, null, null }, | 14668 | .required_features = .{ .x87, null, null, null }, |
| 14505 | .src_constraints = .{ | 14669 | .src_constraints = .{ |
| 14506 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 14670 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -14531,6 +14695,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -14531,6 +14695,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 14531 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, | 14695 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| 14532 | } }, | 14696 | } }, |
| 14533 | }, .{ | 14697 | }, .{ |
| | 14698 | .required_abi = .msvc, |
| | 14699 | .required_features = .{ .x87, null, null, null }, |
| | 14700 | .src_constraints = .{ |
| | 14701 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 14702 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 14703 | .any, |
| | 14704 | }, |
| | 14705 | .patterns = &.{ |
| | 14706 | .{ .src = .{ .mem, .to_x87, .none } }, |
| | 14707 | .{ .src = .{ .to_x87, .to_x87, .none } }, |
| | 14708 | }, |
| | 14709 | .extra_temps = .{ |
| | 14710 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 14711 | .{ .type = .u16, .kind = .mem }, |
| | 14712 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| | 14713 | .unused, |
| | 14714 | .unused, |
| | 14715 | .unused, |
| | 14716 | .unused, |
| | 14717 | .unused, |
| | 14718 | .unused, |
| | 14719 | .unused, |
| | 14720 | .unused, |
| | 14721 | }, |
| | 14722 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 14723 | .each = .{ .once = &.{ |
| | 14724 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| | 14725 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 14726 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, |
| | 14727 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_00_11), ._, ._ }, |
| | 14728 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 14729 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, |
| | 14730 | .{ ._, .f_, .sub, .tmp0t, .src1t, ._, ._ }, |
| | 14731 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 14732 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 14733 | } }, |
| | 14734 | }, .{ |
| | 14735 | .required_abi = .gnu, |
| 14534 | .required_features = .{ .x87, null, null, null }, | 14736 | .required_features = .{ .x87, null, null, null }, |
| 14535 | .src_constraints = .{ | 14737 | .src_constraints = .{ |
| 14536 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 14738 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -14564,6 +14766,47 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -14564,6 +14766,47 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 14564 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 14766 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 14565 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 14767 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 14566 | } }, | 14768 | } }, |
| | 14769 | }, .{ |
| | 14770 | .required_abi = .msvc, |
| | 14771 | .required_features = .{ .x87, null, null, null }, |
| | 14772 | .src_constraints = .{ |
| | 14773 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 14774 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 14775 | .any, |
| | 14776 | }, |
| | 14777 | .patterns = &.{ |
| | 14778 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 14779 | }, |
| | 14780 | .extra_temps = .{ |
| | 14781 | .{ .type = .u16, .kind = .mem }, |
| | 14782 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 14783 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 14784 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 14785 | .unused, |
| | 14786 | .unused, |
| | 14787 | .unused, |
| | 14788 | .unused, |
| | 14789 | .unused, |
| | 14790 | .unused, |
| | 14791 | .unused, |
| | 14792 | }, |
| | 14793 | .dst_temps = .{ .mem, .unused }, |
| | 14794 | .clobbers = .{ .eflags = true }, |
| | 14795 | .each = .{ .once = &.{ |
| | 14796 | .{ ._, .fn_cw, .st, .tmp0w, ._, ._, ._ }, |
| | 14797 | .{ ._, ._, .movzx, .tmp1d, .memd(.tmp0b, 1), ._, ._ }, |
| | 14798 | .{ ._, ._, .@"or", .memd(.tmp0b, 1), .ui(0b000_0_00_11), ._, ._ }, |
| | 14799 | .{ ._, .f_cw, .ld, .tmp0w, ._, ._, ._ }, |
| | 14800 | .{ ._, ._, .mov, .memd(.tmp0b, 1), .tmp1b, ._, ._ }, |
| | 14801 | .{ ._, ._, .mov, .tmp1p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 14802 | .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp1, .add_unaligned_size), ._, ._, ._ }, |
| | 14803 | .{ ._, .f_, .ld, .memia(.src1t, .tmp1, .add_unaligned_size), ._, ._, ._ }, |
| | 14804 | .{ ._, .f_p, .sub, ._, ._, ._, ._ }, |
| | 14805 | .{ ._, .f_p, .st, .memia(.dst0t, .tmp1, .add_unaligned_size), ._, ._, ._ }, |
| | 14806 | .{ ._, ._, .add, .tmp1p, .si(16), ._, ._ }, |
| | 14807 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 14808 | .{ ._, .f_cw, .ld, .tmp0w, ._, ._, ._ }, |
| | 14809 | } }, |
| 14567 | }, .{ | 14810 | }, .{ |
| 14568 | .required_features = .{ .sse, null, null, null }, | 14811 | .required_features = .{ .sse, null, null, null }, |
| 14569 | .src_constraints = .{ | 14812 | .src_constraints = .{ |
| ... | @@ -14572,7 +14815,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -14572,7 +14815,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 14572 | .any, | 14815 | .any, |
| 14573 | }, | 14816 | }, |
| 14574 | .patterns = &.{ | 14817 | .patterns = &.{ |
| 14575 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 14818 | .{ .src = .{ |
| | 14819 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 14820 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 14821 | .none, |
| | 14822 | } }, |
| 14576 | }, | 14823 | }, |
| 14577 | .call_frame = .{ .alignment = .@"16" }, | 14824 | .call_frame = .{ .alignment = .@"16" }, |
| 14578 | .extra_temps = .{ | 14825 | .extra_temps = .{ |
| ... | @@ -14606,8 +14853,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -14606,8 +14853,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 14606 | .call_frame = .{ .alignment = .@"16" }, | 14853 | .call_frame = .{ .alignment = .@"16" }, |
| 14607 | .extra_temps = .{ | 14854 | .extra_temps = .{ |
| 14608 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 14855 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 14609 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 14856 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 14610 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 14857 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 14611 | .{ .type = .usize, .kind = .{ .extern_func = "__subtf3" } }, | 14858 | .{ .type = .usize, .kind = .{ .extern_func = "__subtf3" } }, |
| 14612 | .unused, | 14859 | .unused, |
| 14613 | .unused, | 14860 | .unused, |
| ... | @@ -14641,8 +14888,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -14641,8 +14888,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 14641 | .call_frame = .{ .alignment = .@"16" }, | 14888 | .call_frame = .{ .alignment = .@"16" }, |
| 14642 | .extra_temps = .{ | 14889 | .extra_temps = .{ |
| 14643 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 14890 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 14644 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 14891 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 14645 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 14892 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 14646 | .{ .type = .usize, .kind = .{ .extern_func = "__subtf3" } }, | 14893 | .{ .type = .usize, .kind = .{ .extern_func = "__subtf3" } }, |
| 14647 | .unused, | 14894 | .unused, |
| 14648 | .unused, | 14895 | .unused, |
| ... | @@ -14676,8 +14923,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -14676,8 +14923,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 14676 | .call_frame = .{ .alignment = .@"16" }, | 14923 | .call_frame = .{ .alignment = .@"16" }, |
| 14677 | .extra_temps = .{ | 14924 | .extra_temps = .{ |
| 14678 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 14925 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 14679 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 14926 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 14680 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 14927 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 14681 | .{ .type = .usize, .kind = .{ .extern_func = "__subtf3" } }, | 14928 | .{ .type = .usize, .kind = .{ .extern_func = "__subtf3" } }, |
| 14682 | .unused, | 14929 | .unused, |
| 14683 | .unused, | 14930 | .unused, |
| ... | @@ -14722,7 +14969,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -14722,7 +14969,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 14722 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 14969 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 14723 | }, | 14970 | }, |
| 14724 | .sub_safe => unreachable, | 14971 | .sub_safe => unreachable, |
| 14725 | .sub_sat => |air_tag| if (use_old) try cg.airSubSat(inst) else { | 14972 | .sub_sat => |air_tag| { |
| 14726 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | 14973 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| 14727 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 14974 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| 14728 | var res: [1]Temp = undefined; | 14975 | var res: [1]Temp = undefined; |
| ... | @@ -21556,7 +21803,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21556,7 +21803,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21556 | }; | 21803 | }; |
| 21557 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 21804 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 21558 | }, | 21805 | }, |
| 21559 | .mul, .mul_optimized => |air_tag| if (use_old) try cg.airMulDivBinOp(inst, .mul) else { | 21806 | .mul, .mul_optimized => |air_tag| { |
| 21560 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | 21807 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| 21561 | const ty = cg.typeOf(bin_op.lhs); | 21808 | const ty = cg.typeOf(bin_op.lhs); |
| 21562 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 21809 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| ... | @@ -23355,7 +23602,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23355,7 +23602,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23355 | .any, | 23602 | .any, |
| 23356 | }, | 23603 | }, |
| 23357 | .patterns = &.{ | 23604 | .patterns = &.{ |
| 23358 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 23605 | .{ .src = .{ |
| | 23606 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 23607 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 23608 | .none, |
| | 23609 | } }, |
| 23359 | }, | 23610 | }, |
| 23360 | .call_frame = .{ .alignment = .@"16" }, | 23611 | .call_frame = .{ .alignment = .@"16" }, |
| 23361 | .extra_temps = .{ | 23612 | .extra_temps = .{ |
| ... | @@ -23489,8 +23740,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23489,8 +23740,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23489 | .call_frame = .{ .alignment = .@"16" }, | 23740 | .call_frame = .{ .alignment = .@"16" }, |
| 23490 | .extra_temps = .{ | 23741 | .extra_temps = .{ |
| 23491 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 23742 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 23492 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 23743 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 23493 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 23744 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 23494 | .{ .type = .usize, .kind = .{ .extern_func = "__mulhf3" } }, | 23745 | .{ .type = .usize, .kind = .{ .extern_func = "__mulhf3" } }, |
| 23495 | .unused, | 23746 | .unused, |
| 23496 | .unused, | 23747 | .unused, |
| ... | @@ -23525,8 +23776,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23525,8 +23776,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23525 | .call_frame = .{ .alignment = .@"16" }, | 23776 | .call_frame = .{ .alignment = .@"16" }, |
| 23526 | .extra_temps = .{ | 23777 | .extra_temps = .{ |
| 23527 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 23778 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 23528 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 23779 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 23529 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 23780 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 23530 | .{ .type = .usize, .kind = .{ .extern_func = "__mulhf3" } }, | 23781 | .{ .type = .usize, .kind = .{ .extern_func = "__mulhf3" } }, |
| 23531 | .unused, | 23782 | .unused, |
| 23532 | .unused, | 23783 | .unused, |
| ... | @@ -23562,8 +23813,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23562,8 +23813,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23562 | .call_frame = .{ .alignment = .@"16" }, | 23813 | .call_frame = .{ .alignment = .@"16" }, |
| 23563 | .extra_temps = .{ | 23814 | .extra_temps = .{ |
| 23564 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 23815 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 23565 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 23816 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 23566 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 23817 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 23567 | .{ .type = .usize, .kind = .{ .extern_func = "__mulhf3" } }, | 23818 | .{ .type = .usize, .kind = .{ .extern_func = "__mulhf3" } }, |
| 23568 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 23819 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 23569 | .unused, | 23820 | .unused, |
| ... | @@ -23602,8 +23853,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23602,8 +23853,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23602 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 23853 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 23603 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 23854 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 23604 | .{ .type = .f32, .kind = .mem }, | 23855 | .{ .type = .f32, .kind = .mem }, |
| 23605 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 23856 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 23606 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 23857 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 23607 | .{ .type = .usize, .kind = .{ .extern_func = "__mulhf3" } }, | 23858 | .{ .type = .usize, .kind = .{ .extern_func = "__mulhf3" } }, |
| 23608 | .unused, | 23859 | .unused, |
| 23609 | .unused, | 23860 | .unused, |
| ... | @@ -23983,6 +24234,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23983,6 +24234,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23983 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 24234 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 23984 | } }, | 24235 | } }, |
| 23985 | }, .{ | 24236 | }, .{ |
| | 24237 | .required_abi = .gnu, |
| 23986 | .required_features = .{ .x87, null, null, null }, | 24238 | .required_features = .{ .x87, null, null, null }, |
| 23987 | .src_constraints = .{ | 24239 | .src_constraints = .{ |
| 23988 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 24240 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -24013,6 +24265,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -24013,6 +24265,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 24013 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, | 24265 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| 24014 | } }, | 24266 | } }, |
| 24015 | }, .{ | 24267 | }, .{ |
| | 24268 | .required_abi = .msvc, |
| | 24269 | .required_features = .{ .x87, null, null, null }, |
| | 24270 | .src_constraints = .{ |
| | 24271 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 24272 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 24273 | .any, |
| | 24274 | }, |
| | 24275 | .patterns = &.{ |
| | 24276 | .{ .src = .{ .mem, .mem, .none } }, |
| | 24277 | }, |
| | 24278 | .extra_temps = .{ |
| | 24279 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 24280 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 24281 | .{ .type = .u16, .kind = .mem }, |
| | 24282 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| | 24283 | .unused, |
| | 24284 | .unused, |
| | 24285 | .unused, |
| | 24286 | .unused, |
| | 24287 | .unused, |
| | 24288 | .unused, |
| | 24289 | .unused, |
| | 24290 | }, |
| | 24291 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 24292 | .each = .{ .once = &.{ |
| | 24293 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| | 24294 | .{ ._, .f_, .ld, .src1t, ._, ._, ._ }, |
| | 24295 | .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ }, |
| | 24296 | .{ ._, ._, .movzx, .tmp3d, .memd(.tmp2b, 1), ._, ._ }, |
| | 24297 | .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_00_11), ._, ._ }, |
| | 24298 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| | 24299 | .{ ._, ._, .mov, .memd(.tmp2b, 1), .tmp3b, ._, ._ }, |
| | 24300 | .{ ._, .f_p, .mul, ._, ._, ._, ._ }, |
| | 24301 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| | 24302 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 24303 | } }, |
| | 24304 | }, .{ |
| | 24305 | .required_abi = .gnu, |
| 24016 | .required_features = .{ .x87, null, null, null }, | 24306 | .required_features = .{ .x87, null, null, null }, |
| 24017 | .src_constraints = .{ | 24307 | .src_constraints = .{ |
| 24018 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 24308 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -24044,6 +24334,45 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -24044,6 +24334,45 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 24044 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, | 24334 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| 24045 | } }, | 24335 | } }, |
| 24046 | }, .{ | 24336 | }, .{ |
| | 24337 | .required_abi = .msvc, |
| | 24338 | .required_features = .{ .x87, null, null, null }, |
| | 24339 | .src_constraints = .{ |
| | 24340 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 24341 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 24342 | .any, |
| | 24343 | }, |
| | 24344 | .patterns = &.{ |
| | 24345 | .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } }, |
| | 24346 | .{ .src = .{ .mem, .to_x87, .none } }, |
| | 24347 | .{ .src = .{ .to_x87, .to_x87, .none } }, |
| | 24348 | }, |
| | 24349 | .extra_temps = .{ |
| | 24350 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 24351 | .{ .type = .u16, .kind = .mem }, |
| | 24352 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| | 24353 | .unused, |
| | 24354 | .unused, |
| | 24355 | .unused, |
| | 24356 | .unused, |
| | 24357 | .unused, |
| | 24358 | .unused, |
| | 24359 | .unused, |
| | 24360 | .unused, |
| | 24361 | }, |
| | 24362 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 24363 | .each = .{ .once = &.{ |
| | 24364 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| | 24365 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 24366 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, |
| | 24367 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_00_11), ._, ._ }, |
| | 24368 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 24369 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, |
| | 24370 | .{ ._, .f_, .mul, .tmp0t, .src1t, ._, ._ }, |
| | 24371 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 24372 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 24373 | } }, |
| | 24374 | }, .{ |
| | 24375 | .required_abi = .gnu, |
| 24047 | .required_features = .{ .x87, null, null, null }, | 24376 | .required_features = .{ .x87, null, null, null }, |
| 24048 | .src_constraints = .{ | 24377 | .src_constraints = .{ |
| 24049 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 24378 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -24077,6 +24406,47 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -24077,6 +24406,47 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 24077 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 24406 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 24078 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 24407 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 24079 | } }, | 24408 | } }, |
| | 24409 | }, .{ |
| | 24410 | .required_abi = .msvc, |
| | 24411 | .required_features = .{ .x87, null, null, null }, |
| | 24412 | .src_constraints = .{ |
| | 24413 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 24414 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 24415 | .any, |
| | 24416 | }, |
| | 24417 | .patterns = &.{ |
| | 24418 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 24419 | }, |
| | 24420 | .extra_temps = .{ |
| | 24421 | .{ .type = .u16, .kind = .mem }, |
| | 24422 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 24423 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 24424 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 24425 | .unused, |
| | 24426 | .unused, |
| | 24427 | .unused, |
| | 24428 | .unused, |
| | 24429 | .unused, |
| | 24430 | .unused, |
| | 24431 | .unused, |
| | 24432 | }, |
| | 24433 | .dst_temps = .{ .mem, .unused }, |
| | 24434 | .clobbers = .{ .eflags = true }, |
| | 24435 | .each = .{ .once = &.{ |
| | 24436 | .{ ._, .fn_cw, .st, .tmp0w, ._, ._, ._ }, |
| | 24437 | .{ ._, ._, .movzx, .tmp1d, .memd(.tmp0b, 1), ._, ._ }, |
| | 24438 | .{ ._, ._, .@"or", .memd(.tmp0b, 1), .ui(0b000_0_00_11), ._, ._ }, |
| | 24439 | .{ ._, .f_cw, .ld, .tmp0w, ._, ._, ._ }, |
| | 24440 | .{ ._, ._, .mov, .memd(.tmp0b, 1), .tmp1b, ._, ._ }, |
| | 24441 | .{ ._, ._, .mov, .tmp1p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 24442 | .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp1, .add_unaligned_size), ._, ._, ._ }, |
| | 24443 | .{ ._, .f_, .ld, .memia(.src1t, .tmp1, .add_unaligned_size), ._, ._, ._ }, |
| | 24444 | .{ ._, .f_p, .mul, ._, ._, ._, ._ }, |
| | 24445 | .{ ._, .f_p, .st, .memia(.dst0t, .tmp1, .add_unaligned_size), ._, ._, ._ }, |
| | 24446 | .{ ._, ._, .add, .tmp1p, .si(16), ._, ._ }, |
| | 24447 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 24448 | .{ ._, .f_cw, .ld, .tmp0w, ._, ._, ._ }, |
| | 24449 | } }, |
| 24080 | }, .{ | 24450 | }, .{ |
| 24081 | .required_features = .{ .sse, null, null, null }, | 24451 | .required_features = .{ .sse, null, null, null }, |
| 24082 | .src_constraints = .{ | 24452 | .src_constraints = .{ |
| ... | @@ -24085,7 +24455,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -24085,7 +24455,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 24085 | .any, | 24455 | .any, |
| 24086 | }, | 24456 | }, |
| 24087 | .patterns = &.{ | 24457 | .patterns = &.{ |
| 24088 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 24458 | .{ .src = .{ |
| | 24459 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 24460 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 24461 | .none, |
| | 24462 | } }, |
| 24089 | }, | 24463 | }, |
| 24090 | .call_frame = .{ .alignment = .@"16" }, | 24464 | .call_frame = .{ .alignment = .@"16" }, |
| 24091 | .extra_temps = .{ | 24465 | .extra_temps = .{ |
| ... | @@ -24119,8 +24493,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -24119,8 +24493,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 24119 | .call_frame = .{ .alignment = .@"16" }, | 24493 | .call_frame = .{ .alignment = .@"16" }, |
| 24120 | .extra_temps = .{ | 24494 | .extra_temps = .{ |
| 24121 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 24495 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 24122 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 24496 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 24123 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 24497 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 24124 | .{ .type = .usize, .kind = .{ .extern_func = "__multf3" } }, | 24498 | .{ .type = .usize, .kind = .{ .extern_func = "__multf3" } }, |
| 24125 | .unused, | 24499 | .unused, |
| 24126 | .unused, | 24500 | .unused, |
| ... | @@ -24154,8 +24528,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -24154,8 +24528,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 24154 | .call_frame = .{ .alignment = .@"16" }, | 24528 | .call_frame = .{ .alignment = .@"16" }, |
| 24155 | .extra_temps = .{ | 24529 | .extra_temps = .{ |
| 24156 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 24530 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 24157 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 24531 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 24158 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 24532 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 24159 | .{ .type = .usize, .kind = .{ .extern_func = "__multf3" } }, | 24533 | .{ .type = .usize, .kind = .{ .extern_func = "__multf3" } }, |
| 24160 | .unused, | 24534 | .unused, |
| 24161 | .unused, | 24535 | .unused, |
| ... | @@ -24189,8 +24563,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -24189,8 +24563,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 24189 | .call_frame = .{ .alignment = .@"16" }, | 24563 | .call_frame = .{ .alignment = .@"16" }, |
| 24190 | .extra_temps = .{ | 24564 | .extra_temps = .{ |
| 24191 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 24565 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 24192 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 24566 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 24193 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 24567 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 24194 | .{ .type = .usize, .kind = .{ .extern_func = "__multf3" } }, | 24568 | .{ .type = .usize, .kind = .{ .extern_func = "__multf3" } }, |
| 24195 | .unused, | 24569 | .unused, |
| 24196 | .unused, | 24570 | .unused, |
| ... | @@ -24223,7 +24597,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -24223,7 +24597,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 24223 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 24597 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 24224 | }, | 24598 | }, |
| 24225 | .mul_safe => unreachable, | 24599 | .mul_safe => unreachable, |
| 24226 | .mul_wrap => |air_tag| if (use_old) try cg.airMulDivBinOp(inst, air_tag) else { | 24600 | .mul_wrap => |air_tag| { |
| 24227 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | 24601 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| 24228 | const ty = cg.typeOf(bin_op.lhs); | 24602 | const ty = cg.typeOf(bin_op.lhs); |
| 24229 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 24603 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| ... | @@ -26047,7 +26421,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -26047,7 +26421,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 26047 | .any, | 26421 | .any, |
| 26048 | }, | 26422 | }, |
| 26049 | .patterns = &.{ | 26423 | .patterns = &.{ |
| 26050 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 26424 | .{ .src = .{ |
| | 26425 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 26426 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 26427 | .none, |
| | 26428 | } }, |
| 26051 | }, | 26429 | }, |
| 26052 | .call_frame = .{ .alignment = .@"16" }, | 26430 | .call_frame = .{ .alignment = .@"16" }, |
| 26053 | .extra_temps = .{ | 26431 | .extra_temps = .{ |
| ... | @@ -26181,8 +26559,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -26181,8 +26559,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 26181 | .call_frame = .{ .alignment = .@"16" }, | 26559 | .call_frame = .{ .alignment = .@"16" }, |
| 26182 | .extra_temps = .{ | 26560 | .extra_temps = .{ |
| 26183 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 26561 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 26184 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 26562 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 26185 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 26563 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 26186 | .{ .type = .usize, .kind = .{ .extern_func = "__mulhf3" } }, | 26564 | .{ .type = .usize, .kind = .{ .extern_func = "__mulhf3" } }, |
| 26187 | .unused, | 26565 | .unused, |
| 26188 | .unused, | 26566 | .unused, |
| ... | @@ -26217,8 +26595,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -26217,8 +26595,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 26217 | .call_frame = .{ .alignment = .@"16" }, | 26595 | .call_frame = .{ .alignment = .@"16" }, |
| 26218 | .extra_temps = .{ | 26596 | .extra_temps = .{ |
| 26219 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 26597 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 26220 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 26598 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 26221 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 26599 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 26222 | .{ .type = .usize, .kind = .{ .extern_func = "__mulhf3" } }, | 26600 | .{ .type = .usize, .kind = .{ .extern_func = "__mulhf3" } }, |
| 26223 | .unused, | 26601 | .unused, |
| 26224 | .unused, | 26602 | .unused, |
| ... | @@ -26254,8 +26632,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -26254,8 +26632,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 26254 | .call_frame = .{ .alignment = .@"16" }, | 26632 | .call_frame = .{ .alignment = .@"16" }, |
| 26255 | .extra_temps = .{ | 26633 | .extra_temps = .{ |
| 26256 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 26634 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 26257 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 26635 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 26258 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 26636 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 26259 | .{ .type = .usize, .kind = .{ .extern_func = "__mulhf3" } }, | 26637 | .{ .type = .usize, .kind = .{ .extern_func = "__mulhf3" } }, |
| 26260 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 26638 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 26261 | .unused, | 26639 | .unused, |
| ... | @@ -26294,8 +26672,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -26294,8 +26672,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 26294 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 26672 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 26295 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 26673 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 26296 | .{ .type = .f32, .kind = .mem }, | 26674 | .{ .type = .f32, .kind = .mem }, |
| 26297 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 26675 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 26298 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 26676 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 26299 | .{ .type = .usize, .kind = .{ .extern_func = "__mulhf3" } }, | 26677 | .{ .type = .usize, .kind = .{ .extern_func = "__mulhf3" } }, |
| 26300 | .unused, | 26678 | .unused, |
| 26301 | .unused, | 26679 | .unused, |
| ... | @@ -26777,7 +27155,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -26777,7 +27155,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 26777 | .any, | 27155 | .any, |
| 26778 | }, | 27156 | }, |
| 26779 | .patterns = &.{ | 27157 | .patterns = &.{ |
| 26780 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 27158 | .{ .src = .{ |
| | 27159 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 27160 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 27161 | .none, |
| | 27162 | } }, |
| 26781 | }, | 27163 | }, |
| 26782 | .call_frame = .{ .alignment = .@"16" }, | 27164 | .call_frame = .{ .alignment = .@"16" }, |
| 26783 | .extra_temps = .{ | 27165 | .extra_temps = .{ |
| ... | @@ -26811,8 +27193,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -26811,8 +27193,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 26811 | .call_frame = .{ .alignment = .@"16" }, | 27193 | .call_frame = .{ .alignment = .@"16" }, |
| 26812 | .extra_temps = .{ | 27194 | .extra_temps = .{ |
| 26813 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 27195 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 26814 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 27196 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 26815 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 27197 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 26816 | .{ .type = .usize, .kind = .{ .extern_func = "__multf3" } }, | 27198 | .{ .type = .usize, .kind = .{ .extern_func = "__multf3" } }, |
| 26817 | .unused, | 27199 | .unused, |
| 26818 | .unused, | 27200 | .unused, |
| ... | @@ -26846,8 +27228,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -26846,8 +27228,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 26846 | .call_frame = .{ .alignment = .@"16" }, | 27228 | .call_frame = .{ .alignment = .@"16" }, |
| 26847 | .extra_temps = .{ | 27229 | .extra_temps = .{ |
| 26848 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 27230 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 26849 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 27231 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 26850 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 27232 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 26851 | .{ .type = .usize, .kind = .{ .extern_func = "__multf3" } }, | 27233 | .{ .type = .usize, .kind = .{ .extern_func = "__multf3" } }, |
| 26852 | .unused, | 27234 | .unused, |
| 26853 | .unused, | 27235 | .unused, |
| ... | @@ -26881,8 +27263,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -26881,8 +27263,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 26881 | .call_frame = .{ .alignment = .@"16" }, | 27263 | .call_frame = .{ .alignment = .@"16" }, |
| 26882 | .extra_temps = .{ | 27264 | .extra_temps = .{ |
| 26883 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 27265 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 26884 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 27266 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 26885 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 27267 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 26886 | .{ .type = .usize, .kind = .{ .extern_func = "__multf3" } }, | 27268 | .{ .type = .usize, .kind = .{ .extern_func = "__multf3" } }, |
| 26887 | .unused, | 27269 | .unused, |
| 26888 | .unused, | 27270 | .unused, |
| ... | @@ -26922,9 +27304,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -26922,9 +27304,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 26922 | }; | 27304 | }; |
| 26923 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 27305 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 26924 | }, | 27306 | }, |
| 26925 | .mul_sat => |air_tag| if (use_old) try cg.airMulSat(inst) else fallback: { | 27307 | .mul_sat => |air_tag| { |
| 26926 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | 27308 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| 26927 | if (cg.typeOf(bin_op.lhs).isVector(zcu)) break :fallback try cg.airMulSat(inst); | | |
| 26928 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 27309 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| 26929 | var res: [1]Temp = undefined; | 27310 | var res: [1]Temp = undefined; |
| 26930 | cg.select(&res, &.{cg.typeOf(bin_op.lhs)}, &ops, comptime &.{ .{ | 27311 | cg.select(&res, &.{cg.typeOf(bin_op.lhs)}, &ops, comptime &.{ .{ |
| ... | @@ -32140,11 +32521,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32140,11 +32521,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32140 | }; | 32521 | }; |
| 32141 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 32522 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 32142 | }, | 32523 | }, |
| 32143 | .div_float, .div_float_optimized, .div_exact, .div_exact_optimized => |air_tag| if (use_old) try cg.airMulDivBinOp(inst, switch (air_tag) { | 32524 | .div_float, .div_float_optimized, .div_exact, .div_exact_optimized => |air_tag| { |
| 32144 | else => unreachable, | | |
| 32145 | .div_float, .div_float_optimized => .div_float, | | |
| 32146 | .div_exact, .div_exact_optimized => .div_exact, | | |
| 32147 | }) else { | | |
| 32148 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | 32525 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| 32149 | const ty = cg.typeOf(bin_op.lhs); | 32526 | const ty = cg.typeOf(bin_op.lhs); |
| 32150 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 32527 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| ... | @@ -32187,7 +32564,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32187,7 +32564,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32187 | .any, | 32564 | .any, |
| 32188 | }, | 32565 | }, |
| 32189 | .patterns = &.{ | 32566 | .patterns = &.{ |
| 32190 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 32567 | .{ .src = .{ |
| | 32568 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 32569 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 32570 | .none, |
| | 32571 | } }, |
| 32191 | }, | 32572 | }, |
| 32192 | .call_frame = .{ .alignment = .@"16" }, | 32573 | .call_frame = .{ .alignment = .@"16" }, |
| 32193 | .extra_temps = .{ | 32574 | .extra_temps = .{ |
| ... | @@ -32321,8 +32702,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32321,8 +32702,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32321 | .call_frame = .{ .alignment = .@"16" }, | 32702 | .call_frame = .{ .alignment = .@"16" }, |
| 32322 | .extra_temps = .{ | 32703 | .extra_temps = .{ |
| 32323 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 32704 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 32324 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 32705 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 32325 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 32706 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 32326 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, | 32707 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, |
| 32327 | .unused, | 32708 | .unused, |
| 32328 | .unused, | 32709 | .unused, |
| ... | @@ -32357,8 +32738,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32357,8 +32738,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32357 | .call_frame = .{ .alignment = .@"16" }, | 32738 | .call_frame = .{ .alignment = .@"16" }, |
| 32358 | .extra_temps = .{ | 32739 | .extra_temps = .{ |
| 32359 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 32740 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 32360 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 32741 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 32361 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 32742 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 32362 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, | 32743 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, |
| 32363 | .unused, | 32744 | .unused, |
| 32364 | .unused, | 32745 | .unused, |
| ... | @@ -32394,8 +32775,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32394,8 +32775,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32394 | .call_frame = .{ .alignment = .@"16" }, | 32775 | .call_frame = .{ .alignment = .@"16" }, |
| 32395 | .extra_temps = .{ | 32776 | .extra_temps = .{ |
| 32396 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 32777 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 32397 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 32778 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 32398 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 32779 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 32399 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, | 32780 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, |
| 32400 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 32781 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 32401 | .unused, | 32782 | .unused, |
| ... | @@ -32434,8 +32815,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32434,8 +32815,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32434 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 32815 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 32435 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 32816 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 32436 | .{ .type = .f32, .kind = .mem }, | 32817 | .{ .type = .f32, .kind = .mem }, |
| 32437 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 32818 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 32438 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 32819 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 32439 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, | 32820 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, |
| 32440 | .unused, | 32821 | .unused, |
| 32441 | .unused, | 32822 | .unused, |
| ... | @@ -32805,6 +33186,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32805,6 +33186,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32805 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 33186 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 32806 | } }, | 33187 | } }, |
| 32807 | }, .{ | 33188 | }, .{ |
| | 33189 | .required_abi = .gnu, |
| 32808 | .required_features = .{ .x87, null, null, null }, | 33190 | .required_features = .{ .x87, null, null, null }, |
| 32809 | .src_constraints = .{ | 33191 | .src_constraints = .{ |
| 32810 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 33192 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -32835,6 +33217,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32835,6 +33217,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32835 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, | 33217 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| 32836 | } }, | 33218 | } }, |
| 32837 | }, .{ | 33219 | }, .{ |
| | 33220 | .required_abi = .msvc, |
| | 33221 | .required_features = .{ .x87, null, null, null }, |
| | 33222 | .src_constraints = .{ |
| | 33223 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 33224 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 33225 | .any, |
| | 33226 | }, |
| | 33227 | .patterns = &.{ |
| | 33228 | .{ .src = .{ .mem, .mem, .none } }, |
| | 33229 | }, |
| | 33230 | .extra_temps = .{ |
| | 33231 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 33232 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 33233 | .{ .type = .u16, .kind = .mem }, |
| | 33234 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| | 33235 | .unused, |
| | 33236 | .unused, |
| | 33237 | .unused, |
| | 33238 | .unused, |
| | 33239 | .unused, |
| | 33240 | .unused, |
| | 33241 | .unused, |
| | 33242 | }, |
| | 33243 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 33244 | .each = .{ .once = &.{ |
| | 33245 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| | 33246 | .{ ._, .f_, .ld, .src1t, ._, ._, ._ }, |
| | 33247 | .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ }, |
| | 33248 | .{ ._, ._, .movzx, .tmp3d, .memd(.tmp2b, 1), ._, ._ }, |
| | 33249 | .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_00_11), ._, ._ }, |
| | 33250 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| | 33251 | .{ ._, ._, .mov, .memd(.tmp2b, 1), .tmp3b, ._, ._ }, |
| | 33252 | .{ ._, .f_p, .div, ._, ._, ._, ._ }, |
| | 33253 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| | 33254 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 33255 | } }, |
| | 33256 | }, .{ |
| | 33257 | .required_abi = .gnu, |
| 32838 | .required_features = .{ .x87, null, null, null }, | 33258 | .required_features = .{ .x87, null, null, null }, |
| 32839 | .src_constraints = .{ | 33259 | .src_constraints = .{ |
| 32840 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 33260 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -32864,6 +33284,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32864,6 +33284,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32864 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, | 33284 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| 32865 | } }, | 33285 | } }, |
| 32866 | }, .{ | 33286 | }, .{ |
| | 33287 | .required_abi = .msvc, |
| | 33288 | .required_features = .{ .x87, null, null, null }, |
| | 33289 | .src_constraints = .{ |
| | 33290 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 33291 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 33292 | .any, |
| | 33293 | }, |
| | 33294 | .patterns = &.{ |
| | 33295 | .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } }, |
| | 33296 | }, |
| | 33297 | .extra_temps = .{ |
| | 33298 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 33299 | .{ .type = .u16, .kind = .mem }, |
| | 33300 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| | 33301 | .unused, |
| | 33302 | .unused, |
| | 33303 | .unused, |
| | 33304 | .unused, |
| | 33305 | .unused, |
| | 33306 | .unused, |
| | 33307 | .unused, |
| | 33308 | .unused, |
| | 33309 | }, |
| | 33310 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 33311 | .each = .{ .once = &.{ |
| | 33312 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| | 33313 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 33314 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, |
| | 33315 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_00_11), ._, ._ }, |
| | 33316 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 33317 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, |
| | 33318 | .{ ._, .f_, .divr, .tmp0t, .src1t, ._, ._ }, |
| | 33319 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 33320 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 33321 | } }, |
| | 33322 | }, .{ |
| | 33323 | .required_abi = .gnu, |
| 32867 | .required_features = .{ .x87, null, null, null }, | 33324 | .required_features = .{ .x87, null, null, null }, |
| 32868 | .src_constraints = .{ | 33325 | .src_constraints = .{ |
| 32869 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 33326 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -32894,6 +33351,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32894,6 +33351,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32894 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, | 33351 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| 32895 | } }, | 33352 | } }, |
| 32896 | }, .{ | 33353 | }, .{ |
| | 33354 | .required_abi = .msvc, |
| | 33355 | .required_features = .{ .x87, null, null, null }, |
| | 33356 | .src_constraints = .{ |
| | 33357 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 33358 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 33359 | .any, |
| | 33360 | }, |
| | 33361 | .patterns = &.{ |
| | 33362 | .{ .src = .{ .mem, .to_x87, .none } }, |
| | 33363 | .{ .src = .{ .to_x87, .to_x87, .none } }, |
| | 33364 | }, |
| | 33365 | .extra_temps = .{ |
| | 33366 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 33367 | .{ .type = .u16, .kind = .mem }, |
| | 33368 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| | 33369 | .unused, |
| | 33370 | .unused, |
| | 33371 | .unused, |
| | 33372 | .unused, |
| | 33373 | .unused, |
| | 33374 | .unused, |
| | 33375 | .unused, |
| | 33376 | .unused, |
| | 33377 | }, |
| | 33378 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 33379 | .each = .{ .once = &.{ |
| | 33380 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| | 33381 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 33382 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, |
| | 33383 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_00_11), ._, ._ }, |
| | 33384 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 33385 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, |
| | 33386 | .{ ._, .f_, .div, .tmp0t, .src1t, ._, ._ }, |
| | 33387 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 33388 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 33389 | } }, |
| | 33390 | }, .{ |
| | 33391 | .required_abi = .gnu, |
| 32897 | .required_features = .{ .x87, null, null, null }, | 33392 | .required_features = .{ .x87, null, null, null }, |
| 32898 | .src_constraints = .{ | 33393 | .src_constraints = .{ |
| 32899 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 33394 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -32927,6 +33422,47 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32927,6 +33422,47 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32927 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 33422 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 32928 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 33423 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 32929 | } }, | 33424 | } }, |
| | 33425 | }, .{ |
| | 33426 | .required_abi = .msvc, |
| | 33427 | .required_features = .{ .x87, null, null, null }, |
| | 33428 | .src_constraints = .{ |
| | 33429 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 33430 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 33431 | .any, |
| | 33432 | }, |
| | 33433 | .patterns = &.{ |
| | 33434 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 33435 | }, |
| | 33436 | .extra_temps = .{ |
| | 33437 | .{ .type = .u16, .kind = .mem }, |
| | 33438 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 33439 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 33440 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 33441 | .unused, |
| | 33442 | .unused, |
| | 33443 | .unused, |
| | 33444 | .unused, |
| | 33445 | .unused, |
| | 33446 | .unused, |
| | 33447 | .unused, |
| | 33448 | }, |
| | 33449 | .dst_temps = .{ .mem, .unused }, |
| | 33450 | .clobbers = .{ .eflags = true }, |
| | 33451 | .each = .{ .once = &.{ |
| | 33452 | .{ ._, .fn_cw, .st, .tmp0w, ._, ._, ._ }, |
| | 33453 | .{ ._, ._, .movzx, .tmp1d, .memd(.tmp0b, 1), ._, ._ }, |
| | 33454 | .{ ._, ._, .@"or", .memd(.tmp0b, 1), .ui(0b000_0_00_11), ._, ._ }, |
| | 33455 | .{ ._, .f_cw, .ld, .tmp0w, ._, ._, ._ }, |
| | 33456 | .{ ._, ._, .mov, .memd(.tmp0b, 1), .tmp1b, ._, ._ }, |
| | 33457 | .{ ._, ._, .mov, .tmp1p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 33458 | .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp1, .add_unaligned_size), ._, ._, ._ }, |
| | 33459 | .{ ._, .f_, .ld, .memia(.src1t, .tmp1, .add_unaligned_size), ._, ._, ._ }, |
| | 33460 | .{ ._, .f_p, .div, ._, ._, ._, ._ }, |
| | 33461 | .{ ._, .f_p, .st, .memia(.dst0t, .tmp1, .add_unaligned_size), ._, ._, ._ }, |
| | 33462 | .{ ._, ._, .add, .tmp1p, .si(16), ._, ._ }, |
| | 33463 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 33464 | .{ ._, .f_cw, .ld, .tmp0w, ._, ._, ._ }, |
| | 33465 | } }, |
| 32930 | }, .{ | 33466 | }, .{ |
| 32931 | .required_features = .{ .sse, null, null, null }, | 33467 | .required_features = .{ .sse, null, null, null }, |
| 32932 | .src_constraints = .{ | 33468 | .src_constraints = .{ |
| ... | @@ -32935,7 +33471,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32935,7 +33471,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32935 | .any, | 33471 | .any, |
| 32936 | }, | 33472 | }, |
| 32937 | .patterns = &.{ | 33473 | .patterns = &.{ |
| 32938 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 33474 | .{ .src = .{ |
| | 33475 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 33476 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 33477 | .none, |
| | 33478 | } }, |
| 32939 | }, | 33479 | }, |
| 32940 | .call_frame = .{ .alignment = .@"16" }, | 33480 | .call_frame = .{ .alignment = .@"16" }, |
| 32941 | .extra_temps = .{ | 33481 | .extra_temps = .{ |
| ... | @@ -32969,8 +33509,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32969,8 +33509,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32969 | .call_frame = .{ .alignment = .@"16" }, | 33509 | .call_frame = .{ .alignment = .@"16" }, |
| 32970 | .extra_temps = .{ | 33510 | .extra_temps = .{ |
| 32971 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 33511 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 32972 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 33512 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 32973 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 33513 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 32974 | .{ .type = .usize, .kind = .{ .extern_func = "__divtf3" } }, | 33514 | .{ .type = .usize, .kind = .{ .extern_func = "__divtf3" } }, |
| 32975 | .unused, | 33515 | .unused, |
| 32976 | .unused, | 33516 | .unused, |
| ... | @@ -33004,8 +33544,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33004,8 +33544,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33004 | .call_frame = .{ .alignment = .@"16" }, | 33544 | .call_frame = .{ .alignment = .@"16" }, |
| 33005 | .extra_temps = .{ | 33545 | .extra_temps = .{ |
| 33006 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 33546 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 33007 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 33547 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 33008 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 33548 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 33009 | .{ .type = .usize, .kind = .{ .extern_func = "__divtf3" } }, | 33549 | .{ .type = .usize, .kind = .{ .extern_func = "__divtf3" } }, |
| 33010 | .unused, | 33550 | .unused, |
| 33011 | .unused, | 33551 | .unused, |
| ... | @@ -33039,8 +33579,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33039,8 +33579,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33039 | .call_frame = .{ .alignment = .@"16" }, | 33579 | .call_frame = .{ .alignment = .@"16" }, |
| 33040 | .extra_temps = .{ | 33580 | .extra_temps = .{ |
| 33041 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 33581 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 33042 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 33582 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 33043 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 33583 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 33044 | .{ .type = .usize, .kind = .{ .extern_func = "__divtf3" } }, | 33584 | .{ .type = .usize, .kind = .{ .extern_func = "__divtf3" } }, |
| 33045 | .unused, | 33585 | .unused, |
| 33046 | .unused, | 33586 | .unused, |
| ... | @@ -33075,7 +33615,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33075,7 +33615,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33075 | }; | 33615 | }; |
| 33076 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 33616 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 33077 | }, | 33617 | }, |
| 33078 | .div_trunc => |air_tag| if (use_old) try cg.airMulDivBinOp(inst, air_tag) else { | 33618 | .div_trunc => |air_tag| { |
| 33079 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | 33619 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| 33080 | const ty = cg.typeOf(bin_op.lhs); | 33620 | const ty = cg.typeOf(bin_op.lhs); |
| 33081 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 33621 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| ... | @@ -33121,7 +33661,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33121,7 +33661,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33121 | .any, | 33661 | .any, |
| 33122 | }, | 33662 | }, |
| 33123 | .patterns = &.{ | 33663 | .patterns = &.{ |
| 33124 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 33664 | .{ .src = .{ |
| | 33665 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 33666 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 33667 | .none, |
| | 33668 | } }, |
| 33125 | }, | 33669 | }, |
| 33126 | .call_frame = .{ .alignment = .@"16" }, | 33670 | .call_frame = .{ .alignment = .@"16" }, |
| 33127 | .extra_temps = .{ | 33671 | .extra_temps = .{ |
| ... | @@ -33265,8 +33809,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33265,8 +33809,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33265 | .call_frame = .{ .alignment = .@"16" }, | 33809 | .call_frame = .{ .alignment = .@"16" }, |
| 33266 | .extra_temps = .{ | 33810 | .extra_temps = .{ |
| 33267 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 33811 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 33268 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 33812 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 33269 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 33813 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 33270 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, | 33814 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, |
| 33271 | .{ .type = .usize, .kind = .{ .extern_func = "__trunch" } }, | 33815 | .{ .type = .usize, .kind = .{ .extern_func = "__trunch" } }, |
| 33272 | .unused, | 33816 | .unused, |
| ... | @@ -33302,8 +33846,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33302,8 +33846,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33302 | .call_frame = .{ .alignment = .@"16" }, | 33846 | .call_frame = .{ .alignment = .@"16" }, |
| 33303 | .extra_temps = .{ | 33847 | .extra_temps = .{ |
| 33304 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 33848 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 33305 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 33849 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 33306 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 33850 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 33307 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, | 33851 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, |
| 33308 | .{ .type = .usize, .kind = .{ .extern_func = "__trunch" } }, | 33852 | .{ .type = .usize, .kind = .{ .extern_func = "__trunch" } }, |
| 33309 | .unused, | 33853 | .unused, |
| ... | @@ -33340,8 +33884,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33340,8 +33884,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33340 | .call_frame = .{ .alignment = .@"16" }, | 33884 | .call_frame = .{ .alignment = .@"16" }, |
| 33341 | .extra_temps = .{ | 33885 | .extra_temps = .{ |
| 33342 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 33886 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 33343 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 33887 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 33344 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 33888 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 33345 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, | 33889 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, |
| 33346 | .{ .type = .usize, .kind = .{ .extern_func = "__trunch" } }, | 33890 | .{ .type = .usize, .kind = .{ .extern_func = "__trunch" } }, |
| 33347 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 33891 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| ... | @@ -33381,8 +33925,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33381,8 +33925,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33381 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 33925 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 33382 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 33926 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 33383 | .{ .type = .f32, .kind = .mem }, | 33927 | .{ .type = .f32, .kind = .mem }, |
| 33384 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 33928 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 33385 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 33929 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 33386 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, | 33930 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, |
| 33387 | .{ .type = .usize, .kind = .{ .extern_func = "__trunch" } }, | 33931 | .{ .type = .usize, .kind = .{ .extern_func = "__trunch" } }, |
| 33388 | .unused, | 33932 | .unused, |
| ... | @@ -33448,7 +33992,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33448,7 +33992,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33448 | .any, | 33992 | .any, |
| 33449 | }, | 33993 | }, |
| 33450 | .patterns = &.{ | 33994 | .patterns = &.{ |
| 33451 | .{ .src = .{ .{ .to_reg = .xmm0 }, .to_mem, .none } }, | 33995 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .to_mem, .none } }, |
| 33452 | }, | 33996 | }, |
| 33453 | .call_frame = .{ .alignment = .@"16" }, | 33997 | .call_frame = .{ .alignment = .@"16" }, |
| 33454 | .extra_temps = .{ | 33998 | .extra_temps = .{ |
| ... | @@ -33515,7 +34059,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33515,7 +34059,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33515 | .call_frame = .{ .alignment = .@"16" }, | 34059 | .call_frame = .{ .alignment = .@"16" }, |
| 33516 | .extra_temps = .{ | 34060 | .extra_temps = .{ |
| 33517 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 34061 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 33518 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 34062 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 33519 | .{ .type = .usize, .kind = .{ .extern_func = "truncf" } }, | 34063 | .{ .type = .usize, .kind = .{ .extern_func = "truncf" } }, |
| 33520 | .unused, | 34064 | .unused, |
| 33521 | .unused, | 34065 | .unused, |
| ... | @@ -33661,7 +34205,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33661,7 +34205,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33661 | .any, | 34205 | .any, |
| 33662 | }, | 34206 | }, |
| 33663 | .patterns = &.{ | 34207 | .patterns = &.{ |
| 33664 | .{ .src = .{ .{ .to_reg = .xmm0 }, .to_mem, .none } }, | 34208 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .to_mem, .none } }, |
| 33665 | }, | 34209 | }, |
| 33666 | .call_frame = .{ .alignment = .@"16" }, | 34210 | .call_frame = .{ .alignment = .@"16" }, |
| 33667 | .extra_temps = .{ | 34211 | .extra_temps = .{ |
| ... | @@ -33691,7 +34235,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33691,7 +34235,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33691 | .any, | 34235 | .any, |
| 33692 | }, | 34236 | }, |
| 33693 | .patterns = &.{ | 34237 | .patterns = &.{ |
| 33694 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 34238 | .{ .src = .{ |
| | 34239 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 34240 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 34241 | .none, |
| | 34242 | } }, |
| 33695 | }, | 34243 | }, |
| 33696 | .call_frame = .{ .alignment = .@"16" }, | 34244 | .call_frame = .{ .alignment = .@"16" }, |
| 33697 | .extra_temps = .{ | 34245 | .extra_temps = .{ |
| ... | @@ -33842,7 +34390,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33842,7 +34390,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33842 | .call_frame = .{ .alignment = .@"16" }, | 34390 | .call_frame = .{ .alignment = .@"16" }, |
| 33843 | .extra_temps = .{ | 34391 | .extra_temps = .{ |
| 33844 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 34392 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 33845 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 34393 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 33846 | .{ .type = .usize, .kind = .{ .extern_func = "trunc" } }, | 34394 | .{ .type = .usize, .kind = .{ .extern_func = "trunc" } }, |
| 33847 | .unused, | 34395 | .unused, |
| 33848 | .unused, | 34396 | .unused, |
| ... | @@ -33877,8 +34425,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33877,8 +34425,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33877 | .call_frame = .{ .alignment = .@"16" }, | 34425 | .call_frame = .{ .alignment = .@"16" }, |
| 33878 | .extra_temps = .{ | 34426 | .extra_temps = .{ |
| 33879 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 34427 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 33880 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 34428 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 33881 | .{ .type = .f64, .kind = .{ .reg = .xmm1 } }, | 34429 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 33882 | .{ .type = .usize, .kind = .{ .extern_func = "__divdf3" } }, | 34430 | .{ .type = .usize, .kind = .{ .extern_func = "__divdf3" } }, |
| 33883 | .{ .type = .usize, .kind = .{ .extern_func = "trunc" } }, | 34431 | .{ .type = .usize, .kind = .{ .extern_func = "trunc" } }, |
| 33884 | .unused, | 34432 | .unused, |
| ... | @@ -33903,6 +34451,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33903,6 +34451,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33903 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 34451 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 33904 | } }, | 34452 | } }, |
| 33905 | }, .{ | 34453 | }, .{ |
| | 34454 | .required_abi = .gnu, |
| | 34455 | .required_cc_abi = .sysv64, |
| 33906 | .required_features = .{ .x87, null, null, null }, | 34456 | .required_features = .{ .x87, null, null, null }, |
| 33907 | .src_constraints = .{ | 34457 | .src_constraints = .{ |
| 33908 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 34458 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -33936,6 +34486,88 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33936,6 +34486,88 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33936 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 34486 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 33937 | } }, | 34487 | } }, |
| 33938 | }, .{ | 34488 | }, .{ |
| | 34489 | .required_abi = .gnu, |
| | 34490 | .required_cc_abi = .win64, |
| | 34491 | .required_features = .{ .x87, null, null, null }, |
| | 34492 | .src_constraints = .{ |
| | 34493 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 34494 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 34495 | .any, |
| | 34496 | }, |
| | 34497 | .patterns = &.{ |
| | 34498 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 34499 | }, |
| | 34500 | .call_frame = .{ .alignment = .@"16" }, |
| | 34501 | .extra_temps = .{ |
| | 34502 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 34503 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 34504 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 34505 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 34506 | .{ .type = .usize, .kind = .{ .extern_func = "__truncx" } }, |
| | 34507 | .unused, |
| | 34508 | .unused, |
| | 34509 | .unused, |
| | 34510 | .unused, |
| | 34511 | .unused, |
| | 34512 | .unused, |
| | 34513 | }, |
| | 34514 | .dst_temps = .{ .mem, .unused }, |
| | 34515 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 34516 | .each = .{ .once = &.{ |
| | 34517 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| | 34518 | .{ ._, .f_, .ld, .src1t, ._, ._, ._ }, |
| | 34519 | .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ }, |
| | 34520 | .{ ._, .f_p, .div, ._, ._, ._, ._ }, |
| | 34521 | .{ ._, .f_p, .st, .lea(.tmp2t), ._, ._, ._ }, |
| | 34522 | .{ ._, ._, .mov, .tmp3p, .tmp2p, ._, ._ }, |
| | 34523 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 34524 | } }, |
| | 34525 | }, .{ |
| | 34526 | .required_abi = .msvc, |
| | 34527 | .required_cc_abi = .win64, |
| | 34528 | .required_features = .{ .x87, null, null, null }, |
| | 34529 | .src_constraints = .{ |
| | 34530 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 34531 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 34532 | .any, |
| | 34533 | }, |
| | 34534 | .patterns = &.{ |
| | 34535 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 34536 | }, |
| | 34537 | .call_frame = .{ .alignment = .@"16" }, |
| | 34538 | .extra_temps = .{ |
| | 34539 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 34540 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 34541 | .{ .type = .u16, .kind = .mem }, |
| | 34542 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 34543 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 34544 | .{ .type = .usize, .kind = .{ .extern_func = "__truncx" } }, |
| | 34545 | .unused, |
| | 34546 | .unused, |
| | 34547 | .unused, |
| | 34548 | .unused, |
| | 34549 | .unused, |
| | 34550 | }, |
| | 34551 | .dst_temps = .{ .mem, .unused }, |
| | 34552 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 34553 | .each = .{ .once = &.{ |
| | 34554 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| | 34555 | .{ ._, .f_, .ld, .src1t, ._, ._, ._ }, |
| | 34556 | .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ }, |
| | 34557 | .{ ._, ._, .movzx, .tmp3d, .memd(.tmp2b, 1), ._, ._ }, |
| | 34558 | .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_00_11), ._, ._ }, |
| | 34559 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| | 34560 | .{ ._, ._, .mov, .memd(.tmp2b, 1), .tmp3b, ._, ._ }, |
| | 34561 | .{ ._, ._, .lea, .tmp3p, .mem(.dst0), ._, ._ }, |
| | 34562 | .{ ._, .f_p, .div, ._, ._, ._, ._ }, |
| | 34563 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| | 34564 | .{ ._, .f_p, .st, .lea(.tmp3t), ._, ._, ._ }, |
| | 34565 | .{ ._, ._, .mov, .tmp4p, .tmp3p, ._, ._ }, |
| | 34566 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| | 34567 | } }, |
| | 34568 | }, .{ |
| | 34569 | .required_abi = .gnu, |
| | 34570 | .required_cc_abi = .sysv64, |
| 33939 | .required_features = .{ .x87, null, null, null }, | 34571 | .required_features = .{ .x87, null, null, null }, |
| 33940 | .src_constraints = .{ | 34572 | .src_constraints = .{ |
| 33941 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 34573 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -33973,6 +34605,92 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33973,6 +34605,92 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33973 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 34605 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 33974 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 34606 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 33975 | } }, | 34607 | } }, |
| | 34608 | }, .{ |
| | 34609 | .required_abi = .gnu, |
| | 34610 | .required_cc_abi = .win64, |
| | 34611 | .required_features = .{ .x87, null, null, null }, |
| | 34612 | .src_constraints = .{ |
| | 34613 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 34614 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 34615 | .any, |
| | 34616 | }, |
| | 34617 | .patterns = &.{ |
| | 34618 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 34619 | }, |
| | 34620 | .call_frame = .{ .alignment = .@"16" }, |
| | 34621 | .extra_temps = .{ |
| | 34622 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 34623 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 34624 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 34625 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 34626 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 34627 | .{ .type = .usize, .kind = .{ .extern_func = "__truncx" } }, |
| | 34628 | .unused, |
| | 34629 | .unused, |
| | 34630 | .unused, |
| | 34631 | .unused, |
| | 34632 | .unused, |
| | 34633 | }, |
| | 34634 | .dst_temps = .{ .mem, .unused }, |
| | 34635 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 34636 | .each = .{ .once = &.{ |
| | 34637 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 34638 | .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| | 34639 | .{ ._, .f_, .ld, .memia(.src1t, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| | 34640 | .{ ._, .f_p, .div, ._, ._, ._, ._ }, |
| | 34641 | .{ ._, ._, .lea, .tmp3p, .memia(.dst0, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 34642 | .{ ._, .f_p, .st, .lea(.tmp3t), ._, ._, ._ }, |
| | 34643 | .{ ._, ._, .mov, .tmp4p, .tmp3p, ._, ._ }, |
| | 34644 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| | 34645 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| | 34646 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 34647 | } }, |
| | 34648 | }, .{ |
| | 34649 | .required_abi = .msvc, |
| | 34650 | .required_cc_abi = .win64, |
| | 34651 | .required_features = .{ .x87, null, null, null }, |
| | 34652 | .src_constraints = .{ |
| | 34653 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 34654 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 34655 | .any, |
| | 34656 | }, |
| | 34657 | .patterns = &.{ |
| | 34658 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 34659 | }, |
| | 34660 | .call_frame = .{ .alignment = .@"16" }, |
| | 34661 | .extra_temps = .{ |
| | 34662 | .{ .type = .u16, .kind = .mem }, |
| | 34663 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 34664 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 34665 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 34666 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 34667 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 34668 | .{ .type = .usize, .kind = .{ .extern_func = "__truncx" } }, |
| | 34669 | .unused, |
| | 34670 | .unused, |
| | 34671 | .unused, |
| | 34672 | .unused, |
| | 34673 | }, |
| | 34674 | .dst_temps = .{ .mem, .unused }, |
| | 34675 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 34676 | .each = .{ .once = &.{ |
| | 34677 | .{ ._, .fn_cw, .st, .tmp0w, ._, ._, ._ }, |
| | 34678 | .{ ._, ._, .movzx, .tmp1d, .memd(.tmp0b, 1), ._, ._ }, |
| | 34679 | .{ ._, ._, .@"or", .memd(.tmp0b, 1), .ui(0b000_0_00_11), ._, ._ }, |
| | 34680 | .{ ._, .f_cw, .ld, .tmp0w, ._, ._, ._ }, |
| | 34681 | .{ ._, ._, .mov, .memd(.tmp0b, 1), .tmp1b, ._, ._ }, |
| | 34682 | .{ ._, ._, .mov, .tmp1p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 34683 | .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp1, .add_unaligned_size), ._, ._, ._ }, |
| | 34684 | .{ ._, .f_, .ld, .memia(.src1t, .tmp1, .add_unaligned_size), ._, ._, ._ }, |
| | 34685 | .{ ._, .f_p, .div, ._, ._, ._, ._ }, |
| | 34686 | .{ ._, ._, .lea, .tmp4p, .memia(.dst0, .tmp1, .add_unaligned_size), ._, ._ }, |
| | 34687 | .{ ._, .f_p, .st, .lea(.tmp4t), ._, ._, ._ }, |
| | 34688 | .{ ._, ._, .mov, .tmp5p, .tmp4p, ._, ._ }, |
| | 34689 | .{ ._, ._, .call, .tmp6d, ._, ._, ._ }, |
| | 34690 | .{ ._, ._, .add, .tmp1p, .si(16), ._, ._ }, |
| | 34691 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 34692 | .{ ._, .f_cw, .ld, .tmp0w, ._, ._, ._ }, |
| | 34693 | } }, |
| 33976 | }, .{ | 34694 | }, .{ |
| 33977 | .required_features = .{ .sse, null, null, null }, | 34695 | .required_features = .{ .sse, null, null, null }, |
| 33978 | .src_constraints = .{ | 34696 | .src_constraints = .{ |
| ... | @@ -33981,7 +34699,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33981,7 +34699,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33981 | .any, | 34699 | .any, |
| 33982 | }, | 34700 | }, |
| 33983 | .patterns = &.{ | 34701 | .patterns = &.{ |
| 33984 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 34702 | .{ .src = .{ |
| | 34703 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 34704 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 34705 | .none, |
| | 34706 | } }, |
| 33985 | }, | 34707 | }, |
| 33986 | .call_frame = .{ .alignment = .@"16" }, | 34708 | .call_frame = .{ .alignment = .@"16" }, |
| 33987 | .extra_temps = .{ | 34709 | .extra_temps = .{ |
| ... | @@ -34016,8 +34738,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -34016,8 +34738,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 34016 | .call_frame = .{ .alignment = .@"16" }, | 34738 | .call_frame = .{ .alignment = .@"16" }, |
| 34017 | .extra_temps = .{ | 34739 | .extra_temps = .{ |
| 34018 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 34740 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 34019 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 34741 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 34020 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 34742 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 34021 | .{ .type = .usize, .kind = .{ .extern_func = "__divtf3" } }, | 34743 | .{ .type = .usize, .kind = .{ .extern_func = "__divtf3" } }, |
| 34022 | .{ .type = .usize, .kind = .{ .extern_func = "truncq" } }, | 34744 | .{ .type = .usize, .kind = .{ .extern_func = "truncq" } }, |
| 34023 | .unused, | 34745 | .unused, |
| ... | @@ -34052,8 +34774,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -34052,8 +34774,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 34052 | .call_frame = .{ .alignment = .@"16" }, | 34774 | .call_frame = .{ .alignment = .@"16" }, |
| 34053 | .extra_temps = .{ | 34775 | .extra_temps = .{ |
| 34054 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 34776 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 34055 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 34777 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 34056 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 34778 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 34057 | .{ .type = .usize, .kind = .{ .extern_func = "__divtf3" } }, | 34779 | .{ .type = .usize, .kind = .{ .extern_func = "__divtf3" } }, |
| 34058 | .{ .type = .usize, .kind = .{ .extern_func = "truncq" } }, | 34780 | .{ .type = .usize, .kind = .{ .extern_func = "truncq" } }, |
| 34059 | .unused, | 34781 | .unused, |
| ... | @@ -34088,8 +34810,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -34088,8 +34810,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 34088 | .call_frame = .{ .alignment = .@"16" }, | 34810 | .call_frame = .{ .alignment = .@"16" }, |
| 34089 | .extra_temps = .{ | 34811 | .extra_temps = .{ |
| 34090 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 34812 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 34091 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 34813 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 34092 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 34814 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 34093 | .{ .type = .usize, .kind = .{ .extern_func = "__divtf3" } }, | 34815 | .{ .type = .usize, .kind = .{ .extern_func = "__divtf3" } }, |
| 34094 | .{ .type = .usize, .kind = .{ .extern_func = "truncq" } }, | 34816 | .{ .type = .usize, .kind = .{ .extern_func = "truncq" } }, |
| 34095 | .unused, | 34817 | .unused, |
| ... | @@ -34124,11 +34846,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -34124,11 +34846,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 34124 | }; | 34846 | }; |
| 34125 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 34847 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 34126 | }, | 34848 | }, |
| 34127 | .div_trunc_optimized, .div_floor_optimized => |air_tag| if (use_old) try cg.airMulDivBinOp(inst, switch (air_tag) { | 34849 | .div_trunc_optimized, .div_floor_optimized => |air_tag| { |
| 34128 | else => unreachable, | | |
| 34129 | .div_trunc_optimized => .div_trunc, | | |
| 34130 | .div_floor_optimized => .div_floor, | | |
| 34131 | }) else { | | |
| 34132 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | 34850 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| 34133 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 34851 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| 34134 | var res: [1]Temp = undefined; | 34852 | var res: [1]Temp = undefined; |
| ... | @@ -34177,7 +34895,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -34177,7 +34895,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 34177 | .any, | 34895 | .any, |
| 34178 | }, | 34896 | }, |
| 34179 | .patterns = &.{ | 34897 | .patterns = &.{ |
| 34180 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 34898 | .{ .src = .{ |
| | 34899 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 34900 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 34901 | .none, |
| | 34902 | } }, |
| 34181 | }, | 34903 | }, |
| 34182 | .call_frame = .{ .alignment = .@"16" }, | 34904 | .call_frame = .{ .alignment = .@"16" }, |
| 34183 | .extra_temps = .{ | 34905 | .extra_temps = .{ |
| ... | @@ -34319,8 +35041,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -34319,8 +35041,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 34319 | .call_frame = .{ .alignment = .@"16" }, | 35041 | .call_frame = .{ .alignment = .@"16" }, |
| 34320 | .extra_temps = .{ | 35042 | .extra_temps = .{ |
| 34321 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 35043 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 34322 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 35044 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 34323 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 35045 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 34324 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, | 35046 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, |
| 34325 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { | 35047 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| 34326 | else => unreachable, | 35048 | else => unreachable, |
| ... | @@ -34360,8 +35082,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -34360,8 +35082,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 34360 | .call_frame = .{ .alignment = .@"16" }, | 35082 | .call_frame = .{ .alignment = .@"16" }, |
| 34361 | .extra_temps = .{ | 35083 | .extra_temps = .{ |
| 34362 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 35084 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 34363 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 35085 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 34364 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 35086 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 34365 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, | 35087 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, |
| 34366 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { | 35088 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| 34367 | else => unreachable, | 35089 | else => unreachable, |
| ... | @@ -34402,8 +35124,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -34402,8 +35124,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 34402 | .call_frame = .{ .alignment = .@"16" }, | 35124 | .call_frame = .{ .alignment = .@"16" }, |
| 34403 | .extra_temps = .{ | 35125 | .extra_temps = .{ |
| 34404 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 35126 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 34405 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 35127 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 34406 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 35128 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 34407 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, | 35129 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, |
| 34408 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { | 35130 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| 34409 | else => unreachable, | 35131 | else => unreachable, |
| ... | @@ -34447,8 +35169,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -34447,8 +35169,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 34447 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 35169 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 34448 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 35170 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 34449 | .{ .type = .f32, .kind = .mem }, | 35171 | .{ .type = .f32, .kind = .mem }, |
| 34450 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 35172 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 34451 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 35173 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 34452 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, | 35174 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, |
| 34453 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { | 35175 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| 34454 | else => unreachable, | 35176 | else => unreachable, |
| ... | @@ -34518,7 +35240,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -34518,7 +35240,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 34518 | .any, | 35240 | .any, |
| 34519 | }, | 35241 | }, |
| 34520 | .patterns = &.{ | 35242 | .patterns = &.{ |
| 34521 | .{ .src = .{ .{ .to_reg = .xmm0 }, .to_mem, .none } }, | 35243 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .to_mem, .none } }, |
| 34522 | }, | 35244 | }, |
| 34523 | .call_frame = .{ .alignment = .@"16" }, | 35245 | .call_frame = .{ .alignment = .@"16" }, |
| 34524 | .extra_temps = .{ | 35246 | .extra_temps = .{ |
| ... | @@ -34589,7 +35311,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -34589,7 +35311,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 34589 | .call_frame = .{ .alignment = .@"16" }, | 35311 | .call_frame = .{ .alignment = .@"16" }, |
| 34590 | .extra_temps = .{ | 35312 | .extra_temps = .{ |
| 34591 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 35313 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 34592 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 35314 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 34593 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { | 35315 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| 34594 | else => unreachable, | 35316 | else => unreachable, |
| 34595 | .zero => "truncf", | 35317 | .zero => "truncf", |
| ... | @@ -34739,7 +35461,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -34739,7 +35461,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 34739 | .any, | 35461 | .any, |
| 34740 | }, | 35462 | }, |
| 34741 | .patterns = &.{ | 35463 | .patterns = &.{ |
| 34742 | .{ .src = .{ .{ .to_reg = .xmm0 }, .to_mem, .none } }, | 35464 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .to_mem, .none } }, |
| 34743 | }, | 35465 | }, |
| 34744 | .call_frame = .{ .alignment = .@"16" }, | 35466 | .call_frame = .{ .alignment = .@"16" }, |
| 34745 | .extra_temps = .{ | 35467 | .extra_temps = .{ |
| ... | @@ -34773,7 +35495,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -34773,7 +35495,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 34773 | .any, | 35495 | .any, |
| 34774 | }, | 35496 | }, |
| 34775 | .patterns = &.{ | 35497 | .patterns = &.{ |
| 34776 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 35498 | .{ .src = .{ |
| | 35499 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 35500 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 35501 | .none, |
| | 35502 | } }, |
| 34777 | }, | 35503 | }, |
| 34778 | .call_frame = .{ .alignment = .@"16" }, | 35504 | .call_frame = .{ .alignment = .@"16" }, |
| 34779 | .extra_temps = .{ | 35505 | .extra_temps = .{ |
| ... | @@ -34928,7 +35654,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -34928,7 +35654,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 34928 | .call_frame = .{ .alignment = .@"16" }, | 35654 | .call_frame = .{ .alignment = .@"16" }, |
| 34929 | .extra_temps = .{ | 35655 | .extra_temps = .{ |
| 34930 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 35656 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 34931 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 35657 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 34932 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { | 35658 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| 34933 | else => unreachable, | 35659 | else => unreachable, |
| 34934 | .zero => "trunc", | 35660 | .zero => "trunc", |
| ... | @@ -34967,8 +35693,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -34967,8 +35693,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 34967 | .call_frame = .{ .alignment = .@"16" }, | 35693 | .call_frame = .{ .alignment = .@"16" }, |
| 34968 | .extra_temps = .{ | 35694 | .extra_temps = .{ |
| 34969 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 35695 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 34970 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 35696 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 34971 | .{ .type = .f64, .kind = .{ .reg = .xmm1 } }, | 35697 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 34972 | .{ .type = .usize, .kind = .{ .extern_func = "__divdf3" } }, | 35698 | .{ .type = .usize, .kind = .{ .extern_func = "__divdf3" } }, |
| 34973 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { | 35699 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| 34974 | else => unreachable, | 35700 | else => unreachable, |
| ... | @@ -34997,6 +35723,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -34997,6 +35723,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 34997 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 35723 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 34998 | } }, | 35724 | } }, |
| 34999 | }, .{ | 35725 | }, .{ |
| | 35726 | .required_abi = .gnu, |
| | 35727 | .required_cc_abi = .sysv64, |
| 35000 | .required_features = .{ .x87, null, null, null }, | 35728 | .required_features = .{ .x87, null, null, null }, |
| 35001 | .src_constraints = .{ | 35729 | .src_constraints = .{ |
| 35002 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 35730 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -35004,7 +35732,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -35004,7 +35732,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 35004 | .any, | 35732 | .any, |
| 35005 | }, | 35733 | }, |
| 35006 | .patterns = &.{ | 35734 | .patterns = &.{ |
| 35007 | .{ .src = .{ .mem, .mem, .none } }, | 35735 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 35008 | }, | 35736 | }, |
| 35009 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 35737 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 35010 | .extra_temps = .{ | 35738 | .extra_temps = .{ |
| ... | @@ -35034,6 +35762,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -35034,6 +35762,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 35034 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 35762 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 35035 | } }, | 35763 | } }, |
| 35036 | }, .{ | 35764 | }, .{ |
| | 35765 | .required_abi = .gnu, |
| | 35766 | .required_cc_abi = .win64, |
| 35037 | .required_features = .{ .x87, null, null, null }, | 35767 | .required_features = .{ .x87, null, null, null }, |
| 35038 | .src_constraints = .{ | 35768 | .src_constraints = .{ |
| 35039 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 35769 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -35041,12 +35771,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -35041,12 +35771,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 35041 | .any, | 35771 | .any, |
| 35042 | }, | 35772 | }, |
| 35043 | .patterns = &.{ | 35773 | .patterns = &.{ |
| 35044 | .{ .src = .{ .to_x87, .mem, .none } }, | 35774 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 35045 | }, | 35775 | }, |
| 35046 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 35776 | .call_frame = .{ .alignment = .@"16" }, |
| 35047 | .extra_temps = .{ | 35777 | .extra_temps = .{ |
| | 35778 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 35048 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 35779 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 35049 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 35780 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 35781 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 35050 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { | 35782 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| 35051 | else => unreachable, | 35783 | else => unreachable, |
| 35052 | .zero => "__truncx", | 35784 | .zero => "__truncx", |
| ... | @@ -35058,18 +35790,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -35058,18 +35790,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 35058 | .unused, | 35790 | .unused, |
| 35059 | .unused, | 35791 | .unused, |
| 35060 | .unused, | 35792 | .unused, |
| 35061 | .unused, | | |
| 35062 | .unused, | | |
| 35063 | }, | 35793 | }, |
| 35064 | .dst_temps = .{ .{ .reg = .st0 }, .unused }, | 35794 | .dst_temps = .{ .mem, .unused }, |
| 35065 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 35795 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 35066 | .each = .{ .once = &.{ | 35796 | .each = .{ .once = &.{ |
| 35067 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, | 35797 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| 35068 | .{ ._, .f_, .divr, .tmp0t, .src1t, ._, ._ }, | 35798 | .{ ._, .f_, .ld, .src1t, ._, ._, ._ }, |
| 35069 | .{ ._, .f_p, .st, .mem(.tmp1t), ._, ._, ._ }, | 35799 | .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ }, |
| 35070 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 35800 | .{ ._, .f_p, .div, ._, ._, ._, ._ }, |
| | 35801 | .{ ._, .f_p, .st, .lea(.tmp2t), ._, ._, ._ }, |
| | 35802 | .{ ._, ._, .mov, .tmp3p, .tmp2p, ._, ._ }, |
| | 35803 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 35071 | } }, | 35804 | } }, |
| 35072 | }, .{ | 35805 | }, .{ |
| | 35806 | .required_abi = .msvc, |
| | 35807 | .required_cc_abi = .win64, |
| 35073 | .required_features = .{ .x87, null, null, null }, | 35808 | .required_features = .{ .x87, null, null, null }, |
| 35074 | .src_constraints = .{ | 35809 | .src_constraints = .{ |
| 35075 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 35810 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -35077,13 +35812,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -35077,13 +35812,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 35077 | .any, | 35812 | .any, |
| 35078 | }, | 35813 | }, |
| 35079 | .patterns = &.{ | 35814 | .patterns = &.{ |
| 35080 | .{ .src = .{ .mem, .to_x87, .none } }, | 35815 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 35081 | .{ .src = .{ .to_x87, .to_x87, .none } }, | | |
| 35082 | }, | 35816 | }, |
| 35083 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 35817 | .call_frame = .{ .alignment = .@"16" }, |
| 35084 | .extra_temps = .{ | 35818 | .extra_temps = .{ |
| | 35819 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 35085 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 35820 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 35086 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 35821 | .{ .type = .u16, .kind = .mem }, |
| | 35822 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 35823 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 35087 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { | 35824 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| 35088 | else => unreachable, | 35825 | else => unreachable, |
| 35089 | .zero => "__truncx", | 35826 | .zero => "__truncx", |
| ... | @@ -35094,19 +35831,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -35094,19 +35831,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 35094 | .unused, | 35831 | .unused, |
| 35095 | .unused, | 35832 | .unused, |
| 35096 | .unused, | 35833 | .unused, |
| 35097 | .unused, | | |
| 35098 | .unused, | | |
| 35099 | .unused, | | |
| 35100 | }, | 35834 | }, |
| 35101 | .dst_temps = .{ .{ .reg = .st0 }, .unused }, | 35835 | .dst_temps = .{ .mem, .unused }, |
| 35102 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 35836 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 35103 | .each = .{ .once = &.{ | 35837 | .each = .{ .once = &.{ |
| 35104 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, | 35838 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| 35105 | .{ ._, .f_, .div, .tmp0t, .src1t, ._, ._ }, | 35839 | .{ ._, .f_, .ld, .src1t, ._, ._, ._ }, |
| 35106 | .{ ._, .f_p, .st, .mem(.tmp1t), ._, ._, ._ }, | 35840 | .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ }, |
| 35107 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 35841 | .{ ._, ._, .movzx, .tmp3d, .memd(.tmp2b, 1), ._, ._ }, |
| | 35842 | .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_00_11), ._, ._ }, |
| | 35843 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| | 35844 | .{ ._, ._, .mov, .memd(.tmp2b, 1), .tmp3b, ._, ._ }, |
| | 35845 | .{ ._, ._, .lea, .tmp3p, .mem(.dst0), ._, ._ }, |
| | 35846 | .{ ._, .f_p, .div, ._, ._, ._, ._ }, |
| | 35847 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| | 35848 | .{ ._, .f_p, .st, .lea(.tmp3t), ._, ._, ._ }, |
| | 35849 | .{ ._, ._, .mov, .tmp4p, .tmp3p, ._, ._ }, |
| | 35850 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| 35108 | } }, | 35851 | } }, |
| 35109 | }, .{ | 35852 | }, .{ |
| | 35853 | .required_abi = .gnu, |
| | 35854 | .required_cc_abi = .sysv64, |
| 35110 | .required_features = .{ .x87, null, null, null }, | 35855 | .required_features = .{ .x87, null, null, null }, |
| 35111 | .src_constraints = .{ | 35856 | .src_constraints = .{ |
| 35112 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 35857 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -35148,6 +35893,100 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -35148,6 +35893,100 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 35148 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 35893 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 35149 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 35894 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 35150 | } }, | 35895 | } }, |
| | 35896 | }, .{ |
| | 35897 | .required_abi = .gnu, |
| | 35898 | .required_cc_abi = .win64, |
| | 35899 | .required_features = .{ .x87, null, null, null }, |
| | 35900 | .src_constraints = .{ |
| | 35901 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 35902 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 35903 | .any, |
| | 35904 | }, |
| | 35905 | .patterns = &.{ |
| | 35906 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 35907 | }, |
| | 35908 | .call_frame = .{ .alignment = .@"16" }, |
| | 35909 | .extra_temps = .{ |
| | 35910 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 35911 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 35912 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 35913 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 35914 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 35915 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| | 35916 | else => unreachable, |
| | 35917 | .zero => "__truncx", |
| | 35918 | .down => "__floorx", |
| | 35919 | } } }, |
| | 35920 | .unused, |
| | 35921 | .unused, |
| | 35922 | .unused, |
| | 35923 | .unused, |
| | 35924 | .unused, |
| | 35925 | }, |
| | 35926 | .dst_temps = .{ .mem, .unused }, |
| | 35927 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 35928 | .each = .{ .once = &.{ |
| | 35929 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 35930 | .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| | 35931 | .{ ._, .f_, .ld, .memia(.src1t, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| | 35932 | .{ ._, .f_p, .div, ._, ._, ._, ._ }, |
| | 35933 | .{ ._, ._, .lea, .tmp3p, .memia(.dst0, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 35934 | .{ ._, .f_p, .st, .lea(.tmp3t), ._, ._, ._ }, |
| | 35935 | .{ ._, ._, .mov, .tmp4p, .tmp3p, ._, ._ }, |
| | 35936 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| | 35937 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| | 35938 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 35939 | } }, |
| | 35940 | }, .{ |
| | 35941 | .required_abi = .msvc, |
| | 35942 | .required_cc_abi = .win64, |
| | 35943 | .required_features = .{ .x87, null, null, null }, |
| | 35944 | .src_constraints = .{ |
| | 35945 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 35946 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 35947 | .any, |
| | 35948 | }, |
| | 35949 | .patterns = &.{ |
| | 35950 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 35951 | }, |
| | 35952 | .call_frame = .{ .alignment = .@"16" }, |
| | 35953 | .extra_temps = .{ |
| | 35954 | .{ .type = .u16, .kind = .mem }, |
| | 35955 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 35956 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 35957 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 35958 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 35959 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 35960 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| | 35961 | else => unreachable, |
| | 35962 | .zero => "__truncx", |
| | 35963 | .down => "__floorx", |
| | 35964 | } } }, |
| | 35965 | .unused, |
| | 35966 | .unused, |
| | 35967 | .unused, |
| | 35968 | .unused, |
| | 35969 | }, |
| | 35970 | .dst_temps = .{ .mem, .unused }, |
| | 35971 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 35972 | .each = .{ .once = &.{ |
| | 35973 | .{ ._, .fn_cw, .st, .tmp0w, ._, ._, ._ }, |
| | 35974 | .{ ._, ._, .movzx, .tmp1d, .memd(.tmp0b, 1), ._, ._ }, |
| | 35975 | .{ ._, ._, .@"or", .memd(.tmp0b, 1), .ui(0b000_0_00_11), ._, ._ }, |
| | 35976 | .{ ._, .f_cw, .ld, .tmp0w, ._, ._, ._ }, |
| | 35977 | .{ ._, ._, .mov, .memd(.tmp0b, 1), .tmp1b, ._, ._ }, |
| | 35978 | .{ ._, ._, .mov, .tmp1p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 35979 | .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp1, .add_unaligned_size), ._, ._, ._ }, |
| | 35980 | .{ ._, .f_, .ld, .memia(.src1t, .tmp1, .add_unaligned_size), ._, ._, ._ }, |
| | 35981 | .{ ._, .f_p, .div, ._, ._, ._, ._ }, |
| | 35982 | .{ ._, ._, .lea, .tmp4p, .memia(.dst0, .tmp1, .add_unaligned_size), ._, ._ }, |
| | 35983 | .{ ._, .f_p, .st, .lea(.tmp4t), ._, ._, ._ }, |
| | 35984 | .{ ._, ._, .mov, .tmp5p, .tmp4p, ._, ._ }, |
| | 35985 | .{ ._, ._, .call, .tmp6d, ._, ._, ._ }, |
| | 35986 | .{ ._, ._, .add, .tmp1p, .si(16), ._, ._ }, |
| | 35987 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 35988 | .{ ._, .f_cw, .ld, .tmp0w, ._, ._, ._ }, |
| | 35989 | } }, |
| 35151 | }, .{ | 35990 | }, .{ |
| 35152 | .required_features = .{ .sse, null, null, null }, | 35991 | .required_features = .{ .sse, null, null, null }, |
| 35153 | .src_constraints = .{ | 35992 | .src_constraints = .{ |
| ... | @@ -35156,7 +35995,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -35156,7 +35995,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 35156 | .any, | 35995 | .any, |
| 35157 | }, | 35996 | }, |
| 35158 | .patterns = &.{ | 35997 | .patterns = &.{ |
| 35159 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 35998 | .{ .src = .{ |
| | 35999 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 36000 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 36001 | .none, |
| | 36002 | } }, |
| 35160 | }, | 36003 | }, |
| 35161 | .call_frame = .{ .alignment = .@"16" }, | 36004 | .call_frame = .{ .alignment = .@"16" }, |
| 35162 | .extra_temps = .{ | 36005 | .extra_temps = .{ |
| ... | @@ -35195,8 +36038,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -35195,8 +36038,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 35195 | .call_frame = .{ .alignment = .@"16" }, | 36038 | .call_frame = .{ .alignment = .@"16" }, |
| 35196 | .extra_temps = .{ | 36039 | .extra_temps = .{ |
| 35197 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 36040 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 35198 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 36041 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 35199 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 36042 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 35200 | .{ .type = .usize, .kind = .{ .extern_func = "__divtf3" } }, | 36043 | .{ .type = .usize, .kind = .{ .extern_func = "__divtf3" } }, |
| 35201 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { | 36044 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| 35202 | else => unreachable, | 36045 | else => unreachable, |
| ... | @@ -35235,8 +36078,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -35235,8 +36078,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 35235 | .call_frame = .{ .alignment = .@"16" }, | 36078 | .call_frame = .{ .alignment = .@"16" }, |
| 35236 | .extra_temps = .{ | 36079 | .extra_temps = .{ |
| 35237 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 36080 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 35238 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 36081 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 35239 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 36082 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 35240 | .{ .type = .usize, .kind = .{ .extern_func = "__divtf3" } }, | 36083 | .{ .type = .usize, .kind = .{ .extern_func = "__divtf3" } }, |
| 35241 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { | 36084 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| 35242 | else => unreachable, | 36085 | else => unreachable, |
| ... | @@ -35275,8 +36118,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -35275,8 +36118,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 35275 | .call_frame = .{ .alignment = .@"16" }, | 36118 | .call_frame = .{ .alignment = .@"16" }, |
| 35276 | .extra_temps = .{ | 36119 | .extra_temps = .{ |
| 35277 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 36120 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 35278 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 36121 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 35279 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 36122 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 35280 | .{ .type = .usize, .kind = .{ .extern_func = "__divtf3" } }, | 36123 | .{ .type = .usize, .kind = .{ .extern_func = "__divtf3" } }, |
| 35281 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { | 36124 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| 35282 | else => unreachable, | 36125 | else => unreachable, |
| ... | @@ -35314,7 +36157,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -35314,7 +36157,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 35314 | }; | 36157 | }; |
| 35315 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 36158 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 35316 | }, | 36159 | }, |
| 35317 | .div_floor => |air_tag| if (use_old) try cg.airMulDivBinOp(inst, air_tag) else { | 36160 | .div_floor => |air_tag| { |
| 35318 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | 36161 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| 35319 | const ty = cg.typeOf(bin_op.lhs); | 36162 | const ty = cg.typeOf(bin_op.lhs); |
| 35320 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 36163 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| ... | @@ -35460,15 +36303,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -35460,15 +36303,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 35460 | .{ ._, ._, .adc, .dst0q, .si(-1), ._, ._ }, | 36303 | .{ ._, ._, .adc, .dst0q, .si(-1), ._, ._ }, |
| 35461 | } }, | 36304 | } }, |
| 35462 | }, .{ | 36305 | }, .{ |
| 35463 | .required_features = .{ .@"64bit", null, null, null }, | 36306 | .required_cc_abi = .sysv64, |
| 35464 | .src_constraints = .{ .{ .signed_int = .xword }, .{ .signed_int = .xword }, .any }, | 36307 | .src_constraints = .{ .{ .signed_int = .xword }, .{ .signed_int = .xword }, .any }, |
| 35465 | .patterns = &.{ | 36308 | .patterns = &.{ |
| 35466 | .{ .src = .{ .mem, .mem, .none } }, | 36309 | .{ .src = .{ .mem, .mem, .none } }, |
| 35467 | }, | 36310 | }, |
| 35468 | .call_frame = .{ .alignment = .@"16" }, | 36311 | .call_frame = .{ .alignment = .@"16" }, |
| 35469 | .extra_temps = .{ | 36312 | .extra_temps = .{ |
| 35470 | .{ .type = .i128, .kind = .{ .param_gpr_pair = .{ .cc = .ccc, .at = 0 } } }, | 36313 | .{ .type = .i128, .kind = .{ .param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 35471 | .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 3 } } }, | 36314 | .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 3, .at = 3 } } }, |
| 35472 | .{ .type = .usize, .kind = .{ .extern_func = "__modti3" } }, | 36315 | .{ .type = .usize, .kind = .{ .extern_func = "__modti3" } }, |
| 35473 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, | 36316 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 35474 | .{ .type = .usize, .kind = .{ .extern_func = "__divti3" } }, | 36317 | .{ .type = .usize, .kind = .{ .extern_func = "__divti3" } }, |
| ... | @@ -35479,7 +36322,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -35479,7 +36322,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 35479 | .unused, | 36322 | .unused, |
| 35480 | .unused, | 36323 | .unused, |
| 35481 | }, | 36324 | }, |
| 35482 | .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .at = 0 } }, .unused }, | 36325 | .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 35483 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 36326 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 35484 | .each = .{ .once = &.{ | 36327 | .each = .{ .once = &.{ |
| 35485 | .{ ._, ._, .mov, .tmp0q0, .mem(.src0q), ._, ._ }, | 36328 | .{ ._, ._, .mov, .tmp0q0, .mem(.src0q), ._, ._ }, |
| ... | @@ -35515,10 +36358,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -35515,10 +36358,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 35515 | }, | 36358 | }, |
| 35516 | .call_frame = .{ .alignment = .@"16" }, | 36359 | .call_frame = .{ .alignment = .@"16" }, |
| 35517 | .extra_temps = .{ | 36360 | .extra_temps = .{ |
| 35518 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 0 } } }, | 36361 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 35519 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 1 } } }, | 36362 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 35520 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 2 } } }, | 36363 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| 35521 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 3 } } }, | 36364 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 3, .at = 3 } } }, |
| 35522 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, | 36365 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 35523 | .{ .type = .usize, .kind = .{ .extern_func = "__divei4" } }, | 36366 | .{ .type = .usize, .kind = .{ .extern_func = "__divei4" } }, |
| 35524 | .{ .kind = .{ .mem_of_type = .dst0 } }, | 36367 | .{ .kind = .{ .mem_of_type = .dst0 } }, |
| ... | @@ -35597,7 +36440,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -35597,7 +36440,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 35597 | .any, | 36440 | .any, |
| 35598 | }, | 36441 | }, |
| 35599 | .patterns = &.{ | 36442 | .patterns = &.{ |
| 35600 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 36443 | .{ .src = .{ |
| | 36444 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 36445 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 36446 | .none, |
| | 36447 | } }, |
| 35601 | }, | 36448 | }, |
| 35602 | .call_frame = .{ .alignment = .@"16" }, | 36449 | .call_frame = .{ .alignment = .@"16" }, |
| 35603 | .extra_temps = .{ | 36450 | .extra_temps = .{ |
| ... | @@ -35741,8 +36588,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -35741,8 +36588,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 35741 | .call_frame = .{ .alignment = .@"16" }, | 36588 | .call_frame = .{ .alignment = .@"16" }, |
| 35742 | .extra_temps = .{ | 36589 | .extra_temps = .{ |
| 35743 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 36590 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 35744 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 36591 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 35745 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 36592 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 35746 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, | 36593 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, |
| 35747 | .{ .type = .usize, .kind = .{ .extern_func = "__floorh" } }, | 36594 | .{ .type = .usize, .kind = .{ .extern_func = "__floorh" } }, |
| 35748 | .unused, | 36595 | .unused, |
| ... | @@ -35778,8 +36625,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -35778,8 +36625,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 35778 | .call_frame = .{ .alignment = .@"16" }, | 36625 | .call_frame = .{ .alignment = .@"16" }, |
| 35779 | .extra_temps = .{ | 36626 | .extra_temps = .{ |
| 35780 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 36627 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 35781 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 36628 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 35782 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 36629 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 35783 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, | 36630 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, |
| 35784 | .{ .type = .usize, .kind = .{ .extern_func = "__floorh" } }, | 36631 | .{ .type = .usize, .kind = .{ .extern_func = "__floorh" } }, |
| 35785 | .unused, | 36632 | .unused, |
| ... | @@ -35816,8 +36663,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -35816,8 +36663,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 35816 | .call_frame = .{ .alignment = .@"16" }, | 36663 | .call_frame = .{ .alignment = .@"16" }, |
| 35817 | .extra_temps = .{ | 36664 | .extra_temps = .{ |
| 35818 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 36665 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 35819 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 36666 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 35820 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 36667 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 35821 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, | 36668 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, |
| 35822 | .{ .type = .usize, .kind = .{ .extern_func = "__floorh" } }, | 36669 | .{ .type = .usize, .kind = .{ .extern_func = "__floorh" } }, |
| 35823 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 36670 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| ... | @@ -35857,8 +36704,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -35857,8 +36704,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 35857 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 36704 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 35858 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 36705 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 35859 | .{ .type = .f32, .kind = .mem }, | 36706 | .{ .type = .f32, .kind = .mem }, |
| 35860 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 36707 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 35861 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 36708 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 35862 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, | 36709 | .{ .type = .usize, .kind = .{ .extern_func = "__divhf3" } }, |
| 35863 | .{ .type = .usize, .kind = .{ .extern_func = "__floorh" } }, | 36710 | .{ .type = .usize, .kind = .{ .extern_func = "__floorh" } }, |
| 35864 | .unused, | 36711 | .unused, |
| ... | @@ -35924,7 +36771,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -35924,7 +36771,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 35924 | .any, | 36771 | .any, |
| 35925 | }, | 36772 | }, |
| 35926 | .patterns = &.{ | 36773 | .patterns = &.{ |
| 35927 | .{ .src = .{ .{ .to_reg = .xmm0 }, .to_mem, .none } }, | 36774 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .to_mem, .none } }, |
| 35928 | }, | 36775 | }, |
| 35929 | .call_frame = .{ .alignment = .@"16" }, | 36776 | .call_frame = .{ .alignment = .@"16" }, |
| 35930 | .extra_temps = .{ | 36777 | .extra_temps = .{ |
| ... | @@ -35991,7 +36838,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -35991,7 +36838,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 35991 | .call_frame = .{ .alignment = .@"16" }, | 36838 | .call_frame = .{ .alignment = .@"16" }, |
| 35992 | .extra_temps = .{ | 36839 | .extra_temps = .{ |
| 35993 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 36840 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 35994 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 36841 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 35995 | .{ .type = .usize, .kind = .{ .extern_func = "floorf" } }, | 36842 | .{ .type = .usize, .kind = .{ .extern_func = "floorf" } }, |
| 35996 | .unused, | 36843 | .unused, |
| 35997 | .unused, | 36844 | .unused, |
| ... | @@ -36137,7 +36984,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -36137,7 +36984,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 36137 | .any, | 36984 | .any, |
| 36138 | }, | 36985 | }, |
| 36139 | .patterns = &.{ | 36986 | .patterns = &.{ |
| 36140 | .{ .src = .{ .{ .to_reg = .xmm0 }, .to_mem, .none } }, | 36987 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .to_mem, .none } }, |
| 36141 | }, | 36988 | }, |
| 36142 | .call_frame = .{ .alignment = .@"16" }, | 36989 | .call_frame = .{ .alignment = .@"16" }, |
| 36143 | .extra_temps = .{ | 36990 | .extra_temps = .{ |
| ... | @@ -36167,7 +37014,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -36167,7 +37014,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 36167 | .any, | 37014 | .any, |
| 36168 | }, | 37015 | }, |
| 36169 | .patterns = &.{ | 37016 | .patterns = &.{ |
| 36170 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 37017 | .{ .src = .{ |
| | 37018 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 37019 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 37020 | .none, |
| | 37021 | } }, |
| 36171 | }, | 37022 | }, |
| 36172 | .call_frame = .{ .alignment = .@"16" }, | 37023 | .call_frame = .{ .alignment = .@"16" }, |
| 36173 | .extra_temps = .{ | 37024 | .extra_temps = .{ |
| ... | @@ -36318,7 +37169,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -36318,7 +37169,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 36318 | .call_frame = .{ .alignment = .@"16" }, | 37169 | .call_frame = .{ .alignment = .@"16" }, |
| 36319 | .extra_temps = .{ | 37170 | .extra_temps = .{ |
| 36320 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 37171 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 36321 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 37172 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 36322 | .{ .type = .usize, .kind = .{ .extern_func = "floor" } }, | 37173 | .{ .type = .usize, .kind = .{ .extern_func = "floor" } }, |
| 36323 | .unused, | 37174 | .unused, |
| 36324 | .unused, | 37175 | .unused, |
| ... | @@ -36353,8 +37204,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -36353,8 +37204,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 36353 | .call_frame = .{ .alignment = .@"16" }, | 37204 | .call_frame = .{ .alignment = .@"16" }, |
| 36354 | .extra_temps = .{ | 37205 | .extra_temps = .{ |
| 36355 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 37206 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 36356 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 37207 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 36357 | .{ .type = .f64, .kind = .{ .reg = .xmm1 } }, | 37208 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 36358 | .{ .type = .usize, .kind = .{ .extern_func = "__divdf3" } }, | 37209 | .{ .type = .usize, .kind = .{ .extern_func = "__divdf3" } }, |
| 36359 | .{ .type = .usize, .kind = .{ .extern_func = "floor" } }, | 37210 | .{ .type = .usize, .kind = .{ .extern_func = "floor" } }, |
| 36360 | .unused, | 37211 | .unused, |
| ... | @@ -36379,6 +37230,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -36379,6 +37230,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 36379 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 37230 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 36380 | } }, | 37231 | } }, |
| 36381 | }, .{ | 37232 | }, .{ |
| | 37233 | .required_abi = .gnu, |
| | 37234 | .required_cc_abi = .sysv64, |
| 36382 | .required_features = .{ .x87, null, null, null }, | 37235 | .required_features = .{ .x87, null, null, null }, |
| 36383 | .src_constraints = .{ | 37236 | .src_constraints = .{ |
| 36384 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 37237 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -36412,6 +37265,88 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -36412,6 +37265,88 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 36412 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 37265 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 36413 | } }, | 37266 | } }, |
| 36414 | }, .{ | 37267 | }, .{ |
| | 37268 | .required_abi = .gnu, |
| | 37269 | .required_cc_abi = .win64, |
| | 37270 | .required_features = .{ .x87, null, null, null }, |
| | 37271 | .src_constraints = .{ |
| | 37272 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 37273 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 37274 | .any, |
| | 37275 | }, |
| | 37276 | .patterns = &.{ |
| | 37277 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 37278 | }, |
| | 37279 | .call_frame = .{ .alignment = .@"16" }, |
| | 37280 | .extra_temps = .{ |
| | 37281 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 37282 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 37283 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 37284 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 37285 | .{ .type = .usize, .kind = .{ .extern_func = "__floorx" } }, |
| | 37286 | .unused, |
| | 37287 | .unused, |
| | 37288 | .unused, |
| | 37289 | .unused, |
| | 37290 | .unused, |
| | 37291 | .unused, |
| | 37292 | }, |
| | 37293 | .dst_temps = .{ .mem, .unused }, |
| | 37294 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 37295 | .each = .{ .once = &.{ |
| | 37296 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| | 37297 | .{ ._, .f_, .ld, .src1t, ._, ._, ._ }, |
| | 37298 | .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ }, |
| | 37299 | .{ ._, .f_p, .div, ._, ._, ._, ._ }, |
| | 37300 | .{ ._, .f_p, .st, .lea(.tmp2t), ._, ._, ._ }, |
| | 37301 | .{ ._, ._, .mov, .tmp3p, .tmp2p, ._, ._ }, |
| | 37302 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 37303 | } }, |
| | 37304 | }, .{ |
| | 37305 | .required_abi = .msvc, |
| | 37306 | .required_cc_abi = .win64, |
| | 37307 | .required_features = .{ .x87, null, null, null }, |
| | 37308 | .src_constraints = .{ |
| | 37309 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 37310 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 37311 | .any, |
| | 37312 | }, |
| | 37313 | .patterns = &.{ |
| | 37314 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 37315 | }, |
| | 37316 | .call_frame = .{ .alignment = .@"16" }, |
| | 37317 | .extra_temps = .{ |
| | 37318 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 37319 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 37320 | .{ .type = .u16, .kind = .mem }, |
| | 37321 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 37322 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 37323 | .{ .type = .usize, .kind = .{ .extern_func = "__floorx" } }, |
| | 37324 | .unused, |
| | 37325 | .unused, |
| | 37326 | .unused, |
| | 37327 | .unused, |
| | 37328 | .unused, |
| | 37329 | }, |
| | 37330 | .dst_temps = .{ .mem, .unused }, |
| | 37331 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 37332 | .each = .{ .once = &.{ |
| | 37333 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| | 37334 | .{ ._, .f_, .ld, .src1t, ._, ._, ._ }, |
| | 37335 | .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ }, |
| | 37336 | .{ ._, ._, .movzx, .tmp3d, .memd(.tmp2b, 1), ._, ._ }, |
| | 37337 | .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_00_11), ._, ._ }, |
| | 37338 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| | 37339 | .{ ._, ._, .mov, .memd(.tmp2b, 1), .tmp3b, ._, ._ }, |
| | 37340 | .{ ._, ._, .lea, .tmp3p, .mem(.dst0), ._, ._ }, |
| | 37341 | .{ ._, .f_p, .div, ._, ._, ._, ._ }, |
| | 37342 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| | 37343 | .{ ._, .f_p, .st, .lea(.tmp3t), ._, ._, ._ }, |
| | 37344 | .{ ._, ._, .mov, .tmp4p, .tmp3p, ._, ._ }, |
| | 37345 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| | 37346 | } }, |
| | 37347 | }, .{ |
| | 37348 | .required_abi = .gnu, |
| | 37349 | .required_cc_abi = .sysv64, |
| 36415 | .required_features = .{ .x87, null, null, null }, | 37350 | .required_features = .{ .x87, null, null, null }, |
| 36416 | .src_constraints = .{ | 37351 | .src_constraints = .{ |
| 36417 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 37352 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -36449,6 +37384,92 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -36449,6 +37384,92 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 36449 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 37384 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 36450 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 37385 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 36451 | } }, | 37386 | } }, |
| | 37387 | }, .{ |
| | 37388 | .required_abi = .gnu, |
| | 37389 | .required_cc_abi = .win64, |
| | 37390 | .required_features = .{ .x87, null, null, null }, |
| | 37391 | .src_constraints = .{ |
| | 37392 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 37393 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 37394 | .any, |
| | 37395 | }, |
| | 37396 | .patterns = &.{ |
| | 37397 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 37398 | }, |
| | 37399 | .call_frame = .{ .alignment = .@"16" }, |
| | 37400 | .extra_temps = .{ |
| | 37401 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 37402 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 37403 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 37404 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 37405 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 37406 | .{ .type = .usize, .kind = .{ .extern_func = "__floorx" } }, |
| | 37407 | .unused, |
| | 37408 | .unused, |
| | 37409 | .unused, |
| | 37410 | .unused, |
| | 37411 | .unused, |
| | 37412 | }, |
| | 37413 | .dst_temps = .{ .mem, .unused }, |
| | 37414 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 37415 | .each = .{ .once = &.{ |
| | 37416 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 37417 | .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| | 37418 | .{ ._, .f_, .ld, .memia(.src1t, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| | 37419 | .{ ._, .f_p, .div, ._, ._, ._, ._ }, |
| | 37420 | .{ ._, ._, .lea, .tmp3p, .memia(.dst0, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 37421 | .{ ._, .f_p, .st, .lea(.tmp3t), ._, ._, ._ }, |
| | 37422 | .{ ._, ._, .mov, .tmp4p, .tmp3p, ._, ._ }, |
| | 37423 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| | 37424 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| | 37425 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 37426 | } }, |
| | 37427 | }, .{ |
| | 37428 | .required_abi = .msvc, |
| | 37429 | .required_cc_abi = .win64, |
| | 37430 | .required_features = .{ .x87, null, null, null }, |
| | 37431 | .src_constraints = .{ |
| | 37432 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 37433 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 37434 | .any, |
| | 37435 | }, |
| | 37436 | .patterns = &.{ |
| | 37437 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 37438 | }, |
| | 37439 | .call_frame = .{ .alignment = .@"16" }, |
| | 37440 | .extra_temps = .{ |
| | 37441 | .{ .type = .u16, .kind = .mem }, |
| | 37442 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 37443 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 37444 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 37445 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 37446 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 37447 | .{ .type = .usize, .kind = .{ .extern_func = "__floorx" } }, |
| | 37448 | .unused, |
| | 37449 | .unused, |
| | 37450 | .unused, |
| | 37451 | .unused, |
| | 37452 | }, |
| | 37453 | .dst_temps = .{ .mem, .unused }, |
| | 37454 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 37455 | .each = .{ .once = &.{ |
| | 37456 | .{ ._, .fn_cw, .st, .tmp0w, ._, ._, ._ }, |
| | 37457 | .{ ._, ._, .movzx, .tmp1d, .memd(.tmp0b, 1), ._, ._ }, |
| | 37458 | .{ ._, ._, .@"or", .memd(.tmp0b, 1), .ui(0b000_0_00_11), ._, ._ }, |
| | 37459 | .{ ._, .f_cw, .ld, .tmp0w, ._, ._, ._ }, |
| | 37460 | .{ ._, ._, .mov, .memd(.tmp0b, 1), .tmp1b, ._, ._ }, |
| | 37461 | .{ ._, ._, .mov, .tmp1p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 37462 | .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp1, .add_unaligned_size), ._, ._, ._ }, |
| | 37463 | .{ ._, .f_, .ld, .memia(.src1t, .tmp1, .add_unaligned_size), ._, ._, ._ }, |
| | 37464 | .{ ._, .f_p, .div, ._, ._, ._, ._ }, |
| | 37465 | .{ ._, ._, .lea, .tmp4p, .memia(.dst0, .tmp1, .add_unaligned_size), ._, ._ }, |
| | 37466 | .{ ._, .f_p, .st, .lea(.tmp4t), ._, ._, ._ }, |
| | 37467 | .{ ._, ._, .mov, .tmp5p, .tmp4p, ._, ._ }, |
| | 37468 | .{ ._, ._, .call, .tmp6d, ._, ._, ._ }, |
| | 37469 | .{ ._, ._, .add, .tmp1p, .si(16), ._, ._ }, |
| | 37470 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 37471 | .{ ._, .f_cw, .ld, .tmp0w, ._, ._, ._ }, |
| | 37472 | } }, |
| 36452 | }, .{ | 37473 | }, .{ |
| 36453 | .required_features = .{ .sse, null, null, null }, | 37474 | .required_features = .{ .sse, null, null, null }, |
| 36454 | .src_constraints = .{ | 37475 | .src_constraints = .{ |
| ... | @@ -36457,7 +37478,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -36457,7 +37478,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 36457 | .any, | 37478 | .any, |
| 36458 | }, | 37479 | }, |
| 36459 | .patterns = &.{ | 37480 | .patterns = &.{ |
| 36460 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 37481 | .{ .src = .{ |
| | 37482 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 37483 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 37484 | .none, |
| | 37485 | } }, |
| 36461 | }, | 37486 | }, |
| 36462 | .call_frame = .{ .alignment = .@"16" }, | 37487 | .call_frame = .{ .alignment = .@"16" }, |
| 36463 | .extra_temps = .{ | 37488 | .extra_temps = .{ |
| ... | @@ -36492,8 +37517,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -36492,8 +37517,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 36492 | .call_frame = .{ .alignment = .@"16" }, | 37517 | .call_frame = .{ .alignment = .@"16" }, |
| 36493 | .extra_temps = .{ | 37518 | .extra_temps = .{ |
| 36494 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 37519 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 36495 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 37520 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 36496 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 37521 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 36497 | .{ .type = .usize, .kind = .{ .extern_func = "__divtf3" } }, | 37522 | .{ .type = .usize, .kind = .{ .extern_func = "__divtf3" } }, |
| 36498 | .{ .type = .usize, .kind = .{ .extern_func = "floorq" } }, | 37523 | .{ .type = .usize, .kind = .{ .extern_func = "floorq" } }, |
| 36499 | .unused, | 37524 | .unused, |
| ... | @@ -36528,8 +37553,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -36528,8 +37553,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 36528 | .call_frame = .{ .alignment = .@"16" }, | 37553 | .call_frame = .{ .alignment = .@"16" }, |
| 36529 | .extra_temps = .{ | 37554 | .extra_temps = .{ |
| 36530 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 37555 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 36531 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 37556 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 36532 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 37557 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 36533 | .{ .type = .usize, .kind = .{ .extern_func = "__divtf3" } }, | 37558 | .{ .type = .usize, .kind = .{ .extern_func = "__divtf3" } }, |
| 36534 | .{ .type = .usize, .kind = .{ .extern_func = "floorq" } }, | 37559 | .{ .type = .usize, .kind = .{ .extern_func = "floorq" } }, |
| 36535 | .unused, | 37560 | .unused, |
| ... | @@ -36564,8 +37589,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -36564,8 +37589,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 36564 | .call_frame = .{ .alignment = .@"16" }, | 37589 | .call_frame = .{ .alignment = .@"16" }, |
| 36565 | .extra_temps = .{ | 37590 | .extra_temps = .{ |
| 36566 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 37591 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 36567 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 37592 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 36568 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 37593 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 36569 | .{ .type = .usize, .kind = .{ .extern_func = "__divtf3" } }, | 37594 | .{ .type = .usize, .kind = .{ .extern_func = "__divtf3" } }, |
| 36570 | .{ .type = .usize, .kind = .{ .extern_func = "floorq" } }, | 37595 | .{ .type = .usize, .kind = .{ .extern_func = "floorq" } }, |
| 36571 | .unused, | 37596 | .unused, |
| ... | @@ -36598,7 +37623,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -36598,7 +37623,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 36598 | }; | 37623 | }; |
| 36599 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 37624 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 36600 | }, | 37625 | }, |
| 36601 | .rem, .rem_optimized => |air_tag| if (use_old) try cg.airMulDivBinOp(inst, .rem) else { | 37626 | .rem, .rem_optimized => |air_tag| { |
| 36602 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | 37627 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| 36603 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 37628 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| 36604 | var res: [1]Temp = undefined; | 37629 | var res: [1]Temp = undefined; |
| ... | @@ -36712,12 +37737,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -36712,12 +37737,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 36712 | .{ ._, ._, .div, .src1q, ._, ._, ._ }, | 37737 | .{ ._, ._, .div, .src1q, ._, ._, ._ }, |
| 36713 | } }, | 37738 | } }, |
| 36714 | }, .{ | 37739 | }, .{ |
| 36715 | .required_features = .{ .@"64bit", null, null, null }, | 37740 | .required_cc_abi = .sysv64, |
| 36716 | .src_constraints = .{ .{ .signed_int = .xword }, .{ .signed_int = .xword }, .any }, | 37741 | .src_constraints = .{ .{ .signed_int = .xword }, .{ .signed_int = .xword }, .any }, |
| 36717 | .patterns = &.{ | 37742 | .patterns = &.{ |
| 36718 | .{ .src = .{ | 37743 | .{ .src = .{ |
| 36719 | .{ .to_param_gpr_pair = .{ .cc = .ccc, .at = 0 } }, | 37744 | .{ .to_param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| 36720 | .{ .to_param_gpr_pair = .{ .cc = .ccc, .at = 2 } }, | 37745 | .{ .to_param_gpr_pair = .{ .cc = .ccc, .after = 2, .at = 2 } }, |
| 36721 | .none, | 37746 | .none, |
| 36722 | } }, | 37747 | } }, |
| 36723 | }, | 37748 | }, |
| ... | @@ -36735,18 +37760,46 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -36735,18 +37760,46 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 36735 | .unused, | 37760 | .unused, |
| 36736 | .unused, | 37761 | .unused, |
| 36737 | }, | 37762 | }, |
| 36738 | .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .at = 0 } }, .unused }, | 37763 | .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 36739 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 37764 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 36740 | .each = .{ .once = &.{ | 37765 | .each = .{ .once = &.{ |
| 36741 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 37766 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 36742 | } }, | 37767 | } }, |
| 36743 | }, .{ | 37768 | }, .{ |
| 36744 | .required_features = .{ .@"64bit", null, null, null }, | 37769 | .required_cc_abi = .win64, |
| | 37770 | .required_features = .{ .sse, null, null, null }, |
| | 37771 | .src_constraints = .{ .{ .signed_int = .xword }, .{ .signed_int = .xword }, .any }, |
| | 37772 | .patterns = &.{ |
| | 37773 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 37774 | }, |
| | 37775 | .call_frame = .{ .alignment = .@"16" }, |
| | 37776 | .extra_temps = .{ |
| | 37777 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 37778 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 37779 | .{ .type = .usize, .kind = .{ .extern_func = "__modti3" } }, |
| | 37780 | .unused, |
| | 37781 | .unused, |
| | 37782 | .unused, |
| | 37783 | .unused, |
| | 37784 | .unused, |
| | 37785 | .unused, |
| | 37786 | .unused, |
| | 37787 | .unused, |
| | 37788 | }, |
| | 37789 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| | 37790 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 37791 | .each = .{ .once = &.{ |
| | 37792 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| | 37793 | .{ ._, ._, .lea, .tmp1p, .mem(.src1), ._, ._ }, |
| | 37794 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 37795 | } }, |
| | 37796 | }, .{ |
| | 37797 | .required_cc_abi = .sysv64, |
| 36745 | .src_constraints = .{ .{ .unsigned_int = .xword }, .{ .unsigned_int = .xword }, .any }, | 37798 | .src_constraints = .{ .{ .unsigned_int = .xword }, .{ .unsigned_int = .xword }, .any }, |
| 36746 | .patterns = &.{ | 37799 | .patterns = &.{ |
| 36747 | .{ .src = .{ | 37800 | .{ .src = .{ |
| 36748 | .{ .to_param_gpr_pair = .{ .cc = .ccc, .at = 0 } }, | 37801 | .{ .to_param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| 36749 | .{ .to_param_gpr_pair = .{ .cc = .ccc, .at = 2 } }, | 37802 | .{ .to_param_gpr_pair = .{ .cc = .ccc, .after = 2, .at = 2 } }, |
| 36750 | .none, | 37803 | .none, |
| 36751 | } }, | 37804 | } }, |
| 36752 | }, | 37805 | }, |
| ... | @@ -36764,11 +37817,39 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -36764,11 +37817,39 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 36764 | .unused, | 37817 | .unused, |
| 36765 | .unused, | 37818 | .unused, |
| 36766 | }, | 37819 | }, |
| 36767 | .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .at = 0 } }, .unused }, | 37820 | .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 36768 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 37821 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 36769 | .each = .{ .once = &.{ | 37822 | .each = .{ .once = &.{ |
| 36770 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 37823 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 36771 | } }, | 37824 | } }, |
| | 37825 | }, .{ |
| | 37826 | .required_cc_abi = .win64, |
| | 37827 | .required_features = .{ .sse, null, null, null }, |
| | 37828 | .src_constraints = .{ .{ .unsigned_int = .xword }, .{ .unsigned_int = .xword }, .any }, |
| | 37829 | .patterns = &.{ |
| | 37830 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 37831 | }, |
| | 37832 | .call_frame = .{ .alignment = .@"16" }, |
| | 37833 | .extra_temps = .{ |
| | 37834 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 37835 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 37836 | .{ .type = .usize, .kind = .{ .extern_func = "__umodti3" } }, |
| | 37837 | .unused, |
| | 37838 | .unused, |
| | 37839 | .unused, |
| | 37840 | .unused, |
| | 37841 | .unused, |
| | 37842 | .unused, |
| | 37843 | .unused, |
| | 37844 | .unused, |
| | 37845 | }, |
| | 37846 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| | 37847 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 37848 | .each = .{ .once = &.{ |
| | 37849 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| | 37850 | .{ ._, ._, .lea, .tmp1p, .mem(.src1), ._, ._ }, |
| | 37851 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 37852 | } }, |
| 36772 | }, .{ | 37853 | }, .{ |
| 36773 | .required_features = .{ .@"64bit", null, null, null }, | 37854 | .required_features = .{ .@"64bit", null, null, null }, |
| 36774 | .src_constraints = .{ | 37855 | .src_constraints = .{ |
| ... | @@ -36781,10 +37862,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -36781,10 +37862,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 36781 | }, | 37862 | }, |
| 36782 | .call_frame = .{ .alignment = .@"16" }, | 37863 | .call_frame = .{ .alignment = .@"16" }, |
| 36783 | .extra_temps = .{ | 37864 | .extra_temps = .{ |
| 36784 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 0 } } }, | 37865 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 36785 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 1 } } }, | 37866 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 36786 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 2 } } }, | 37867 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| 36787 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 3 } } }, | 37868 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 3, .at = 3 } } }, |
| 36788 | .{ .type = .usize, .kind = .{ .extern_func = "__modei4" } }, | 37869 | .{ .type = .usize, .kind = .{ .extern_func = "__modei4" } }, |
| 36789 | .unused, | 37870 | .unused, |
| 36790 | .unused, | 37871 | .unused, |
| ... | @@ -36814,10 +37895,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -36814,10 +37895,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 36814 | }, | 37895 | }, |
| 36815 | .call_frame = .{ .alignment = .@"16" }, | 37896 | .call_frame = .{ .alignment = .@"16" }, |
| 36816 | .extra_temps = .{ | 37897 | .extra_temps = .{ |
| 36817 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 0 } } }, | 37898 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 36818 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 1 } } }, | 37899 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 36819 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 2 } } }, | 37900 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| 36820 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 3 } } }, | 37901 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 3, .at = 3 } } }, |
| 36821 | .{ .type = .usize, .kind = .{ .extern_func = "__umodei4" } }, | 37902 | .{ .type = .usize, .kind = .{ .extern_func = "__umodei4" } }, |
| 36822 | .unused, | 37903 | .unused, |
| 36823 | .unused, | 37904 | .unused, |
| ... | @@ -37166,7 +38247,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37166,7 +38247,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37166 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 38247 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 37167 | } }, | 38248 | } }, |
| 37168 | }, .{ | 38249 | }, .{ |
| 37169 | .required_features = .{ .@"64bit", null, null, null }, | 38250 | .required_cc_abi = .sysv64, |
| 37170 | .src_constraints = .{ | 38251 | .src_constraints = .{ |
| 37171 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, | 38252 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, |
| 37172 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, | 38253 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, |
| ... | @@ -37178,12 +38259,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37178,12 +38259,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37178 | .call_frame = .{ .alignment = .@"16" }, | 38259 | .call_frame = .{ .alignment = .@"16" }, |
| 37179 | .extra_temps = .{ | 38260 | .extra_temps = .{ |
| 37180 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 38261 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 37181 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 0 } } }, | 38262 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 37182 | .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 1 } } }, | 38263 | .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 37183 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 2 } } }, | 38264 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| 37184 | .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 3 } } }, | 38265 | .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 3, .at = 3 } } }, |
| 37185 | .{ .type = .usize, .kind = .{ .extern_func = "__modti3" } }, | 38266 | .{ .type = .usize, .kind = .{ .extern_func = "__modti3" } }, |
| 37186 | .{ .type = .u64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .at = 0 } } }, | 38267 | .{ .type = .u64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 37187 | .unused, | 38268 | .unused, |
| 37188 | .unused, | 38269 | .unused, |
| 37189 | .unused, | 38270 | .unused, |
| ... | @@ -37204,7 +38285,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37204,7 +38285,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37204 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 38285 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 37205 | } }, | 38286 | } }, |
| 37206 | }, .{ | 38287 | }, .{ |
| 37207 | .required_features = .{ .@"64bit", null, null, null }, | 38288 | .required_cc_abi = .sysv64, |
| 37208 | .src_constraints = .{ | 38289 | .src_constraints = .{ |
| 37209 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, | 38290 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 37210 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, | 38291 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| ... | @@ -37216,12 +38297,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37216,12 +38297,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37216 | .call_frame = .{ .alignment = .@"16" }, | 38297 | .call_frame = .{ .alignment = .@"16" }, |
| 37217 | .extra_temps = .{ | 38298 | .extra_temps = .{ |
| 37218 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 38299 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 37219 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 0 } } }, | 38300 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 37220 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 1 } } }, | 38301 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 37221 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 2 } } }, | 38302 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| 37222 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 3 } } }, | 38303 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 3, .at = 3 } } }, |
| 37223 | .{ .type = .usize, .kind = .{ .extern_func = "__umodti3" } }, | 38304 | .{ .type = .usize, .kind = .{ .extern_func = "__umodti3" } }, |
| 37224 | .{ .type = .u64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .at = 0 } } }, | 38305 | .{ .type = .u64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 37225 | .unused, | 38306 | .unused, |
| 37226 | .unused, | 38307 | .unused, |
| 37227 | .unused, | 38308 | .unused, |
| ... | @@ -37254,10 +38335,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37254,10 +38335,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37254 | .call_frame = .{ .alignment = .@"16" }, | 38335 | .call_frame = .{ .alignment = .@"16" }, |
| 37255 | .extra_temps = .{ | 38336 | .extra_temps = .{ |
| 37256 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 38337 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 37257 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 0 } } }, | 38338 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 37258 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 1 } } }, | 38339 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 37259 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 2 } } }, | 38340 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| 37260 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 3 } } }, | 38341 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 3, .at = 3 } } }, |
| 37261 | .{ .type = .usize, .kind = .{ .extern_func = "__modei4" } }, | 38342 | .{ .type = .usize, .kind = .{ .extern_func = "__modei4" } }, |
| 37262 | .unused, | 38343 | .unused, |
| 37263 | .unused, | 38344 | .unused, |
| ... | @@ -37290,10 +38371,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37290,10 +38371,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37290 | .call_frame = .{ .alignment = .@"16" }, | 38371 | .call_frame = .{ .alignment = .@"16" }, |
| 37291 | .extra_temps = .{ | 38372 | .extra_temps = .{ |
| 37292 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 38373 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 37293 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 0 } } }, | 38374 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 37294 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 1 } } }, | 38375 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 37295 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 2 } } }, | 38376 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| 37296 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 3 } } }, | 38377 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 3, .at = 3 } } }, |
| 37297 | .{ .type = .usize, .kind = .{ .extern_func = "__umodei4" } }, | 38378 | .{ .type = .usize, .kind = .{ .extern_func = "__umodei4" } }, |
| 37298 | .unused, | 38379 | .unused, |
| 37299 | .unused, | 38380 | .unused, |
| ... | @@ -37321,7 +38402,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37321,7 +38402,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37321 | .any, | 38402 | .any, |
| 37322 | }, | 38403 | }, |
| 37323 | .patterns = &.{ | 38404 | .patterns = &.{ |
| 37324 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 38405 | .{ .src = .{ |
| | 38406 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 38407 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 38408 | .none, |
| | 38409 | } }, |
| 37325 | }, | 38410 | }, |
| 37326 | .call_frame = .{ .alignment = .@"16" }, | 38411 | .call_frame = .{ .alignment = .@"16" }, |
| 37327 | .extra_temps = .{ | 38412 | .extra_temps = .{ |
| ... | @@ -37355,8 +38440,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37355,8 +38440,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37355 | .call_frame = .{ .alignment = .@"16" }, | 38440 | .call_frame = .{ .alignment = .@"16" }, |
| 37356 | .extra_temps = .{ | 38441 | .extra_temps = .{ |
| 37357 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 38442 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 37358 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 38443 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 37359 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 38444 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 37360 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodh" } }, | 38445 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodh" } }, |
| 37361 | .unused, | 38446 | .unused, |
| 37362 | .unused, | 38447 | .unused, |
| ... | @@ -37391,8 +38476,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37391,8 +38476,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37391 | .call_frame = .{ .alignment = .@"16" }, | 38476 | .call_frame = .{ .alignment = .@"16" }, |
| 37392 | .extra_temps = .{ | 38477 | .extra_temps = .{ |
| 37393 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 38478 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 37394 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 38479 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 37395 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 38480 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 37396 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodh" } }, | 38481 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodh" } }, |
| 37397 | .unused, | 38482 | .unused, |
| 37398 | .unused, | 38483 | .unused, |
| ... | @@ -37428,8 +38513,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37428,8 +38513,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37428 | .call_frame = .{ .alignment = .@"16" }, | 38513 | .call_frame = .{ .alignment = .@"16" }, |
| 37429 | .extra_temps = .{ | 38514 | .extra_temps = .{ |
| 37430 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 38515 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 37431 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 38516 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 37432 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 38517 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 37433 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodh" } }, | 38518 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodh" } }, |
| 37434 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 38519 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 37435 | .unused, | 38520 | .unused, |
| ... | @@ -37468,8 +38553,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37468,8 +38553,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37468 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 38553 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 37469 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 38554 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 37470 | .{ .type = .f32, .kind = .mem }, | 38555 | .{ .type = .f32, .kind = .mem }, |
| 37471 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 38556 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 37472 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 38557 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 37473 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodh" } }, | 38558 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodh" } }, |
| 37474 | .unused, | 38559 | .unused, |
| 37475 | .unused, | 38560 | .unused, |
| ... | @@ -37502,7 +38587,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37502,7 +38587,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37502 | .any, | 38587 | .any, |
| 37503 | }, | 38588 | }, |
| 37504 | .patterns = &.{ | 38589 | .patterns = &.{ |
| 37505 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 38590 | .{ .src = .{ |
| | 38591 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 38592 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 38593 | .none, |
| | 38594 | } }, |
| 37506 | }, | 38595 | }, |
| 37507 | .call_frame = .{ .alignment = .@"16" }, | 38596 | .call_frame = .{ .alignment = .@"16" }, |
| 37508 | .extra_temps = .{ | 38597 | .extra_temps = .{ |
| ... | @@ -37536,8 +38625,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37536,8 +38625,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37536 | .call_frame = .{ .alignment = .@"16" }, | 38625 | .call_frame = .{ .alignment = .@"16" }, |
| 37537 | .extra_temps = .{ | 38626 | .extra_temps = .{ |
| 37538 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 38627 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 37539 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 38628 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 37540 | .{ .type = .f32, .kind = .{ .reg = .xmm1 } }, | 38629 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 37541 | .{ .type = .usize, .kind = .{ .extern_func = "fmodf" } }, | 38630 | .{ .type = .usize, .kind = .{ .extern_func = "fmodf" } }, |
| 37542 | .unused, | 38631 | .unused, |
| 37543 | .unused, | 38632 | .unused, |
| ... | @@ -37571,8 +38660,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37571,8 +38660,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37571 | .call_frame = .{ .alignment = .@"16" }, | 38660 | .call_frame = .{ .alignment = .@"16" }, |
| 37572 | .extra_temps = .{ | 38661 | .extra_temps = .{ |
| 37573 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 38662 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 37574 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 38663 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 37575 | .{ .type = .f32, .kind = .{ .reg = .xmm1 } }, | 38664 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 37576 | .{ .type = .usize, .kind = .{ .extern_func = "fmodf" } }, | 38665 | .{ .type = .usize, .kind = .{ .extern_func = "fmodf" } }, |
| 37577 | .unused, | 38666 | .unused, |
| 37578 | .unused, | 38667 | .unused, |
| ... | @@ -37601,7 +38690,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37601,7 +38690,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37601 | .any, | 38690 | .any, |
| 37602 | }, | 38691 | }, |
| 37603 | .patterns = &.{ | 38692 | .patterns = &.{ |
| 37604 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 38693 | .{ .src = .{ |
| | 38694 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 38695 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 38696 | .none, |
| | 38697 | } }, |
| 37605 | }, | 38698 | }, |
| 37606 | .call_frame = .{ .alignment = .@"16" }, | 38699 | .call_frame = .{ .alignment = .@"16" }, |
| 37607 | .extra_temps = .{ | 38700 | .extra_temps = .{ |
| ... | @@ -37635,8 +38728,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37635,8 +38728,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37635 | .call_frame = .{ .alignment = .@"16" }, | 38728 | .call_frame = .{ .alignment = .@"16" }, |
| 37636 | .extra_temps = .{ | 38729 | .extra_temps = .{ |
| 37637 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 38730 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 37638 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 38731 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 37639 | .{ .type = .f64, .kind = .{ .reg = .xmm1 } }, | 38732 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 37640 | .{ .type = .usize, .kind = .{ .extern_func = "fmod" } }, | 38733 | .{ .type = .usize, .kind = .{ .extern_func = "fmod" } }, |
| 37641 | .unused, | 38734 | .unused, |
| 37642 | .unused, | 38735 | .unused, |
| ... | @@ -37670,8 +38763,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37670,8 +38763,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37670 | .call_frame = .{ .alignment = .@"16" }, | 38763 | .call_frame = .{ .alignment = .@"16" }, |
| 37671 | .extra_temps = .{ | 38764 | .extra_temps = .{ |
| 37672 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 38765 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 37673 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 38766 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 37674 | .{ .type = .f64, .kind = .{ .reg = .xmm1 } }, | 38767 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 37675 | .{ .type = .usize, .kind = .{ .extern_func = "fmod" } }, | 38768 | .{ .type = .usize, .kind = .{ .extern_func = "fmod" } }, |
| 37676 | .unused, | 38769 | .unused, |
| 37677 | .unused, | 38770 | .unused, |
| ... | @@ -37705,8 +38798,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37705,8 +38798,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37705 | .call_frame = .{ .alignment = .@"16" }, | 38798 | .call_frame = .{ .alignment = .@"16" }, |
| 37706 | .extra_temps = .{ | 38799 | .extra_temps = .{ |
| 37707 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 38800 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 37708 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 38801 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 37709 | .{ .type = .f64, .kind = .{ .reg = .xmm1 } }, | 38802 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 37710 | .{ .type = .usize, .kind = .{ .extern_func = "fmod" } }, | 38803 | .{ .type = .usize, .kind = .{ .extern_func = "fmod" } }, |
| 37711 | .unused, | 38804 | .unused, |
| 37712 | .unused, | 38805 | .unused, |
| ... | @@ -37730,6 +38823,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37730,6 +38823,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37730 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 38823 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 37731 | } }, | 38824 | } }, |
| 37732 | }, .{ | 38825 | }, .{ |
| | 38826 | .required_cc_abi = .sysv64, |
| 37733 | .required_features = .{ .avx, .x87, null, null }, | 38827 | .required_features = .{ .avx, .x87, null, null }, |
| 37734 | .src_constraints = .{ | 38828 | .src_constraints = .{ |
| 37735 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 38829 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -37741,7 +38835,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37741,7 +38835,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37741 | }, | 38835 | }, |
| 37742 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, | 38836 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, |
| 37743 | .extra_temps = .{ | 38837 | .extra_temps = .{ |
| 37744 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 38838 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 37745 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 38839 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 37746 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, | 38840 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, |
| 37747 | .unused, | 38841 | .unused, |
| ... | @@ -37763,6 +38857,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37763,6 +38857,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37763 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 38857 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 37764 | } }, | 38858 | } }, |
| 37765 | }, .{ | 38859 | }, .{ |
| | 38860 | .required_cc_abi = .sysv64, |
| 37766 | .required_features = .{ .sse2, .x87, null, null }, | 38861 | .required_features = .{ .sse2, .x87, null, null }, |
| 37767 | .src_constraints = .{ | 38862 | .src_constraints = .{ |
| 37768 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 38863 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -37774,7 +38869,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37774,7 +38869,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37774 | }, | 38869 | }, |
| 37775 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, | 38870 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, |
| 37776 | .extra_temps = .{ | 38871 | .extra_temps = .{ |
| 37777 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 38872 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 37778 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 38873 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 37779 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, | 38874 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, |
| 37780 | .unused, | 38875 | .unused, |
| ... | @@ -37796,6 +38891,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37796,6 +38891,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37796 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 38891 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 37797 | } }, | 38892 | } }, |
| 37798 | }, .{ | 38893 | }, .{ |
| | 38894 | .required_cc_abi = .sysv64, |
| 37799 | .required_features = .{ .sse, .x87, null, null }, | 38895 | .required_features = .{ .sse, .x87, null, null }, |
| 37800 | .src_constraints = .{ | 38896 | .src_constraints = .{ |
| 37801 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 38897 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -37807,7 +38903,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37807,7 +38903,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37807 | }, | 38903 | }, |
| 37808 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, | 38904 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, |
| 37809 | .extra_temps = .{ | 38905 | .extra_temps = .{ |
| 37810 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 38906 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 37811 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 38907 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 37812 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, | 38908 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, |
| 37813 | .unused, | 38909 | .unused, |
| ... | @@ -37829,6 +38925,39 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37829,6 +38925,39 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37829 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 38925 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 37830 | } }, | 38926 | } }, |
| 37831 | }, .{ | 38927 | }, .{ |
| | 38928 | .required_cc_abi = .win64, |
| | 38929 | .src_constraints = .{ |
| | 38930 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 38931 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 38932 | .any, |
| | 38933 | }, |
| | 38934 | .patterns = &.{ |
| | 38935 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 38936 | }, |
| | 38937 | .call_frame = .{ .alignment = .@"16" }, |
| | 38938 | .extra_temps = .{ |
| | 38939 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 38940 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 38941 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| | 38942 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, |
| | 38943 | .unused, |
| | 38944 | .unused, |
| | 38945 | .unused, |
| | 38946 | .unused, |
| | 38947 | .unused, |
| | 38948 | .unused, |
| | 38949 | .unused, |
| | 38950 | }, |
| | 38951 | .dst_temps = .{ .mem, .unused }, |
| | 38952 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 38953 | .each = .{ .once = &.{ |
| | 38954 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| | 38955 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, |
| | 38956 | .{ ._, ._, .lea, .tmp2p, .mem(.src1), ._, ._ }, |
| | 38957 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 38958 | } }, |
| | 38959 | }, .{ |
| | 38960 | .required_cc_abi = .sysv64, |
| 37832 | .required_features = .{ .avx, .x87, null, null }, | 38961 | .required_features = .{ .avx, .x87, null, null }, |
| 37833 | .src_constraints = .{ | 38962 | .src_constraints = .{ |
| 37834 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 38963 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -37841,7 +38970,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37841,7 +38970,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37841 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, | 38970 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, |
| 37842 | .extra_temps = .{ | 38971 | .extra_temps = .{ |
| 37843 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 38972 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 37844 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 38973 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 37845 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 38974 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 37846 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, | 38975 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, |
| 37847 | .unused, | 38976 | .unused, |
| ... | @@ -37867,6 +38996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37867,6 +38996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37867 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 38996 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 37868 | } }, | 38997 | } }, |
| 37869 | }, .{ | 38998 | }, .{ |
| | 38999 | .required_cc_abi = .sysv64, |
| 37870 | .required_features = .{ .sse2, .x87, null, null }, | 39000 | .required_features = .{ .sse2, .x87, null, null }, |
| 37871 | .src_constraints = .{ | 39001 | .src_constraints = .{ |
| 37872 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 39002 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -37879,7 +39009,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37879,7 +39009,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37879 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, | 39009 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, |
| 37880 | .extra_temps = .{ | 39010 | .extra_temps = .{ |
| 37881 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 39011 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 37882 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 39012 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 37883 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 39013 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 37884 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, | 39014 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, |
| 37885 | .unused, | 39015 | .unused, |
| ... | @@ -37905,6 +39035,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37905,6 +39035,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37905 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 39035 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 37906 | } }, | 39036 | } }, |
| 37907 | }, .{ | 39037 | }, .{ |
| | 39038 | .required_cc_abi = .sysv64, |
| 37908 | .required_features = .{ .sse, .x87, null, null }, | 39039 | .required_features = .{ .sse, .x87, null, null }, |
| 37909 | .src_constraints = .{ | 39040 | .src_constraints = .{ |
| 37910 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 39041 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -37917,7 +39048,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37917,7 +39048,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37917 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, | 39048 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, |
| 37918 | .extra_temps = .{ | 39049 | .extra_temps = .{ |
| 37919 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 39050 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 37920 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 39051 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 37921 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 39052 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 37922 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, | 39053 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, |
| 37923 | .unused, | 39054 | .unused, |
| ... | @@ -37942,6 +39073,41 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37942,6 +39073,41 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37942 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 39073 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 37943 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 39074 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 37944 | } }, | 39075 | } }, |
| | 39076 | }, .{ |
| | 39077 | .required_cc_abi = .win64, |
| | 39078 | .src_constraints = .{ |
| | 39079 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 39080 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 39081 | .any, |
| | 39082 | }, |
| | 39083 | .patterns = &.{ |
| | 39084 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 39085 | }, |
| | 39086 | .call_frame = .{ .alignment = .@"16" }, |
| | 39087 | .extra_temps = .{ |
| | 39088 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 39089 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 39090 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 39091 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| | 39092 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, |
| | 39093 | .unused, |
| | 39094 | .unused, |
| | 39095 | .unused, |
| | 39096 | .unused, |
| | 39097 | .unused, |
| | 39098 | .unused, |
| | 39099 | }, |
| | 39100 | .dst_temps = .{ .mem, .unused }, |
| | 39101 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 39102 | .each = .{ .once = &.{ |
| | 39103 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 39104 | .{ .@"0:", ._, .lea, .tmp1p, .memia(.dst0, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 39105 | .{ ._, ._, .lea, .tmp2p, .memia(.src0, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 39106 | .{ ._, ._, .lea, .tmp3p, .memia(.src1, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 39107 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 39108 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| | 39109 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 39110 | } }, |
| 37945 | }, .{ | 39111 | }, .{ |
| 37946 | .required_features = .{ .sse, null, null, null }, | 39112 | .required_features = .{ .sse, null, null, null }, |
| 37947 | .src_constraints = .{ | 39113 | .src_constraints = .{ |
| ... | @@ -37950,7 +39116,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37950,7 +39116,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37950 | .any, | 39116 | .any, |
| 37951 | }, | 39117 | }, |
| 37952 | .patterns = &.{ | 39118 | .patterns = &.{ |
| 37953 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 39119 | .{ .src = .{ |
| | 39120 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 39121 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 39122 | .none, |
| | 39123 | } }, |
| 37954 | }, | 39124 | }, |
| 37955 | .call_frame = .{ .alignment = .@"16" }, | 39125 | .call_frame = .{ .alignment = .@"16" }, |
| 37956 | .extra_temps = .{ | 39126 | .extra_temps = .{ |
| ... | @@ -37984,8 +39154,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -37984,8 +39154,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 37984 | .call_frame = .{ .alignment = .@"16" }, | 39154 | .call_frame = .{ .alignment = .@"16" }, |
| 37985 | .extra_temps = .{ | 39155 | .extra_temps = .{ |
| 37986 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 39156 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 37987 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 39157 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 37988 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 39158 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 37989 | .{ .type = .usize, .kind = .{ .extern_func = "fmodq" } }, | 39159 | .{ .type = .usize, .kind = .{ .extern_func = "fmodq" } }, |
| 37990 | .unused, | 39160 | .unused, |
| 37991 | .unused, | 39161 | .unused, |
| ... | @@ -38019,8 +39189,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -38019,8 +39189,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 38019 | .call_frame = .{ .alignment = .@"16" }, | 39189 | .call_frame = .{ .alignment = .@"16" }, |
| 38020 | .extra_temps = .{ | 39190 | .extra_temps = .{ |
| 38021 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 39191 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 38022 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 39192 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 38023 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 39193 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 38024 | .{ .type = .usize, .kind = .{ .extern_func = "fmodq" } }, | 39194 | .{ .type = .usize, .kind = .{ .extern_func = "fmodq" } }, |
| 38025 | .unused, | 39195 | .unused, |
| 38026 | .unused, | 39196 | .unused, |
| ... | @@ -38054,8 +39224,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -38054,8 +39224,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 38054 | .call_frame = .{ .alignment = .@"16" }, | 39224 | .call_frame = .{ .alignment = .@"16" }, |
| 38055 | .extra_temps = .{ | 39225 | .extra_temps = .{ |
| 38056 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 39226 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 38057 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 39227 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 38058 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 39228 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 38059 | .{ .type = .usize, .kind = .{ .extern_func = "fmodq" } }, | 39229 | .{ .type = .usize, .kind = .{ .extern_func = "fmodq" } }, |
| 38060 | .unused, | 39230 | .unused, |
| 38061 | .unused, | 39231 | .unused, |
| ... | @@ -38087,7 +39257,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -38087,7 +39257,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 38087 | }; | 39257 | }; |
| 38088 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 39258 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 38089 | }, | 39259 | }, |
| 38090 | .mod, .mod_optimized => |air_tag| if (use_old) try cg.airMulDivBinOp(inst, .mod) else { | 39260 | .mod, .mod_optimized => |air_tag| { |
| 38091 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | 39261 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| 38092 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 39262 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| 38093 | var res: [1]Temp = undefined; | 39263 | var res: [1]Temp = undefined; |
| ... | @@ -38383,14 +39553,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -38383,14 +39553,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 38383 | .{ ._, ._, .div, .src1q, ._, ._, ._ }, | 39553 | .{ ._, ._, .div, .src1q, ._, ._, ._ }, |
| 38384 | } }, | 39554 | } }, |
| 38385 | }, .{ | 39555 | }, .{ |
| 38386 | .required_features = .{ .@"64bit", .cmov, null, null }, | 39556 | .required_cc_abi = .sysv64, |
| | 39557 | .required_features = .{ .cmov, null, null, null }, |
| 38387 | .src_constraints = .{ .{ .signed_int = .xword }, .{ .signed_int = .xword }, .any }, | 39558 | .src_constraints = .{ .{ .signed_int = .xword }, .{ .signed_int = .xword }, .any }, |
| 38388 | .patterns = &.{ | 39559 | .patterns = &.{ |
| 38389 | .{ .src = .{ .{ .to_param_gpr_pair = .{ .cc = .ccc, .at = 0 } }, .to_mem, .none } }, | 39560 | .{ .src = .{ .{ .to_param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .to_mem, .none } }, |
| 38390 | }, | 39561 | }, |
| 38391 | .call_frame = .{ .alignment = .@"16" }, | 39562 | .call_frame = .{ .alignment = .@"16" }, |
| 38392 | .extra_temps = .{ | 39563 | .extra_temps = .{ |
| 38393 | .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 3 } } }, | 39564 | .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 3, .at = 3 } } }, |
| 38394 | .{ .type = .usize, .kind = .{ .extern_func = "__modti3" } }, | 39565 | .{ .type = .usize, .kind = .{ .extern_func = "__modti3" } }, |
| 38395 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, | 39566 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 38396 | .unused, | 39567 | .unused, |
| ... | @@ -38402,7 +39573,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -38402,7 +39573,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 38402 | .unused, | 39573 | .unused, |
| 38403 | .unused, | 39574 | .unused, |
| 38404 | }, | 39575 | }, |
| 38405 | .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .at = 0 } }, .unused }, | 39576 | .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 38406 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 39577 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 38407 | .each = .{ .once = &.{ | 39578 | .each = .{ .once = &.{ |
| 38408 | .{ ._, ._, .mov, .dst0q1, .mem(.src1q), ._, ._ }, | 39579 | .{ ._, ._, .mov, .dst0q1, .mem(.src1q), ._, ._ }, |
| ... | @@ -38422,14 +39593,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -38422,14 +39593,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 38422 | .{ ._, ._, .adc, .dst0q1, .src0q0, ._, ._ }, | 39593 | .{ ._, ._, .adc, .dst0q1, .src0q0, ._, ._ }, |
| 38423 | } }, | 39594 | } }, |
| 38424 | }, .{ | 39595 | }, .{ |
| 38425 | .required_features = .{ .@"64bit", null, null, null }, | 39596 | .required_cc_abi = .sysv64, |
| 38426 | .src_constraints = .{ .{ .signed_int = .xword }, .{ .signed_int = .xword }, .any }, | 39597 | .src_constraints = .{ .{ .signed_int = .xword }, .{ .signed_int = .xword }, .any }, |
| 38427 | .patterns = &.{ | 39598 | .patterns = &.{ |
| 38428 | .{ .src = .{ .{ .to_param_gpr_pair = .{ .cc = .ccc, .at = 0 } }, .to_mem, .none } }, | 39599 | .{ .src = .{ .{ .to_param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .to_mem, .none } }, |
| 38429 | }, | 39600 | }, |
| 38430 | .call_frame = .{ .alignment = .@"16" }, | 39601 | .call_frame = .{ .alignment = .@"16" }, |
| 38431 | .extra_temps = .{ | 39602 | .extra_temps = .{ |
| 38432 | .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 3 } } }, | 39603 | .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 3, .at = 3 } } }, |
| 38433 | .{ .type = .usize, .kind = .{ .extern_func = "__modti3" } }, | 39604 | .{ .type = .usize, .kind = .{ .extern_func = "__modti3" } }, |
| 38434 | .unused, | 39605 | .unused, |
| 38435 | .unused, | 39606 | .unused, |
| ... | @@ -38441,7 +39612,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -38441,7 +39612,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 38441 | .unused, | 39612 | .unused, |
| 38442 | .unused, | 39613 | .unused, |
| 38443 | }, | 39614 | }, |
| 38444 | .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .at = 0 } }, .unused }, | 39615 | .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 38445 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 39616 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 38446 | .each = .{ .once = &.{ | 39617 | .each = .{ .once = &.{ |
| 38447 | .{ ._, ._, .mov, .dst0q1, .mem(.src1q), ._, ._ }, | 39618 | .{ ._, ._, .mov, .dst0q1, .mem(.src1q), ._, ._ }, |
| ... | @@ -38459,12 +39630,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -38459,12 +39630,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 38459 | .{ ._, ._, .adc, .dst0q1, .src0q0, ._, ._ }, | 39630 | .{ ._, ._, .adc, .dst0q1, .src0q0, ._, ._ }, |
| 38460 | } }, | 39631 | } }, |
| 38461 | }, .{ | 39632 | }, .{ |
| 38462 | .required_features = .{ .@"64bit", null, null, null }, | 39633 | .required_cc_abi = .sysv64, |
| 38463 | .src_constraints = .{ .{ .unsigned_int = .xword }, .{ .unsigned_int = .xword }, .any }, | 39634 | .src_constraints = .{ .{ .unsigned_int = .xword }, .{ .unsigned_int = .xword }, .any }, |
| 38464 | .patterns = &.{ | 39635 | .patterns = &.{ |
| 38465 | .{ .src = .{ | 39636 | .{ .src = .{ |
| 38466 | .{ .to_param_gpr_pair = .{ .cc = .ccc, .at = 0 } }, | 39637 | .{ .to_param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| 38467 | .{ .to_param_gpr_pair = .{ .cc = .ccc, .at = 2 } }, | 39638 | .{ .to_param_gpr_pair = .{ .cc = .ccc, .after = 2, .at = 2 } }, |
| 38468 | .none, | 39639 | .none, |
| 38469 | } }, | 39640 | } }, |
| 38470 | }, | 39641 | }, |
| ... | @@ -38482,7 +39653,65 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -38482,7 +39653,65 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 38482 | .unused, | 39653 | .unused, |
| 38483 | .unused, | 39654 | .unused, |
| 38484 | }, | 39655 | }, |
| 38485 | .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .at = 0 } }, .unused }, | 39656 | .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| | 39657 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 39658 | .each = .{ .once = &.{ |
| | 39659 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| | 39660 | } }, |
| | 39661 | }, .{ |
| | 39662 | .required_cc_abi = .win64, |
| | 39663 | .required_features = .{ .sse, null, null, null }, |
| | 39664 | .src_constraints = .{ .{ .unsigned_int = .xword }, .{ .unsigned_int = .xword }, .any }, |
| | 39665 | .patterns = &.{ |
| | 39666 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 39667 | }, |
| | 39668 | .call_frame = .{ .alignment = .@"16" }, |
| | 39669 | .extra_temps = .{ |
| | 39670 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 39671 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 39672 | .{ .type = .usize, .kind = .{ .extern_func = "__umodti3" } }, |
| | 39673 | .unused, |
| | 39674 | .unused, |
| | 39675 | .unused, |
| | 39676 | .unused, |
| | 39677 | .unused, |
| | 39678 | .unused, |
| | 39679 | .unused, |
| | 39680 | .unused, |
| | 39681 | }, |
| | 39682 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| | 39683 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 39684 | .each = .{ .once = &.{ |
| | 39685 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| | 39686 | .{ ._, ._, .lea, .tmp1p, .mem(.src1), ._, ._ }, |
| | 39687 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 39688 | } }, |
| | 39689 | }, .{ |
| | 39690 | .required_cc_abi = .win64, |
| | 39691 | .required_features = .{ .sse, null, null, null }, |
| | 39692 | .src_constraints = .{ .{ .unsigned_int = .xword }, .{ .unsigned_int = .xword }, .any }, |
| | 39693 | .patterns = &.{ |
| | 39694 | .{ .src = .{ |
| | 39695 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 39696 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 39697 | .none, |
| | 39698 | } }, |
| | 39699 | }, |
| | 39700 | .call_frame = .{ .alignment = .@"16" }, |
| | 39701 | .extra_temps = .{ |
| | 39702 | .{ .type = .usize, .kind = .{ .extern_func = "__umodti3" } }, |
| | 39703 | .unused, |
| | 39704 | .unused, |
| | 39705 | .unused, |
| | 39706 | .unused, |
| | 39707 | .unused, |
| | 39708 | .unused, |
| | 39709 | .unused, |
| | 39710 | .unused, |
| | 39711 | .unused, |
| | 39712 | .unused, |
| | 39713 | }, |
| | 39714 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 38486 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 39715 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 38487 | .each = .{ .once = &.{ | 39716 | .each = .{ .once = &.{ |
| 38488 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 39717 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| ... | @@ -38499,10 +39728,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -38499,10 +39728,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 38499 | }, | 39728 | }, |
| 38500 | .call_frame = .{ .alignment = .@"16" }, | 39729 | .call_frame = .{ .alignment = .@"16" }, |
| 38501 | .extra_temps = .{ | 39730 | .extra_temps = .{ |
| 38502 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 0 } } }, | 39731 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 38503 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 1 } } }, | 39732 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 38504 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 2 } } }, | 39733 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| 38505 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 3 } } }, | 39734 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 3, .at = 3 } } }, |
| 38506 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, | 39735 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 38507 | .{ .type = .usize, .kind = .{ .extern_func = "__modei4" } }, | 39736 | .{ .type = .usize, .kind = .{ .extern_func = "__modei4" } }, |
| 38508 | .unused, | 39737 | .unused, |
| ... | @@ -38557,10 +39786,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -38557,10 +39786,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 38557 | }, | 39786 | }, |
| 38558 | .call_frame = .{ .alignment = .@"16" }, | 39787 | .call_frame = .{ .alignment = .@"16" }, |
| 38559 | .extra_temps = .{ | 39788 | .extra_temps = .{ |
| 38560 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 0 } } }, | 39789 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 38561 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 1 } } }, | 39790 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 38562 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 2 } } }, | 39791 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| 38563 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 3 } } }, | 39792 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 3, .at = 3 } } }, |
| 38564 | .{ .type = .usize, .kind = .{ .extern_func = "__umodei4" } }, | 39793 | .{ .type = .usize, .kind = .{ .extern_func = "__umodei4" } }, |
| 38565 | .unused, | 39794 | .unused, |
| 38566 | .unused, | 39795 | .unused, |
| ... | @@ -38586,7 +39815,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -38586,7 +39815,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 38586 | .any, | 39815 | .any, |
| 38587 | }, | 39816 | }, |
| 38588 | .patterns = &.{ | 39817 | .patterns = &.{ |
| 38589 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 39818 | .{ .src = .{ |
| | 39819 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 39820 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 39821 | .none, |
| | 39822 | } }, |
| 38590 | }, | 39823 | }, |
| 38591 | .call_frame = .{ .alignment = .@"16" }, | 39824 | .call_frame = .{ .alignment = .@"16" }, |
| 38592 | .extra_temps = .{ | 39825 | .extra_temps = .{ |
| ... | @@ -38627,7 +39860,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -38627,7 +39860,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 38627 | .any, | 39860 | .any, |
| 38628 | }, | 39861 | }, |
| 38629 | .patterns = &.{ | 39862 | .patterns = &.{ |
| 38630 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 39863 | .{ .src = .{ |
| | 39864 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 39865 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 39866 | .none, |
| | 39867 | } }, |
| 38631 | }, | 39868 | }, |
| 38632 | .call_frame = .{ .alignment = .@"16" }, | 39869 | .call_frame = .{ .alignment = .@"16" }, |
| 38633 | .extra_temps = .{ | 39870 | .extra_temps = .{ |
| ... | @@ -38668,7 +39905,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -38668,7 +39905,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 38668 | .any, | 39905 | .any, |
| 38669 | }, | 39906 | }, |
| 38670 | .patterns = &.{ | 39907 | .patterns = &.{ |
| 38671 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 39908 | .{ .src = .{ |
| | 39909 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 39910 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 39911 | .none, |
| | 39912 | } }, |
| 38672 | }, | 39913 | }, |
| 38673 | .call_frame = .{ .alignment = .@"16" }, | 39914 | .call_frame = .{ .alignment = .@"16" }, |
| 38674 | .extra_temps = .{ | 39915 | .extra_temps = .{ |
| ... | @@ -38706,7 +39947,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -38706,7 +39947,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 38706 | .any, | 39947 | .any, |
| 38707 | }, | 39948 | }, |
| 38708 | .patterns = &.{ | 39949 | .patterns = &.{ |
| 38709 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 39950 | .{ .src = .{ |
| | 39951 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 39952 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 39953 | .none, |
| | 39954 | } }, |
| 38710 | }, | 39955 | }, |
| 38711 | .call_frame = .{ .alignment = .@"16" }, | 39956 | .call_frame = .{ .alignment = .@"16" }, |
| 38712 | .extra_temps = .{ | 39957 | .extra_temps = .{ |
| ... | @@ -38744,7 +39989,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -38744,7 +39989,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 38744 | .any, | 39989 | .any, |
| 38745 | }, | 39990 | }, |
| 38746 | .patterns = &.{ | 39991 | .patterns = &.{ |
| 38747 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 39992 | .{ .src = .{ |
| | 39993 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 39994 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 39995 | .none, |
| | 39996 | } }, |
| 38748 | }, | 39997 | }, |
| 38749 | .call_frame = .{ .alignment = .@"16" }, | 39998 | .call_frame = .{ .alignment = .@"16" }, |
| 38750 | .extra_temps = .{ | 39999 | .extra_temps = .{ |
| ... | @@ -38782,7 +40031,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -38782,7 +40031,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 38782 | .any, | 40031 | .any, |
| 38783 | }, | 40032 | }, |
| 38784 | .patterns = &.{ | 40033 | .patterns = &.{ |
| 38785 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 40034 | .{ .src = .{ |
| | 40035 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 40036 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 40037 | .none, |
| | 40038 | } }, |
| 38786 | }, | 40039 | }, |
| 38787 | .call_frame = .{ .alignment = .@"16" }, | 40040 | .call_frame = .{ .alignment = .@"16" }, |
| 38788 | .extra_temps = .{ | 40041 | .extra_temps = .{ |
| ... | @@ -38820,7 +40073,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -38820,7 +40073,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 38820 | .any, | 40073 | .any, |
| 38821 | }, | 40074 | }, |
| 38822 | .patterns = &.{ | 40075 | .patterns = &.{ |
| 38823 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 40076 | .{ .src = .{ |
| | 40077 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 40078 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 40079 | .none, |
| | 40080 | } }, |
| 38824 | }, | 40081 | }, |
| 38825 | .call_frame = .{ .alignment = .@"16" }, | 40082 | .call_frame = .{ .alignment = .@"16" }, |
| 38826 | .extra_temps = .{ | 40083 | .extra_temps = .{ |
| ... | @@ -38858,7 +40115,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -38858,7 +40115,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 38858 | .any, | 40115 | .any, |
| 38859 | }, | 40116 | }, |
| 38860 | .patterns = &.{ | 40117 | .patterns = &.{ |
| 38861 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 40118 | .{ .src = .{ |
| | 40119 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 40120 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 40121 | .none, |
| | 40122 | } }, |
| 38862 | }, | 40123 | }, |
| 38863 | .call_frame = .{ .alignment = .@"16" }, | 40124 | .call_frame = .{ .alignment = .@"16" }, |
| 38864 | .extra_temps = .{ | 40125 | .extra_temps = .{ |
| ... | @@ -38901,9 +40162,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -38901,9 +40162,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 38901 | .call_frame = .{ .alignment = .@"16" }, | 40162 | .call_frame = .{ .alignment = .@"16" }, |
| 38902 | .extra_temps = .{ | 40163 | .extra_temps = .{ |
| 38903 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 40164 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 38904 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 40165 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 38905 | .{ .type = .f16, .kind = .{ .rc = .general_purpose } }, | 40166 | .{ .type = .f16, .kind = .{ .rc = .general_purpose } }, |
| 38906 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 40167 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 38907 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodh" } }, | 40168 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodh" } }, |
| 38908 | .{ .type = .f16, .kind = .{ .reg = .dx } }, | 40169 | .{ .type = .f16, .kind = .{ .reg = .dx } }, |
| 38909 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 40170 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| ... | @@ -38949,9 +40210,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -38949,9 +40210,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 38949 | .call_frame = .{ .alignment = .@"16" }, | 40210 | .call_frame = .{ .alignment = .@"16" }, |
| 38950 | .extra_temps = .{ | 40211 | .extra_temps = .{ |
| 38951 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 40212 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 38952 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 40213 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 38953 | .{ .type = .f16, .kind = .{ .rc = .general_purpose } }, | 40214 | .{ .type = .f16, .kind = .{ .rc = .general_purpose } }, |
| 38954 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 40215 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 38955 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodh" } }, | 40216 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodh" } }, |
| 38956 | .{ .type = .f16, .kind = .{ .reg = .dx } }, | 40217 | .{ .type = .f16, .kind = .{ .reg = .dx } }, |
| 38957 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 40218 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| ... | @@ -38997,9 +40258,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -38997,9 +40258,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 38997 | .call_frame = .{ .alignment = .@"16" }, | 40258 | .call_frame = .{ .alignment = .@"16" }, |
| 38998 | .extra_temps = .{ | 40259 | .extra_temps = .{ |
| 38999 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 40260 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 39000 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 40261 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 39001 | .{ .type = .f16, .kind = .{ .rc = .general_purpose } }, | 40262 | .{ .type = .f16, .kind = .{ .rc = .general_purpose } }, |
| 39002 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 40263 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 39003 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodh" } }, | 40264 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodh" } }, |
| 39004 | .{ .type = .f16, .kind = .{ .reg = .dx } }, | 40265 | .{ .type = .f16, .kind = .{ .reg = .dx } }, |
| 39005 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 40266 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| ... | @@ -39042,9 +40303,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -39042,9 +40303,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39042 | .call_frame = .{ .alignment = .@"16" }, | 40303 | .call_frame = .{ .alignment = .@"16" }, |
| 39043 | .extra_temps = .{ | 40304 | .extra_temps = .{ |
| 39044 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 40305 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 39045 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 40306 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 39046 | .{ .type = .f16, .kind = .{ .rc = .general_purpose } }, | 40307 | .{ .type = .f16, .kind = .{ .rc = .general_purpose } }, |
| 39047 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 40308 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 39048 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodh" } }, | 40309 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodh" } }, |
| 39049 | .{ .type = .f16, .kind = .{ .reg = .dx } }, | 40310 | .{ .type = .f16, .kind = .{ .reg = .dx } }, |
| 39050 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 40311 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| ... | @@ -39087,9 +40348,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -39087,9 +40348,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39087 | .call_frame = .{ .alignment = .@"16" }, | 40348 | .call_frame = .{ .alignment = .@"16" }, |
| 39088 | .extra_temps = .{ | 40349 | .extra_temps = .{ |
| 39089 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 40350 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 39090 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 40351 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 39091 | .{ .type = .f16, .kind = .{ .rc = .general_purpose } }, | 40352 | .{ .type = .f16, .kind = .{ .rc = .general_purpose } }, |
| 39092 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 40353 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 39093 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodh" } }, | 40354 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodh" } }, |
| 39094 | .{ .type = .f16, .kind = .{ .reg = .dx } }, | 40355 | .{ .type = .f16, .kind = .{ .reg = .dx } }, |
| 39095 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 40356 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| ... | @@ -39132,9 +40393,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -39132,9 +40393,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39132 | .call_frame = .{ .alignment = .@"16" }, | 40393 | .call_frame = .{ .alignment = .@"16" }, |
| 39133 | .extra_temps = .{ | 40394 | .extra_temps = .{ |
| 39134 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 40395 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 39135 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 40396 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 39136 | .{ .type = .f16, .kind = .{ .rc = .general_purpose } }, | 40397 | .{ .type = .f16, .kind = .{ .rc = .general_purpose } }, |
| 39137 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 40398 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 39138 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodh" } }, | 40399 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodh" } }, |
| 39139 | .{ .type = .f16, .kind = .{ .reg = .dx } }, | 40400 | .{ .type = .f16, .kind = .{ .reg = .dx } }, |
| 39140 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 40401 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| ... | @@ -39177,9 +40438,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -39177,9 +40438,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39177 | .call_frame = .{ .alignment = .@"16" }, | 40438 | .call_frame = .{ .alignment = .@"16" }, |
| 39178 | .extra_temps = .{ | 40439 | .extra_temps = .{ |
| 39179 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 40440 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 39180 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 40441 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 39181 | .{ .type = .f16, .kind = .{ .rc = .general_purpose } }, | 40442 | .{ .type = .f16, .kind = .{ .rc = .general_purpose } }, |
| 39182 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 40443 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 39183 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodh" } }, | 40444 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodh" } }, |
| 39184 | .{ .type = .f16, .kind = .{ .reg = .dx } }, | 40445 | .{ .type = .f16, .kind = .{ .reg = .dx } }, |
| 39185 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 40446 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| ... | @@ -39223,9 +40484,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -39223,9 +40484,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39223 | .call_frame = .{ .alignment = .@"16" }, | 40484 | .call_frame = .{ .alignment = .@"16" }, |
| 39224 | .extra_temps = .{ | 40485 | .extra_temps = .{ |
| 39225 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 40486 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 39226 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 40487 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 39227 | .{ .type = .f16, .kind = .{ .rc = .general_purpose } }, | 40488 | .{ .type = .f16, .kind = .{ .rc = .general_purpose } }, |
| 39228 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 40489 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 39229 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodh" } }, | 40490 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodh" } }, |
| 39230 | .{ .type = .f16, .kind = .{ .reg = .dx } }, | 40491 | .{ .type = .f16, .kind = .{ .reg = .dx } }, |
| 39231 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 40492 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| ... | @@ -39271,8 +40532,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -39271,8 +40532,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39271 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 40532 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 39272 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 40533 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 39273 | .{ .type = .f32, .kind = .mem }, | 40534 | .{ .type = .f32, .kind = .mem }, |
| 39274 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 40535 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 39275 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 40536 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 39276 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodh" } }, | 40537 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodh" } }, |
| 39277 | .{ .type = .f32, .kind = .mem }, | 40538 | .{ .type = .f32, .kind = .mem }, |
| 39278 | .{ .type = .usize, .kind = .{ .extern_func = "__addhf3" } }, | 40539 | .{ .type = .usize, .kind = .{ .extern_func = "__addhf3" } }, |
| ... | @@ -39320,8 +40581,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -39320,8 +40581,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39320 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 40581 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 39321 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 40582 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 39322 | .{ .type = .f32, .kind = .mem }, | 40583 | .{ .type = .f32, .kind = .mem }, |
| 39323 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 40584 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 39324 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 40585 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 39325 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodh" } }, | 40586 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodh" } }, |
| 39326 | .{ .type = .f32, .kind = .mem }, | 40587 | .{ .type = .f32, .kind = .mem }, |
| 39327 | .{ .type = .usize, .kind = .{ .extern_func = "__addhf3" } }, | 40588 | .{ .type = .usize, .kind = .{ .extern_func = "__addhf3" } }, |
| ... | @@ -39362,7 +40623,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -39362,7 +40623,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39362 | .any, | 40623 | .any, |
| 39363 | }, | 40624 | }, |
| 39364 | .patterns = &.{ | 40625 | .patterns = &.{ |
| 39365 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 40626 | .{ .src = .{ |
| | 40627 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 40628 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 40629 | .none, |
| | 40630 | } }, |
| 39366 | }, | 40631 | }, |
| 39367 | .call_frame = .{ .alignment = .@"16" }, | 40632 | .call_frame = .{ .alignment = .@"16" }, |
| 39368 | .extra_temps = .{ | 40633 | .extra_temps = .{ |
| ... | @@ -39400,7 +40665,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -39400,7 +40665,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39400 | .any, | 40665 | .any, |
| 39401 | }, | 40666 | }, |
| 39402 | .patterns = &.{ | 40667 | .patterns = &.{ |
| 39403 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 40668 | .{ .src = .{ |
| | 40669 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 40670 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 40671 | .none, |
| | 40672 | } }, |
| 39404 | }, | 40673 | }, |
| 39405 | .call_frame = .{ .alignment = .@"16" }, | 40674 | .call_frame = .{ .alignment = .@"16" }, |
| 39406 | .extra_temps = .{ | 40675 | .extra_temps = .{ |
| ... | @@ -39438,7 +40707,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -39438,7 +40707,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39438 | .any, | 40707 | .any, |
| 39439 | }, | 40708 | }, |
| 39440 | .patterns = &.{ | 40709 | .patterns = &.{ |
| 39441 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 40710 | .{ .src = .{ |
| | 40711 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 40712 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 40713 | .none, |
| | 40714 | } }, |
| 39442 | }, | 40715 | }, |
| 39443 | .call_frame = .{ .alignment = .@"16" }, | 40716 | .call_frame = .{ .alignment = .@"16" }, |
| 39444 | .extra_temps = .{ | 40717 | .extra_temps = .{ |
| ... | @@ -39480,8 +40753,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -39480,8 +40753,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39480 | .call_frame = .{ .alignment = .@"16" }, | 40753 | .call_frame = .{ .alignment = .@"16" }, |
| 39481 | .extra_temps = .{ | 40754 | .extra_temps = .{ |
| 39482 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 40755 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 39483 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 40756 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 39484 | .{ .type = .f32, .kind = .{ .reg = .xmm1 } }, | 40757 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 39485 | .{ .type = .f32, .kind = .{ .rc = .general_purpose } }, | 40758 | .{ .type = .f32, .kind = .{ .rc = .general_purpose } }, |
| 39486 | .{ .type = .usize, .kind = .{ .extern_func = "fmodf" } }, | 40759 | .{ .type = .usize, .kind = .{ .extern_func = "fmodf" } }, |
| 39487 | .{ .type = .f32, .kind = .{ .reg = .edx } }, | 40760 | .{ .type = .f32, .kind = .{ .reg = .edx } }, |
| ... | @@ -39524,8 +40797,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -39524,8 +40797,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39524 | .call_frame = .{ .alignment = .@"16" }, | 40797 | .call_frame = .{ .alignment = .@"16" }, |
| 39525 | .extra_temps = .{ | 40798 | .extra_temps = .{ |
| 39526 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 40799 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 39527 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 40800 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 39528 | .{ .type = .f32, .kind = .{ .reg = .xmm1 } }, | 40801 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 39529 | .{ .type = .f32, .kind = .{ .rc = .general_purpose } }, | 40802 | .{ .type = .f32, .kind = .{ .rc = .general_purpose } }, |
| 39530 | .{ .type = .usize, .kind = .{ .extern_func = "fmodf" } }, | 40803 | .{ .type = .usize, .kind = .{ .extern_func = "fmodf" } }, |
| 39531 | .{ .type = .f32, .kind = .{ .reg = .edx } }, | 40804 | .{ .type = .f32, .kind = .{ .reg = .edx } }, |
| ... | @@ -39568,8 +40841,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -39568,8 +40841,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39568 | .call_frame = .{ .alignment = .@"16" }, | 40841 | .call_frame = .{ .alignment = .@"16" }, |
| 39569 | .extra_temps = .{ | 40842 | .extra_temps = .{ |
| 39570 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 40843 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 39571 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 40844 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 39572 | .{ .type = .f32, .kind = .{ .reg = .xmm1 } }, | 40845 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 39573 | .{ .type = .usize, .kind = .{ .extern_func = "fmodf" } }, | 40846 | .{ .type = .usize, .kind = .{ .extern_func = "fmodf" } }, |
| 39574 | .{ .type = .f32, .kind = .mem }, | 40847 | .{ .type = .f32, .kind = .mem }, |
| 39575 | .{ .type = .f32, .kind = .{ .reg = .eax } }, | 40848 | .{ .type = .f32, .kind = .{ .reg = .eax } }, |
| ... | @@ -39605,7 +40878,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -39605,7 +40878,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39605 | .any, | 40878 | .any, |
| 39606 | }, | 40879 | }, |
| 39607 | .patterns = &.{ | 40880 | .patterns = &.{ |
| 39608 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 40881 | .{ .src = .{ |
| | 40882 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 40883 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 40884 | .none, |
| | 40885 | } }, |
| 39609 | }, | 40886 | }, |
| 39610 | .call_frame = .{ .alignment = .@"16" }, | 40887 | .call_frame = .{ .alignment = .@"16" }, |
| 39611 | .extra_temps = .{ | 40888 | .extra_temps = .{ |
| ... | @@ -39644,7 +40921,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -39644,7 +40921,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39644 | .any, | 40921 | .any, |
| 39645 | }, | 40922 | }, |
| 39646 | .patterns = &.{ | 40923 | .patterns = &.{ |
| 39647 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 40924 | .{ .src = .{ |
| | 40925 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 40926 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 40927 | .none, |
| | 40928 | } }, |
| 39648 | }, | 40929 | }, |
| 39649 | .call_frame = .{ .alignment = .@"16" }, | 40930 | .call_frame = .{ .alignment = .@"16" }, |
| 39650 | .extra_temps = .{ | 40931 | .extra_temps = .{ |
| ... | @@ -39683,7 +40964,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -39683,7 +40964,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39683 | .any, | 40964 | .any, |
| 39684 | }, | 40965 | }, |
| 39685 | .patterns = &.{ | 40966 | .patterns = &.{ |
| 39686 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 40967 | .{ .src = .{ |
| | 40968 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 40969 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 40970 | .none, |
| | 40971 | } }, |
| 39687 | }, | 40972 | }, |
| 39688 | .call_frame = .{ .alignment = .@"16" }, | 40973 | .call_frame = .{ .alignment = .@"16" }, |
| 39689 | .extra_temps = .{ | 40974 | .extra_temps = .{ |
| ... | @@ -39730,8 +41015,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -39730,8 +41015,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39730 | .call_frame = .{ .alignment = .@"16" }, | 41015 | .call_frame = .{ .alignment = .@"16" }, |
| 39731 | .extra_temps = .{ | 41016 | .extra_temps = .{ |
| 39732 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 41017 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 39733 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 41018 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 39734 | .{ .type = .f64, .kind = .{ .reg = .xmm1 } }, | 41019 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 39735 | .{ .type = .f64, .kind = .{ .rc = .general_purpose } }, | 41020 | .{ .type = .f64, .kind = .{ .rc = .general_purpose } }, |
| 39736 | .{ .type = .usize, .kind = .{ .extern_func = "fmod" } }, | 41021 | .{ .type = .usize, .kind = .{ .extern_func = "fmod" } }, |
| 39737 | .{ .type = .f64, .kind = .{ .reg = .rcx } }, | 41022 | .{ .type = .f64, .kind = .{ .reg = .rcx } }, |
| ... | @@ -39775,8 +41060,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -39775,8 +41060,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39775 | .call_frame = .{ .alignment = .@"16" }, | 41060 | .call_frame = .{ .alignment = .@"16" }, |
| 39776 | .extra_temps = .{ | 41061 | .extra_temps = .{ |
| 39777 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 41062 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 39778 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 41063 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 39779 | .{ .type = .f64, .kind = .{ .reg = .xmm1 } }, | 41064 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 39780 | .{ .type = .f64, .kind = .{ .rc = .general_purpose } }, | 41065 | .{ .type = .f64, .kind = .{ .rc = .general_purpose } }, |
| 39781 | .{ .type = .usize, .kind = .{ .extern_func = "fmod" } }, | 41066 | .{ .type = .usize, .kind = .{ .extern_func = "fmod" } }, |
| 39782 | .{ .type = .f64, .kind = .{ .reg = .rcx } }, | 41067 | .{ .type = .f64, .kind = .{ .reg = .rcx } }, |
| ... | @@ -39820,8 +41105,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -39820,8 +41105,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39820 | .call_frame = .{ .alignment = .@"16" }, | 41105 | .call_frame = .{ .alignment = .@"16" }, |
| 39821 | .extra_temps = .{ | 41106 | .extra_temps = .{ |
| 39822 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 41107 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 39823 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 41108 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 39824 | .{ .type = .f64, .kind = .{ .reg = .xmm1 } }, | 41109 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 39825 | .{ .type = .usize, .kind = .{ .extern_func = "fmod" } }, | 41110 | .{ .type = .usize, .kind = .{ .extern_func = "fmod" } }, |
| 39826 | .{ .type = .f64, .kind = .{ .reg = .rdx } }, | 41111 | .{ .type = .f64, .kind = .{ .reg = .rdx } }, |
| 39827 | .{ .type = .f64, .kind = .mem }, | 41112 | .{ .type = .f64, .kind = .mem }, |
| ... | @@ -39857,6 +41142,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -39857,6 +41142,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39857 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 41142 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 39858 | } }, | 41143 | } }, |
| 39859 | }, .{ | 41144 | }, .{ |
| | 41145 | .required_abi = .gnu, |
| | 41146 | .required_cc_abi = .sysv64, |
| 39860 | .required_features = .{ .@"64bit", .avx, .x87, .fast_imm16 }, | 41147 | .required_features = .{ .@"64bit", .avx, .x87, .fast_imm16 }, |
| 39861 | .src_constraints = .{ | 41148 | .src_constraints = .{ |
| 39862 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 41149 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -39868,7 +41155,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -39868,7 +41155,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39868 | }, | 41155 | }, |
| 39869 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, | 41156 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, |
| 39870 | .extra_temps = .{ | 41157 | .extra_temps = .{ |
| 39871 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 41158 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 39872 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 41159 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 39873 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, | 41160 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, |
| 39874 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 41161 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| ... | @@ -39900,6 +41187,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -39900,6 +41187,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39900 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, | 41187 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| 39901 | } }, | 41188 | } }, |
| 39902 | }, .{ | 41189 | }, .{ |
| | 41190 | .required_abi = .gnu, |
| | 41191 | .required_cc_abi = .sysv64, |
| 39903 | .required_features = .{ .@"64bit", .avx, .x87, null }, | 41192 | .required_features = .{ .@"64bit", .avx, .x87, null }, |
| 39904 | .src_constraints = .{ | 41193 | .src_constraints = .{ |
| 39905 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 41194 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -39911,7 +41200,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -39911,7 +41200,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39911 | }, | 41200 | }, |
| 39912 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, | 41201 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, |
| 39913 | .extra_temps = .{ | 41202 | .extra_temps = .{ |
| 39914 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 41203 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 39915 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 41204 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 39916 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, | 41205 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, |
| 39917 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 41206 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| ... | @@ -39943,6 +41232,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -39943,6 +41232,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39943 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, | 41232 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| 39944 | } }, | 41233 | } }, |
| 39945 | }, .{ | 41234 | }, .{ |
| | 41235 | .required_abi = .gnu, |
| | 41236 | .required_cc_abi = .sysv64, |
| 39946 | .required_features = .{ .@"64bit", .sse2, .x87, .fast_imm16 }, | 41237 | .required_features = .{ .@"64bit", .sse2, .x87, .fast_imm16 }, |
| 39947 | .src_constraints = .{ | 41238 | .src_constraints = .{ |
| 39948 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 41239 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -39954,7 +41245,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -39954,7 +41245,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39954 | }, | 41245 | }, |
| 39955 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, | 41246 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, |
| 39956 | .extra_temps = .{ | 41247 | .extra_temps = .{ |
| 39957 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 41248 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 39958 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 41249 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 39959 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, | 41250 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, |
| 39960 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 41251 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| ... | @@ -39986,6 +41277,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -39986,6 +41277,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39986 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, | 41277 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| 39987 | } }, | 41278 | } }, |
| 39988 | }, .{ | 41279 | }, .{ |
| | 41280 | .required_abi = .gnu, |
| | 41281 | .required_cc_abi = .sysv64, |
| 39989 | .required_features = .{ .@"64bit", .sse2, .x87, null }, | 41282 | .required_features = .{ .@"64bit", .sse2, .x87, null }, |
| 39990 | .src_constraints = .{ | 41283 | .src_constraints = .{ |
| 39991 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 41284 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -39997,7 +41290,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -39997,7 +41290,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 39997 | }, | 41290 | }, |
| 39998 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, | 41291 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, |
| 39999 | .extra_temps = .{ | 41292 | .extra_temps = .{ |
| 40000 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 41293 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 40001 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 41294 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 40002 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, | 41295 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, |
| 40003 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 41296 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| ... | @@ -40029,6 +41322,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -40029,6 +41322,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 40029 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, | 41322 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| 40030 | } }, | 41323 | } }, |
| 40031 | }, .{ | 41324 | }, .{ |
| | 41325 | .required_abi = .gnu, |
| | 41326 | .required_cc_abi = .sysv64, |
| 40032 | .required_features = .{ .@"64bit", .sse, .x87, .fast_imm16 }, | 41327 | .required_features = .{ .@"64bit", .sse, .x87, .fast_imm16 }, |
| 40033 | .src_constraints = .{ | 41328 | .src_constraints = .{ |
| 40034 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 41329 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -40040,7 +41335,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -40040,7 +41335,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 40040 | }, | 41335 | }, |
| 40041 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, | 41336 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, |
| 40042 | .extra_temps = .{ | 41337 | .extra_temps = .{ |
| 40043 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 41338 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 40044 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 41339 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 40045 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, | 41340 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, |
| 40046 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 41341 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| ... | @@ -40072,6 +41367,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -40072,6 +41367,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 40072 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, | 41367 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| 40073 | } }, | 41368 | } }, |
| 40074 | }, .{ | 41369 | }, .{ |
| | 41370 | .required_abi = .gnu, |
| | 41371 | .required_cc_abi = .sysv64, |
| 40075 | .required_features = .{ .@"64bit", .sse, .x87, null }, | 41372 | .required_features = .{ .@"64bit", .sse, .x87, null }, |
| 40076 | .src_constraints = .{ | 41373 | .src_constraints = .{ |
| 40077 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 41374 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -40083,7 +41380,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -40083,7 +41380,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 40083 | }, | 41380 | }, |
| 40084 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, | 41381 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, |
| 40085 | .extra_temps = .{ | 41382 | .extra_temps = .{ |
| 40086 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 41383 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 40087 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 41384 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 40088 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, | 41385 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, |
| 40089 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 41386 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| ... | @@ -40115,6 +41412,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -40115,6 +41412,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 40115 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, | 41412 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| 40116 | } }, | 41413 | } }, |
| 40117 | }, .{ | 41414 | }, .{ |
| | 41415 | .required_abi = .gnu, |
| | 41416 | .required_cc_abi = .sysv64, |
| 40118 | .required_features = .{ .@"64bit", .avx, .x87, .fast_imm16 }, | 41417 | .required_features = .{ .@"64bit", .avx, .x87, .fast_imm16 }, |
| 40119 | .src_constraints = .{ | 41418 | .src_constraints = .{ |
| 40120 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 41419 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -40127,7 +41426,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -40127,7 +41426,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 40127 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, | 41426 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, |
| 40128 | .extra_temps = .{ | 41427 | .extra_temps = .{ |
| 40129 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 41428 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 40130 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 41429 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 40131 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 41430 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 40132 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, | 41431 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, |
| 40133 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 41432 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| ... | @@ -40163,6 +41462,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -40163,6 +41462,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 40163 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 41462 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 40164 | } }, | 41463 | } }, |
| 40165 | }, .{ | 41464 | }, .{ |
| | 41465 | .required_abi = .gnu, |
| | 41466 | .required_cc_abi = .sysv64, |
| 40166 | .required_features = .{ .@"64bit", .avx, .x87, null }, | 41467 | .required_features = .{ .@"64bit", .avx, .x87, null }, |
| 40167 | .src_constraints = .{ | 41468 | .src_constraints = .{ |
| 40168 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 41469 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -40175,7 +41476,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -40175,7 +41476,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 40175 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, | 41476 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, |
| 40176 | .extra_temps = .{ | 41477 | .extra_temps = .{ |
| 40177 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 41478 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 40178 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 41479 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 40179 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 41480 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 40180 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, | 41481 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, |
| 40181 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 41482 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| ... | @@ -40211,6 +41512,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -40211,6 +41512,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 40211 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 41512 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 40212 | } }, | 41513 | } }, |
| 40213 | }, .{ | 41514 | }, .{ |
| | 41515 | .required_abi = .gnu, |
| | 41516 | .required_cc_abi = .sysv64, |
| 40214 | .required_features = .{ .@"64bit", .sse2, .x87, .fast_imm16 }, | 41517 | .required_features = .{ .@"64bit", .sse2, .x87, .fast_imm16 }, |
| 40215 | .src_constraints = .{ | 41518 | .src_constraints = .{ |
| 40216 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 41519 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -40223,7 +41526,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -40223,7 +41526,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 40223 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, | 41526 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, |
| 40224 | .extra_temps = .{ | 41527 | .extra_temps = .{ |
| 40225 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 41528 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 40226 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 41529 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 40227 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 41530 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 40228 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, | 41531 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, |
| 40229 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 41532 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| ... | @@ -40259,6 +41562,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -40259,6 +41562,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 40259 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 41562 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 40260 | } }, | 41563 | } }, |
| 40261 | }, .{ | 41564 | }, .{ |
| | 41565 | .required_abi = .gnu, |
| | 41566 | .required_cc_abi = .sysv64, |
| 40262 | .required_features = .{ .@"64bit", .sse2, .x87, null }, | 41567 | .required_features = .{ .@"64bit", .sse2, .x87, null }, |
| 40263 | .src_constraints = .{ | 41568 | .src_constraints = .{ |
| 40264 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 41569 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -40271,7 +41576,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -40271,7 +41576,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 40271 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, | 41576 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, |
| 40272 | .extra_temps = .{ | 41577 | .extra_temps = .{ |
| 40273 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 41578 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 40274 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 41579 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 40275 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 41580 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 40276 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, | 41581 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, |
| 40277 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 41582 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| ... | @@ -40307,6 +41612,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -40307,6 +41612,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 40307 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 41612 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 40308 | } }, | 41613 | } }, |
| 40309 | }, .{ | 41614 | }, .{ |
| | 41615 | .required_abi = .gnu, |
| | 41616 | .required_cc_abi = .sysv64, |
| 40310 | .required_features = .{ .@"64bit", .sse, .x87, .fast_imm16 }, | 41617 | .required_features = .{ .@"64bit", .sse, .x87, .fast_imm16 }, |
| 40311 | .src_constraints = .{ | 41618 | .src_constraints = .{ |
| 40312 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 41619 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -40319,7 +41626,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -40319,7 +41626,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 40319 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, | 41626 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, |
| 40320 | .extra_temps = .{ | 41627 | .extra_temps = .{ |
| 40321 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 41628 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 40322 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 41629 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 40323 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 41630 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 40324 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, | 41631 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, |
| 40325 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 41632 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| ... | @@ -40355,6 +41662,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -40355,6 +41662,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 40355 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 41662 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 40356 | } }, | 41663 | } }, |
| 40357 | }, .{ | 41664 | }, .{ |
| | 41665 | .required_abi = .gnu, |
| | 41666 | .required_cc_abi = .sysv64, |
| 40358 | .required_features = .{ .@"64bit", .sse, .x87, null }, | 41667 | .required_features = .{ .@"64bit", .sse, .x87, null }, |
| 40359 | .src_constraints = .{ | 41668 | .src_constraints = .{ |
| 40360 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 41669 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -40367,7 +41676,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -40367,7 +41676,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 40367 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, | 41676 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, |
| 40368 | .extra_temps = .{ | 41677 | .extra_temps = .{ |
| 40369 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 41678 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 40370 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 41679 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 40371 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 41680 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 40372 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, | 41681 | .{ .type = .usize, .kind = .{ .extern_func = "__fmodx" } }, |
| 40373 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 41682 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| ... | @@ -40410,7 +41719,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -40410,7 +41719,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 40410 | .any, | 41719 | .any, |
| 40411 | }, | 41720 | }, |
| 40412 | .patterns = &.{ | 41721 | .patterns = &.{ |
| 40413 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 41722 | .{ .src = .{ |
| | 41723 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 41724 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 41725 | .none, |
| | 41726 | } }, |
| 40414 | }, | 41727 | }, |
| 40415 | .call_frame = .{ .alignment = .@"16" }, | 41728 | .call_frame = .{ .alignment = .@"16" }, |
| 40416 | .extra_temps = .{ | 41729 | .extra_temps = .{ |
| ... | @@ -40451,7 +41764,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -40451,7 +41764,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 40451 | .any, | 41764 | .any, |
| 40452 | }, | 41765 | }, |
| 40453 | .patterns = &.{ | 41766 | .patterns = &.{ |
| 40454 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 41767 | .{ .src = .{ |
| | 41768 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 41769 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 41770 | .none, |
| | 41771 | } }, |
| 40455 | }, | 41772 | }, |
| 40456 | .call_frame = .{ .alignment = .@"16" }, | 41773 | .call_frame = .{ .alignment = .@"16" }, |
| 40457 | .extra_temps = .{ | 41774 | .extra_temps = .{ |
| ... | @@ -40492,7 +41809,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -40492,7 +41809,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 40492 | .any, | 41809 | .any, |
| 40493 | }, | 41810 | }, |
| 40494 | .patterns = &.{ | 41811 | .patterns = &.{ |
| 40495 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 41812 | .{ .src = .{ |
| | 41813 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 41814 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 41815 | .none, |
| | 41816 | } }, |
| 40496 | }, | 41817 | }, |
| 40497 | .call_frame = .{ .alignment = .@"16" }, | 41818 | .call_frame = .{ .alignment = .@"16" }, |
| 40498 | .extra_temps = .{ | 41819 | .extra_temps = .{ |
| ... | @@ -40534,7 +41855,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -40534,7 +41855,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 40534 | .any, | 41855 | .any, |
| 40535 | }, | 41856 | }, |
| 40536 | .patterns = &.{ | 41857 | .patterns = &.{ |
| 40537 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 41858 | .{ .src = .{ |
| | 41859 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 41860 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 41861 | .none, |
| | 41862 | } }, |
| 40538 | }, | 41863 | }, |
| 40539 | .call_frame = .{ .alignment = .@"16" }, | 41864 | .call_frame = .{ .alignment = .@"16" }, |
| 40540 | .extra_temps = .{ | 41865 | .extra_temps = .{ |
| ... | @@ -40579,8 +41904,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -40579,8 +41904,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 40579 | .call_frame = .{ .alignment = .@"16" }, | 41904 | .call_frame = .{ .alignment = .@"16" }, |
| 40580 | .extra_temps = .{ | 41905 | .extra_temps = .{ |
| 40581 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 41906 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 40582 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 41907 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 40583 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 41908 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 40584 | .{ .type = .usize, .kind = .{ .extern_func = "fmodq" } }, | 41909 | .{ .type = .usize, .kind = .{ .extern_func = "fmodq" } }, |
| 40585 | .{ .type = .f128, .kind = .{ .reg = .rcx } }, | 41910 | .{ .type = .f128, .kind = .{ .reg = .rcx } }, |
| 40586 | .{ .type = .f128, .kind = .{ .reg = .rdx } }, | 41911 | .{ .type = .f128, .kind = .{ .reg = .rdx } }, |
| ... | @@ -40625,8 +41950,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -40625,8 +41950,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 40625 | .call_frame = .{ .alignment = .@"16" }, | 41950 | .call_frame = .{ .alignment = .@"16" }, |
| 40626 | .extra_temps = .{ | 41951 | .extra_temps = .{ |
| 40627 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 41952 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 40628 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 41953 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 40629 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 41954 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 40630 | .{ .type = .usize, .kind = .{ .extern_func = "fmodq" } }, | 41955 | .{ .type = .usize, .kind = .{ .extern_func = "fmodq" } }, |
| 40631 | .{ .type = .f128, .kind = .{ .reg = .rcx } }, | 41956 | .{ .type = .f128, .kind = .{ .reg = .rcx } }, |
| 40632 | .{ .type = .f128, .kind = .{ .reg = .rdx } }, | 41957 | .{ .type = .f128, .kind = .{ .reg = .rdx } }, |
| ... | @@ -40671,8 +41996,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -40671,8 +41996,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 40671 | .call_frame = .{ .alignment = .@"16" }, | 41996 | .call_frame = .{ .alignment = .@"16" }, |
| 40672 | .extra_temps = .{ | 41997 | .extra_temps = .{ |
| 40673 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 41998 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 40674 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 41999 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 40675 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 42000 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 40676 | .{ .type = .usize, .kind = .{ .extern_func = "fmodq" } }, | 42001 | .{ .type = .usize, .kind = .{ .extern_func = "fmodq" } }, |
| 40677 | .{ .type = .f128, .kind = .{ .reg = .rcx } }, | 42002 | .{ .type = .f128, .kind = .{ .reg = .rcx } }, |
| 40678 | .{ .type = .f128, .kind = .{ .reg = .rdx } }, | 42003 | .{ .type = .f128, .kind = .{ .reg = .rdx } }, |
| ... | @@ -40718,8 +42043,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -40718,8 +42043,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 40718 | .call_frame = .{ .alignment = .@"16" }, | 42043 | .call_frame = .{ .alignment = .@"16" }, |
| 40719 | .extra_temps = .{ | 42044 | .extra_temps = .{ |
| 40720 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 42045 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 40721 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 42046 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 40722 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 42047 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 40723 | .{ .type = .usize, .kind = .{ .extern_func = "fmodq" } }, | 42048 | .{ .type = .usize, .kind = .{ .extern_func = "fmodq" } }, |
| 40724 | .{ .type = .f128, .kind = .{ .reg = .rdx } }, | 42049 | .{ .type = .f128, .kind = .{ .reg = .rdx } }, |
| 40725 | .{ .type = .f128, .kind = .mem }, | 42050 | .{ .type = .f128, .kind = .mem }, |
| ... | @@ -40761,7 +42086,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -40761,7 +42086,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 40761 | }; | 42086 | }; |
| 40762 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 42087 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 40763 | }, | 42088 | }, |
| 40764 | .ptr_add => |air_tag| if (use_old) try cg.airPtrArithmetic(inst, air_tag) else { | 42089 | .ptr_add => |air_tag| { |
| 40765 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; | 42090 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; |
| 40766 | const bin_op = cg.air.extraData(Air.Bin, ty_pl.payload).data; | 42091 | const bin_op = cg.air.extraData(Air.Bin, ty_pl.payload).data; |
| 40767 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 42092 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| ... | @@ -40817,7 +42142,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -40817,7 +42142,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 40817 | .patterns = &.{ | 42142 | .patterns = &.{ |
| 40818 | .{ .src = .{ .to_gpr, .to_gpr, .none } }, | 42143 | .{ .src = .{ .to_gpr, .to_gpr, .none } }, |
| 40819 | }, | 42144 | }, |
| 40820 | .dst_temps = .{ .{ .ref = .src1 }, .unused }, | 42145 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } }, .unused }, |
| 40821 | .each = .{ .once = &.{ | 42146 | .each = .{ .once = &.{ |
| 40822 | .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"4", .src1), ._, ._ }, | 42147 | .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"4", .src1), ._, ._ }, |
| 40823 | .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ }, | 42148 | .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ }, |
| ... | @@ -40838,7 +42163,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -40838,7 +42163,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 40838 | .patterns = &.{ | 42163 | .patterns = &.{ |
| 40839 | .{ .src = .{ .to_gpr, .to_gpr, .none } }, | 42164 | .{ .src = .{ .to_gpr, .to_gpr, .none } }, |
| 40840 | }, | 42165 | }, |
| 40841 | .dst_temps = .{ .{ .ref = .src1 }, .unused }, | 42166 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } }, .unused }, |
| 40842 | .each = .{ .once = &.{ | 42167 | .each = .{ .once = &.{ |
| 40843 | .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"8", .src1), ._, ._ }, | 42168 | .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"8", .src1), ._, ._ }, |
| 40844 | .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ }, | 42169 | .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ }, |
| ... | @@ -40875,7 +42200,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -40875,7 +42200,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 40875 | } else res[0] = ops[0]; | 42200 | } else res[0] = ops[0]; |
| 40876 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 42201 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 40877 | }, | 42202 | }, |
| 40878 | .ptr_sub => |air_tag| if (use_old) try cg.airPtrArithmetic(inst, air_tag) else { | 42203 | .ptr_sub => |air_tag| { |
| 40879 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; | 42204 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; |
| 40880 | const bin_op = cg.air.extraData(Air.Bin, ty_pl.payload).data; | 42205 | const bin_op = cg.air.extraData(Air.Bin, ty_pl.payload).data; |
| 40881 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 42206 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| ... | @@ -41004,7 +42329,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -41004,7 +42329,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 41004 | } else res[0] = ops[0]; | 42329 | } else res[0] = ops[0]; |
| 41005 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 42330 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 41006 | }, | 42331 | }, |
| 41007 | .max => |air_tag| if (use_old) try cg.airBinOp(inst, air_tag) else { | 42332 | .max => |air_tag| { |
| 41008 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | 42333 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| 41009 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 42334 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| 41010 | var res: [1]Temp = undefined; | 42335 | var res: [1]Temp = undefined; |
| ... | @@ -43810,7 +45135,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -43810,7 +45135,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 43810 | .any, | 45135 | .any, |
| 43811 | }, | 45136 | }, |
| 43812 | .patterns = &.{ | 45137 | .patterns = &.{ |
| 43813 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 45138 | .{ .src = .{ |
| | 45139 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 45140 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 45141 | .none, |
| | 45142 | } }, |
| 43814 | }, | 45143 | }, |
| 43815 | .call_frame = .{ .alignment = .@"16" }, | 45144 | .call_frame = .{ .alignment = .@"16" }, |
| 43816 | .extra_temps = .{ | 45145 | .extra_temps = .{ |
| ... | @@ -43950,8 +45279,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -43950,8 +45279,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 43950 | .call_frame = .{ .alignment = .@"16" }, | 45279 | .call_frame = .{ .alignment = .@"16" }, |
| 43951 | .extra_temps = .{ | 45280 | .extra_temps = .{ |
| 43952 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 45281 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 43953 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 45282 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 43954 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 45283 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 43955 | .{ .type = .usize, .kind = .{ .extern_func = "__fmaxh" } }, | 45284 | .{ .type = .usize, .kind = .{ .extern_func = "__fmaxh" } }, |
| 43956 | .unused, | 45285 | .unused, |
| 43957 | .unused, | 45286 | .unused, |
| ... | @@ -43986,8 +45315,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -43986,8 +45315,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 43986 | .call_frame = .{ .alignment = .@"16" }, | 45315 | .call_frame = .{ .alignment = .@"16" }, |
| 43987 | .extra_temps = .{ | 45316 | .extra_temps = .{ |
| 43988 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 45317 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 43989 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 45318 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 43990 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 45319 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 43991 | .{ .type = .usize, .kind = .{ .extern_func = "__fmaxh" } }, | 45320 | .{ .type = .usize, .kind = .{ .extern_func = "__fmaxh" } }, |
| 43992 | .unused, | 45321 | .unused, |
| 43993 | .unused, | 45322 | .unused, |
| ... | @@ -44023,8 +45352,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -44023,8 +45352,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 44023 | .call_frame = .{ .alignment = .@"16" }, | 45352 | .call_frame = .{ .alignment = .@"16" }, |
| 44024 | .extra_temps = .{ | 45353 | .extra_temps = .{ |
| 44025 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 45354 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 44026 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 45355 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 44027 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 45356 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 44028 | .{ .type = .usize, .kind = .{ .extern_func = "__fmaxh" } }, | 45357 | .{ .type = .usize, .kind = .{ .extern_func = "__fmaxh" } }, |
| 44029 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 45358 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 44030 | .unused, | 45359 | .unused, |
| ... | @@ -44063,8 +45392,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -44063,8 +45392,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 44063 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 45392 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 44064 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 45393 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 44065 | .{ .type = .f32, .kind = .mem }, | 45394 | .{ .type = .f32, .kind = .mem }, |
| 44066 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 45395 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 44067 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 45396 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 44068 | .{ .type = .usize, .kind = .{ .extern_func = "__fmaxh" } }, | 45397 | .{ .type = .usize, .kind = .{ .extern_func = "__fmaxh" } }, |
| 44069 | .unused, | 45398 | .unused, |
| 44070 | .unused, | 45399 | .unused, |
| ... | @@ -44476,7 +45805,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -44476,7 +45805,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 44476 | .any, | 45805 | .any, |
| 44477 | }, | 45806 | }, |
| 44478 | .patterns = &.{ | 45807 | .patterns = &.{ |
| 44479 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 45808 | .{ .src = .{ |
| | 45809 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 45810 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 45811 | .none, |
| | 45812 | } }, |
| 44480 | }, | 45813 | }, |
| 44481 | .call_frame = .{ .alignment = .@"16" }, | 45814 | .call_frame = .{ .alignment = .@"16" }, |
| 44482 | .extra_temps = .{ | 45815 | .extra_temps = .{ |
| ... | @@ -44733,8 +46066,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -44733,8 +46066,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 44733 | .call_frame = .{ .alignment = .@"16" }, | 46066 | .call_frame = .{ .alignment = .@"16" }, |
| 44734 | .extra_temps = .{ | 46067 | .extra_temps = .{ |
| 44735 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 46068 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 44736 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 46069 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 44737 | .{ .type = .f64, .kind = .{ .reg = .xmm1 } }, | 46070 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 44738 | .{ .type = .usize, .kind = .{ .extern_func = "fmax" } }, | 46071 | .{ .type = .usize, .kind = .{ .extern_func = "fmax" } }, |
| 44739 | .unused, | 46072 | .unused, |
| 44740 | .unused, | 46073 | .unused, |
| ... | @@ -45020,7 +46353,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -45020,7 +46353,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 45020 | .any, | 46353 | .any, |
| 45021 | }, | 46354 | }, |
| 45022 | .patterns = &.{ | 46355 | .patterns = &.{ |
| 45023 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 46356 | .{ .src = .{ |
| | 46357 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 46358 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 46359 | .none, |
| | 46360 | } }, |
| 45024 | }, | 46361 | }, |
| 45025 | .call_frame = .{ .alignment = .@"16" }, | 46362 | .call_frame = .{ .alignment = .@"16" }, |
| 45026 | .extra_temps = .{ | 46363 | .extra_temps = .{ |
| ... | @@ -45054,8 +46391,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -45054,8 +46391,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 45054 | .call_frame = .{ .alignment = .@"16" }, | 46391 | .call_frame = .{ .alignment = .@"16" }, |
| 45055 | .extra_temps = .{ | 46392 | .extra_temps = .{ |
| 45056 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 46393 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 45057 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 46394 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 45058 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 46395 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 45059 | .{ .type = .usize, .kind = .{ .extern_func = "fmaxq" } }, | 46396 | .{ .type = .usize, .kind = .{ .extern_func = "fmaxq" } }, |
| 45060 | .unused, | 46397 | .unused, |
| 45061 | .unused, | 46398 | .unused, |
| ... | @@ -45089,8 +46426,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -45089,8 +46426,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 45089 | .call_frame = .{ .alignment = .@"16" }, | 46426 | .call_frame = .{ .alignment = .@"16" }, |
| 45090 | .extra_temps = .{ | 46427 | .extra_temps = .{ |
| 45091 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 46428 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 45092 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 46429 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 45093 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 46430 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 45094 | .{ .type = .usize, .kind = .{ .extern_func = "fmaxq" } }, | 46431 | .{ .type = .usize, .kind = .{ .extern_func = "fmaxq" } }, |
| 45095 | .unused, | 46432 | .unused, |
| 45096 | .unused, | 46433 | .unused, |
| ... | @@ -45124,8 +46461,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -45124,8 +46461,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 45124 | .call_frame = .{ .alignment = .@"16" }, | 46461 | .call_frame = .{ .alignment = .@"16" }, |
| 45125 | .extra_temps = .{ | 46462 | .extra_temps = .{ |
| 45126 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 46463 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 45127 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 46464 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 45128 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 46465 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 45129 | .{ .type = .usize, .kind = .{ .extern_func = "fmaxq" } }, | 46466 | .{ .type = .usize, .kind = .{ .extern_func = "fmaxq" } }, |
| 45130 | .unused, | 46467 | .unused, |
| 45131 | .unused, | 46468 | .unused, |
| ... | @@ -45157,7 +46494,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -45157,7 +46494,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 45157 | }; | 46494 | }; |
| 45158 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 46495 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 45159 | }, | 46496 | }, |
| 45160 | .min => |air_tag| if (use_old) try cg.airBinOp(inst, air_tag) else { | 46497 | .min => |air_tag| { |
| 45161 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | 46498 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| 45162 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 46499 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| 45163 | var res: [1]Temp = undefined; | 46500 | var res: [1]Temp = undefined; |
| ... | @@ -47969,7 +49306,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -47969,7 +49306,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 47969 | .any, | 49306 | .any, |
| 47970 | }, | 49307 | }, |
| 47971 | .patterns = &.{ | 49308 | .patterns = &.{ |
| 47972 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 49309 | .{ .src = .{ |
| | 49310 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 49311 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 49312 | .none, |
| | 49313 | } }, |
| 47973 | }, | 49314 | }, |
| 47974 | .call_frame = .{ .alignment = .@"16" }, | 49315 | .call_frame = .{ .alignment = .@"16" }, |
| 47975 | .extra_temps = .{ | 49316 | .extra_temps = .{ |
| ... | @@ -48109,8 +49450,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -48109,8 +49450,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 48109 | .call_frame = .{ .alignment = .@"16" }, | 49450 | .call_frame = .{ .alignment = .@"16" }, |
| 48110 | .extra_temps = .{ | 49451 | .extra_temps = .{ |
| 48111 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 49452 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 48112 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 49453 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 48113 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 49454 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 48114 | .{ .type = .usize, .kind = .{ .extern_func = "__fminh" } }, | 49455 | .{ .type = .usize, .kind = .{ .extern_func = "__fminh" } }, |
| 48115 | .unused, | 49456 | .unused, |
| 48116 | .unused, | 49457 | .unused, |
| ... | @@ -48145,8 +49486,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -48145,8 +49486,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 48145 | .call_frame = .{ .alignment = .@"16" }, | 49486 | .call_frame = .{ .alignment = .@"16" }, |
| 48146 | .extra_temps = .{ | 49487 | .extra_temps = .{ |
| 48147 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 49488 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 48148 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 49489 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 48149 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 49490 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 48150 | .{ .type = .usize, .kind = .{ .extern_func = "__fminh" } }, | 49491 | .{ .type = .usize, .kind = .{ .extern_func = "__fminh" } }, |
| 48151 | .unused, | 49492 | .unused, |
| 48152 | .unused, | 49493 | .unused, |
| ... | @@ -48182,8 +49523,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -48182,8 +49523,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 48182 | .call_frame = .{ .alignment = .@"16" }, | 49523 | .call_frame = .{ .alignment = .@"16" }, |
| 48183 | .extra_temps = .{ | 49524 | .extra_temps = .{ |
| 48184 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 49525 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 48185 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 49526 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 48186 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 49527 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 48187 | .{ .type = .usize, .kind = .{ .extern_func = "__fminh" } }, | 49528 | .{ .type = .usize, .kind = .{ .extern_func = "__fminh" } }, |
| 48188 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 49529 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 48189 | .unused, | 49530 | .unused, |
| ... | @@ -48222,8 +49563,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -48222,8 +49563,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 48222 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 49563 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 48223 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 49564 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 48224 | .{ .type = .f32, .kind = .mem }, | 49565 | .{ .type = .f32, .kind = .mem }, |
| 48225 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 49566 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 48226 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 49567 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 48227 | .{ .type = .usize, .kind = .{ .extern_func = "__fminh" } }, | 49568 | .{ .type = .usize, .kind = .{ .extern_func = "__fminh" } }, |
| 48228 | .unused, | 49569 | .unused, |
| 48229 | .unused, | 49570 | .unused, |
| ... | @@ -48635,7 +49976,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -48635,7 +49976,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 48635 | .any, | 49976 | .any, |
| 48636 | }, | 49977 | }, |
| 48637 | .patterns = &.{ | 49978 | .patterns = &.{ |
| 48638 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 49979 | .{ .src = .{ |
| | 49980 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 49981 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 49982 | .none, |
| | 49983 | } }, |
| 48639 | }, | 49984 | }, |
| 48640 | .call_frame = .{ .alignment = .@"16" }, | 49985 | .call_frame = .{ .alignment = .@"16" }, |
| 48641 | .extra_temps = .{ | 49986 | .extra_temps = .{ |
| ... | @@ -48892,8 +50237,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -48892,8 +50237,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 48892 | .call_frame = .{ .alignment = .@"16" }, | 50237 | .call_frame = .{ .alignment = .@"16" }, |
| 48893 | .extra_temps = .{ | 50238 | .extra_temps = .{ |
| 48894 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 50239 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 48895 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 50240 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 48896 | .{ .type = .f64, .kind = .{ .reg = .xmm1 } }, | 50241 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 48897 | .{ .type = .usize, .kind = .{ .extern_func = "fmin" } }, | 50242 | .{ .type = .usize, .kind = .{ .extern_func = "fmin" } }, |
| 48898 | .unused, | 50243 | .unused, |
| 48899 | .unused, | 50244 | .unused, |
| ... | @@ -49167,7 +50512,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -49167,7 +50512,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 49167 | .any, | 50512 | .any, |
| 49168 | }, | 50513 | }, |
| 49169 | .patterns = &.{ | 50514 | .patterns = &.{ |
| 49170 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 50515 | .{ .src = .{ |
| | 50516 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 50517 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 50518 | .none, |
| | 50519 | } }, |
| 49171 | }, | 50520 | }, |
| 49172 | .call_frame = .{ .alignment = .@"16" }, | 50521 | .call_frame = .{ .alignment = .@"16" }, |
| 49173 | .extra_temps = .{ | 50522 | .extra_temps = .{ |
| ... | @@ -49201,8 +50550,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -49201,8 +50550,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 49201 | .call_frame = .{ .alignment = .@"16" }, | 50550 | .call_frame = .{ .alignment = .@"16" }, |
| 49202 | .extra_temps = .{ | 50551 | .extra_temps = .{ |
| 49203 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 50552 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 49204 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 50553 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 49205 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 50554 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 49206 | .{ .type = .usize, .kind = .{ .extern_func = "fminq" } }, | 50555 | .{ .type = .usize, .kind = .{ .extern_func = "fminq" } }, |
| 49207 | .unused, | 50556 | .unused, |
| 49208 | .unused, | 50557 | .unused, |
| ... | @@ -49236,8 +50585,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -49236,8 +50585,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 49236 | .call_frame = .{ .alignment = .@"16" }, | 50585 | .call_frame = .{ .alignment = .@"16" }, |
| 49237 | .extra_temps = .{ | 50586 | .extra_temps = .{ |
| 49238 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 50587 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 49239 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 50588 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 49240 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 50589 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 49241 | .{ .type = .usize, .kind = .{ .extern_func = "fminq" } }, | 50590 | .{ .type = .usize, .kind = .{ .extern_func = "fminq" } }, |
| 49242 | .unused, | 50591 | .unused, |
| 49243 | .unused, | 50592 | .unused, |
| ... | @@ -49271,8 +50620,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -49271,8 +50620,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 49271 | .call_frame = .{ .alignment = .@"16" }, | 50620 | .call_frame = .{ .alignment = .@"16" }, |
| 49272 | .extra_temps = .{ | 50621 | .extra_temps = .{ |
| 49273 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 50622 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 49274 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 50623 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 49275 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 50624 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 49276 | .{ .type = .usize, .kind = .{ .extern_func = "fminq" } }, | 50625 | .{ .type = .usize, .kind = .{ .extern_func = "fminq" } }, |
| 49277 | .unused, | 50626 | .unused, |
| 49278 | .unused, | 50627 | .unused, |
| ... | @@ -49304,10 +50653,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -49304,10 +50653,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 49304 | }; | 50653 | }; |
| 49305 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 50654 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 49306 | }, | 50655 | }, |
| 49307 | .add_with_overflow => |air_tag| if (use_old) try cg.airAddSubWithOverflow(inst) else fallback: { | 50656 | .add_with_overflow => |air_tag| { |
| 49308 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; | 50657 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; |
| 49309 | const bin_op = cg.air.extraData(Air.Bin, ty_pl.payload).data; | 50658 | const bin_op = cg.air.extraData(Air.Bin, ty_pl.payload).data; |
| 49310 | if (cg.typeOf(bin_op.lhs).isVector(zcu)) break :fallback try cg.airAddSubWithOverflow(inst); | | |
| 49311 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 50659 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| 49312 | var res: [2]Temp = undefined; | 50660 | var res: [2]Temp = undefined; |
| 49313 | cg.select(&res, &.{ ty_pl.ty.toType(), .u1 }, &ops, comptime &.{ .{ | 50661 | cg.select(&res, &.{ ty_pl.ty.toType(), .u1 }, &ops, comptime &.{ .{ |
| ... | @@ -50155,10 +51503,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -50155,10 +51503,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 50155 | try res[0].withOverflow(&res[1], cg); | 51503 | try res[0].withOverflow(&res[1], cg); |
| 50156 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 51504 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 50157 | }, | 51505 | }, |
| 50158 | .sub_with_overflow => |air_tag| if (use_old) try cg.airAddSubWithOverflow(inst) else fallback: { | 51506 | .sub_with_overflow => |air_tag| { |
| 50159 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; | 51507 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; |
| 50160 | const bin_op = cg.air.extraData(Air.Bin, ty_pl.payload).data; | 51508 | const bin_op = cg.air.extraData(Air.Bin, ty_pl.payload).data; |
| 50161 | if (cg.typeOf(bin_op.lhs).isVector(zcu)) break :fallback try cg.airAddSubWithOverflow(inst); | | |
| 50162 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 51509 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| 50163 | var res: [2]Temp = undefined; | 51510 | var res: [2]Temp = undefined; |
| 50164 | cg.select(&res, &.{ ty_pl.ty.toType(), .u1 }, &ops, comptime &.{ .{ | 51511 | cg.select(&res, &.{ ty_pl.ty.toType(), .u1 }, &ops, comptime &.{ .{ |
| ... | @@ -51061,10 +52408,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -51061,10 +52408,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 51061 | try res[0].withOverflow(&res[1], cg); | 52408 | try res[0].withOverflow(&res[1], cg); |
| 51062 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 52409 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 51063 | }, | 52410 | }, |
| 51064 | .mul_with_overflow => |air_tag| if (use_old) try cg.airMulWithOverflow(inst) else fallback: { | 52411 | .mul_with_overflow => |air_tag| { |
| 51065 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; | 52412 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; |
| 51066 | const bin_op = cg.air.extraData(Air.Bin, ty_pl.payload).data; | 52413 | const bin_op = cg.air.extraData(Air.Bin, ty_pl.payload).data; |
| 51067 | if (cg.typeOf(bin_op.lhs).isVector(zcu)) break :fallback try cg.airMulWithOverflow(inst); | | |
| 51068 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 52414 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| 51069 | var res: [2]Temp = undefined; | 52415 | var res: [2]Temp = undefined; |
| 51070 | cg.select(&res, &.{ ty_pl.ty.toType(), .u1 }, &ops, comptime &.{ .{ | 52416 | cg.select(&res, &.{ ty_pl.ty.toType(), .u1 }, &ops, comptime &.{ .{ |
| ... | @@ -54659,10 +56005,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -54659,10 +56005,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 54659 | try res[0].withOverflow(&res[1], cg); | 56005 | try res[0].withOverflow(&res[1], cg); |
| 54660 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 56006 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 54661 | }, | 56007 | }, |
| 54662 | .shl_with_overflow => |air_tag| if (use_old) try cg.airShlWithOverflow(inst) else fallback: { | 56008 | .shl_with_overflow => |air_tag| { |
| 54663 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; | 56009 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; |
| 54664 | const bin_op = cg.air.extraData(Air.Bin, ty_pl.payload).data; | 56010 | const bin_op = cg.air.extraData(Air.Bin, ty_pl.payload).data; |
| 54665 | if (cg.typeOf(bin_op.lhs).isVector(zcu)) break :fallback try cg.airShlWithOverflow(inst); | | |
| 54666 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 56011 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| 54667 | var res: [2]Temp = undefined; | 56012 | var res: [2]Temp = undefined; |
| 54668 | cg.select(&res, &.{ ty_pl.ty.toType(), .u1 }, &ops, comptime &.{ .{ | 56013 | cg.select(&res, &.{ ty_pl.ty.toType(), .u1 }, &ops, comptime &.{ .{ |
| ... | @@ -55515,7 +56860,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -55515,7 +56860,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 55515 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | 56860 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 55516 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 56861 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 55517 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 56862 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 55518 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 56863 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 55519 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, | 56864 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 55520 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, | 56865 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, |
| 55521 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, | 56866 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| ... | @@ -55579,7 +56924,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -55579,7 +56924,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 55579 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | 56924 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 55580 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 56925 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 55581 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 56926 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 55582 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 56927 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 55583 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, | 56928 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 55584 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, | 56929 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, |
| 55585 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, | 56930 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| ... | @@ -55643,7 +56988,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -55643,7 +56988,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 55643 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | 56988 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 55644 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 56989 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 55645 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 56990 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 55646 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 56991 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 55647 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, | 56992 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 55648 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, | 56993 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, |
| 55649 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, | 56994 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| ... | @@ -55707,7 +57052,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -55707,7 +57052,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 55707 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | 57052 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 55708 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 57053 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 55709 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 57054 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 55710 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 57055 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 55711 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, | 57056 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 55712 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, | 57057 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, |
| 55713 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, | 57058 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| ... | @@ -55771,7 +57116,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -55771,7 +57116,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 55771 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | 57116 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 55772 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 57117 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 55773 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 57118 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 55774 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 57119 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 55775 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 57120 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 55776 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 57121 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 55777 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, | 57122 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, |
| ... | @@ -55827,7 +57172,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -55827,7 +57172,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 55827 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | 57172 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 55828 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 57173 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 55829 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 57174 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 55830 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 57175 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 55831 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 57176 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 55832 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 57177 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 55833 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, | 57178 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, |
| ... | @@ -55883,7 +57228,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -55883,7 +57228,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 55883 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | 57228 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 55884 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 57229 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 55885 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 57230 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 55886 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 57231 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 55887 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 57232 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 55888 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 57233 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 55889 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, | 57234 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, |
| ... | @@ -55939,7 +57284,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -55939,7 +57284,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 55939 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | 57284 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 55940 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 57285 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 55941 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 57286 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 55942 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 57287 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 55943 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 57288 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 55944 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 57289 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 55945 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, | 57290 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, |
| ... | @@ -55995,7 +57340,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -55995,7 +57340,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 55995 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, | 57340 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, |
| 55996 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 57341 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 55997 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 57342 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 55998 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 57343 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 55999 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, | 57344 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 56000 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, | 57345 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, |
| 56001 | .{ ._, ._, .mov, .tmp5q, .tmp3q, ._, ._ }, | 57346 | .{ ._, ._, .mov, .tmp5q, .tmp3q, ._, ._ }, |
| ... | @@ -56059,7 +57404,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -56059,7 +57404,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 56059 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, | 57404 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, |
| 56060 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 57405 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 56061 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 57406 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 56062 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 57407 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 56063 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, | 57408 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 56064 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, | 57409 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, |
| 56065 | .{ ._, ._, .mov, .tmp5q, .tmp3q, ._, ._ }, | 57410 | .{ ._, ._, .mov, .tmp5q, .tmp3q, ._, ._ }, |
| ... | @@ -56123,7 +57468,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -56123,7 +57468,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 56123 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, | 57468 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, |
| 56124 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 57469 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 56125 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 57470 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 56126 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 57471 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 56127 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, | 57472 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 56128 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, | 57473 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, |
| 56129 | .{ ._, ._, .mov, .tmp5q, .tmp3q, ._, ._ }, | 57474 | .{ ._, ._, .mov, .tmp5q, .tmp3q, ._, ._ }, |
| ... | @@ -56187,7 +57532,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -56187,7 +57532,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 56187 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, | 57532 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, |
| 56188 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 57533 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 56189 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 57534 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 56190 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 57535 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 56191 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, | 57536 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 56192 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, | 57537 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, |
| 56193 | .{ ._, ._, .mov, .tmp5q, .tmp3q, ._, ._ }, | 57538 | .{ ._, ._, .mov, .tmp5q, .tmp3q, ._, ._ }, |
| ... | @@ -56251,7 +57596,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -56251,7 +57596,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 56251 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, | 57596 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, |
| 56252 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 57597 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 56253 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 57598 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 56254 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 57599 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 56255 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 57600 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 56256 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 57601 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 56257 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp4q, ._, ._ }, | 57602 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp4q, ._, ._ }, |
| ... | @@ -56308,7 +57653,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -56308,7 +57653,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 56308 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, | 57653 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, |
| 56309 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 57654 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 56310 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 57655 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 56311 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 57656 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 56312 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 57657 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 56313 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 57658 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 56314 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp4q, ._, ._ }, | 57659 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp4q, ._, ._ }, |
| ... | @@ -56365,7 +57710,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -56365,7 +57710,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 56365 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, | 57710 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, |
| 56366 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 57711 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 56367 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 57712 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 56368 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 57713 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 56369 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 57714 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 56370 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 57715 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 56371 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp4q, ._, ._ }, | 57716 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp4q, ._, ._ }, |
| ... | @@ -56422,7 +57767,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -56422,7 +57767,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 56422 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, | 57767 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, |
| 56423 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 57768 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 56424 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 57769 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 56425 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 57770 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 56426 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 57771 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 56427 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 57772 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 56428 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp4q, ._, ._ }, | 57773 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp4q, ._, ._ }, |
| ... | @@ -56479,7 +57824,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -56479,7 +57824,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 56479 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, | 57824 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, |
| 56480 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 57825 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 56481 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 57826 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 56482 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 57827 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 56483 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, | 57828 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 56484 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, | 57829 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, |
| 56485 | .{ ._, ._, .mov, .tmp5q, .tmp3q, ._, ._ }, | 57830 | .{ ._, ._, .mov, .tmp5q, .tmp3q, ._, ._ }, |
| ... | @@ -56549,7 +57894,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -56549,7 +57894,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 56549 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, | 57894 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, |
| 56550 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 57895 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 56551 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 57896 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 56552 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 57897 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 56553 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, | 57898 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 56554 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, | 57899 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, |
| 56555 | .{ ._, ._, .mov, .tmp5q, .tmp3q, ._, ._ }, | 57900 | .{ ._, ._, .mov, .tmp5q, .tmp3q, ._, ._ }, |
| ... | @@ -56619,7 +57964,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -56619,7 +57964,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 56619 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, | 57964 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, |
| 56620 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 57965 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 56621 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 57966 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 56622 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 57967 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 56623 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, | 57968 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 56624 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, | 57969 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, |
| 56625 | .{ ._, ._, .mov, .tmp5q, .tmp3q, ._, ._ }, | 57970 | .{ ._, ._, .mov, .tmp5q, .tmp3q, ._, ._ }, |
| ... | @@ -56689,7 +58034,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -56689,7 +58034,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 56689 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, | 58034 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, |
| 56690 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 58035 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 56691 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 58036 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 56692 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 58037 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 56693 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, | 58038 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 56694 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, | 58039 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, |
| 56695 | .{ ._, ._, .mov, .tmp5q, .tmp3q, ._, ._ }, | 58040 | .{ ._, ._, .mov, .tmp5q, .tmp3q, ._, ._ }, |
| ... | @@ -56759,7 +58104,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -56759,7 +58104,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 56759 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, | 58104 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, |
| 56760 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 58105 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 56761 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 58106 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 56762 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 58107 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 56763 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 58108 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 56764 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 58109 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 56765 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp4q, ._, ._ }, | 58110 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp4q, ._, ._ }, |
| ... | @@ -56821,7 +58166,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -56821,7 +58166,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 56821 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, | 58166 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, |
| 56822 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 58167 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 56823 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 58168 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 56824 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 58169 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 56825 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 58170 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 56826 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 58171 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 56827 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp4q, ._, ._ }, | 58172 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp4q, ._, ._ }, |
| ... | @@ -56883,7 +58228,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -56883,7 +58228,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 56883 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, | 58228 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, |
| 56884 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 58229 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 56885 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 58230 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 56886 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 58231 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 56887 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 58232 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 56888 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 58233 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 56889 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp4q, ._, ._ }, | 58234 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp4q, ._, ._ }, |
| ... | @@ -56945,7 +58290,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -56945,7 +58290,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 56945 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, | 58290 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, |
| 56946 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 58291 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 56947 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 58292 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 56948 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 58293 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 56949 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 58294 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 56950 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 58295 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 56951 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp4q, ._, ._ }, | 58296 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp4q, ._, ._ }, |
| ... | @@ -57007,7 +58352,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -57007,7 +58352,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 57007 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, | 58352 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, |
| 57008 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 58353 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 57009 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 58354 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 57010 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 58355 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 57011 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 58356 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 57012 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 58357 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 57013 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp4q, ._, ._ }, | 58358 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp4q, ._, ._ }, |
| ... | @@ -57069,7 +58414,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -57069,7 +58414,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 57069 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, | 58414 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, |
| 57070 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 58415 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 57071 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 58416 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 57072 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 58417 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 57073 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 58418 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 57074 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 58419 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 57075 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp4q, ._, ._ }, | 58420 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp4q, ._, ._ }, |
| ... | @@ -57131,7 +58476,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -57131,7 +58476,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 57131 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, | 58476 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, |
| 57132 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 58477 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 57133 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 58478 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 57134 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 58479 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 57135 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 58480 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 57136 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 58481 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 57137 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp4q, ._, ._ }, | 58482 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp4q, ._, ._ }, |
| ... | @@ -57193,7 +58538,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -57193,7 +58538,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 57193 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, | 58538 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, |
| 57194 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 58539 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 57195 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 58540 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 57196 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 58541 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 57197 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 58542 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 57198 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 58543 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 57199 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp4q, ._, ._ }, | 58544 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp4q, ._, ._ }, |
| ... | @@ -57255,7 +58600,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -57255,7 +58600,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 57255 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | 58600 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 57256 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 58601 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 57257 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 58602 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 57258 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 58603 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 57259 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, | 58604 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 57260 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, | 58605 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, |
| 57261 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, | 58606 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| ... | @@ -57325,7 +58670,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -57325,7 +58670,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 57325 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | 58670 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 57326 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 58671 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 57327 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 58672 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 57328 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 58673 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 57329 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, | 58674 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 57330 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, | 58675 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, |
| 57331 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, | 58676 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| ... | @@ -57395,7 +58740,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -57395,7 +58740,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 57395 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | 58740 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 57396 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 58741 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 57397 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 58742 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 57398 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 58743 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 57399 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, | 58744 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 57400 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, | 58745 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, |
| 57401 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, | 58746 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| ... | @@ -57465,7 +58810,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -57465,7 +58810,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 57465 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | 58810 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 57466 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 58811 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 57467 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 58812 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 57468 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 58813 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 57469 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, | 58814 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 57470 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, | 58815 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, |
| 57471 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, | 58816 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| ... | @@ -57535,7 +58880,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -57535,7 +58880,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 57535 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | 58880 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 57536 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 58881 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 57537 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 58882 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 57538 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 58883 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 57539 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 58884 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 57540 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 58885 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 57541 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, | 58886 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, |
| ... | @@ -57596,7 +58941,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -57596,7 +58941,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 57596 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | 58941 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 57597 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 58942 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 57598 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 58943 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 57599 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 58944 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 57600 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 58945 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 57601 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 58946 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 57602 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, | 58947 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, |
| ... | @@ -57657,7 +59002,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -57657,7 +59002,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 57657 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | 59002 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 57658 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 59003 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 57659 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 59004 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 57660 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 59005 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 57661 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 59006 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 57662 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 59007 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 57663 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, | 59008 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, |
| ... | @@ -57718,7 +59063,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -57718,7 +59063,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 57718 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | 59063 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 57719 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 59064 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 57720 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 59065 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 57721 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 59066 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 57722 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 59067 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 57723 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 59068 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 57724 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, | 59069 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, |
| ... | @@ -57779,7 +59124,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -57779,7 +59124,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 57779 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | 59124 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 57780 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 59125 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 57781 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 59126 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 57782 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 59127 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 57783 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 59128 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 57784 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 59129 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 57785 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, | 59130 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, |
| ... | @@ -57840,7 +59185,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -57840,7 +59185,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 57840 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | 59185 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 57841 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 59186 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 57842 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 59187 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 57843 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 59188 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 57844 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 59189 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 57845 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 59190 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 57846 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, | 59191 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, |
| ... | @@ -57901,7 +59246,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -57901,7 +59246,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 57901 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | 59246 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 57902 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 59247 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 57903 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 59248 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 57904 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 59249 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 57905 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 59250 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 57906 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 59251 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 57907 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, | 59252 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, |
| ... | @@ -57962,7 +59307,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -57962,7 +59307,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 57962 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | 59307 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 57963 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 59308 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 57964 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 59309 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 57965 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 59310 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 57966 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 59311 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 57967 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 59312 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 57968 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, | 59313 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, |
| ... | @@ -58005,7 +59350,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -58005,7 +59350,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 58005 | try res[0].withOverflow(&res[1], cg); | 59350 | try res[0].withOverflow(&res[1], cg); |
| 58006 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 59351 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 58007 | }, | 59352 | }, |
| 58008 | .alloc => if (use_old) try cg.airAlloc(inst) else { | 59353 | .alloc => { |
| 58009 | const ty = air_datas[@intFromEnum(inst)].ty; | 59354 | const ty = air_datas[@intFromEnum(inst)].ty; |
| 58010 | const slot = try cg.tempInit(ty, .{ .lea_frame = .{ | 59355 | const slot = try cg.tempInit(ty, .{ .lea_frame = .{ |
| 58011 | .index = try cg.allocMemPtr(inst), | 59356 | .index = try cg.allocMemPtr(inst), |
| ... | @@ -58013,7 +59358,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -58013,7 +59358,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 58013 | try slot.finish(inst, &.{}, &.{}, cg); | 59358 | try slot.finish(inst, &.{}, &.{}, cg); |
| 58014 | }, | 59359 | }, |
| 58015 | .inferred_alloc, .inferred_alloc_comptime => unreachable, | 59360 | .inferred_alloc, .inferred_alloc_comptime => unreachable, |
| 58016 | .ret_ptr => if (use_old) try cg.airRetPtr(inst) else { | 59361 | .ret_ptr => { |
| 58017 | const ty = air_datas[@intFromEnum(inst)].ty; | 59362 | const ty = air_datas[@intFromEnum(inst)].ty; |
| 58018 | var slot = switch (cg.ret_mcv.long) { | 59363 | var slot = switch (cg.ret_mcv.long) { |
| 58019 | else => unreachable, | 59364 | else => unreachable, |
| ... | @@ -58029,7 +59374,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -58029,7 +59374,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 58029 | try slot.finish(inst, &.{}, &.{}, cg); | 59374 | try slot.finish(inst, &.{}, &.{}, cg); |
| 58030 | }, | 59375 | }, |
| 58031 | .assembly => try cg.airAsm(inst), | 59376 | .assembly => try cg.airAsm(inst), |
| 58032 | .bit_and, .bit_or, .xor, .bool_and, .bool_or => |air_tag| if (use_old) try cg.airBinOp(inst, air_tag) else { | 59377 | .bit_and, .bit_or, .xor, .bool_and, .bool_or => |air_tag| { |
| 58033 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | 59378 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| 58034 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 59379 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| 58035 | var res: [1]Temp = undefined; | 59380 | var res: [1]Temp = undefined; |
| ... | @@ -58399,9 +59744,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -58399,9 +59744,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 58399 | }; | 59744 | }; |
| 58400 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 59745 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 58401 | }, | 59746 | }, |
| 58402 | .shr, .shr_exact => |air_tag| if (use_old) try cg.airShlShrBinOp(inst) else fallback: { | 59747 | .shr, .shr_exact => |air_tag| { |
| 58403 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | 59748 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| 58404 | if (cg.typeOf(bin_op.lhs).isVector(zcu)) break :fallback try cg.airShlShrBinOp(inst); | | |
| 58405 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 59749 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| 58406 | var res: [1]Temp = undefined; | 59750 | var res: [1]Temp = undefined; |
| 58407 | cg.select(&res, &.{cg.typeOf(bin_op.lhs)}, &ops, comptime &.{ .{ | 59751 | cg.select(&res, &.{cg.typeOf(bin_op.lhs)}, &ops, comptime &.{ .{ |
| ... | @@ -58964,9 +60308,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -58964,9 +60308,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 58964 | }; | 60308 | }; |
| 58965 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 60309 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 58966 | }, | 60310 | }, |
| 58967 | .shl, .shl_exact => |air_tag| if (use_old) try cg.airShlShrBinOp(inst) else fallback: { | 60311 | .shl, .shl_exact => |air_tag| { |
| 58968 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | 60312 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| 58969 | if (cg.typeOf(bin_op.lhs).isVector(zcu)) break :fallback try cg.airShlShrBinOp(inst); | | |
| 58970 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 60313 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| 58971 | var res: [1]Temp = undefined; | 60314 | var res: [1]Temp = undefined; |
| 58972 | cg.select(&res, &.{cg.typeOf(bin_op.lhs)}, &ops, comptime &.{ .{ | 60315 | cg.select(&res, &.{cg.typeOf(bin_op.lhs)}, &ops, comptime &.{ .{ |
| ... | @@ -59339,10 +60682,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -59339,10 +60682,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 59339 | } | 60682 | } |
| 59340 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 60683 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 59341 | }, | 60684 | }, |
| 59342 | .shl_sat => |air_tag| if (use_old) try cg.airShlSat(inst) else fallback: { | 60685 | .shl_sat => |air_tag| { |
| 59343 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | 60686 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| 59344 | const lhs_ty = cg.typeOf(bin_op.lhs); | 60687 | const lhs_ty = cg.typeOf(bin_op.lhs); |
| 59345 | if (lhs_ty.isVector(zcu)) break :fallback try cg.airShlSat(inst); | | |
| 59346 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 60688 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| 59347 | var res: [1]Temp = undefined; | 60689 | var res: [1]Temp = undefined; |
| 59348 | switch (ops[1].tracking(cg).short) { | 60690 | switch (ops[1].tracking(cg).short) { |
| ... | @@ -61190,7 +62532,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -61190,7 +62532,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 61190 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | 62532 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 61191 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 62533 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 61192 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 62534 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 61193 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 62535 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 61194 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, | 62536 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 61195 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, | 62537 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, |
| 61196 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, | 62538 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| ... | @@ -61274,7 +62616,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -61274,7 +62616,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 61274 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | 62616 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 61275 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 62617 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 61276 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 62618 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 61277 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 62619 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 61278 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, | 62620 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 61279 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, | 62621 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, |
| 61280 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, | 62622 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| ... | @@ -61357,7 +62699,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -61357,7 +62699,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 61357 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | 62699 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 61358 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 62700 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 61359 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 62701 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 61360 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 62702 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 61361 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 62703 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 61362 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 62704 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 61363 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, | 62705 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, |
| ... | @@ -61427,7 +62769,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -61427,7 +62769,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 61427 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | 62769 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 61428 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 62770 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 61429 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 62771 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 61430 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 62772 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 61431 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 62773 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 61432 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 62774 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 61433 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, | 62775 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, |
| ... | @@ -61498,7 +62840,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -61498,7 +62840,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 61498 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, | 62840 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, |
| 61499 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 62841 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 61500 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 62842 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 61501 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 62843 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 61502 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, | 62844 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 61503 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, | 62845 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, |
| 61504 | .{ ._, ._, .mov, .tmp5q, .tmp3q, ._, ._ }, | 62846 | .{ ._, ._, .mov, .tmp5q, .tmp3q, ._, ._ }, |
| ... | @@ -61583,7 +62925,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -61583,7 +62925,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 61583 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, | 62925 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, |
| 61584 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 62926 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 61585 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 62927 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 61586 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 62928 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 61587 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, | 62929 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 61588 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, | 62930 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, |
| 61589 | .{ ._, ._, .mov, .tmp5q, .tmp3q, ._, ._ }, | 62931 | .{ ._, ._, .mov, .tmp5q, .tmp3q, ._, ._ }, |
| ... | @@ -61667,7 +63009,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -61667,7 +63009,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 61667 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, | 63009 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, |
| 61668 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 63010 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 61669 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 63011 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 61670 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 63012 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 61671 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 63013 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 61672 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 63014 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 61673 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, | 63015 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, |
| ... | @@ -61738,7 +63080,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -61738,7 +63080,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 61738 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, | 63080 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, |
| 61739 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 63081 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 61740 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 63082 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 61741 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 63083 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 61742 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 63084 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 61743 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 63085 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 61744 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, | 63086 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, |
| ... | @@ -61810,7 +63152,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -61810,7 +63152,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 61810 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, | 63152 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, |
| 61811 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 63153 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 61812 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 63154 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 61813 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 63155 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 61814 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, | 63156 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 61815 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, | 63157 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, |
| 61816 | .{ ._, ._, .mov, .tmp5q, .tmp3q, ._, ._ }, | 63158 | .{ ._, ._, .mov, .tmp5q, .tmp3q, ._, ._ }, |
| ... | @@ -61901,7 +63243,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -61901,7 +63243,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 61901 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, | 63243 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, |
| 61902 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 63244 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 61903 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 63245 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 61904 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 63246 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 61905 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, | 63247 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 61906 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, | 63248 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, |
| 61907 | .{ ._, ._, .mov, .tmp5q, .tmp3q, ._, ._ }, | 63249 | .{ ._, ._, .mov, .tmp5q, .tmp3q, ._, ._ }, |
| ... | @@ -61992,7 +63334,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -61992,7 +63334,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 61992 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, | 63334 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, |
| 61993 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 63335 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 61994 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 63336 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 61995 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 63337 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 61996 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 63338 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 61997 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 63339 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 61998 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, | 63340 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, |
| ... | @@ -62070,7 +63412,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -62070,7 +63412,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 62070 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, | 63412 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, |
| 62071 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 63413 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 62072 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 63414 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 62073 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 63415 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 62074 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 63416 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 62075 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 63417 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 62076 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, | 63418 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, |
| ... | @@ -62148,7 +63490,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -62148,7 +63490,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 62148 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, | 63490 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, |
| 62149 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 63491 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 62150 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 63492 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 62151 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 63493 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 62152 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 63494 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 62153 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 63495 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 62154 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, | 63496 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, |
| ... | @@ -62226,7 +63568,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -62226,7 +63568,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 62226 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, | 63568 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .src0, .add_size_div_8), ._, ._ }, |
| 62227 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 63569 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 62228 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 63570 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 62229 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 63571 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 62230 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 63572 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 62231 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 63573 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 62232 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, | 63574 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, |
| ... | @@ -62304,7 +63646,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -62304,7 +63646,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 62304 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | 63646 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 62305 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 63647 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 62306 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 63648 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 62307 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 63649 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 62308 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, | 63650 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 62309 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, | 63651 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, |
| 62310 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, | 63652 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| ... | @@ -62394,7 +63736,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -62394,7 +63736,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 62394 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | 63736 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 62395 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 63737 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 62396 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 63738 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 62397 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 63739 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 62398 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, | 63740 | .{ ._, ._, .mov, .tmp3q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 62399 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, | 63741 | .{ ._, ._, .mov, .tmp4q, .lea(.tmp2q), ._, ._ }, |
| 62400 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, | 63742 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| ... | @@ -62484,7 +63826,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -62484,7 +63826,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 62484 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | 63826 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 62485 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 63827 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 62486 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 63828 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 62487 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 63829 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 62488 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 63830 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 62489 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 63831 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 62490 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, | 63832 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, |
| ... | @@ -62561,7 +63903,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -62561,7 +63903,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 62561 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | 63903 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 62562 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 63904 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 62563 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 63905 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 62564 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 63906 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 62565 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 63907 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 62566 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 63908 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 62567 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, | 63909 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, |
| ... | @@ -62638,7 +63980,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -62638,7 +63980,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 62638 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | 63980 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 62639 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 63981 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 62640 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 63982 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 62641 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 63983 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 62642 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 63984 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 62643 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 63985 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 62644 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, | 63986 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, |
| ... | @@ -62715,7 +64057,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -62715,7 +64057,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 62715 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | 64057 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 62716 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | 64058 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 62717 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | 64059 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 62718 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | 64060 | .{ ._, ._, .lea, .tmp2p, .memsi(.src0, .@"8", .tmp1), ._, ._ }, |
| 62719 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, | 64061 | .{ ._, ._, .mov, .tmp3q, .lea(.tmp2q), ._, ._ }, |
| 62720 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | 64062 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 62721 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, | 64063 | .{ ._, ._ld, .sh, .tmp4q, .tmp3q, .src1b, ._ }, |
| ... | @@ -62763,7 +64105,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -62763,7 +64105,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 62763 | }; | 64105 | }; |
| 62764 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 64106 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 62765 | }, | 64107 | }, |
| 62766 | .not => |air_tag| if (use_old) try cg.airUnOp(inst, air_tag) else { | 64108 | .not => |air_tag| { |
| 62767 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 64109 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 62768 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); | 64110 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); |
| 62769 | var res: [1]Temp = undefined; | 64111 | var res: [1]Temp = undefined; |
| ... | @@ -64003,7 +65345,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -64003,7 +65345,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 64003 | try cg.lowerBlock(inst, @ptrCast(cg.air.extra.items[block.end..][0..block.data.body_len])); | 65345 | try cg.lowerBlock(inst, @ptrCast(cg.air.extra.items[block.end..][0..block.data.body_len])); |
| 64004 | if (!cg.mod.strip) try cg.asmPseudo(.pseudo_dbg_leave_block_none); | 65346 | if (!cg.mod.strip) try cg.asmPseudo(.pseudo_dbg_leave_block_none); |
| 64005 | }, | 65347 | }, |
| 64006 | .loop => if (use_old) try cg.airLoop(inst) else { | 65348 | .loop => { |
| 64007 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; | 65349 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; |
| 64008 | const block = cg.air.extraData(Air.Block, ty_pl.payload); | 65350 | const block = cg.air.extraData(Air.Block, ty_pl.payload); |
| 64009 | try cg.loops.putNoClobber(cg.gpa, inst, .{ | 65351 | try cg.loops.putNoClobber(cg.gpa, inst, .{ |
| ... | @@ -64027,14 +65369,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -64027,14 +65369,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 64027 | .br => try cg.airBr(inst), | 65369 | .br => try cg.airBr(inst), |
| 64028 | .trap => try cg.asmOpOnly(.{ ._2, .ud }), | 65370 | .trap => try cg.asmOpOnly(.{ ._2, .ud }), |
| 64029 | .breakpoint => try cg.asmOpOnly(.{ ._3, .int }), | 65371 | .breakpoint => try cg.asmOpOnly(.{ ._3, .int }), |
| 64030 | .ret_addr => if (use_old) try cg.airRetAddr(inst) else { | 65372 | .ret_addr => { |
| 64031 | var slot = try cg.tempInit(.usize, .{ .load_frame = .{ | 65373 | var slot = try cg.tempInit(.usize, .{ .load_frame = .{ |
| 64032 | .index = .ret_addr, | 65374 | .index = .ret_addr, |
| 64033 | } }); | 65375 | } }); |
| 64034 | while (try slot.toRegClass(true, .general_purpose, cg)) {} | 65376 | while (try slot.toRegClass(true, .general_purpose, cg)) {} |
| 64035 | try slot.finish(inst, &.{}, &.{}, cg); | 65377 | try slot.finish(inst, &.{}, &.{}, cg); |
| 64036 | }, | 65378 | }, |
| 64037 | .frame_addr => if (use_old) try cg.airFrameAddress(inst) else { | 65379 | .frame_addr => { |
| 64038 | const slot = try cg.tempInit(.usize, .{ .lea_frame = .{ | 65380 | const slot = try cg.tempInit(.usize, .{ .lea_frame = .{ |
| 64039 | .index = .base_ptr, | 65381 | .index = .base_ptr, |
| 64040 | } }); | 65382 | } }); |
| ... | @@ -64044,7 +65386,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -64044,7 +65386,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 64044 | .call_always_tail => try cg.airCall(inst, .always_tail, .{ .safety = true }), | 65386 | .call_always_tail => try cg.airCall(inst, .always_tail, .{ .safety = true }), |
| 64045 | .call_never_tail => try cg.airCall(inst, .never_tail, .{ .safety = true }), | 65387 | .call_never_tail => try cg.airCall(inst, .never_tail, .{ .safety = true }), |
| 64046 | .call_never_inline => try cg.airCall(inst, .never_inline, .{ .safety = true }), | 65388 | .call_never_inline => try cg.airCall(inst, .never_inline, .{ .safety = true }), |
| 64047 | .clz => |air_tag| if (use_old) try cg.airClz(inst) else { | 65389 | .clz => |air_tag| { |
| 64048 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 65390 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 64049 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); | 65391 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); |
| 64050 | var res: [1]Temp = undefined; | 65392 | var res: [1]Temp = undefined; |
| ... | @@ -67149,9 +68491,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67149,9 +68491,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67149 | }; | 68491 | }; |
| 67150 | try res[0].finish(inst, &.{ty_op.operand}, &ops, cg); | 68492 | try res[0].finish(inst, &.{ty_op.operand}, &ops, cg); |
| 67151 | }, | 68493 | }, |
| 67152 | .ctz => |air_tag| if (use_old) try cg.airCtz(inst) else fallback: { | 68494 | .ctz => |air_tag| { |
| 67153 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 68495 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 67154 | if (ty_op.ty.toType().isVector(zcu)) break :fallback try cg.airCtz(inst); | | |
| 67155 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); | 68496 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); |
| 67156 | var res: [1]Temp = undefined; | 68497 | var res: [1]Temp = undefined; |
| 67157 | cg.select(&res, &.{ty_op.ty.toType()}, &ops, comptime &.{ .{ | 68498 | cg.select(&res, &.{ty_op.ty.toType()}, &ops, comptime &.{ .{ |
| ... | @@ -67547,9 +68888,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67547,9 +68888,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67547 | }; | 68888 | }; |
| 67548 | try res[0].finish(inst, &.{ty_op.operand}, &ops, cg); | 68889 | try res[0].finish(inst, &.{ty_op.operand}, &ops, cg); |
| 67549 | }, | 68890 | }, |
| 67550 | .popcount => |air_tag| if (use_old) try cg.airPopCount(inst) else fallback: { | 68891 | .popcount => |air_tag| { |
| 67551 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 68892 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 67552 | if (ty_op.ty.toType().isVector(zcu)) break :fallback try cg.airPopCount(inst); | | |
| 67553 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); | 68893 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); |
| 67554 | var res: [1]Temp = undefined; | 68894 | var res: [1]Temp = undefined; |
| 67555 | cg.select(&res, &.{ty_op.ty.toType()}, &ops, comptime &.{ .{ | 68895 | cg.select(&res, &.{ty_op.ty.toType()}, &ops, comptime &.{ .{ |
| ... | @@ -68436,9 +69776,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68436,9 +69776,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68436 | }; | 69776 | }; |
| 68437 | try res[0].finish(inst, &.{ty_op.operand}, &ops, cg); | 69777 | try res[0].finish(inst, &.{ty_op.operand}, &ops, cg); |
| 68438 | }, | 69778 | }, |
| 68439 | .byte_swap => |air_tag| if (use_old) try cg.airByteSwap(inst) else fallback: { | 69779 | .byte_swap => |air_tag| { |
| 68440 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 69780 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 68441 | if (ty_op.ty.toType().isVector(zcu)) break :fallback try cg.airByteSwap(inst); | | |
| 68442 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); | 69781 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); |
| 68443 | var res: [1]Temp = undefined; | 69782 | var res: [1]Temp = undefined; |
| 68444 | cg.select(&res, &.{ty_op.ty.toType()}, &ops, comptime &.{ .{ | 69783 | cg.select(&res, &.{ty_op.ty.toType()}, &ops, comptime &.{ .{ |
| ... | @@ -69086,9 +70425,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69086,9 +70425,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69086 | }; | 70425 | }; |
| 69087 | try res[0].finish(inst, &.{ty_op.operand}, &ops, cg); | 70426 | try res[0].finish(inst, &.{ty_op.operand}, &ops, cg); |
| 69088 | }, | 70427 | }, |
| 69089 | .bit_reverse => |air_tag| if (use_old) try cg.airBitReverse(inst) else fallback: { | 70428 | .bit_reverse => |air_tag| { |
| 69090 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 70429 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 69091 | if (ty_op.ty.toType().isVector(zcu)) break :fallback try cg.airByteSwap(inst); | | |
| 69092 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); | 70430 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); |
| 69093 | var res: [1]Temp = undefined; | 70431 | var res: [1]Temp = undefined; |
| 69094 | cg.select(&res, &.{ty_op.ty.toType()}, &ops, comptime &.{ .{ | 70432 | cg.select(&res, &.{ty_op.ty.toType()}, &ops, comptime &.{ .{ |
| ... | @@ -72189,7 +73527,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -72189,7 +73527,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 72189 | }; | 73527 | }; |
| 72190 | try res[0].finish(inst, &.{ty_op.operand}, &ops, cg); | 73528 | try res[0].finish(inst, &.{ty_op.operand}, &ops, cg); |
| 72191 | }, | 73529 | }, |
| 72192 | .sqrt => |air_tag| if (use_old) try cg.airSqrt(inst) else { | 73530 | .sqrt => |air_tag| { |
| 72193 | const un_op = air_datas[@intFromEnum(inst)].un_op; | 73531 | const un_op = air_datas[@intFromEnum(inst)].un_op; |
| 72194 | var ops = try cg.tempsFromOperands(inst, .{un_op}); | 73532 | var ops = try cg.tempsFromOperands(inst, .{un_op}); |
| 72195 | var res: [1]Temp = undefined; | 73533 | var res: [1]Temp = undefined; |
| ... | @@ -72209,7 +73547,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -72209,7 +73547,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 72209 | .required_features = .{ .sse, null, null, null }, | 73547 | .required_features = .{ .sse, null, null, null }, |
| 72210 | .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, | 73548 | .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| 72211 | .patterns = &.{ | 73549 | .patterns = &.{ |
| 72212 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 73550 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 72213 | }, | 73551 | }, |
| 72214 | .call_frame = .{ .alignment = .@"16" }, | 73552 | .call_frame = .{ .alignment = .@"16" }, |
| 72215 | .extra_temps = .{ | 73553 | .extra_temps = .{ |
| ... | @@ -72294,7 +73632,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -72294,7 +73632,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 72294 | .call_frame = .{ .alignment = .@"16" }, | 73632 | .call_frame = .{ .alignment = .@"16" }, |
| 72295 | .extra_temps = .{ | 73633 | .extra_temps = .{ |
| 72296 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 73634 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 72297 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 73635 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 72298 | .{ .type = .usize, .kind = .{ .extern_func = "__sqrth" } }, | 73636 | .{ .type = .usize, .kind = .{ .extern_func = "__sqrth" } }, |
| 72299 | .unused, | 73637 | .unused, |
| 72300 | .unused, | 73638 | .unused, |
| ... | @@ -72325,7 +73663,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -72325,7 +73663,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 72325 | .call_frame = .{ .alignment = .@"16" }, | 73663 | .call_frame = .{ .alignment = .@"16" }, |
| 72326 | .extra_temps = .{ | 73664 | .extra_temps = .{ |
| 72327 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 73665 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 72328 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 73666 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 72329 | .{ .type = .usize, .kind = .{ .extern_func = "__sqrth" } }, | 73667 | .{ .type = .usize, .kind = .{ .extern_func = "__sqrth" } }, |
| 72330 | .unused, | 73668 | .unused, |
| 72331 | .unused, | 73669 | .unused, |
| ... | @@ -72356,7 +73694,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -72356,7 +73694,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 72356 | .call_frame = .{ .alignment = .@"16" }, | 73694 | .call_frame = .{ .alignment = .@"16" }, |
| 72357 | .extra_temps = .{ | 73695 | .extra_temps = .{ |
| 72358 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 73696 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 72359 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 73697 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 72360 | .{ .type = .usize, .kind = .{ .extern_func = "__sqrth" } }, | 73698 | .{ .type = .usize, .kind = .{ .extern_func = "__sqrth" } }, |
| 72361 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 73699 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 72362 | .unused, | 73700 | .unused, |
| ... | @@ -72390,7 +73728,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -72390,7 +73728,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 72390 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 73728 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 72391 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 73729 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 72392 | .{ .type = .f32, .kind = .mem }, | 73730 | .{ .type = .f32, .kind = .mem }, |
| 72393 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 73731 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 72394 | .{ .type = .usize, .kind = .{ .extern_func = "__sqrth" } }, | 73732 | .{ .type = .usize, .kind = .{ .extern_func = "__sqrth" } }, |
| 72395 | .unused, | 73733 | .unused, |
| 72396 | .unused, | 73734 | .unused, |
| ... | @@ -72459,7 +73797,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -72459,7 +73797,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 72459 | .required_features = .{ .sse, null, null, null }, | 73797 | .required_features = .{ .sse, null, null, null }, |
| 72460 | .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any }, | 73798 | .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| 72461 | .patterns = &.{ | 73799 | .patterns = &.{ |
| 72462 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 73800 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 72463 | }, | 73801 | }, |
| 72464 | .call_frame = .{ .alignment = .@"16" }, | 73802 | .call_frame = .{ .alignment = .@"16" }, |
| 72465 | .extra_temps = .{ | 73803 | .extra_temps = .{ |
| ... | @@ -72578,7 +73916,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -72578,7 +73916,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 72578 | .call_frame = .{ .alignment = .@"16" }, | 73916 | .call_frame = .{ .alignment = .@"16" }, |
| 72579 | .extra_temps = .{ | 73917 | .extra_temps = .{ |
| 72580 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 73918 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 72581 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 73919 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 72582 | .{ .type = .usize, .kind = .{ .extern_func = "sqrtf" } }, | 73920 | .{ .type = .usize, .kind = .{ .extern_func = "sqrtf" } }, |
| 72583 | .unused, | 73921 | .unused, |
| 72584 | .unused, | 73922 | .unused, |
| ... | @@ -72608,7 +73946,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -72608,7 +73946,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 72608 | .call_frame = .{ .alignment = .@"16" }, | 73946 | .call_frame = .{ .alignment = .@"16" }, |
| 72609 | .extra_temps = .{ | 73947 | .extra_temps = .{ |
| 72610 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 73948 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 72611 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 73949 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 72612 | .{ .type = .usize, .kind = .{ .extern_func = "sqrtf" } }, | 73950 | .{ .type = .usize, .kind = .{ .extern_func = "sqrtf" } }, |
| 72613 | .unused, | 73951 | .unused, |
| 72614 | .unused, | 73952 | .unused, |
| ... | @@ -72675,7 +74013,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -72675,7 +74013,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 72675 | .required_features = .{ .sse, null, null, null }, | 74013 | .required_features = .{ .sse, null, null, null }, |
| 72676 | .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, | 74014 | .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 72677 | .patterns = &.{ | 74015 | .patterns = &.{ |
| 72678 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 74016 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 72679 | }, | 74017 | }, |
| 72680 | .call_frame = .{ .alignment = .@"16" }, | 74018 | .call_frame = .{ .alignment = .@"16" }, |
| 72681 | .extra_temps = .{ | 74019 | .extra_temps = .{ |
| ... | @@ -72794,7 +74132,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -72794,7 +74132,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 72794 | .call_frame = .{ .alignment = .@"16" }, | 74132 | .call_frame = .{ .alignment = .@"16" }, |
| 72795 | .extra_temps = .{ | 74133 | .extra_temps = .{ |
| 72796 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 74134 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 72797 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 74135 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 72798 | .{ .type = .usize, .kind = .{ .extern_func = "sqrt" } }, | 74136 | .{ .type = .usize, .kind = .{ .extern_func = "sqrt" } }, |
| 72799 | .unused, | 74137 | .unused, |
| 72800 | .unused, | 74138 | .unused, |
| ... | @@ -72824,7 +74162,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -72824,7 +74162,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 72824 | .call_frame = .{ .alignment = .@"16" }, | 74162 | .call_frame = .{ .alignment = .@"16" }, |
| 72825 | .extra_temps = .{ | 74163 | .extra_temps = .{ |
| 72826 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 74164 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 72827 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 74165 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 72828 | .{ .type = .usize, .kind = .{ .extern_func = "sqrt" } }, | 74166 | .{ .type = .usize, .kind = .{ .extern_func = "sqrt" } }, |
| 72829 | .unused, | 74167 | .unused, |
| 72830 | .unused, | 74168 | .unused, |
| ... | @@ -72854,7 +74192,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -72854,7 +74192,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 72854 | .call_frame = .{ .alignment = .@"16" }, | 74192 | .call_frame = .{ .alignment = .@"16" }, |
| 72855 | .extra_temps = .{ | 74193 | .extra_temps = .{ |
| 72856 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 74194 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 72857 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 74195 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 72858 | .{ .type = .usize, .kind = .{ .extern_func = "sqrt" } }, | 74196 | .{ .type = .usize, .kind = .{ .extern_func = "sqrt" } }, |
| 72859 | .unused, | 74197 | .unused, |
| 72860 | .unused, | 74198 | .unused, |
| ... | @@ -72877,6 +74215,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -72877,6 +74215,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 72877 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 74215 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 72878 | } }, | 74216 | } }, |
| 72879 | }, .{ | 74217 | }, .{ |
| | 74218 | .required_abi = .gnu, |
| 72880 | .required_features = .{ .x87, null, null, null }, | 74219 | .required_features = .{ .x87, null, null, null }, |
| 72881 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 74220 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 72882 | .patterns = &.{ | 74221 | .patterns = &.{ |
| ... | @@ -72903,6 +74242,40 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -72903,6 +74242,40 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 72903 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, | 74242 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| 72904 | } }, | 74243 | } }, |
| 72905 | }, .{ | 74244 | }, .{ |
| | 74245 | .required_abi = .msvc, |
| | 74246 | .required_features = .{ .x87, null, null, null }, |
| | 74247 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 74248 | .patterns = &.{ |
| | 74249 | .{ .src = .{ .mem, .none, .none } }, |
| | 74250 | .{ .src = .{ .to_x87, .none, .none } }, |
| | 74251 | }, |
| | 74252 | .extra_temps = .{ |
| | 74253 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 74254 | .{ .type = .u16, .kind = .mem }, |
| | 74255 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| | 74256 | .unused, |
| | 74257 | .unused, |
| | 74258 | .unused, |
| | 74259 | .unused, |
| | 74260 | .unused, |
| | 74261 | .unused, |
| | 74262 | .unused, |
| | 74263 | .unused, |
| | 74264 | }, |
| | 74265 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .x87 } }, .unused }, |
| | 74266 | .each = .{ .once = &.{ |
| | 74267 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| | 74268 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 74269 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, |
| | 74270 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_00_11), ._, ._ }, |
| | 74271 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 74272 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, |
| | 74273 | .{ ._, .f_, .sqrt, ._, ._, ._, ._ }, |
| | 74274 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 74275 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 74276 | } }, |
| | 74277 | }, .{ |
| | 74278 | .required_abi = .gnu, |
| 72906 | .required_features = .{ .x87, null, null, null }, | 74279 | .required_features = .{ .x87, null, null, null }, |
| 72907 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 74280 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 72908 | .patterns = &.{ | 74281 | .patterns = &.{ |
| ... | @@ -72931,11 +74304,47 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -72931,11 +74304,47 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 72931 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 74304 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 72932 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 74305 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 72933 | } }, | 74306 | } }, |
| | 74307 | }, .{ |
| | 74308 | .required_abi = .msvc, |
| | 74309 | .required_features = .{ .x87, null, null, null }, |
| | 74310 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 74311 | .patterns = &.{ |
| | 74312 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 74313 | }, |
| | 74314 | .extra_temps = .{ |
| | 74315 | .{ .type = .u16, .kind = .mem }, |
| | 74316 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 74317 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 74318 | .unused, |
| | 74319 | .unused, |
| | 74320 | .unused, |
| | 74321 | .unused, |
| | 74322 | .unused, |
| | 74323 | .unused, |
| | 74324 | .unused, |
| | 74325 | .unused, |
| | 74326 | }, |
| | 74327 | .dst_temps = .{ .mem, .unused }, |
| | 74328 | .clobbers = .{ .eflags = true }, |
| | 74329 | .each = .{ .once = &.{ |
| | 74330 | .{ ._, .fn_cw, .st, .tmp0w, ._, ._, ._ }, |
| | 74331 | .{ ._, ._, .movzx, .tmp1d, .memd(.tmp0b, 1), ._, ._ }, |
| | 74332 | .{ ._, ._, .@"or", .memd(.tmp0b, 1), .ui(0b000_0_00_11), ._, ._ }, |
| | 74333 | .{ ._, .f_cw, .ld, .tmp0w, ._, ._, ._ }, |
| | 74334 | .{ ._, ._, .mov, .memd(.tmp0b, 1), .tmp1b, ._, ._ }, |
| | 74335 | .{ ._, ._, .mov, .tmp1p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 74336 | .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp1, .add_unaligned_size), ._, ._, ._ }, |
| | 74337 | .{ ._, .f_, .sqrt, ._, ._, ._, ._ }, |
| | 74338 | .{ ._, .f_p, .st, .memia(.dst0t, .tmp1, .add_unaligned_size), ._, ._, ._ }, |
| | 74339 | .{ ._, ._, .add, .tmp1p, .si(16), ._, ._ }, |
| | 74340 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 74341 | .{ ._, .f_cw, .ld, .tmp0w, ._, ._, ._ }, |
| | 74342 | } }, |
| 72934 | }, .{ | 74343 | }, .{ |
| 72935 | .required_features = .{ .sse, null, null, null }, | 74344 | .required_features = .{ .sse, null, null, null }, |
| 72936 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, | 74345 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 72937 | .patterns = &.{ | 74346 | .patterns = &.{ |
| 72938 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 74347 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 72939 | }, | 74348 | }, |
| 72940 | .call_frame = .{ .alignment = .@"16" }, | 74349 | .call_frame = .{ .alignment = .@"16" }, |
| 72941 | .extra_temps = .{ | 74350 | .extra_temps = .{ |
| ... | @@ -72965,7 +74374,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -72965,7 +74374,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 72965 | .call_frame = .{ .alignment = .@"16" }, | 74374 | .call_frame = .{ .alignment = .@"16" }, |
| 72966 | .extra_temps = .{ | 74375 | .extra_temps = .{ |
| 72967 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 74376 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 72968 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 74377 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 72969 | .{ .type = .usize, .kind = .{ .extern_func = "sqrtq" } }, | 74378 | .{ .type = .usize, .kind = .{ .extern_func = "sqrtq" } }, |
| 72970 | .unused, | 74379 | .unused, |
| 72971 | .unused, | 74380 | .unused, |
| ... | @@ -72995,7 +74404,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -72995,7 +74404,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 72995 | .call_frame = .{ .alignment = .@"16" }, | 74404 | .call_frame = .{ .alignment = .@"16" }, |
| 72996 | .extra_temps = .{ | 74405 | .extra_temps = .{ |
| 72997 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 74406 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 72998 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 74407 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 72999 | .{ .type = .usize, .kind = .{ .extern_func = "sqrtq" } }, | 74408 | .{ .type = .usize, .kind = .{ .extern_func = "sqrtq" } }, |
| 73000 | .unused, | 74409 | .unused, |
| 73001 | .unused, | 74410 | .unused, |
| ... | @@ -73025,7 +74434,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73025,7 +74434,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73025 | .call_frame = .{ .alignment = .@"16" }, | 74434 | .call_frame = .{ .alignment = .@"16" }, |
| 73026 | .extra_temps = .{ | 74435 | .extra_temps = .{ |
| 73027 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 74436 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 73028 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 74437 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 73029 | .{ .type = .usize, .kind = .{ .extern_func = "sqrtq" } }, | 74438 | .{ .type = .usize, .kind = .{ .extern_func = "sqrtq" } }, |
| 73030 | .unused, | 74439 | .unused, |
| 73031 | .unused, | 74440 | .unused, |
| ... | @@ -73056,7 +74465,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73056,7 +74465,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73056 | }; | 74465 | }; |
| 73057 | try res[0].finish(inst, &.{un_op}, &ops, cg); | 74466 | try res[0].finish(inst, &.{un_op}, &ops, cg); |
| 73058 | }, | 74467 | }, |
| 73059 | .sin, .cos, .tan, .exp, .exp2, .log, .log2, .log10, .round => |air_tag| if (use_old) try cg.airUnaryMath(inst, air_tag) else { | 74468 | .sin, .cos, .tan, .exp, .exp2, .log, .log2, .log10, .round => |air_tag| { |
| 73060 | const un_op = air_datas[@intFromEnum(inst)].un_op; | 74469 | const un_op = air_datas[@intFromEnum(inst)].un_op; |
| 73061 | var ops = try cg.tempsFromOperands(inst, .{un_op}); | 74470 | var ops = try cg.tempsFromOperands(inst, .{un_op}); |
| 73062 | var res: [1]Temp = undefined; | 74471 | var res: [1]Temp = undefined; |
| ... | @@ -73066,7 +74475,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73066,7 +74475,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73066 | .required_features = .{ .sse, null, null, null }, | 74475 | .required_features = .{ .sse, null, null, null }, |
| 73067 | .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, | 74476 | .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| 73068 | .patterns = &.{ | 74477 | .patterns = &.{ |
| 73069 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 74478 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 73070 | }, | 74479 | }, |
| 73071 | .call_frame = .{ .alignment = .@"16" }, | 74480 | .call_frame = .{ .alignment = .@"16" }, |
| 73072 | .extra_temps = .{ | 74481 | .extra_temps = .{ |
| ... | @@ -73095,8 +74504,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73095,8 +74504,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73095 | }, | 74504 | }, |
| 73096 | .call_frame = .{ .alignment = .@"16" }, | 74505 | .call_frame = .{ .alignment = .@"16" }, |
| 73097 | .extra_temps = .{ | 74506 | .extra_temps = .{ |
| 73098 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 74507 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 73099 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 74508 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 73100 | .{ .type = .usize, .kind = .{ .extern_func = "__" ++ @tagName(name) ++ "h" } }, | 74509 | .{ .type = .usize, .kind = .{ .extern_func = "__" ++ @tagName(name) ++ "h" } }, |
| 73101 | .unused, | 74510 | .unused, |
| 73102 | .unused, | 74511 | .unused, |
| ... | @@ -73110,13 +74519,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73110,13 +74519,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73110 | .dst_temps = .{ .mem, .unused }, | 74519 | .dst_temps = .{ .mem, .unused }, |
| 73111 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 74520 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 73112 | .each = .{ .once = &.{ | 74521 | .each = .{ .once = &.{ |
| 73113 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 74522 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 73114 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, | 74523 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| 73115 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, | 74524 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memi(.src0w, .tmp0), .ui(0) }, |
| 73116 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 74525 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 73117 | .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, | 74526 | .{ ._, .vp_w, .extr, .memi(.dst0w, .tmp0), .tmp1x, .ui(0), ._ }, |
| 73118 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 74527 | .{ ._, ._, .sub, .tmp0p, .si(2), ._, ._ }, |
| 73119 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 74528 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 73120 | } }, | 74529 | } }, |
| 73121 | }, .{ | 74530 | }, .{ |
| 73122 | .required_features = .{ .sse4_1, null, null, null }, | 74531 | .required_features = .{ .sse4_1, null, null, null }, |
| ... | @@ -73126,8 +74535,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73126,8 +74535,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73126 | }, | 74535 | }, |
| 73127 | .call_frame = .{ .alignment = .@"16" }, | 74536 | .call_frame = .{ .alignment = .@"16" }, |
| 73128 | .extra_temps = .{ | 74537 | .extra_temps = .{ |
| 73129 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 74538 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 73130 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 74539 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 73131 | .{ .type = .usize, .kind = .{ .extern_func = "__" ++ @tagName(name) ++ "h" } }, | 74540 | .{ .type = .usize, .kind = .{ .extern_func = "__" ++ @tagName(name) ++ "h" } }, |
| 73132 | .unused, | 74541 | .unused, |
| 73133 | .unused, | 74542 | .unused, |
| ... | @@ -73141,13 +74550,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73141,13 +74550,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73141 | .dst_temps = .{ .mem, .unused }, | 74550 | .dst_temps = .{ .mem, .unused }, |
| 73142 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 74551 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 73143 | .each = .{ .once = &.{ | 74552 | .each = .{ .once = &.{ |
| 73144 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 74553 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 73145 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | 74554 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 73146 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | 74555 | .{ ._, .p_w, .insr, .tmp1x, .memi(.src0w, .tmp0), .ui(0), ._ }, |
| 73147 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 74556 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 73148 | .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, | 74557 | .{ ._, .p_w, .extr, .memi(.dst0w, .tmp0), .tmp1x, .ui(0), ._ }, |
| 73149 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 74558 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 73150 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 74559 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 73151 | } }, | 74560 | } }, |
| 73152 | }, .{ | 74561 | }, .{ |
| 73153 | .required_features = .{ .sse2, null, null, null }, | 74562 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -73157,8 +74566,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73157,8 +74566,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73157 | }, | 74566 | }, |
| 73158 | .call_frame = .{ .alignment = .@"16" }, | 74567 | .call_frame = .{ .alignment = .@"16" }, |
| 73159 | .extra_temps = .{ | 74568 | .extra_temps = .{ |
| 73160 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 74569 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 73161 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 74570 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 73162 | .{ .type = .usize, .kind = .{ .extern_func = "__" ++ @tagName(name) ++ "h" } }, | 74571 | .{ .type = .usize, .kind = .{ .extern_func = "__" ++ @tagName(name) ++ "h" } }, |
| 73163 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 74572 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 73164 | .unused, | 74573 | .unused, |
| ... | @@ -73172,14 +74581,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73172,14 +74581,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73172 | .dst_temps = .{ .mem, .unused }, | 74581 | .dst_temps = .{ .mem, .unused }, |
| 73173 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 74582 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 73174 | .each = .{ .once = &.{ | 74583 | .each = .{ .once = &.{ |
| 73175 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 74584 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 73176 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | 74585 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 73177 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | 74586 | .{ ._, .p_w, .insr, .tmp1x, .memi(.src0w, .tmp0), .ui(0), ._ }, |
| 73178 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 74587 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 73179 | .{ ._, .p_w, .extr, .tmp3d, .tmp1x, .ui(0), ._ }, | 74588 | .{ ._, .p_w, .extr, .tmp3d, .tmp1x, .ui(0), ._ }, |
| 73180 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3w, ._, ._ }, | 74589 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp3w, ._, ._ }, |
| 73181 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 74590 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 73182 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 74591 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 73183 | } }, | 74592 | } }, |
| 73184 | }, .{ | 74593 | }, .{ |
| 73185 | .required_features = .{ .sse, null, null, null }, | 74594 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -73189,10 +74598,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73189,10 +74598,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73189 | }, | 74598 | }, |
| 73190 | .call_frame = .{ .alignment = .@"16" }, | 74599 | .call_frame = .{ .alignment = .@"16" }, |
| 73191 | .extra_temps = .{ | 74600 | .extra_temps = .{ |
| 73192 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 74601 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 73193 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 74602 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 73194 | .{ .type = .f32, .kind = .mem }, | 74603 | .{ .type = .f32, .kind = .mem }, |
| 73195 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 74604 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 73196 | .{ .type = .usize, .kind = .{ .extern_func = "__" ++ @tagName(name) ++ "h" } }, | 74605 | .{ .type = .usize, .kind = .{ .extern_func = "__" ++ @tagName(name) ++ "h" } }, |
| 73197 | .unused, | 74606 | .unused, |
| 73198 | .unused, | 74607 | .unused, |
| ... | @@ -73204,22 +74613,22 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73204,22 +74613,22 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73204 | .dst_temps = .{ .mem, .unused }, | 74613 | .dst_temps = .{ .mem, .unused }, |
| 73205 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 74614 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 73206 | .each = .{ .once = &.{ | 74615 | .each = .{ .once = &.{ |
| 73207 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 74616 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 73208 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 74617 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 73209 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, | 74618 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| 73210 | .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ }, | 74619 | .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ }, |
| 73211 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 74620 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 73212 | .{ ._, ._ss, .mov, .mem(.tmp2d), .tmp3x, ._, ._ }, | 74621 | .{ ._, ._ss, .mov, .mem(.tmp2d), .tmp3x, ._, ._ }, |
| 73213 | .{ ._, ._, .mov, .tmp1d, .mem(.tmp2d), ._, ._ }, | 74622 | .{ ._, ._, .mov, .tmp1d, .mem(.tmp2d), ._, ._ }, |
| 73214 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | 74623 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp1w, ._, ._ }, |
| 73215 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 74624 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 73216 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 74625 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 73217 | } }, | 74626 | } }, |
| 73218 | }, .{ | 74627 | }, .{ |
| 73219 | .required_features = .{ .sse, null, null, null }, | 74628 | .required_features = .{ .sse, null, null, null }, |
| 73220 | .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any }, | 74629 | .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| 73221 | .patterns = &.{ | 74630 | .patterns = &.{ |
| 73222 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 74631 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 73223 | }, | 74632 | }, |
| 73224 | .call_frame = .{ .alignment = .@"16" }, | 74633 | .call_frame = .{ .alignment = .@"16" }, |
| 73225 | .extra_temps = .{ | 74634 | .extra_temps = .{ |
| ... | @@ -73248,8 +74657,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73248,8 +74657,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73248 | }, | 74657 | }, |
| 73249 | .call_frame = .{ .alignment = .@"16" }, | 74658 | .call_frame = .{ .alignment = .@"16" }, |
| 73250 | .extra_temps = .{ | 74659 | .extra_temps = .{ |
| 73251 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 74660 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 73252 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 74661 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 73253 | .{ .type = .usize, .kind = .{ .extern_func = @tagName(name) ++ "f" } }, | 74662 | .{ .type = .usize, .kind = .{ .extern_func = @tagName(name) ++ "f" } }, |
| 73254 | .unused, | 74663 | .unused, |
| 73255 | .unused, | 74664 | .unused, |
| ... | @@ -73263,12 +74672,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73263,12 +74672,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73263 | .dst_temps = .{ .mem, .unused }, | 74672 | .dst_temps = .{ .mem, .unused }, |
| 73264 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 74673 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 73265 | .each = .{ .once = &.{ | 74674 | .each = .{ .once = &.{ |
| 73266 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 74675 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 73267 | .{ .@"0:", .v_ss, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 74676 | .{ .@"0:", .v_ss, .mov, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 73268 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 74677 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 73269 | .{ ._, .v_ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 74678 | .{ ._, .v_ss, .mov, .memi(.dst0d, .tmp0), .tmp1x, ._, ._ }, |
| 73270 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 74679 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 73271 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 74680 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 73272 | } }, | 74681 | } }, |
| 73273 | }, .{ | 74682 | }, .{ |
| 73274 | .required_features = .{ .sse, null, null, null }, | 74683 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -73278,8 +74687,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73278,8 +74687,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73278 | }, | 74687 | }, |
| 73279 | .call_frame = .{ .alignment = .@"16" }, | 74688 | .call_frame = .{ .alignment = .@"16" }, |
| 73280 | .extra_temps = .{ | 74689 | .extra_temps = .{ |
| 73281 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 74690 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 73282 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 74691 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 73283 | .{ .type = .usize, .kind = .{ .extern_func = @tagName(name) ++ "f" } }, | 74692 | .{ .type = .usize, .kind = .{ .extern_func = @tagName(name) ++ "f" } }, |
| 73284 | .unused, | 74693 | .unused, |
| 73285 | .unused, | 74694 | .unused, |
| ... | @@ -73293,18 +74702,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73293,18 +74702,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73293 | .dst_temps = .{ .mem, .unused }, | 74702 | .dst_temps = .{ .mem, .unused }, |
| 73294 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 74703 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 73295 | .each = .{ .once = &.{ | 74704 | .each = .{ .once = &.{ |
| 73296 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 74705 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 73297 | .{ .@"0:", ._ss, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 74706 | .{ .@"0:", ._ss, .mov, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 73298 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 74707 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 73299 | .{ ._, ._ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 74708 | .{ ._, ._ss, .mov, .memi(.dst0d, .tmp0), .tmp1x, ._, ._ }, |
| 73300 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 74709 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 73301 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 74710 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 73302 | } }, | 74711 | } }, |
| 73303 | }, .{ | 74712 | }, .{ |
| 73304 | .required_features = .{ .sse, null, null, null }, | 74713 | .required_features = .{ .sse, null, null, null }, |
| 73305 | .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, | 74714 | .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 73306 | .patterns = &.{ | 74715 | .patterns = &.{ |
| 73307 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 74716 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 73308 | }, | 74717 | }, |
| 73309 | .call_frame = .{ .alignment = .@"16" }, | 74718 | .call_frame = .{ .alignment = .@"16" }, |
| 73310 | .extra_temps = .{ | 74719 | .extra_temps = .{ |
| ... | @@ -73333,8 +74742,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73333,8 +74742,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73333 | }, | 74742 | }, |
| 73334 | .call_frame = .{ .alignment = .@"16" }, | 74743 | .call_frame = .{ .alignment = .@"16" }, |
| 73335 | .extra_temps = .{ | 74744 | .extra_temps = .{ |
| 73336 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 74745 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 73337 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 74746 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 73338 | .{ .type = .usize, .kind = .{ .extern_func = @tagName(name) } }, | 74747 | .{ .type = .usize, .kind = .{ .extern_func = @tagName(name) } }, |
| 73339 | .unused, | 74748 | .unused, |
| 73340 | .unused, | 74749 | .unused, |
| ... | @@ -73348,12 +74757,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73348,12 +74757,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73348 | .dst_temps = .{ .mem, .unused }, | 74757 | .dst_temps = .{ .mem, .unused }, |
| 73349 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 74758 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 73350 | .each = .{ .once = &.{ | 74759 | .each = .{ .once = &.{ |
| 73351 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 74760 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 73352 | .{ .@"0:", .v_sd, .mov, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 74761 | .{ .@"0:", .v_sd, .mov, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 73353 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 74762 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 73354 | .{ ._, .v_sd, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 74763 | .{ ._, .v_sd, .mov, .memi(.dst0q, .tmp0), .tmp1x, ._, ._ }, |
| 73355 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 74764 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 73356 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 74765 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 73357 | } }, | 74766 | } }, |
| 73358 | }, .{ | 74767 | }, .{ |
| 73359 | .required_features = .{ .sse2, null, null, null }, | 74768 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -73363,8 +74772,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73363,8 +74772,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73363 | }, | 74772 | }, |
| 73364 | .call_frame = .{ .alignment = .@"16" }, | 74773 | .call_frame = .{ .alignment = .@"16" }, |
| 73365 | .extra_temps = .{ | 74774 | .extra_temps = .{ |
| 73366 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 74775 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 73367 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 74776 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 73368 | .{ .type = .usize, .kind = .{ .extern_func = @tagName(name) } }, | 74777 | .{ .type = .usize, .kind = .{ .extern_func = @tagName(name) } }, |
| 73369 | .unused, | 74778 | .unused, |
| 73370 | .unused, | 74779 | .unused, |
| ... | @@ -73378,12 +74787,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73378,12 +74787,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73378 | .dst_temps = .{ .mem, .unused }, | 74787 | .dst_temps = .{ .mem, .unused }, |
| 73379 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 74788 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 73380 | .each = .{ .once = &.{ | 74789 | .each = .{ .once = &.{ |
| 73381 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 74790 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 73382 | .{ .@"0:", ._sd, .mov, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 74791 | .{ .@"0:", ._sd, .mov, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 73383 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 74792 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 73384 | .{ ._, ._sd, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 74793 | .{ ._, ._sd, .mov, .memi(.dst0q, .tmp0), .tmp1x, ._, ._ }, |
| 73385 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 74794 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 73386 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 74795 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 73387 | } }, | 74796 | } }, |
| 73388 | }, .{ | 74797 | }, .{ |
| 73389 | .required_features = .{ .sse, null, null, null }, | 74798 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -73393,8 +74802,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73393,8 +74802,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73393 | }, | 74802 | }, |
| 73394 | .call_frame = .{ .alignment = .@"16" }, | 74803 | .call_frame = .{ .alignment = .@"16" }, |
| 73395 | .extra_temps = .{ | 74804 | .extra_temps = .{ |
| 73396 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 74805 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 73397 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 74806 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 73398 | .{ .type = .usize, .kind = .{ .extern_func = @tagName(name) } }, | 74807 | .{ .type = .usize, .kind = .{ .extern_func = @tagName(name) } }, |
| 73399 | .unused, | 74808 | .unused, |
| 73400 | .unused, | 74809 | .unused, |
| ... | @@ -73408,15 +74817,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73408,15 +74817,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73408 | .dst_temps = .{ .mem, .unused }, | 74817 | .dst_temps = .{ .mem, .unused }, |
| 73409 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 74818 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 73410 | .each = .{ .once = &.{ | 74819 | .each = .{ .once = &.{ |
| 73411 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 74820 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 73412 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, | 74821 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 73413 | .{ ._, ._ps, .movl, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 74822 | .{ ._, ._ps, .movl, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 73414 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 74823 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 73415 | .{ ._, ._ps, .movl, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 74824 | .{ ._, ._ps, .movl, .memi(.dst0q, .tmp0), .tmp1x, ._, ._ }, |
| 73416 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 74825 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 73417 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 74826 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 73418 | } }, | 74827 | } }, |
| 73419 | }, .{ | 74828 | }, .{ |
| | 74829 | .required_cc_abi = .sysv64, |
| 73420 | .required_features = .{ .avx, .x87, null, null }, | 74830 | .required_features = .{ .avx, .x87, null, null }, |
| 73421 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 74831 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 73422 | .patterns = &.{ | 74832 | .patterns = &.{ |
| ... | @@ -73424,7 +74834,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73424,7 +74834,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73424 | }, | 74834 | }, |
| 73425 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 74835 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 73426 | .extra_temps = .{ | 74836 | .extra_temps = .{ |
| 73427 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 74837 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 73428 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 74838 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 73429 | .{ .type = .usize, .kind = .{ .extern_func = "__" ++ @tagName(name) ++ "x" } }, | 74839 | .{ .type = .usize, .kind = .{ .extern_func = "__" ++ @tagName(name) ++ "x" } }, |
| 73430 | .unused, | 74840 | .unused, |
| ... | @@ -73444,6 +74854,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73444,6 +74854,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73444 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 74854 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 73445 | } }, | 74855 | } }, |
| 73446 | }, .{ | 74856 | }, .{ |
| | 74857 | .required_cc_abi = .sysv64, |
| 73447 | .required_features = .{ .sse2, .x87, null, null }, | 74858 | .required_features = .{ .sse2, .x87, null, null }, |
| 73448 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 74859 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 73449 | .patterns = &.{ | 74860 | .patterns = &.{ |
| ... | @@ -73451,7 +74862,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73451,7 +74862,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73451 | }, | 74862 | }, |
| 73452 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 74863 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 73453 | .extra_temps = .{ | 74864 | .extra_temps = .{ |
| 73454 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 74865 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 73455 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 74866 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 73456 | .{ .type = .usize, .kind = .{ .extern_func = "__" ++ @tagName(name) ++ "x" } }, | 74867 | .{ .type = .usize, .kind = .{ .extern_func = "__" ++ @tagName(name) ++ "x" } }, |
| 73457 | .unused, | 74868 | .unused, |
| ... | @@ -73471,6 +74882,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73471,6 +74882,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73471 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 74882 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 73472 | } }, | 74883 | } }, |
| 73473 | }, .{ | 74884 | }, .{ |
| | 74885 | .required_cc_abi = .sysv64, |
| 73474 | .required_features = .{ .sse, .x87, null, null }, | 74886 | .required_features = .{ .sse, .x87, null, null }, |
| 73475 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 74887 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 73476 | .patterns = &.{ | 74888 | .patterns = &.{ |
| ... | @@ -73478,7 +74890,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73478,7 +74890,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73478 | }, | 74890 | }, |
| 73479 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 74891 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 73480 | .extra_temps = .{ | 74892 | .extra_temps = .{ |
| 73481 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 74893 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 73482 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 74894 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 73483 | .{ .type = .usize, .kind = .{ .extern_func = "__" ++ @tagName(name) ++ "x" } }, | 74895 | .{ .type = .usize, .kind = .{ .extern_func = "__" ++ @tagName(name) ++ "x" } }, |
| 73484 | .unused, | 74896 | .unused, |
| ... | @@ -73498,6 +74910,34 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73498,6 +74910,34 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73498 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 74910 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 73499 | } }, | 74911 | } }, |
| 73500 | }, .{ | 74912 | }, .{ |
| | 74913 | .required_cc_abi = .win64, |
| | 74914 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 74915 | .patterns = &.{ |
| | 74916 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 74917 | }, |
| | 74918 | .call_frame = .{ .alignment = .@"16" }, |
| | 74919 | .extra_temps = .{ |
| | 74920 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 74921 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 74922 | .{ .type = .usize, .kind = .{ .extern_func = "__" ++ @tagName(name) ++ "x" } }, |
| | 74923 | .unused, |
| | 74924 | .unused, |
| | 74925 | .unused, |
| | 74926 | .unused, |
| | 74927 | .unused, |
| | 74928 | .unused, |
| | 74929 | .unused, |
| | 74930 | .unused, |
| | 74931 | }, |
| | 74932 | .dst_temps = .{ .mem, .unused }, |
| | 74933 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 74934 | .each = .{ .once = &.{ |
| | 74935 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| | 74936 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, |
| | 74937 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 74938 | } }, |
| | 74939 | }, .{ |
| | 74940 | .required_cc_abi = .sysv64, |
| 73501 | .required_features = .{ .avx, .x87, null, null }, | 74941 | .required_features = .{ .avx, .x87, null, null }, |
| 73502 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 74942 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 73503 | .patterns = &.{ | 74943 | .patterns = &.{ |
| ... | @@ -73505,8 +74945,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73505,8 +74945,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73505 | }, | 74945 | }, |
| 73506 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 74946 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 73507 | .extra_temps = .{ | 74947 | .extra_temps = .{ |
| 73508 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 74948 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 73509 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 74949 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 73510 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 74950 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 73511 | .{ .type = .usize, .kind = .{ .extern_func = "__" ++ @tagName(name) ++ "x" } }, | 74951 | .{ .type = .usize, .kind = .{ .extern_func = "__" ++ @tagName(name) ++ "x" } }, |
| 73512 | .unused, | 74952 | .unused, |
| ... | @@ -73520,16 +74960,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73520,16 +74960,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73520 | .dst_temps = .{ .mem, .unused }, | 74960 | .dst_temps = .{ .mem, .unused }, |
| 73521 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 74961 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 73522 | .each = .{ .once = &.{ | 74962 | .each = .{ .once = &.{ |
| 73523 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 74963 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 73524 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 74964 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 73525 | .{ ._, .v_dqa, .mov, .mem(.tmp2x), .tmp1x, ._, ._ }, | 74965 | .{ ._, .v_dqa, .mov, .mem(.tmp2x), .tmp1x, ._, ._ }, |
| 73526 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 74966 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 73527 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, | 74967 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, |
| 73528 | .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 74968 | .{ ._, .f_p, .st, .memi(.dst0t, .tmp0), ._, ._, ._ }, |
| 73529 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 74969 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 73530 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 74970 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 73531 | } }, | 74971 | } }, |
| 73532 | }, .{ | 74972 | }, .{ |
| | 74973 | .required_cc_abi = .sysv64, |
| 73533 | .required_features = .{ .sse2, .x87, null, null }, | 74974 | .required_features = .{ .sse2, .x87, null, null }, |
| 73534 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 74975 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 73535 | .patterns = &.{ | 74976 | .patterns = &.{ |
| ... | @@ -73537,8 +74978,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73537,8 +74978,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73537 | }, | 74978 | }, |
| 73538 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 74979 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 73539 | .extra_temps = .{ | 74980 | .extra_temps = .{ |
| 73540 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 74981 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 73541 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 74982 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 73542 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 74983 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 73543 | .{ .type = .usize, .kind = .{ .extern_func = "__" ++ @tagName(name) ++ "x" } }, | 74984 | .{ .type = .usize, .kind = .{ .extern_func = "__" ++ @tagName(name) ++ "x" } }, |
| 73544 | .unused, | 74985 | .unused, |
| ... | @@ -73552,16 +74993,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73552,16 +74993,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73552 | .dst_temps = .{ .mem, .unused }, | 74993 | .dst_temps = .{ .mem, .unused }, |
| 73553 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 74994 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 73554 | .each = .{ .once = &.{ | 74995 | .each = .{ .once = &.{ |
| 73555 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 74996 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 73556 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 74997 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 73557 | .{ ._, ._dqa, .mov, .mem(.tmp2x), .tmp1x, ._, ._ }, | 74998 | .{ ._, ._dqa, .mov, .mem(.tmp2x), .tmp1x, ._, ._ }, |
| 73558 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 74999 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 73559 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, | 75000 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, |
| 73560 | .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 75001 | .{ ._, .f_p, .st, .memi(.dst0t, .tmp0), ._, ._, ._ }, |
| 73561 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 75002 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 73562 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 75003 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 73563 | } }, | 75004 | } }, |
| 73564 | }, .{ | 75005 | }, .{ |
| | 75006 | .required_cc_abi = .sysv64, |
| 73565 | .required_features = .{ .sse, .x87, null, null }, | 75007 | .required_features = .{ .sse, .x87, null, null }, |
| 73566 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 75008 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 73567 | .patterns = &.{ | 75009 | .patterns = &.{ |
| ... | @@ -73569,8 +75011,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73569,8 +75011,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73569 | }, | 75011 | }, |
| 73570 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 75012 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 73571 | .extra_temps = .{ | 75013 | .extra_temps = .{ |
| 73572 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 75014 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 73573 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 75015 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 73574 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 75016 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 73575 | .{ .type = .usize, .kind = .{ .extern_func = "__" ++ @tagName(name) ++ "x" } }, | 75017 | .{ .type = .usize, .kind = .{ .extern_func = "__" ++ @tagName(name) ++ "x" } }, |
| 73576 | .unused, | 75018 | .unused, |
| ... | @@ -73584,20 +75026,50 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73584,20 +75026,50 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73584 | .dst_temps = .{ .mem, .unused }, | 75026 | .dst_temps = .{ .mem, .unused }, |
| 73585 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 75027 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 73586 | .each = .{ .once = &.{ | 75028 | .each = .{ .once = &.{ |
| 73587 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 75029 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 73588 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 75030 | .{ .@"0:", ._ps, .mova, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 73589 | .{ ._, ._ps, .mova, .mem(.tmp2x), .tmp1x, ._, ._ }, | 75031 | .{ ._, ._ps, .mova, .mem(.tmp2x), .tmp1x, ._, ._ }, |
| 73590 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 75032 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 73591 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, | 75033 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, |
| 73592 | .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 75034 | .{ ._, .f_p, .st, .memi(.dst0t, .tmp0), ._, ._, ._ }, |
| 73593 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 75035 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 73594 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 75036 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 75037 | } }, |
| | 75038 | }, .{ |
| | 75039 | .required_cc_abi = .win64, |
| | 75040 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 75041 | .patterns = &.{ |
| | 75042 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 75043 | }, |
| | 75044 | .call_frame = .{ .alignment = .@"16" }, |
| | 75045 | .extra_temps = .{ |
| | 75046 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 75047 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 75048 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 75049 | .{ .type = .usize, .kind = .{ .extern_func = "__" ++ @tagName(name) ++ "x" } }, |
| | 75050 | .unused, |
| | 75051 | .unused, |
| | 75052 | .unused, |
| | 75053 | .unused, |
| | 75054 | .unused, |
| | 75055 | .unused, |
| | 75056 | .unused, |
| | 75057 | }, |
| | 75058 | .dst_temps = .{ .mem, .unused }, |
| | 75059 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 75060 | .each = .{ .once = &.{ |
| | 75061 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 75062 | .{ .@"0:", ._, .lea, .tmp1p, .memi(.dst0, .tmp0), ._, ._ }, |
| | 75063 | .{ ._, ._, .lea, .tmp2p, .memi(.src0, .tmp0), ._, ._ }, |
| | 75064 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 75065 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 75066 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 73595 | } }, | 75067 | } }, |
| 73596 | }, .{ | 75068 | }, .{ |
| 73597 | .required_features = .{ .sse, null, null, null }, | 75069 | .required_features = .{ .sse, null, null, null }, |
| 73598 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, | 75070 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 73599 | .patterns = &.{ | 75071 | .patterns = &.{ |
| 73600 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 75072 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 73601 | }, | 75073 | }, |
| 73602 | .call_frame = .{ .alignment = .@"16" }, | 75074 | .call_frame = .{ .alignment = .@"16" }, |
| 73603 | .extra_temps = .{ | 75075 | .extra_temps = .{ |
| ... | @@ -73626,8 +75098,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73626,8 +75098,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73626 | }, | 75098 | }, |
| 73627 | .call_frame = .{ .alignment = .@"16" }, | 75099 | .call_frame = .{ .alignment = .@"16" }, |
| 73628 | .extra_temps = .{ | 75100 | .extra_temps = .{ |
| 73629 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 75101 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 73630 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 75102 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 73631 | .{ .type = .usize, .kind = .{ .extern_func = @tagName(name) ++ "q" } }, | 75103 | .{ .type = .usize, .kind = .{ .extern_func = @tagName(name) ++ "q" } }, |
| 73632 | .unused, | 75104 | .unused, |
| 73633 | .unused, | 75105 | .unused, |
| ... | @@ -73641,12 +75113,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73641,12 +75113,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73641 | .dst_temps = .{ .mem, .unused }, | 75113 | .dst_temps = .{ .mem, .unused }, |
| 73642 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 75114 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 73643 | .each = .{ .once = &.{ | 75115 | .each = .{ .once = &.{ |
| 73644 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 75116 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 73645 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 75117 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 73646 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 75118 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 73647 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 75119 | .{ ._, .v_dqa, .mov, .memi(.dst0x, .tmp0), .tmp1x, ._, ._ }, |
| 73648 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 75120 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 73649 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 75121 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 73650 | } }, | 75122 | } }, |
| 73651 | }, .{ | 75123 | }, .{ |
| 73652 | .required_features = .{ .sse2, null, null, null }, | 75124 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -73656,8 +75128,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73656,8 +75128,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73656 | }, | 75128 | }, |
| 73657 | .call_frame = .{ .alignment = .@"16" }, | 75129 | .call_frame = .{ .alignment = .@"16" }, |
| 73658 | .extra_temps = .{ | 75130 | .extra_temps = .{ |
| 73659 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 75131 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 73660 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 75132 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 73661 | .{ .type = .usize, .kind = .{ .extern_func = @tagName(name) ++ "q" } }, | 75133 | .{ .type = .usize, .kind = .{ .extern_func = @tagName(name) ++ "q" } }, |
| 73662 | .unused, | 75134 | .unused, |
| 73663 | .unused, | 75135 | .unused, |
| ... | @@ -73671,12 +75143,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73671,12 +75143,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73671 | .dst_temps = .{ .mem, .unused }, | 75143 | .dst_temps = .{ .mem, .unused }, |
| 73672 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 75144 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 73673 | .each = .{ .once = &.{ | 75145 | .each = .{ .once = &.{ |
| 73674 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 75146 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 73675 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 75147 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 73676 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 75148 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 73677 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 75149 | .{ ._, ._dqa, .mov, .memi(.dst0x, .tmp0), .tmp1x, ._, ._ }, |
| 73678 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 75150 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 73679 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 75151 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 73680 | } }, | 75152 | } }, |
| 73681 | }, .{ | 75153 | }, .{ |
| 73682 | .required_features = .{ .sse, null, null, null }, | 75154 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -73686,8 +75158,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73686,8 +75158,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73686 | }, | 75158 | }, |
| 73687 | .call_frame = .{ .alignment = .@"16" }, | 75159 | .call_frame = .{ .alignment = .@"16" }, |
| 73688 | .extra_temps = .{ | 75160 | .extra_temps = .{ |
| 73689 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 75161 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 73690 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 75162 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 73691 | .{ .type = .usize, .kind = .{ .extern_func = @tagName(name) ++ "q" } }, | 75163 | .{ .type = .usize, .kind = .{ .extern_func = @tagName(name) ++ "q" } }, |
| 73692 | .unused, | 75164 | .unused, |
| 73693 | .unused, | 75165 | .unused, |
| ... | @@ -73701,12 +75173,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73701,12 +75173,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73701 | .dst_temps = .{ .mem, .unused }, | 75173 | .dst_temps = .{ .mem, .unused }, |
| 73702 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 75174 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 73703 | .each = .{ .once = &.{ | 75175 | .each = .{ .once = &.{ |
| 73704 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 75176 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 73705 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 75177 | .{ .@"0:", ._ps, .mova, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 73706 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 75178 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 73707 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 75179 | .{ ._, ._ps, .mova, .memi(.dst0x, .tmp0), .tmp1x, ._, ._ }, |
| 73708 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 75180 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 73709 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 75181 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 73710 | } }, | 75182 | } }, |
| 73711 | } }, | 75183 | } }, |
| 73712 | }) catch |err| switch (err) { | 75184 | }) catch |err| switch (err) { |
| ... | @@ -73719,7 +75191,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -73719,7 +75191,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 73719 | }; | 75191 | }; |
| 73720 | try res[0].finish(inst, &.{un_op}, &ops, cg); | 75192 | try res[0].finish(inst, &.{un_op}, &ops, cg); |
| 73721 | }, | 75193 | }, |
| 73722 | .abs => |air_tag| if (use_old) try cg.airAbs(inst) else { | 75194 | .abs => |air_tag| { |
| 73723 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 75195 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 73724 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); | 75196 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); |
| 73725 | var res: [1]Temp = undefined; | 75197 | var res: [1]Temp = undefined; |
| ... | @@ -75270,12 +76742,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -75270,12 +76742,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 75270 | }; | 76742 | }; |
| 75271 | try res[0].finish(inst, &.{ty_op.operand}, &ops, cg); | 76743 | try res[0].finish(inst, &.{ty_op.operand}, &ops, cg); |
| 75272 | }, | 76744 | }, |
| 75273 | .floor, .ceil, .trunc_float => |air_tag| if (use_old) try cg.airRound(inst, .{ .direction = switch (air_tag) { | 76745 | .floor, .ceil, .trunc_float => |air_tag| { |
| 75274 | else => unreachable, | | |
| 75275 | .floor => .down, | | |
| 75276 | .ceil => .up, | | |
| 75277 | .trunc_float => .zero, | | |
| 75278 | }, .precision = .inexact }) else { | | |
| 75279 | const un_op = air_datas[@intFromEnum(inst)].un_op; | 76746 | const un_op = air_datas[@intFromEnum(inst)].un_op; |
| 75280 | var ops = try cg.tempsFromOperands(inst, .{un_op}); | 76747 | var ops = try cg.tempsFromOperands(inst, .{un_op}); |
| 75281 | var res: [1]Temp = undefined; | 76748 | var res: [1]Temp = undefined; |
| ... | @@ -75302,7 +76769,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -75302,7 +76769,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 75302 | .required_features = .{ .sse, null, null, null }, | 76769 | .required_features = .{ .sse, null, null, null }, |
| 75303 | .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, | 76770 | .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| 75304 | .patterns = &.{ | 76771 | .patterns = &.{ |
| 75305 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 76772 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 75306 | }, | 76773 | }, |
| 75307 | .call_frame = .{ .alignment = .@"16" }, | 76774 | .call_frame = .{ .alignment = .@"16" }, |
| 75308 | .extra_temps = .{ | 76775 | .extra_temps = .{ |
| ... | @@ -75392,7 +76859,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -75392,7 +76859,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 75392 | .call_frame = .{ .alignment = .@"16" }, | 76859 | .call_frame = .{ .alignment = .@"16" }, |
| 75393 | .extra_temps = .{ | 76860 | .extra_temps = .{ |
| 75394 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 76861 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 75395 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 76862 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 75396 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { | 76863 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| 75397 | else => unreachable, | 76864 | else => unreachable, |
| 75398 | .down => "__floorh", | 76865 | .down => "__floorh", |
| ... | @@ -75428,7 +76895,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -75428,7 +76895,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 75428 | .call_frame = .{ .alignment = .@"16" }, | 76895 | .call_frame = .{ .alignment = .@"16" }, |
| 75429 | .extra_temps = .{ | 76896 | .extra_temps = .{ |
| 75430 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 76897 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 75431 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 76898 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 75432 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { | 76899 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| 75433 | else => unreachable, | 76900 | else => unreachable, |
| 75434 | .down => "__floorh", | 76901 | .down => "__floorh", |
| ... | @@ -75464,7 +76931,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -75464,7 +76931,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 75464 | .call_frame = .{ .alignment = .@"16" }, | 76931 | .call_frame = .{ .alignment = .@"16" }, |
| 75465 | .extra_temps = .{ | 76932 | .extra_temps = .{ |
| 75466 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 76933 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 75467 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 76934 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 75468 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { | 76935 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| 75469 | else => unreachable, | 76936 | else => unreachable, |
| 75470 | .down => "__floorh", | 76937 | .down => "__floorh", |
| ... | @@ -75503,7 +76970,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -75503,7 +76970,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 75503 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 76970 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 75504 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 76971 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 75505 | .{ .type = .f32, .kind = .mem }, | 76972 | .{ .type = .f32, .kind = .mem }, |
| 75506 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 76973 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 75507 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { | 76974 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| 75508 | else => unreachable, | 76975 | else => unreachable, |
| 75509 | .down => "__floorh", | 76976 | .down => "__floorh", |
| ... | @@ -75577,7 +77044,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -75577,7 +77044,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 75577 | .required_features = .{ .sse, null, null, null }, | 77044 | .required_features = .{ .sse, null, null, null }, |
| 75578 | .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any }, | 77045 | .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| 75579 | .patterns = &.{ | 77046 | .patterns = &.{ |
| 75580 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 77047 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 75581 | }, | 77048 | }, |
| 75582 | .call_frame = .{ .alignment = .@"16" }, | 77049 | .call_frame = .{ .alignment = .@"16" }, |
| 75583 | .extra_temps = .{ | 77050 | .extra_temps = .{ |
| ... | @@ -75707,7 +77174,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -75707,7 +77174,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 75707 | .call_frame = .{ .alignment = .@"16" }, | 77174 | .call_frame = .{ .alignment = .@"16" }, |
| 75708 | .extra_temps = .{ | 77175 | .extra_temps = .{ |
| 75709 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 77176 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 75710 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 77177 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 75711 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { | 77178 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| 75712 | else => unreachable, | 77179 | else => unreachable, |
| 75713 | .down => "floorf", | 77180 | .down => "floorf", |
| ... | @@ -75742,7 +77209,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -75742,7 +77209,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 75742 | .call_frame = .{ .alignment = .@"16" }, | 77209 | .call_frame = .{ .alignment = .@"16" }, |
| 75743 | .extra_temps = .{ | 77210 | .extra_temps = .{ |
| 75744 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 77211 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 75745 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 77212 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 75746 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { | 77213 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| 75747 | else => unreachable, | 77214 | else => unreachable, |
| 75748 | .down => "floorf", | 77215 | .down => "floorf", |
| ... | @@ -75814,7 +77281,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -75814,7 +77281,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 75814 | .required_features = .{ .sse, null, null, null }, | 77281 | .required_features = .{ .sse, null, null, null }, |
| 75815 | .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, | 77282 | .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 75816 | .patterns = &.{ | 77283 | .patterns = &.{ |
| 75817 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 77284 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 75818 | }, | 77285 | }, |
| 75819 | .call_frame = .{ .alignment = .@"16" }, | 77286 | .call_frame = .{ .alignment = .@"16" }, |
| 75820 | .extra_temps = .{ | 77287 | .extra_temps = .{ |
| ... | @@ -75944,7 +77411,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -75944,7 +77411,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 75944 | .call_frame = .{ .alignment = .@"16" }, | 77411 | .call_frame = .{ .alignment = .@"16" }, |
| 75945 | .extra_temps = .{ | 77412 | .extra_temps = .{ |
| 75946 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 77413 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 75947 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 77414 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 75948 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { | 77415 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| 75949 | else => unreachable, | 77416 | else => unreachable, |
| 75950 | .down => "floor", | 77417 | .down => "floor", |
| ... | @@ -75979,7 +77446,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -75979,7 +77446,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 75979 | .call_frame = .{ .alignment = .@"16" }, | 77446 | .call_frame = .{ .alignment = .@"16" }, |
| 75980 | .extra_temps = .{ | 77447 | .extra_temps = .{ |
| 75981 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 77448 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 75982 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 77449 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 75983 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { | 77450 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| 75984 | else => unreachable, | 77451 | else => unreachable, |
| 75985 | .down => "floor", | 77452 | .down => "floor", |
| ... | @@ -76014,7 +77481,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -76014,7 +77481,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 76014 | .call_frame = .{ .alignment = .@"16" }, | 77481 | .call_frame = .{ .alignment = .@"16" }, |
| 76015 | .extra_temps = .{ | 77482 | .extra_temps = .{ |
| 76016 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 77483 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 76017 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 77484 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 76018 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { | 77485 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| 76019 | else => unreachable, | 77486 | else => unreachable, |
| 76020 | .down => "floor", | 77487 | .down => "floor", |
| ... | @@ -76042,6 +77509,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -76042,6 +77509,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 76042 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 77509 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 76043 | } }, | 77510 | } }, |
| 76044 | }, .{ | 77511 | }, .{ |
| | 77512 | .required_cc_abi = .sysv64, |
| 76045 | .required_features = .{ .avx, .x87, null, null }, | 77513 | .required_features = .{ .avx, .x87, null, null }, |
| 76046 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 77514 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 76047 | .patterns = &.{ | 77515 | .patterns = &.{ |
| ... | @@ -76049,7 +77517,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -76049,7 +77517,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 76049 | }, | 77517 | }, |
| 76050 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 77518 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 76051 | .extra_temps = .{ | 77519 | .extra_temps = .{ |
| 76052 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 77520 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 76053 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 77521 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 76054 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { | 77522 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| 76055 | else => unreachable, | 77523 | else => unreachable, |
| ... | @@ -76074,6 +77542,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -76074,6 +77542,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 76074 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 77542 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 76075 | } }, | 77543 | } }, |
| 76076 | }, .{ | 77544 | }, .{ |
| | 77545 | .required_cc_abi = .sysv64, |
| 76077 | .required_features = .{ .sse2, .x87, null, null }, | 77546 | .required_features = .{ .sse2, .x87, null, null }, |
| 76078 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 77547 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 76079 | .patterns = &.{ | 77548 | .patterns = &.{ |
| ... | @@ -76081,7 +77550,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -76081,7 +77550,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 76081 | }, | 77550 | }, |
| 76082 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 77551 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 76083 | .extra_temps = .{ | 77552 | .extra_temps = .{ |
| 76084 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 77553 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 76085 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 77554 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 76086 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { | 77555 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| 76087 | else => unreachable, | 77556 | else => unreachable, |
| ... | @@ -76106,6 +77575,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -76106,6 +77575,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 76106 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 77575 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 76107 | } }, | 77576 | } }, |
| 76108 | }, .{ | 77577 | }, .{ |
| | 77578 | .required_cc_abi = .sysv64, |
| 76109 | .required_features = .{ .sse, .x87, null, null }, | 77579 | .required_features = .{ .sse, .x87, null, null }, |
| 76110 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 77580 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 76111 | .patterns = &.{ | 77581 | .patterns = &.{ |
| ... | @@ -76113,7 +77583,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -76113,7 +77583,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 76113 | }, | 77583 | }, |
| 76114 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 77584 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 76115 | .extra_temps = .{ | 77585 | .extra_temps = .{ |
| 76116 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 77586 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 76117 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 77587 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 76118 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { | 77588 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| 76119 | else => unreachable, | 77589 | else => unreachable, |
| ... | @@ -76138,6 +77608,39 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -76138,6 +77608,39 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 76138 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 77608 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 76139 | } }, | 77609 | } }, |
| 76140 | }, .{ | 77610 | }, .{ |
| | 77611 | .required_cc_abi = .win64, |
| | 77612 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 77613 | .patterns = &.{ |
| | 77614 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 77615 | }, |
| | 77616 | .call_frame = .{ .alignment = .@"16" }, |
| | 77617 | .extra_temps = .{ |
| | 77618 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 77619 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 77620 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| | 77621 | else => unreachable, |
| | 77622 | .down => "__floorx", |
| | 77623 | .up => "__ceilx", |
| | 77624 | .zero => "__truncx", |
| | 77625 | } } }, |
| | 77626 | .unused, |
| | 77627 | .unused, |
| | 77628 | .unused, |
| | 77629 | .unused, |
| | 77630 | .unused, |
| | 77631 | .unused, |
| | 77632 | .unused, |
| | 77633 | .unused, |
| | 77634 | }, |
| | 77635 | .dst_temps = .{ .mem, .unused }, |
| | 77636 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 77637 | .each = .{ .once = &.{ |
| | 77638 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| | 77639 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, |
| | 77640 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 77641 | } }, |
| | 77642 | }, .{ |
| | 77643 | .required_cc_abi = .sysv64, |
| 76141 | .required_features = .{ .avx, .x87, null, null }, | 77644 | .required_features = .{ .avx, .x87, null, null }, |
| 76142 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 77645 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 76143 | .patterns = &.{ | 77646 | .patterns = &.{ |
| ... | @@ -76146,7 +77649,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -76146,7 +77649,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 76146 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 77649 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 76147 | .extra_temps = .{ | 77650 | .extra_temps = .{ |
| 76148 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 77651 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 76149 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 77652 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 76150 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 77653 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 76151 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { | 77654 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| 76152 | else => unreachable, | 77655 | else => unreachable, |
| ... | @@ -76175,6 +77678,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -76175,6 +77678,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 76175 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 77678 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 76176 | } }, | 77679 | } }, |
| 76177 | }, .{ | 77680 | }, .{ |
| | 77681 | .required_cc_abi = .sysv64, |
| 76178 | .required_features = .{ .sse2, .x87, null, null }, | 77682 | .required_features = .{ .sse2, .x87, null, null }, |
| 76179 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 77683 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 76180 | .patterns = &.{ | 77684 | .patterns = &.{ |
| ... | @@ -76183,7 +77687,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -76183,7 +77687,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 76183 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 77687 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 76184 | .extra_temps = .{ | 77688 | .extra_temps = .{ |
| 76185 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 77689 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 76186 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 77690 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 76187 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 77691 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 76188 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { | 77692 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| 76189 | else => unreachable, | 77693 | else => unreachable, |
| ... | @@ -76212,6 +77716,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -76212,6 +77716,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 76212 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 77716 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 76213 | } }, | 77717 | } }, |
| 76214 | }, .{ | 77718 | }, .{ |
| | 77719 | .required_cc_abi = .sysv64, |
| 76215 | .required_features = .{ .sse, .x87, null, null }, | 77720 | .required_features = .{ .sse, .x87, null, null }, |
| 76216 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 77721 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 76217 | .patterns = &.{ | 77722 | .patterns = &.{ |
| ... | @@ -76220,7 +77725,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -76220,7 +77725,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 76220 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 77725 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 76221 | .extra_temps = .{ | 77726 | .extra_temps = .{ |
| 76222 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 77727 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 76223 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 77728 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 76224 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 77729 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 76225 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { | 77730 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| 76226 | else => unreachable, | 77731 | else => unreachable, |
| ... | @@ -76248,11 +77753,46 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -76248,11 +77753,46 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 76248 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 77753 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 76249 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 77754 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 76250 | } }, | 77755 | } }, |
| | 77756 | }, .{ |
| | 77757 | .required_cc_abi = .win64, |
| | 77758 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 77759 | .patterns = &.{ |
| | 77760 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 77761 | }, |
| | 77762 | .call_frame = .{ .alignment = .@"16" }, |
| | 77763 | .extra_temps = .{ |
| | 77764 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 77765 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 77766 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 77767 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| | 77768 | else => unreachable, |
| | 77769 | .down => "__floorx", |
| | 77770 | .up => "__ceilx", |
| | 77771 | .zero => "__truncx", |
| | 77772 | } } }, |
| | 77773 | .unused, |
| | 77774 | .unused, |
| | 77775 | .unused, |
| | 77776 | .unused, |
| | 77777 | .unused, |
| | 77778 | .unused, |
| | 77779 | .unused, |
| | 77780 | }, |
| | 77781 | .dst_temps = .{ .mem, .unused }, |
| | 77782 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 77783 | .each = .{ .once = &.{ |
| | 77784 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 77785 | .{ .@"0:", ._, .lea, .tmp1p, .memia(.dst0, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 77786 | .{ ._, ._, .lea, .tmp2p, .memia(.src0, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 77787 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 77788 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| | 77789 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 77790 | } }, |
| 76251 | }, .{ | 77791 | }, .{ |
| 76252 | .required_features = .{ .sse, null, null, null }, | 77792 | .required_features = .{ .sse, null, null, null }, |
| 76253 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, | 77793 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 76254 | .patterns = &.{ | 77794 | .patterns = &.{ |
| 76255 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 77795 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 76256 | }, | 77796 | }, |
| 76257 | .call_frame = .{ .alignment = .@"16" }, | 77797 | .call_frame = .{ .alignment = .@"16" }, |
| 76258 | .extra_temps = .{ | 77798 | .extra_temps = .{ |
| ... | @@ -76287,7 +77827,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -76287,7 +77827,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 76287 | .call_frame = .{ .alignment = .@"16" }, | 77827 | .call_frame = .{ .alignment = .@"16" }, |
| 76288 | .extra_temps = .{ | 77828 | .extra_temps = .{ |
| 76289 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 77829 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 76290 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 77830 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 76291 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { | 77831 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| 76292 | else => unreachable, | 77832 | else => unreachable, |
| 76293 | .down => "floorq", | 77833 | .down => "floorq", |
| ... | @@ -76322,7 +77862,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -76322,7 +77862,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 76322 | .call_frame = .{ .alignment = .@"16" }, | 77862 | .call_frame = .{ .alignment = .@"16" }, |
| 76323 | .extra_temps = .{ | 77863 | .extra_temps = .{ |
| 76324 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 77864 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 76325 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 77865 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 76326 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { | 77866 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| 76327 | else => unreachable, | 77867 | else => unreachable, |
| 76328 | .down => "floorq", | 77868 | .down => "floorq", |
| ... | @@ -76357,7 +77897,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -76357,7 +77897,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 76357 | .call_frame = .{ .alignment = .@"16" }, | 77897 | .call_frame = .{ .alignment = .@"16" }, |
| 76358 | .extra_temps = .{ | 77898 | .extra_temps = .{ |
| 76359 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 77899 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 76360 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 77900 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 76361 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { | 77901 | .{ .type = .usize, .kind = .{ .extern_func = switch (direction) { |
| 76362 | else => unreachable, | 77902 | else => unreachable, |
| 76363 | .down => "floorq", | 77903 | .down => "floorq", |
| ... | @@ -76394,7 +77934,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -76394,7 +77934,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 76394 | }; | 77934 | }; |
| 76395 | try res[0].finish(inst, &.{un_op}, &ops, cg); | 77935 | try res[0].finish(inst, &.{un_op}, &ops, cg); |
| 76396 | }, | 77936 | }, |
| 76397 | .neg, .neg_optimized => |air_tag| if (use_old) try cg.airFloatSign(inst, .neg) else { | 77937 | .neg, .neg_optimized => |air_tag| { |
| 76398 | const un_op = air_datas[@intFromEnum(inst)].un_op; | 77938 | const un_op = air_datas[@intFromEnum(inst)].un_op; |
| 76399 | var ops = try cg.tempsFromOperands(inst, .{un_op}); | 77939 | var ops = try cg.tempsFromOperands(inst, .{un_op}); |
| 76400 | var res: [1]Temp = undefined; | 77940 | var res: [1]Temp = undefined; |
| ... | @@ -76942,7 +78482,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -76942,7 +78482,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 76942 | .cmp_gte_optimized, | 78482 | .cmp_gte_optimized, |
| 76943 | .cmp_gt, | 78483 | .cmp_gt, |
| 76944 | .cmp_gt_optimized, | 78484 | .cmp_gt_optimized, |
| 76945 | => |air_tag| if (use_old) try cg.airCmp(inst, air_tag.toCmpOp().?) else { | 78485 | => |air_tag| { |
| 76946 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | 78486 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| 76947 | const cmp_op = air_tag.toCmpOp().?; | 78487 | const cmp_op = air_tag.toCmpOp().?; |
| 76948 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 78488 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| ... | @@ -76991,7 +78531,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -76991,7 +78531,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 76991 | .required_features = .{ .sse, null, null, null }, | 78531 | .required_features = .{ .sse, null, null, null }, |
| 76992 | .src_constraints = .{ .{ .float = .word }, .{ .float = .word }, .any }, | 78532 | .src_constraints = .{ .{ .float = .word }, .{ .float = .word }, .any }, |
| 76993 | .patterns = &.{ | 78533 | .patterns = &.{ |
| 76994 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 78534 | .{ .src = .{ |
| | 78535 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 78536 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 78537 | .none, |
| | 78538 | } }, |
| 76995 | }, | 78539 | }, |
| 76996 | .call_frame = .{ .alignment = .@"16" }, | 78540 | .call_frame = .{ .alignment = .@"16" }, |
| 76997 | .extra_temps = .{ | 78541 | .extra_temps = .{ |
| ... | @@ -77334,7 +78878,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -77334,7 +78878,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 77334 | .required_features = .{ .sse, null, null, null }, | 78878 | .required_features = .{ .sse, null, null, null }, |
| 77335 | .src_constraints = .{ .{ .float = .xword }, .{ .float = .xword }, .any }, | 78879 | .src_constraints = .{ .{ .float = .xword }, .{ .float = .xword }, .any }, |
| 77336 | .patterns = &.{ | 78880 | .patterns = &.{ |
| 77337 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 78881 | .{ .src = .{ |
| | 78882 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 78883 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 78884 | .none, |
| | 78885 | } }, |
| 77338 | }, | 78886 | }, |
| 77339 | .call_frame = .{ .alignment = .@"16" }, | 78887 | .call_frame = .{ .alignment = .@"16" }, |
| 77340 | .extra_temps = .{ | 78888 | .extra_temps = .{ |
| ... | @@ -77378,7 +78926,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -77378,7 +78926,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 77378 | .cmp_eq_optimized, | 78926 | .cmp_eq_optimized, |
| 77379 | .cmp_neq, | 78927 | .cmp_neq, |
| 77380 | .cmp_neq_optimized, | 78928 | .cmp_neq_optimized, |
| 77381 | => |air_tag| if (use_old) try cg.airCmp(inst, air_tag.toCmpOp().?) else { | 78929 | => |air_tag| { |
| 77382 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | 78930 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| 77383 | const cmp_op = air_tag.toCmpOp().?; | 78931 | const cmp_op = air_tag.toCmpOp().?; |
| 77384 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 78932 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| ... | @@ -77495,7 +79043,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -77495,7 +79043,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 77495 | .required_features = .{ .sse, null, null, null }, | 79043 | .required_features = .{ .sse, null, null, null }, |
| 77496 | .src_constraints = .{ .{ .float = .word }, .{ .float = .word }, .any }, | 79044 | .src_constraints = .{ .{ .float = .word }, .{ .float = .word }, .any }, |
| 77497 | .patterns = &.{ | 79045 | .patterns = &.{ |
| 77498 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 79046 | .{ .src = .{ |
| | 79047 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 79048 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 79049 | .none, |
| | 79050 | } }, |
| 77499 | }, | 79051 | }, |
| 77500 | .call_frame = .{ .alignment = .@"16" }, | 79052 | .call_frame = .{ .alignment = .@"16" }, |
| 77501 | .extra_temps = .{ | 79053 | .extra_temps = .{ |
| ... | @@ -77862,7 +79414,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -77862,7 +79414,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 77862 | .required_features = .{ .sse, null, null, null }, | 79414 | .required_features = .{ .sse, null, null, null }, |
| 77863 | .src_constraints = .{ .{ .float = .xword }, .{ .float = .xword }, .any }, | 79415 | .src_constraints = .{ .{ .float = .xword }, .{ .float = .xword }, .any }, |
| 77864 | .patterns = &.{ | 79416 | .patterns = &.{ |
| 77865 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 79417 | .{ .src = .{ |
| | 79418 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 79419 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 79420 | .none, |
| | 79421 | } }, |
| 77866 | }, | 79422 | }, |
| 77867 | .call_frame = .{ .alignment = .@"16" }, | 79423 | .call_frame = .{ .alignment = .@"16" }, |
| 77868 | .extra_temps = .{ | 79424 | .extra_temps = .{ |
| ... | @@ -77939,7 +79495,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -77939,7 +79495,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 77939 | } | 79495 | } |
| 77940 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 79496 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 77941 | }, | 79497 | }, |
| 77942 | .cmp_vector, .cmp_vector_optimized => |air_tag| if (use_old) try cg.airCmpVector(inst) else fallback: { | 79498 | .cmp_vector, .cmp_vector_optimized => |air_tag| fallback: { |
| 77943 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; | 79499 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; |
| 77944 | const vector_cmp = cg.air.extraData(Air.VectorCmp, ty_pl.payload).data; | 79500 | const vector_cmp = cg.air.extraData(Air.VectorCmp, ty_pl.payload).data; |
| 77945 | switch (vector_cmp.compareOperator()) { | 79501 | switch (vector_cmp.compareOperator()) { |
| ... | @@ -78533,8 +80089,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -78533,8 +80089,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 78533 | .call_frame = .{ .alignment = .@"16" }, | 80089 | .call_frame = .{ .alignment = .@"16" }, |
| 78534 | .extra_temps = .{ | 80090 | .extra_temps = .{ |
| 78535 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 80091 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 78536 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 80092 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 78537 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 80093 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 78538 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, | 80094 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, |
| 78539 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 80095 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 78540 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 80096 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -78577,8 +80133,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -78577,8 +80133,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 78577 | .call_frame = .{ .alignment = .@"16" }, | 80133 | .call_frame = .{ .alignment = .@"16" }, |
| 78578 | .extra_temps = .{ | 80134 | .extra_temps = .{ |
| 78579 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 80135 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 78580 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 80136 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 78581 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 80137 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 78582 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, | 80138 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, |
| 78583 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 80139 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 78584 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 80140 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -78621,8 +80177,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -78621,8 +80177,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 78621 | .call_frame = .{ .alignment = .@"16" }, | 80177 | .call_frame = .{ .alignment = .@"16" }, |
| 78622 | .extra_temps = .{ | 80178 | .extra_temps = .{ |
| 78623 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 80179 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 78624 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 80180 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 78625 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 80181 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 78626 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, | 80182 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, |
| 78627 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 80183 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 78628 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 80184 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -78666,8 +80222,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -78666,8 +80222,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 78666 | .call_frame = .{ .alignment = .@"16" }, | 80222 | .call_frame = .{ .alignment = .@"16" }, |
| 78667 | .extra_temps = .{ | 80223 | .extra_temps = .{ |
| 78668 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 80224 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 78669 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 80225 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 78670 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 80226 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 78671 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, | 80227 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, |
| 78672 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 80228 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 78673 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 80229 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -78711,8 +80267,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -78711,8 +80267,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 78711 | .call_frame = .{ .alignment = .@"16" }, | 80267 | .call_frame = .{ .alignment = .@"16" }, |
| 78712 | .extra_temps = .{ | 80268 | .extra_temps = .{ |
| 78713 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 80269 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 78714 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 80270 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 78715 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 80271 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 78716 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, | 80272 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, |
| 78717 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 80273 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 78718 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 80274 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -78758,8 +80314,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -78758,8 +80314,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 78758 | .call_frame = .{ .alignment = .@"16" }, | 80314 | .call_frame = .{ .alignment = .@"16" }, |
| 78759 | .extra_temps = .{ | 80315 | .extra_temps = .{ |
| 78760 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 80316 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 78761 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 80317 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 78762 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 80318 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 78763 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, | 80319 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, |
| 78764 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 80320 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 78765 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 80321 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -78805,8 +80361,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -78805,8 +80361,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 78805 | .extra_temps = .{ | 80361 | .extra_temps = .{ |
| 78806 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 80362 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 78807 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 80363 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 78808 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 80364 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 78809 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 80365 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 78810 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, | 80366 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, |
| 78811 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 80367 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 78812 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 80368 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -78858,8 +80414,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -78858,8 +80414,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 78858 | .extra_temps = .{ | 80414 | .extra_temps = .{ |
| 78859 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 80415 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 78860 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 80416 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 78861 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 80417 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 78862 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 80418 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 78863 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, | 80419 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, |
| 78864 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 80420 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 78865 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 80421 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -78911,8 +80467,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -78911,8 +80467,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 78911 | .extra_temps = .{ | 80467 | .extra_temps = .{ |
| 78912 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 80468 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 78913 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 80469 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 78914 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 80470 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 78915 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 80471 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 78916 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, | 80472 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, |
| 78917 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 80473 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 78918 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 80474 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -78965,8 +80521,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -78965,8 +80521,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 78965 | .extra_temps = .{ | 80521 | .extra_temps = .{ |
| 78966 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 80522 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 78967 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 80523 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 78968 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 80524 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 78969 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 80525 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 78970 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, | 80526 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, |
| 78971 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 80527 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 78972 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 80528 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -79019,8 +80575,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -79019,8 +80575,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 79019 | .extra_temps = .{ | 80575 | .extra_temps = .{ |
| 79020 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 80576 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 79021 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 80577 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 79022 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 80578 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 79023 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 80579 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 79024 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, | 80580 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, |
| 79025 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 80581 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 79026 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 80582 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -79075,8 +80631,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -79075,8 +80631,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 79075 | .extra_temps = .{ | 80631 | .extra_temps = .{ |
| 79076 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 80632 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 79077 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 80633 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 79078 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 80634 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 79079 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 80635 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 79080 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, | 80636 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, |
| 79081 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 80637 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 79082 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 80638 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -79902,8 +81458,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -79902,8 +81458,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 79902 | .extra_temps = .{ | 81458 | .extra_temps = .{ |
| 79903 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 81459 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 79904 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 81460 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 79905 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 81461 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 79906 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 81462 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 79907 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, | 81463 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, |
| 79908 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 81464 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 79909 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 81465 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -79946,8 +81502,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -79946,8 +81502,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 79946 | .extra_temps = .{ | 81502 | .extra_temps = .{ |
| 79947 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 81503 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 79948 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 81504 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 79949 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 81505 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 79950 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 81506 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 79951 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, | 81507 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, |
| 79952 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 81508 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 79953 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 81509 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -79990,8 +81546,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -79990,8 +81546,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 79990 | .extra_temps = .{ | 81546 | .extra_temps = .{ |
| 79991 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 81547 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 79992 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 81548 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 79993 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 81549 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 79994 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 81550 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 79995 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, | 81551 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, |
| 79996 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 81552 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 79997 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 81553 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -80034,8 +81590,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -80034,8 +81590,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 80034 | .extra_temps = .{ | 81590 | .extra_temps = .{ |
| 80035 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 81591 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 80036 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 81592 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 80037 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 81593 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 80038 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 81594 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 80039 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, | 81595 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, |
| 80040 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 81596 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 80041 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 81597 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -80078,8 +81634,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -80078,8 +81634,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 80078 | .extra_temps = .{ | 81634 | .extra_temps = .{ |
| 80079 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 81635 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 80080 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 81636 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 80081 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 81637 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 80082 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 81638 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 80083 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, | 81639 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, |
| 80084 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 81640 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 80085 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 81641 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -80122,8 +81678,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -80122,8 +81678,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 80122 | .extra_temps = .{ | 81678 | .extra_temps = .{ |
| 80123 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 81679 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 80124 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 81680 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 80125 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 81681 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 80126 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 81682 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 80127 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, | 81683 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, |
| 80128 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 81684 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 80129 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 81685 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -80166,8 +81722,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -80166,8 +81722,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 80166 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 81722 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 80167 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 81723 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 80168 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 81724 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 80169 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 81725 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 80170 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 81726 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 80171 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, | 81727 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, |
| 80172 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 81728 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 80173 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 81729 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -80219,8 +81775,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -80219,8 +81775,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 80219 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 81775 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 80220 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 81776 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 80221 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 81777 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 80222 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 81778 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 80223 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 81779 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 80224 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, | 81780 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, |
| 80225 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 81781 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 80226 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 81782 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -80272,8 +81828,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -80272,8 +81828,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 80272 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 81828 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 80273 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 81829 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 80274 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 81830 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 80275 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 81831 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 80276 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 81832 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 80277 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, | 81833 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, |
| 80278 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 81834 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 80279 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 81835 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -80325,8 +81881,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -80325,8 +81881,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 80325 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 81881 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 80326 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 81882 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 80327 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 81883 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 80328 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 81884 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 80329 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 81885 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 80330 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, | 81886 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, |
| 80331 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 81887 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 80332 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 81888 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -80378,8 +81934,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -80378,8 +81934,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 80378 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 81934 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 80379 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 81935 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 80380 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 81936 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 80381 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 81937 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 80382 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 81938 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 80383 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, | 81939 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, |
| 80384 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 81940 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 80385 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 81941 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -80431,8 +81987,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -80431,8 +81987,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 80431 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 81987 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 80432 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 81988 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 80433 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 81989 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 80434 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 81990 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 80435 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 81991 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 80436 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, | 81992 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, |
| 80437 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 81993 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 80438 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 81994 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -83041,8 +84597,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -83041,8 +84597,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 83041 | .call_frame = .{ .alignment = .@"16" }, | 84597 | .call_frame = .{ .alignment = .@"16" }, |
| 83042 | .extra_temps = .{ | 84598 | .extra_temps = .{ |
| 83043 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 84599 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 83044 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 84600 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 83045 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 84601 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 83046 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, | 84602 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, |
| 83047 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 84603 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 83048 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 84604 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -83085,8 +84641,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -83085,8 +84641,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 83085 | .call_frame = .{ .alignment = .@"16" }, | 84641 | .call_frame = .{ .alignment = .@"16" }, |
| 83086 | .extra_temps = .{ | 84642 | .extra_temps = .{ |
| 83087 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 84643 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 83088 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 84644 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 83089 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 84645 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 83090 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, | 84646 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, |
| 83091 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 84647 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 83092 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 84648 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -83129,8 +84685,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -83129,8 +84685,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 83129 | .call_frame = .{ .alignment = .@"16" }, | 84685 | .call_frame = .{ .alignment = .@"16" }, |
| 83130 | .extra_temps = .{ | 84686 | .extra_temps = .{ |
| 83131 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 84687 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 83132 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 84688 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 83133 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 84689 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 83134 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, | 84690 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, |
| 83135 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 84691 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 83136 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 84692 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -83174,8 +84730,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -83174,8 +84730,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 83174 | .call_frame = .{ .alignment = .@"16" }, | 84730 | .call_frame = .{ .alignment = .@"16" }, |
| 83175 | .extra_temps = .{ | 84731 | .extra_temps = .{ |
| 83176 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 84732 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 83177 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 84733 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 83178 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 84734 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 83179 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, | 84735 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, |
| 83180 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 84736 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 83181 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 84737 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -83219,8 +84775,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -83219,8 +84775,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 83219 | .call_frame = .{ .alignment = .@"16" }, | 84775 | .call_frame = .{ .alignment = .@"16" }, |
| 83220 | .extra_temps = .{ | 84776 | .extra_temps = .{ |
| 83221 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 84777 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 83222 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 84778 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 83223 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 84779 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 83224 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, | 84780 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, |
| 83225 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 84781 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 83226 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 84782 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -83266,8 +84822,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -83266,8 +84822,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 83266 | .call_frame = .{ .alignment = .@"16" }, | 84822 | .call_frame = .{ .alignment = .@"16" }, |
| 83267 | .extra_temps = .{ | 84823 | .extra_temps = .{ |
| 83268 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 84824 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 83269 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 84825 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 83270 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 84826 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 83271 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, | 84827 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, |
| 83272 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 84828 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 83273 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 84829 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -83313,8 +84869,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -83313,8 +84869,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 83313 | .extra_temps = .{ | 84869 | .extra_temps = .{ |
| 83314 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 84870 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 83315 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 84871 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 83316 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 84872 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 83317 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 84873 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 83318 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, | 84874 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, |
| 83319 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 84875 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 83320 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 84876 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -83366,8 +84922,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -83366,8 +84922,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 83366 | .extra_temps = .{ | 84922 | .extra_temps = .{ |
| 83367 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 84923 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 83368 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 84924 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 83369 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 84925 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 83370 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 84926 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 83371 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, | 84927 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, |
| 83372 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 84928 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 83373 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 84929 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -83419,8 +84975,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -83419,8 +84975,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 83419 | .extra_temps = .{ | 84975 | .extra_temps = .{ |
| 83420 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 84976 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 83421 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 84977 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 83422 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 84978 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 83423 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 84979 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 83424 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, | 84980 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, |
| 83425 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 84981 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 83426 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 84982 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -83473,8 +85029,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -83473,8 +85029,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 83473 | .extra_temps = .{ | 85029 | .extra_temps = .{ |
| 83474 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 85030 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 83475 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 85031 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 83476 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 85032 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 83477 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 85033 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 83478 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, | 85034 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, |
| 83479 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 85035 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 83480 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 85036 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -83527,8 +85083,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -83527,8 +85083,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 83527 | .extra_temps = .{ | 85083 | .extra_temps = .{ |
| 83528 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 85084 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 83529 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 85085 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 83530 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 85086 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 83531 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 85087 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 83532 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, | 85088 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, |
| 83533 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 85089 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 83534 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 85090 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -83583,8 +85139,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -83583,8 +85139,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 83583 | .extra_temps = .{ | 85139 | .extra_temps = .{ |
| 83584 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 85140 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 83585 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 85141 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 83586 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 85142 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 83587 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 85143 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 83588 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, | 85144 | .{ .type = .usize, .kind = .{ .extern_func = "__cmphf2" } }, |
| 83589 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 85145 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 83590 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 85146 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -84424,8 +85980,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -84424,8 +85980,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 84424 | .extra_temps = .{ | 85980 | .extra_temps = .{ |
| 84425 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 85981 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 84426 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 85982 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 84427 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 85983 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 84428 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 85984 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 84429 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, | 85985 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, |
| 84430 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 85986 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 84431 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 85987 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -84468,8 +86024,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -84468,8 +86024,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 84468 | .extra_temps = .{ | 86024 | .extra_temps = .{ |
| 84469 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 86025 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 84470 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 86026 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 84471 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 86027 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 84472 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 86028 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 84473 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, | 86029 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, |
| 84474 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 86030 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 84475 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 86031 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -84512,8 +86068,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -84512,8 +86068,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 84512 | .extra_temps = .{ | 86068 | .extra_temps = .{ |
| 84513 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 86069 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 84514 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 86070 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 84515 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 86071 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 84516 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 86072 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 84517 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, | 86073 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, |
| 84518 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 86074 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 84519 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 86075 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -84556,8 +86112,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -84556,8 +86112,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 84556 | .extra_temps = .{ | 86112 | .extra_temps = .{ |
| 84557 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 86113 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 84558 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 86114 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 84559 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 86115 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 84560 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 86116 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 84561 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, | 86117 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, |
| 84562 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 86118 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 84563 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 86119 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -84600,8 +86156,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -84600,8 +86156,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 84600 | .extra_temps = .{ | 86156 | .extra_temps = .{ |
| 84601 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 86157 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 84602 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 86158 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 84603 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 86159 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 84604 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 86160 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 84605 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, | 86161 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, |
| 84606 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 86162 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 84607 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 86163 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -84644,8 +86200,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -84644,8 +86200,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 84644 | .extra_temps = .{ | 86200 | .extra_temps = .{ |
| 84645 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 86201 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 84646 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 86202 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 84647 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 86203 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 84648 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 86204 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 84649 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, | 86205 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, |
| 84650 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 86206 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 84651 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 86207 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -84688,8 +86244,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -84688,8 +86244,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 84688 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 86244 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 84689 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 86245 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 84690 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 86246 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 84691 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 86247 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 84692 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 86248 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 84693 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, | 86249 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, |
| 84694 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 86250 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 84695 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 86251 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -84741,8 +86297,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -84741,8 +86297,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 84741 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 86297 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 84742 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 86298 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 84743 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 86299 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 84744 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 86300 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 84745 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 86301 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 84746 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, | 86302 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, |
| 84747 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 86303 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 84748 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 86304 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -84794,8 +86350,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -84794,8 +86350,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 84794 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 86350 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 84795 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 86351 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 84796 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 86352 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 84797 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 86353 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 84798 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 86354 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 84799 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, | 86355 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, |
| 84800 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 86356 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 84801 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 86357 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -84847,8 +86403,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -84847,8 +86403,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 84847 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 86403 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 84848 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 86404 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 84849 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 86405 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 84850 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 86406 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 84851 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 86407 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 84852 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, | 86408 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, |
| 84853 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 86409 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 84854 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 86410 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -84900,8 +86456,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -84900,8 +86456,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 84900 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 86456 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 84901 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 86457 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 84902 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 86458 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 84903 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 86459 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 84904 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 86460 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 84905 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, | 86461 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, |
| 84906 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 86462 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 84907 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 86463 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -84953,8 +86509,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -84953,8 +86509,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 84953 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 86509 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 84954 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 86510 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 84955 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 86511 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 84956 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 86512 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 84957 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 86513 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 84958 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, | 86514 | .{ .type = .usize, .kind = .{ .extern_func = "__cmptf2" } }, |
| 84959 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 86515 | .{ .type = .i32, .kind = .{ .reg = .eax } }, |
| 84960 | .{ .type = .u8, .kind = .{ .reg = .cl } }, | 86516 | .{ .type = .u8, .kind = .{ .reg = .cl } }, |
| ... | @@ -85048,7 +86604,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85048,7 +86604,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85048 | .data = .{ .ip_index = old_inline_func }, | 86604 | .data = .{ .ip_index = old_inline_func }, |
| 85049 | }); | 86605 | }); |
| 85050 | }, | 86606 | }, |
| 85051 | .dbg_var_ptr, .dbg_var_val, .dbg_arg_inline => |air_tag| if (use_old) try cg.airDbgVar(inst) else if (!cg.mod.strip) { | 86607 | .dbg_var_ptr, .dbg_var_val, .dbg_arg_inline => |air_tag| if (!cg.mod.strip) { |
| 85052 | const pl_op = air_datas[@intFromEnum(inst)].pl_op; | 86608 | const pl_op = air_datas[@intFromEnum(inst)].pl_op; |
| 85053 | const air_name: Air.NullTerminatedString = @enumFromInt(pl_op.payload); | 86609 | const air_name: Air.NullTerminatedString = @enumFromInt(pl_op.payload); |
| 85054 | const op_ty = cg.typeOf(pl_op.operand); | 86610 | const op_ty = cg.typeOf(pl_op.operand); |
| ... | @@ -85086,7 +86642,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85086,7 +86642,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85086 | try cg.genLocalDebugInfo(air_tag, local_ty, ops[0].tracking(cg).short); | 86642 | try cg.genLocalDebugInfo(air_tag, local_ty, ops[0].tracking(cg).short); |
| 85087 | try ops[0].die(cg); | 86643 | try ops[0].die(cg); |
| 85088 | }, | 86644 | }, |
| 85089 | .is_null => if (use_old) try cg.airIsNull(inst) else { | 86645 | .is_null => { |
| 85090 | const un_op = air_datas[@intFromEnum(inst)].un_op; | 86646 | const un_op = air_datas[@intFromEnum(inst)].un_op; |
| 85091 | const opt_ty = cg.typeOf(un_op); | 86647 | const opt_ty = cg.typeOf(un_op); |
| 85092 | const opt_repr_is_pl = opt_ty.optionalReprIsPayload(zcu); | 86648 | const opt_repr_is_pl = opt_ty.optionalReprIsPayload(zcu); |
| ... | @@ -85111,7 +86667,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85111,7 +86667,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85111 | const is_null = try cg.tempInit(.bool, .{ .eflags = .e }); | 86667 | const is_null = try cg.tempInit(.bool, .{ .eflags = .e }); |
| 85112 | try is_null.finish(inst, &.{un_op}, &ops, cg); | 86668 | try is_null.finish(inst, &.{un_op}, &ops, cg); |
| 85113 | }, | 86669 | }, |
| 85114 | .is_non_null => if (use_old) try cg.airIsNonNull(inst) else { | 86670 | .is_non_null => { |
| 85115 | const un_op = air_datas[@intFromEnum(inst)].un_op; | 86671 | const un_op = air_datas[@intFromEnum(inst)].un_op; |
| 85116 | const opt_ty = cg.typeOf(un_op); | 86672 | const opt_ty = cg.typeOf(un_op); |
| 85117 | const opt_repr_is_pl = opt_ty.optionalReprIsPayload(zcu); | 86673 | const opt_repr_is_pl = opt_ty.optionalReprIsPayload(zcu); |
| ... | @@ -85136,7 +86692,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85136,7 +86692,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85136 | const is_non_null = try cg.tempInit(.bool, .{ .eflags = .ne }); | 86692 | const is_non_null = try cg.tempInit(.bool, .{ .eflags = .ne }); |
| 85137 | try is_non_null.finish(inst, &.{un_op}, &ops, cg); | 86693 | try is_non_null.finish(inst, &.{un_op}, &ops, cg); |
| 85138 | }, | 86694 | }, |
| 85139 | .is_null_ptr => if (use_old) try cg.airIsNullPtr(inst) else { | 86695 | .is_null_ptr => { |
| 85140 | const un_op = air_datas[@intFromEnum(inst)].un_op; | 86696 | const un_op = air_datas[@intFromEnum(inst)].un_op; |
| 85141 | const opt_ty = cg.typeOf(un_op).childType(zcu); | 86697 | const opt_ty = cg.typeOf(un_op).childType(zcu); |
| 85142 | const opt_repr_is_pl = opt_ty.optionalReprIsPayload(zcu); | 86698 | const opt_repr_is_pl = opt_ty.optionalReprIsPayload(zcu); |
| ... | @@ -85159,7 +86715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85159,7 +86715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85159 | const is_null = try cg.tempInit(.bool, .{ .eflags = .e }); | 86715 | const is_null = try cg.tempInit(.bool, .{ .eflags = .e }); |
| 85160 | try is_null.finish(inst, &.{un_op}, &ops, cg); | 86716 | try is_null.finish(inst, &.{un_op}, &ops, cg); |
| 85161 | }, | 86717 | }, |
| 85162 | .is_non_null_ptr => if (use_old) try cg.airIsNonNullPtr(inst) else { | 86718 | .is_non_null_ptr => { |
| 85163 | const un_op = air_datas[@intFromEnum(inst)].un_op; | 86719 | const un_op = air_datas[@intFromEnum(inst)].un_op; |
| 85164 | const opt_ty = cg.typeOf(un_op).childType(zcu); | 86720 | const opt_ty = cg.typeOf(un_op).childType(zcu); |
| 85165 | const opt_repr_is_pl = opt_ty.optionalReprIsPayload(zcu); | 86721 | const opt_repr_is_pl = opt_ty.optionalReprIsPayload(zcu); |
| ... | @@ -85182,7 +86738,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85182,7 +86738,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85182 | const is_non_null = try cg.tempInit(.bool, .{ .eflags = .ne }); | 86738 | const is_non_null = try cg.tempInit(.bool, .{ .eflags = .ne }); |
| 85183 | try is_non_null.finish(inst, &.{un_op}, &ops, cg); | 86739 | try is_non_null.finish(inst, &.{un_op}, &ops, cg); |
| 85184 | }, | 86740 | }, |
| 85185 | .is_err => if (use_old) try cg.airIsErr(inst) else { | 86741 | .is_err => { |
| 85186 | const un_op = air_datas[@intFromEnum(inst)].un_op; | 86742 | const un_op = air_datas[@intFromEnum(inst)].un_op; |
| 85187 | const eu_ty = cg.typeOf(un_op); | 86743 | const eu_ty = cg.typeOf(un_op); |
| 85188 | const eu_err_ty = eu_ty.errorUnionSet(zcu); | 86744 | const eu_err_ty = eu_ty.errorUnionSet(zcu); |
| ... | @@ -85198,7 +86754,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85198,7 +86754,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85198 | const is_err = try cg.tempInit(.bool, .{ .eflags = .ne }); | 86754 | const is_err = try cg.tempInit(.bool, .{ .eflags = .ne }); |
| 85199 | try is_err.finish(inst, &.{un_op}, &ops, cg); | 86755 | try is_err.finish(inst, &.{un_op}, &ops, cg); |
| 85200 | }, | 86756 | }, |
| 85201 | .is_non_err => if (use_old) try cg.airIsNonErr(inst) else { | 86757 | .is_non_err => { |
| 85202 | const un_op = air_datas[@intFromEnum(inst)].un_op; | 86758 | const un_op = air_datas[@intFromEnum(inst)].un_op; |
| 85203 | const eu_ty = cg.typeOf(un_op); | 86759 | const eu_ty = cg.typeOf(un_op); |
| 85204 | const eu_err_ty = eu_ty.errorUnionSet(zcu); | 86760 | const eu_err_ty = eu_ty.errorUnionSet(zcu); |
| ... | @@ -85214,7 +86770,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85214,7 +86770,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85214 | const is_non_err = try cg.tempInit(.bool, .{ .eflags = .e }); | 86770 | const is_non_err = try cg.tempInit(.bool, .{ .eflags = .e }); |
| 85215 | try is_non_err.finish(inst, &.{un_op}, &ops, cg); | 86771 | try is_non_err.finish(inst, &.{un_op}, &ops, cg); |
| 85216 | }, | 86772 | }, |
| 85217 | .is_err_ptr => if (use_old) try cg.airIsErrPtr(inst) else { | 86773 | .is_err_ptr => { |
| 85218 | const un_op = air_datas[@intFromEnum(inst)].un_op; | 86774 | const un_op = air_datas[@intFromEnum(inst)].un_op; |
| 85219 | const eu_ty = cg.typeOf(un_op).childType(zcu); | 86775 | const eu_ty = cg.typeOf(un_op).childType(zcu); |
| 85220 | const eu_err_ty = eu_ty.errorUnionSet(zcu); | 86776 | const eu_err_ty = eu_ty.errorUnionSet(zcu); |
| ... | @@ -85232,7 +86788,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85232,7 +86788,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85232 | const is_err = try cg.tempInit(.bool, .{ .eflags = .ne }); | 86788 | const is_err = try cg.tempInit(.bool, .{ .eflags = .ne }); |
| 85233 | try is_err.finish(inst, &.{un_op}, &ops, cg); | 86789 | try is_err.finish(inst, &.{un_op}, &ops, cg); |
| 85234 | }, | 86790 | }, |
| 85235 | .is_non_err_ptr => if (use_old) try cg.airIsNonErrPtr(inst) else { | 86791 | .is_non_err_ptr => { |
| 85236 | const un_op = air_datas[@intFromEnum(inst)].un_op; | 86792 | const un_op = air_datas[@intFromEnum(inst)].un_op; |
| 85237 | const eu_ty = cg.typeOf(un_op).childType(zcu); | 86793 | const eu_ty = cg.typeOf(un_op).childType(zcu); |
| 85238 | const eu_err_ty = eu_ty.errorUnionSet(zcu); | 86794 | const eu_err_ty = eu_ty.errorUnionSet(zcu); |
| ... | @@ -85250,7 +86806,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85250,7 +86806,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85250 | const is_non_err = try cg.tempInit(.bool, .{ .eflags = .e }); | 86806 | const is_non_err = try cg.tempInit(.bool, .{ .eflags = .e }); |
| 85251 | try is_non_err.finish(inst, &.{un_op}, &ops, cg); | 86807 | try is_non_err.finish(inst, &.{un_op}, &ops, cg); |
| 85252 | }, | 86808 | }, |
| 85253 | .load => if (use_old) try cg.airLoad(inst) else fallback: { | 86809 | .load => fallback: { |
| 85254 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 86810 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 85255 | const val_ty = ty_op.ty.toType(); | 86811 | const val_ty = ty_op.ty.toType(); |
| 85256 | const ptr_ty = cg.typeOf(ty_op.operand); | 86812 | const ptr_ty = cg.typeOf(ty_op.operand); |
| ... | @@ -85299,7 +86855,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85299,7 +86855,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85299 | for (ops) |op| try op.die(cg); | 86855 | for (ops) |op| try op.die(cg); |
| 85300 | }, | 86856 | }, |
| 85301 | .unreach => {}, | 86857 | .unreach => {}, |
| 85302 | .fptrunc => |air_tag| if (use_old) try cg.airFptrunc(inst) else { | 86858 | .fptrunc => |air_tag| { |
| 85303 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 86859 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 85304 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); | 86860 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); |
| 85305 | var res: [1]Temp = undefined; | 86861 | var res: [1]Temp = undefined; |
| ... | @@ -85341,7 +86897,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85341,7 +86897,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85341 | .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any }, | 86897 | .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| 85342 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any }, | 86898 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| 85343 | .patterns = &.{ | 86899 | .patterns = &.{ |
| 85344 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 86900 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 85345 | }, | 86901 | }, |
| 85346 | .call_frame = .{ .alignment = .@"16" }, | 86902 | .call_frame = .{ .alignment = .@"16" }, |
| 85347 | .extra_temps = .{ | 86903 | .extra_temps = .{ |
| ... | @@ -85370,7 +86926,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85370,7 +86926,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85370 | .{ .src = .{ .to_mem, .none, .none } }, | 86926 | .{ .src = .{ .to_mem, .none, .none } }, |
| 85371 | }, | 86927 | }, |
| 85372 | .extra_temps = .{ | 86928 | .extra_temps = .{ |
| 85373 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 86929 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 85374 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | 86930 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| 85375 | .unused, | 86931 | .unused, |
| 85376 | .unused, | 86932 | .unused, |
| ... | @@ -85385,11 +86941,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85385,11 +86941,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85385 | .dst_temps = .{ .mem, .unused }, | 86941 | .dst_temps = .{ .mem, .unused }, |
| 85386 | .clobbers = .{ .eflags = true }, | 86942 | .clobbers = .{ .eflags = true }, |
| 85387 | .each = .{ .once = &.{ | 86943 | .each = .{ .once = &.{ |
| 85388 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 86944 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .dst0, .add_size), ._, ._ }, |
| 85389 | .{ .@"0:", .v_ps, .mova, .tmp1y, .memsia(.src0y, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 86945 | .{ .@"0:", .v_ps, .mova, .tmp1y, .memsi(.src0y, .@"2", .tmp0), ._, ._ }, |
| 85390 | .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ }, | 86946 | .{ ._, .v_, .cvtps2ph, .memi(.dst0x, .tmp0), .tmp1y, .rm(.{}), ._ }, |
| 85391 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 86947 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 85392 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 86948 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 85393 | } }, | 86949 | } }, |
| 85394 | }, .{ | 86950 | }, .{ |
| 85395 | .required_features = .{ .avx, null, null, null }, | 86951 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -85400,8 +86956,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85400,8 +86956,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85400 | }, | 86956 | }, |
| 85401 | .call_frame = .{ .alignment = .@"16" }, | 86957 | .call_frame = .{ .alignment = .@"16" }, |
| 85402 | .extra_temps = .{ | 86958 | .extra_temps = .{ |
| 85403 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 86959 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 85404 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 86960 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 85405 | .{ .type = .usize, .kind = .{ .extern_func = "__truncsfhf2" } }, | 86961 | .{ .type = .usize, .kind = .{ .extern_func = "__truncsfhf2" } }, |
| 85406 | .unused, | 86962 | .unused, |
| 85407 | .unused, | 86963 | .unused, |
| ... | @@ -85415,12 +86971,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85415,12 +86971,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85415 | .dst_temps = .{ .mem, .unused }, | 86971 | .dst_temps = .{ .mem, .unused }, |
| 85416 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 86972 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 85417 | .each = .{ .once = &.{ | 86973 | .each = .{ .once = &.{ |
| 85418 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 86974 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 85419 | .{ .@"0:", .v_ss, .mov, .tmp1x, .memsia(.src0d, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 86975 | .{ .@"0:", .v_ss, .mov, .tmp1x, .memsi(.src0d, .@"2", .tmp0), ._, ._ }, |
| 85420 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 86976 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 85421 | .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, | 86977 | .{ ._, .vp_w, .extr, .memi(.dst0w, .tmp0), .tmp1x, .ui(0), ._ }, |
| 85422 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 86978 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 85423 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 86979 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 85424 | } }, | 86980 | } }, |
| 85425 | }, .{ | 86981 | }, .{ |
| 85426 | .required_features = .{ .sse4_1, null, null, null }, | 86982 | .required_features = .{ .sse4_1, null, null, null }, |
| ... | @@ -85431,8 +86987,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85431,8 +86987,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85431 | }, | 86987 | }, |
| 85432 | .call_frame = .{ .alignment = .@"16" }, | 86988 | .call_frame = .{ .alignment = .@"16" }, |
| 85433 | .extra_temps = .{ | 86989 | .extra_temps = .{ |
| 85434 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 86990 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 85435 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 86991 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 85436 | .{ .type = .usize, .kind = .{ .extern_func = "__truncsfhf2" } }, | 86992 | .{ .type = .usize, .kind = .{ .extern_func = "__truncsfhf2" } }, |
| 85437 | .unused, | 86993 | .unused, |
| 85438 | .unused, | 86994 | .unused, |
| ... | @@ -85446,12 +87002,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85446,12 +87002,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85446 | .dst_temps = .{ .mem, .unused }, | 87002 | .dst_temps = .{ .mem, .unused }, |
| 85447 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 87003 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 85448 | .each = .{ .once = &.{ | 87004 | .each = .{ .once = &.{ |
| 85449 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 87005 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 85450 | .{ .@"0:", ._ss, .mov, .tmp1x, .memsia(.src0d, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 87006 | .{ .@"0:", ._ss, .mov, .tmp1x, .memsi(.src0d, .@"2", .tmp0), ._, ._ }, |
| 85451 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 87007 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 85452 | .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, | 87008 | .{ ._, .p_w, .extr, .memi(.dst0w, .tmp0), .tmp1x, .ui(0), ._ }, |
| 85453 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 87009 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 85454 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 87010 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 85455 | } }, | 87011 | } }, |
| 85456 | }, .{ | 87012 | }, .{ |
| 85457 | .required_features = .{ .sse2, null, null, null }, | 87013 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -85462,8 +87018,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85462,8 +87018,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85462 | }, | 87018 | }, |
| 85463 | .call_frame = .{ .alignment = .@"16" }, | 87019 | .call_frame = .{ .alignment = .@"16" }, |
| 85464 | .extra_temps = .{ | 87020 | .extra_temps = .{ |
| 85465 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 87021 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 85466 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 87022 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 85467 | .{ .type = .usize, .kind = .{ .extern_func = "__truncsfhf2" } }, | 87023 | .{ .type = .usize, .kind = .{ .extern_func = "__truncsfhf2" } }, |
| 85468 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 87024 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 85469 | .unused, | 87025 | .unused, |
| ... | @@ -85477,13 +87033,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85477,13 +87033,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85477 | .dst_temps = .{ .mem, .unused }, | 87033 | .dst_temps = .{ .mem, .unused }, |
| 85478 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 87034 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 85479 | .each = .{ .once = &.{ | 87035 | .each = .{ .once = &.{ |
| 85480 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 87036 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 85481 | .{ .@"0:", ._ss, .mov, .tmp1x, .memsia(.src0d, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 87037 | .{ .@"0:", ._ss, .mov, .tmp1x, .memsi(.src0d, .@"2", .tmp0), ._, ._ }, |
| 85482 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 87038 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 85483 | .{ ._, .p_w, .extr, .tmp3d, .tmp1x, .ui(0), ._ }, | 87039 | .{ ._, .p_w, .extr, .tmp3d, .tmp1x, .ui(0), ._ }, |
| 85484 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3w, ._, ._ }, | 87040 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp3w, ._, ._ }, |
| 85485 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 87041 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 85486 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 87042 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 85487 | } }, | 87043 | } }, |
| 85488 | }, .{ | 87044 | }, .{ |
| 85489 | .required_features = .{ .sse, null, null, null }, | 87045 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -85494,8 +87050,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85494,8 +87050,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85494 | }, | 87050 | }, |
| 85495 | .call_frame = .{ .alignment = .@"16" }, | 87051 | .call_frame = .{ .alignment = .@"16" }, |
| 85496 | .extra_temps = .{ | 87052 | .extra_temps = .{ |
| 85497 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 87053 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 85498 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 87054 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 85499 | .{ .type = .usize, .kind = .{ .extern_func = "__truncsfhf2" } }, | 87055 | .{ .type = .usize, .kind = .{ .extern_func = "__truncsfhf2" } }, |
| 85500 | .{ .type = .f32, .kind = .mem }, | 87056 | .{ .type = .f32, .kind = .mem }, |
| 85501 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 87057 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| ... | @@ -85509,21 +87065,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85509,21 +87065,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85509 | .dst_temps = .{ .mem, .unused }, | 87065 | .dst_temps = .{ .mem, .unused }, |
| 85510 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 87066 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 85511 | .each = .{ .once = &.{ | 87067 | .each = .{ .once = &.{ |
| 85512 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 87068 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 85513 | .{ .@"0:", ._ss, .mov, .tmp1x, .memsia(.src0d, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 87069 | .{ .@"0:", ._ss, .mov, .tmp1x, .memsi(.src0d, .@"2", .tmp0), ._, ._ }, |
| 85514 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 87070 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 85515 | .{ ._, ._ss, .mov, .mem(.tmp3d), .tmp1x, ._, ._ }, | 87071 | .{ ._, ._ss, .mov, .mem(.tmp3d), .tmp1x, ._, ._ }, |
| 85516 | .{ ._, ._, .mov, .tmp4d, .mem(.tmp3d), ._, ._ }, | 87072 | .{ ._, ._, .mov, .tmp4d, .mem(.tmp3d), ._, ._ }, |
| 85517 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp4w, ._, ._ }, | 87073 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp4w, ._, ._ }, |
| 85518 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 87074 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 85519 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 87075 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 85520 | } }, | 87076 | } }, |
| 85521 | }, .{ | 87077 | }, .{ |
| 85522 | .required_features = .{ .sse, null, null, null }, | 87078 | .required_features = .{ .sse, null, null, null }, |
| 85523 | .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, | 87079 | .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 85524 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any }, | 87080 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| 85525 | .patterns = &.{ | 87081 | .patterns = &.{ |
| 85526 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 87082 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 85527 | }, | 87083 | }, |
| 85528 | .call_frame = .{ .alignment = .@"16" }, | 87084 | .call_frame = .{ .alignment = .@"16" }, |
| 85529 | .extra_temps = .{ | 87085 | .extra_temps = .{ |
| ... | @@ -85553,8 +87109,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85553,8 +87109,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85553 | }, | 87109 | }, |
| 85554 | .call_frame = .{ .alignment = .@"16" }, | 87110 | .call_frame = .{ .alignment = .@"16" }, |
| 85555 | .extra_temps = .{ | 87111 | .extra_temps = .{ |
| 85556 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 87112 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 85557 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 87113 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 85558 | .{ .type = .usize, .kind = .{ .extern_func = "__truncdfhf2" } }, | 87114 | .{ .type = .usize, .kind = .{ .extern_func = "__truncdfhf2" } }, |
| 85559 | .unused, | 87115 | .unused, |
| 85560 | .unused, | 87116 | .unused, |
| ... | @@ -85568,12 +87124,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85568,12 +87124,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85568 | .dst_temps = .{ .mem, .unused }, | 87124 | .dst_temps = .{ .mem, .unused }, |
| 85569 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 87125 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 85570 | .each = .{ .once = &.{ | 87126 | .each = .{ .once = &.{ |
| 85571 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 87127 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 85572 | .{ .@"0:", .v_sd, .mov, .tmp1x, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 87128 | .{ .@"0:", .v_sd, .mov, .tmp1x, .memsi(.src0q, .@"4", .tmp0), ._, ._ }, |
| 85573 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 87129 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 85574 | .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, | 87130 | .{ ._, .vp_w, .extr, .memi(.dst0w, .tmp0), .tmp1x, .ui(0), ._ }, |
| 85575 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 87131 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 85576 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 87132 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 85577 | } }, | 87133 | } }, |
| 85578 | }, .{ | 87134 | }, .{ |
| 85579 | .required_features = .{ .sse4_1, null, null, null }, | 87135 | .required_features = .{ .sse4_1, null, null, null }, |
| ... | @@ -85584,8 +87140,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85584,8 +87140,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85584 | }, | 87140 | }, |
| 85585 | .call_frame = .{ .alignment = .@"16" }, | 87141 | .call_frame = .{ .alignment = .@"16" }, |
| 85586 | .extra_temps = .{ | 87142 | .extra_temps = .{ |
| 85587 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 87143 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 85588 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 87144 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 85589 | .{ .type = .usize, .kind = .{ .extern_func = "__truncdfhf2" } }, | 87145 | .{ .type = .usize, .kind = .{ .extern_func = "__truncdfhf2" } }, |
| 85590 | .unused, | 87146 | .unused, |
| 85591 | .unused, | 87147 | .unused, |
| ... | @@ -85599,12 +87155,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85599,12 +87155,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85599 | .dst_temps = .{ .mem, .unused }, | 87155 | .dst_temps = .{ .mem, .unused }, |
| 85600 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 87156 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 85601 | .each = .{ .once = &.{ | 87157 | .each = .{ .once = &.{ |
| 85602 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 87158 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 85603 | .{ .@"0:", ._sd, .mov, .tmp1x, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 87159 | .{ .@"0:", ._sd, .mov, .tmp1x, .memsi(.src0q, .@"4", .tmp0), ._, ._ }, |
| 85604 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 87160 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 85605 | .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, | 87161 | .{ ._, .p_w, .extr, .memi(.dst0w, .tmp0), .tmp1x, .ui(0), ._ }, |
| 85606 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 87162 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 85607 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 87163 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 85608 | } }, | 87164 | } }, |
| 85609 | }, .{ | 87165 | }, .{ |
| 85610 | .required_features = .{ .sse2, null, null, null }, | 87166 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -85615,8 +87171,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85615,8 +87171,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85615 | }, | 87171 | }, |
| 85616 | .call_frame = .{ .alignment = .@"16" }, | 87172 | .call_frame = .{ .alignment = .@"16" }, |
| 85617 | .extra_temps = .{ | 87173 | .extra_temps = .{ |
| 85618 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 87174 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 85619 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 87175 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 85620 | .{ .type = .usize, .kind = .{ .extern_func = "__truncdfhf2" } }, | 87176 | .{ .type = .usize, .kind = .{ .extern_func = "__truncdfhf2" } }, |
| 85621 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 87177 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 85622 | .unused, | 87178 | .unused, |
| ... | @@ -85630,13 +87186,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85630,13 +87186,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85630 | .dst_temps = .{ .mem, .unused }, | 87186 | .dst_temps = .{ .mem, .unused }, |
| 85631 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 87187 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 85632 | .each = .{ .once = &.{ | 87188 | .each = .{ .once = &.{ |
| 85633 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 87189 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 85634 | .{ .@"0:", ._sd, .mov, .tmp1x, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 87190 | .{ .@"0:", ._sd, .mov, .tmp1x, .memsi(.src0q, .@"4", .tmp0), ._, ._ }, |
| 85635 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 87191 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 85636 | .{ ._, .p_w, .extr, .tmp3d, .tmp1x, .ui(0), ._ }, | 87192 | .{ ._, .p_w, .extr, .tmp3d, .tmp1x, .ui(0), ._ }, |
| 85637 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3w, ._, ._ }, | 87193 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp3w, ._, ._ }, |
| 85638 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 87194 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 85639 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 87195 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 85640 | } }, | 87196 | } }, |
| 85641 | }, .{ | 87197 | }, .{ |
| 85642 | .required_features = .{ .sse, null, null, null }, | 87198 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -85647,8 +87203,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85647,8 +87203,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85647 | }, | 87203 | }, |
| 85648 | .call_frame = .{ .alignment = .@"16" }, | 87204 | .call_frame = .{ .alignment = .@"16" }, |
| 85649 | .extra_temps = .{ | 87205 | .extra_temps = .{ |
| 85650 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 87206 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 85651 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 87207 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 85652 | .{ .type = .usize, .kind = .{ .extern_func = "__truncdfhf2" } }, | 87208 | .{ .type = .usize, .kind = .{ .extern_func = "__truncdfhf2" } }, |
| 85653 | .{ .type = .f32, .kind = .mem }, | 87209 | .{ .type = .f32, .kind = .mem }, |
| 85654 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 87210 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| ... | @@ -85662,15 +87218,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85662,15 +87218,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85662 | .dst_temps = .{ .mem, .unused }, | 87218 | .dst_temps = .{ .mem, .unused }, |
| 85663 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 87219 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 85664 | .each = .{ .once = &.{ | 87220 | .each = .{ .once = &.{ |
| 85665 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 87221 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 85666 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, | 87222 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 85667 | .{ ._, ._ps, .movl, .tmp1x, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 87223 | .{ ._, ._ps, .movl, .tmp1x, .memsi(.src0q, .@"4", .tmp0), ._, ._ }, |
| 85668 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 87224 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 85669 | .{ ._, ._ss, .mov, .mem(.tmp3d), .tmp1x, ._, ._ }, | 87225 | .{ ._, ._ss, .mov, .mem(.tmp3d), .tmp1x, ._, ._ }, |
| 85670 | .{ ._, ._, .mov, .tmp4d, .mem(.tmp3d), ._, ._ }, | 87226 | .{ ._, ._, .mov, .tmp4d, .mem(.tmp3d), ._, ._ }, |
| 85671 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp4w, ._, ._ }, | 87227 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp4w, ._, ._ }, |
| 85672 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 87228 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 85673 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 87229 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 85674 | } }, | 87230 | } }, |
| 85675 | }, .{ | 87231 | }, .{ |
| 85676 | .required_features = .{ .avx, null, null, null }, | 87232 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -85777,7 +87333,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85777,7 +87333,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85777 | .{ .src = .{ .to_mem, .none, .none } }, | 87333 | .{ .src = .{ .to_mem, .none, .none } }, |
| 85778 | }, | 87334 | }, |
| 85779 | .extra_temps = .{ | 87335 | .extra_temps = .{ |
| 85780 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 87336 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 85781 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, | 87337 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| 85782 | .unused, | 87338 | .unused, |
| 85783 | .unused, | 87339 | .unused, |
| ... | @@ -85792,11 +87348,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85792,11 +87348,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85792 | .dst_temps = .{ .mem, .unused }, | 87348 | .dst_temps = .{ .mem, .unused }, |
| 85793 | .clobbers = .{ .eflags = true }, | 87349 | .clobbers = .{ .eflags = true }, |
| 85794 | .each = .{ .once = &.{ | 87350 | .each = .{ .once = &.{ |
| 85795 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 87351 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .dst0, .add_size), ._, ._ }, |
| 85796 | .{ .@"0:", .v_ps, .cvtpd2, .tmp1x, .memsia(.src0y, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 87352 | .{ .@"0:", .v_ps, .cvtpd2, .tmp1x, .memsi(.src0y, .@"2", .tmp0), ._, ._ }, |
| 85797 | .{ ._, .v_ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 87353 | .{ ._, .v_ps, .mova, .memi(.dst0x, .tmp0), .tmp1x, ._, ._ }, |
| 85798 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 87354 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 85799 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 87355 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 85800 | } }, | 87356 | } }, |
| 85801 | }, .{ | 87357 | }, .{ |
| 85802 | .required_features = .{ .sse2, null, null, null }, | 87358 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -85806,7 +87362,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85806,7 +87362,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85806 | .{ .src = .{ .to_mem, .none, .none } }, | 87362 | .{ .src = .{ .to_mem, .none, .none } }, |
| 85807 | }, | 87363 | }, |
| 85808 | .extra_temps = .{ | 87364 | .extra_temps = .{ |
| 85809 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 87365 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 85810 | .{ .type = .vector_2_f32, .kind = .{ .rc = .sse } }, | 87366 | .{ .type = .vector_2_f32, .kind = .{ .rc = .sse } }, |
| 85811 | .unused, | 87367 | .unused, |
| 85812 | .unused, | 87368 | .unused, |
| ... | @@ -85821,11 +87377,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85821,11 +87377,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85821 | .dst_temps = .{ .mem, .unused }, | 87377 | .dst_temps = .{ .mem, .unused }, |
| 85822 | .clobbers = .{ .eflags = true }, | 87378 | .clobbers = .{ .eflags = true }, |
| 85823 | .each = .{ .once = &.{ | 87379 | .each = .{ .once = &.{ |
| 85824 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 87380 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| 85825 | .{ .@"0:", ._ps, .cvtpd2, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 87381 | .{ .@"0:", ._ps, .cvtpd2, .tmp1x, .memsi(.src0x, .@"2", .tmp0), ._, ._ }, |
| 85826 | .{ ._, ._ps, .movl, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 87382 | .{ ._, ._ps, .movl, .memi(.dst0q, .tmp0), .tmp1x, ._, ._ }, |
| 85827 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 87383 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 85828 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 87384 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 85829 | } }, | 87385 | } }, |
| 85830 | }, .{ | 87386 | }, .{ |
| 85831 | .required_features = .{ .x87, null, null, null }, | 87387 | .required_features = .{ .x87, null, null, null }, |
| ... | @@ -85835,7 +87391,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85835,7 +87391,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85835 | .{ .src = .{ .to_mem, .none, .none } }, | 87391 | .{ .src = .{ .to_mem, .none, .none } }, |
| 85836 | }, | 87392 | }, |
| 85837 | .extra_temps = .{ | 87393 | .extra_temps = .{ |
| 85838 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 87394 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 85839 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, | 87395 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 85840 | .unused, | 87396 | .unused, |
| 85841 | .unused, | 87397 | .unused, |
| ... | @@ -85850,13 +87406,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85850,13 +87406,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85850 | .dst_temps = .{ .mem, .unused }, | 87406 | .dst_temps = .{ .mem, .unused }, |
| 85851 | .clobbers = .{ .eflags = true }, | 87407 | .clobbers = .{ .eflags = true }, |
| 85852 | .each = .{ .once = &.{ | 87408 | .each = .{ .once = &.{ |
| 85853 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 87409 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 85854 | .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 87410 | .{ .@"0:", .f_, .ld, .memsi(.src0q, .@"2", .tmp0), ._, ._, ._ }, |
| 85855 | .{ ._, .f_p, .st, .memia(.dst0d, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 87411 | .{ ._, .f_p, .st, .memi(.dst0d, .tmp0), ._, ._, ._ }, |
| 85856 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 87412 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 85857 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 87413 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 85858 | } }, | 87414 | } }, |
| 85859 | }, .{ | 87415 | }, .{ |
| | 87416 | .required_cc_abi = .sysv64, |
| 85860 | .required_features = .{ .avx, null, null, null }, | 87417 | .required_features = .{ .avx, null, null, null }, |
| 85861 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 87418 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 85862 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any }, | 87419 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| ... | @@ -85877,7 +87434,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85877,7 +87434,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85877 | .unused, | 87434 | .unused, |
| 85878 | .unused, | 87435 | .unused, |
| 85879 | }, | 87436 | }, |
| 85880 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 87437 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 85881 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 87438 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 85882 | .each = .{ .once = &.{ | 87439 | .each = .{ .once = &.{ |
| 85883 | .{ ._, .v_dqa, .mov, .dst0x, .mem(.src0x), ._, ._ }, | 87440 | .{ ._, .v_dqa, .mov, .dst0x, .mem(.src0x), ._, ._ }, |
| ... | @@ -85885,6 +87442,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85885,6 +87442,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85885 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, | 87442 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| 85886 | } }, | 87443 | } }, |
| 85887 | }, .{ | 87444 | }, .{ |
| | 87445 | .required_cc_abi = .sysv64, |
| 85888 | .required_features = .{ .sse2, null, null, null }, | 87446 | .required_features = .{ .sse2, null, null, null }, |
| 85889 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 87447 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 85890 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any }, | 87448 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| ... | @@ -85905,7 +87463,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85905,7 +87463,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85905 | .unused, | 87463 | .unused, |
| 85906 | .unused, | 87464 | .unused, |
| 85907 | }, | 87465 | }, |
| 85908 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 87466 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 85909 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 87467 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 85910 | .each = .{ .once = &.{ | 87468 | .each = .{ .once = &.{ |
| 85911 | .{ ._, ._dqa, .mov, .dst0x, .mem(.src0x), ._, ._ }, | 87469 | .{ ._, ._dqa, .mov, .dst0x, .mem(.src0x), ._, ._ }, |
| ... | @@ -85913,6 +87471,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85913,6 +87471,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85913 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, | 87471 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| 85914 | } }, | 87472 | } }, |
| 85915 | }, .{ | 87473 | }, .{ |
| | 87474 | .required_cc_abi = .sysv64, |
| 85916 | .required_features = .{ .sse, null, null, null }, | 87475 | .required_features = .{ .sse, null, null, null }, |
| 85917 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 87476 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 85918 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any }, | 87477 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| ... | @@ -85933,7 +87492,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85933,7 +87492,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85933 | .unused, | 87492 | .unused, |
| 85934 | .unused, | 87493 | .unused, |
| 85935 | }, | 87494 | }, |
| 85936 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 87495 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 85937 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 87496 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 85938 | .each = .{ .once = &.{ | 87497 | .each = .{ .once = &.{ |
| 85939 | .{ ._, ._ps, .mova, .dst0x, .mem(.src0x), ._, ._ }, | 87498 | .{ ._, ._ps, .mova, .dst0x, .mem(.src0x), ._, ._ }, |
| ... | @@ -85941,6 +87500,35 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85941,6 +87500,35 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85941 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, | 87500 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| 85942 | } }, | 87501 | } }, |
| 85943 | }, .{ | 87502 | }, .{ |
| | 87503 | .required_cc_abi = .win64, |
| | 87504 | .required_features = .{ .sse, null, null, null }, |
| | 87505 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 87506 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| | 87507 | .patterns = &.{ |
| | 87508 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 87509 | }, |
| | 87510 | .call_frame = .{ .alignment = .@"16" }, |
| | 87511 | .extra_temps = .{ |
| | 87512 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 87513 | .{ .type = .usize, .kind = .{ .extern_func = "__truncxfhf2" } }, |
| | 87514 | .unused, |
| | 87515 | .unused, |
| | 87516 | .unused, |
| | 87517 | .unused, |
| | 87518 | .unused, |
| | 87519 | .unused, |
| | 87520 | .unused, |
| | 87521 | .unused, |
| | 87522 | .unused, |
| | 87523 | }, |
| | 87524 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| | 87525 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 87526 | .each = .{ .once = &.{ |
| | 87527 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| | 87528 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 87529 | } }, |
| | 87530 | }, .{ |
| | 87531 | .required_cc_abi = .sysv64, |
| 85944 | .required_features = .{ .avx, null, null, null }, | 87532 | .required_features = .{ .avx, null, null, null }, |
| 85945 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 87533 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 85946 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, | 87534 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| ... | @@ -85949,8 +87537,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85949,8 +87537,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85949 | }, | 87537 | }, |
| 85950 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 87538 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 85951 | .extra_temps = .{ | 87539 | .extra_temps = .{ |
| 85952 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 87540 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 85953 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 87541 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 85954 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 87542 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 85955 | .{ .type = .usize, .kind = .{ .extern_func = "__truncxfhf2" } }, | 87543 | .{ .type = .usize, .kind = .{ .extern_func = "__truncxfhf2" } }, |
| 85956 | .unused, | 87544 | .unused, |
| ... | @@ -85964,15 +87552,48 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85964,15 +87552,48 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85964 | .dst_temps = .{ .mem, .unused }, | 87552 | .dst_temps = .{ .mem, .unused }, |
| 85965 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 87553 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 85966 | .each = .{ .once = &.{ | 87554 | .each = .{ .once = &.{ |
| 85967 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 87555 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 85968 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memsia(.src0x, .@"8", .tmp0, .add_unaligned_size), ._, ._ }, | 87556 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memsi(.src0x, .@"8", .tmp0), ._, ._ }, |
| 85969 | .{ ._, .v_dqa, .mov, .mem(.tmp2x), .tmp1x, ._, ._ }, | 87557 | .{ ._, .v_dqa, .mov, .mem(.tmp2x), .tmp1x, ._, ._ }, |
| 85970 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 87558 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 85971 | .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, | 87559 | .{ ._, .vp_w, .extr, .memi(.dst0w, .tmp0), .tmp1x, .ui(0), ._ }, |
| 85972 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 87560 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 85973 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 87561 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 87562 | } }, |
| | 87563 | }, .{ |
| | 87564 | .required_cc_abi = .win64, |
| | 87565 | .required_features = .{ .avx, null, null, null }, |
| | 87566 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 87567 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| | 87568 | .patterns = &.{ |
| | 87569 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 87570 | }, |
| | 87571 | .call_frame = .{ .alignment = .@"16" }, |
| | 87572 | .extra_temps = .{ |
| | 87573 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 87574 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 87575 | .{ .type = .usize, .kind = .{ .extern_func = "__truncxfhf2" } }, |
| | 87576 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 87577 | .unused, |
| | 87578 | .unused, |
| | 87579 | .unused, |
| | 87580 | .unused, |
| | 87581 | .unused, |
| | 87582 | .unused, |
| | 87583 | .unused, |
| | 87584 | }, |
| | 87585 | .dst_temps = .{ .mem, .unused }, |
| | 87586 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 87587 | .each = .{ .once = &.{ |
| | 87588 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| | 87589 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.src0, .@"8", .tmp0), ._, ._ }, |
| | 87590 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 87591 | .{ ._, .vp_w, .extr, .memi(.dst0w, .tmp0), .tmp3x, .ui(0), ._ }, |
| | 87592 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 87593 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 85974 | } }, | 87594 | } }, |
| 85975 | }, .{ | 87595 | }, .{ |
| | 87596 | .required_cc_abi = .sysv64, |
| 85976 | .required_features = .{ .sse4_1, null, null, null }, | 87597 | .required_features = .{ .sse4_1, null, null, null }, |
| 85977 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 87598 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 85978 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, | 87599 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| ... | @@ -85981,8 +87602,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85981,8 +87602,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85981 | }, | 87602 | }, |
| 85982 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 87603 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 85983 | .extra_temps = .{ | 87604 | .extra_temps = .{ |
| 85984 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 87605 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 85985 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 87606 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 85986 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 87607 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 85987 | .{ .type = .usize, .kind = .{ .extern_func = "__truncxfhf2" } }, | 87608 | .{ .type = .usize, .kind = .{ .extern_func = "__truncxfhf2" } }, |
| 85988 | .unused, | 87609 | .unused, |
| ... | @@ -85996,15 +87617,48 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -85996,15 +87617,48 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85996 | .dst_temps = .{ .mem, .unused }, | 87617 | .dst_temps = .{ .mem, .unused }, |
| 85997 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 87618 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 85998 | .each = .{ .once = &.{ | 87619 | .each = .{ .once = &.{ |
| 85999 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 87620 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 86000 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memsia(.src0x, .@"8", .tmp0, .add_unaligned_size), ._, ._ }, | 87621 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memsi(.src0x, .@"8", .tmp0), ._, ._ }, |
| 86001 | .{ ._, ._dqa, .mov, .mem(.tmp2x), .tmp1x, ._, ._ }, | 87622 | .{ ._, ._dqa, .mov, .mem(.tmp2x), .tmp1x, ._, ._ }, |
| 86002 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 87623 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 86003 | .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, | 87624 | .{ ._, .p_w, .extr, .memi(.dst0w, .tmp0), .tmp1x, .ui(0), ._ }, |
| 86004 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 87625 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 86005 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 87626 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 87627 | } }, |
| | 87628 | }, .{ |
| | 87629 | .required_cc_abi = .win64, |
| | 87630 | .required_features = .{ .sse4_1, null, null, null }, |
| | 87631 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 87632 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| | 87633 | .patterns = &.{ |
| | 87634 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 87635 | }, |
| | 87636 | .call_frame = .{ .alignment = .@"16" }, |
| | 87637 | .extra_temps = .{ |
| | 87638 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 87639 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 87640 | .{ .type = .usize, .kind = .{ .extern_func = "__truncxfhf2" } }, |
| | 87641 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 87642 | .unused, |
| | 87643 | .unused, |
| | 87644 | .unused, |
| | 87645 | .unused, |
| | 87646 | .unused, |
| | 87647 | .unused, |
| | 87648 | .unused, |
| | 87649 | }, |
| | 87650 | .dst_temps = .{ .mem, .unused }, |
| | 87651 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 87652 | .each = .{ .once = &.{ |
| | 87653 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| | 87654 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.src0, .@"8", .tmp0), ._, ._ }, |
| | 87655 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 87656 | .{ ._, .p_w, .extr, .memi(.dst0w, .tmp0), .tmp3x, .ui(0), ._ }, |
| | 87657 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 87658 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 86006 | } }, | 87659 | } }, |
| 86007 | }, .{ | 87660 | }, .{ |
| | 87661 | .required_cc_abi = .sysv64, |
| 86008 | .required_features = .{ .sse2, null, null, null }, | 87662 | .required_features = .{ .sse2, null, null, null }, |
| 86009 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 87663 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 86010 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, | 87664 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| ... | @@ -86013,8 +87667,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86013,8 +87667,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86013 | }, | 87667 | }, |
| 86014 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 87668 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 86015 | .extra_temps = .{ | 87669 | .extra_temps = .{ |
| 86016 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 87670 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 86017 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 87671 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 86018 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 87672 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 86019 | .{ .type = .usize, .kind = .{ .extern_func = "__truncxfhf2" } }, | 87673 | .{ .type = .usize, .kind = .{ .extern_func = "__truncxfhf2" } }, |
| 86020 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 87674 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| ... | @@ -86028,16 +87682,50 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86028,16 +87682,50 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86028 | .dst_temps = .{ .mem, .unused }, | 87682 | .dst_temps = .{ .mem, .unused }, |
| 86029 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 87683 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 86030 | .each = .{ .once = &.{ | 87684 | .each = .{ .once = &.{ |
| 86031 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 87685 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 86032 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memsia(.src0x, .@"8", .tmp0, .add_unaligned_size), ._, ._ }, | 87686 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memsi(.src0x, .@"8", .tmp0), ._, ._ }, |
| 86033 | .{ ._, ._dqa, .mov, .mem(.tmp2x), .tmp1x, ._, ._ }, | 87687 | .{ ._, ._dqa, .mov, .mem(.tmp2x), .tmp1x, ._, ._ }, |
| 86034 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 87688 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 86035 | .{ ._, .p_w, .extr, .tmp4d, .tmp1x, .ui(0), ._ }, | 87689 | .{ ._, .p_w, .extr, .tmp4d, .tmp1x, .ui(0), ._ }, |
| 86036 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp4w, ._, ._ }, | 87690 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp4w, ._, ._ }, |
| 86037 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 87691 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 86038 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 87692 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 87693 | } }, |
| | 87694 | }, .{ |
| | 87695 | .required_cc_abi = .win64, |
| | 87696 | .required_features = .{ .sse2, null, null, null }, |
| | 87697 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 87698 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| | 87699 | .patterns = &.{ |
| | 87700 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 87701 | }, |
| | 87702 | .call_frame = .{ .alignment = .@"16" }, |
| | 87703 | .extra_temps = .{ |
| | 87704 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 87705 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 87706 | .{ .type = .usize, .kind = .{ .extern_func = "__truncxfhf2" } }, |
| | 87707 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 87708 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 87709 | .unused, |
| | 87710 | .unused, |
| | 87711 | .unused, |
| | 87712 | .unused, |
| | 87713 | .unused, |
| | 87714 | .unused, |
| | 87715 | }, |
| | 87716 | .dst_temps = .{ .mem, .unused }, |
| | 87717 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 87718 | .each = .{ .once = &.{ |
| | 87719 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| | 87720 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.src0, .@"8", .tmp0), ._, ._ }, |
| | 87721 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 87722 | .{ ._, .p_w, .extr, .tmp4d, .tmp3x, .ui(0), ._ }, |
| | 87723 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp4w, ._, ._ }, |
| | 87724 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 87725 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 86039 | } }, | 87726 | } }, |
| 86040 | }, .{ | 87727 | }, .{ |
| | 87728 | .required_cc_abi = .sysv64, |
| 86041 | .required_features = .{ .sse, null, null, null }, | 87729 | .required_features = .{ .sse, null, null, null }, |
| 86042 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 87730 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 86043 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, | 87731 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| ... | @@ -86046,8 +87734,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86046,8 +87734,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86046 | }, | 87734 | }, |
| 86047 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 87735 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 86048 | .extra_temps = .{ | 87736 | .extra_temps = .{ |
| 86049 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 87737 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 86050 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 87738 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 86051 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 87739 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 86052 | .{ .type = .usize, .kind = .{ .extern_func = "__truncxfhf2" } }, | 87740 | .{ .type = .usize, .kind = .{ .extern_func = "__truncxfhf2" } }, |
| 86053 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 87741 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| ... | @@ -86061,15 +87749,49 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86061,15 +87749,49 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86061 | .dst_temps = .{ .mem, .unused }, | 87749 | .dst_temps = .{ .mem, .unused }, |
| 86062 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 87750 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 86063 | .each = .{ .once = &.{ | 87751 | .each = .{ .once = &.{ |
| 86064 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 87752 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 86065 | .{ .@"0:", ._ps, .mova, .tmp1x, .memsia(.src0x, .@"8", .tmp0, .add_unaligned_size), ._, ._ }, | 87753 | .{ .@"0:", ._ps, .mova, .tmp1x, .memsi(.src0x, .@"8", .tmp0), ._, ._ }, |
| 86066 | .{ ._, ._ps, .mova, .mem(.tmp2x), .tmp1x, ._, ._ }, | 87754 | .{ ._, ._ps, .mova, .mem(.tmp2x), .tmp1x, ._, ._ }, |
| 86067 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 87755 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 86068 | .{ ._, ._ss, .mov, .mem(.tmp2d), .tmp1x, ._, ._ }, | 87756 | .{ ._, ._ss, .mov, .mem(.tmp2d), .tmp1x, ._, ._ }, |
| 86069 | .{ ._, ._, .mov, .tmp4d, .mem(.tmp2d), ._, ._ }, | 87757 | .{ ._, ._, .mov, .tmp4d, .mem(.tmp2d), ._, ._ }, |
| 86070 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp4w, ._, ._ }, | 87758 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp4w, ._, ._ }, |
| 86071 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 87759 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 86072 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 87760 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 87761 | } }, |
| | 87762 | }, .{ |
| | 87763 | .required_cc_abi = .win64, |
| | 87764 | .required_features = .{ .sse, null, null, null }, |
| | 87765 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 87766 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| | 87767 | .patterns = &.{ |
| | 87768 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 87769 | }, |
| | 87770 | .call_frame = .{ .alignment = .@"16" }, |
| | 87771 | .extra_temps = .{ |
| | 87772 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 87773 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 87774 | .{ .type = .usize, .kind = .{ .extern_func = "__truncxfhf2" } }, |
| | 87775 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 87776 | .{ .type = .f32, .kind = .mem }, |
| | 87777 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 87778 | .unused, |
| | 87779 | .unused, |
| | 87780 | .unused, |
| | 87781 | .unused, |
| | 87782 | .unused, |
| | 87783 | }, |
| | 87784 | .dst_temps = .{ .mem, .unused }, |
| | 87785 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 87786 | .each = .{ .once = &.{ |
| | 87787 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| | 87788 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.src0, .@"8", .tmp0), ._, ._ }, |
| | 87789 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 87790 | .{ ._, ._ss, .mov, .mem(.tmp4d), .tmp3x, ._, ._ }, |
| | 87791 | .{ ._, ._, .mov, .tmp5d, .mem(.tmp4d), ._, ._ }, |
| | 87792 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp5w, ._, ._ }, |
| | 87793 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 87794 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 86073 | } }, | 87795 | } }, |
| 86074 | }, .{ | 87796 | }, .{ |
| 86075 | .required_features = .{ .x87, null, null, null }, | 87797 | .required_features = .{ .x87, null, null, null }, |
| ... | @@ -86105,7 +87827,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86105,7 +87827,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86105 | .{ .src = .{ .to_mem, .none, .none } }, | 87827 | .{ .src = .{ .to_mem, .none, .none } }, |
| 86106 | }, | 87828 | }, |
| 86107 | .extra_temps = .{ | 87829 | .extra_temps = .{ |
| 86108 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 87830 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 86109 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 87831 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 86110 | .unused, | 87832 | .unused, |
| 86111 | .unused, | 87833 | .unused, |
| ... | @@ -86120,11 +87842,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86120,11 +87842,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86120 | .dst_temps = .{ .mem, .unused }, | 87842 | .dst_temps = .{ .mem, .unused }, |
| 86121 | .clobbers = .{ .eflags = true }, | 87843 | .clobbers = .{ .eflags = true }, |
| 86122 | .each = .{ .once = &.{ | 87844 | .each = .{ .once = &.{ |
| 86123 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 87845 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 86124 | .{ .@"0:", .f_, .ld, .memsia(.src0t, .@"4", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 87846 | .{ .@"0:", .f_, .ld, .memsi(.src0t, .@"4", .tmp0), ._, ._, ._ }, |
| 86125 | .{ ._, .f_p, .st, .memia(.dst0d, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 87847 | .{ ._, .f_p, .st, .memi(.dst0d, .tmp0), ._, ._, ._ }, |
| 86126 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 87848 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 86127 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 87849 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 86128 | } }, | 87850 | } }, |
| 86129 | }, .{ | 87851 | }, .{ |
| 86130 | .required_features = .{ .x87, null, null, null }, | 87852 | .required_features = .{ .x87, null, null, null }, |
| ... | @@ -86160,7 +87882,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86160,7 +87882,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86160 | .{ .src = .{ .to_mem, .none, .none } }, | 87882 | .{ .src = .{ .to_mem, .none, .none } }, |
| 86161 | }, | 87883 | }, |
| 86162 | .extra_temps = .{ | 87884 | .extra_temps = .{ |
| 86163 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 87885 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 86164 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 87886 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 86165 | .unused, | 87887 | .unused, |
| 86166 | .unused, | 87888 | .unused, |
| ... | @@ -86175,18 +87897,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86175,18 +87897,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86175 | .dst_temps = .{ .mem, .unused }, | 87897 | .dst_temps = .{ .mem, .unused }, |
| 86176 | .clobbers = .{ .eflags = true }, | 87898 | .clobbers = .{ .eflags = true }, |
| 86177 | .each = .{ .once = &.{ | 87899 | .each = .{ .once = &.{ |
| 86178 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 87900 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| 86179 | .{ .@"0:", .f_, .ld, .memsia(.src0t, .@"2", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 87901 | .{ .@"0:", .f_, .ld, .memsi(.src0t, .@"2", .tmp0), ._, ._, ._ }, |
| 86180 | .{ ._, .f_p, .st, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 87902 | .{ ._, .f_p, .st, .memi(.dst0q, .tmp0), ._, ._, ._ }, |
| 86181 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 87903 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 86182 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 87904 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 86183 | } }, | 87905 | } }, |
| 86184 | }, .{ | 87906 | }, .{ |
| 86185 | .required_features = .{ .sse, null, null, null }, | 87907 | .required_features = .{ .sse, null, null, null }, |
| 86186 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, | 87908 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 86187 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any }, | 87909 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| 86188 | .patterns = &.{ | 87910 | .patterns = &.{ |
| 86189 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 87911 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 86190 | }, | 87912 | }, |
| 86191 | .call_frame = .{ .alignment = .@"16" }, | 87913 | .call_frame = .{ .alignment = .@"16" }, |
| 86192 | .extra_temps = .{ | 87914 | .extra_temps = .{ |
| ... | @@ -86216,8 +87938,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86216,8 +87938,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86216 | }, | 87938 | }, |
| 86217 | .call_frame = .{ .alignment = .@"16" }, | 87939 | .call_frame = .{ .alignment = .@"16" }, |
| 86218 | .extra_temps = .{ | 87940 | .extra_temps = .{ |
| 86219 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 87941 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 86220 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 87942 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 86221 | .{ .type = .usize, .kind = .{ .extern_func = "__trunctfhf2" } }, | 87943 | .{ .type = .usize, .kind = .{ .extern_func = "__trunctfhf2" } }, |
| 86222 | .unused, | 87944 | .unused, |
| 86223 | .unused, | 87945 | .unused, |
| ... | @@ -86231,12 +87953,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86231,12 +87953,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86231 | .dst_temps = .{ .mem, .unused }, | 87953 | .dst_temps = .{ .mem, .unused }, |
| 86232 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 87954 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 86233 | .each = .{ .once = &.{ | 87955 | .each = .{ .once = &.{ |
| 86234 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 87956 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 86235 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memsia(.src0x, .@"8", .tmp0, .add_unaligned_size), ._, ._ }, | 87957 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memsi(.src0x, .@"8", .tmp0), ._, ._ }, |
| 86236 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 87958 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 86237 | .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, | 87959 | .{ ._, .vp_w, .extr, .memi(.dst0w, .tmp0), .tmp1x, .ui(0), ._ }, |
| 86238 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 87960 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 86239 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 87961 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 86240 | } }, | 87962 | } }, |
| 86241 | }, .{ | 87963 | }, .{ |
| 86242 | .required_features = .{ .sse4_1, null, null, null }, | 87964 | .required_features = .{ .sse4_1, null, null, null }, |
| ... | @@ -86247,8 +87969,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86247,8 +87969,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86247 | }, | 87969 | }, |
| 86248 | .call_frame = .{ .alignment = .@"16" }, | 87970 | .call_frame = .{ .alignment = .@"16" }, |
| 86249 | .extra_temps = .{ | 87971 | .extra_temps = .{ |
| 86250 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 87972 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 86251 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 87973 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 86252 | .{ .type = .usize, .kind = .{ .extern_func = "__trunctfhf2" } }, | 87974 | .{ .type = .usize, .kind = .{ .extern_func = "__trunctfhf2" } }, |
| 86253 | .unused, | 87975 | .unused, |
| 86254 | .unused, | 87976 | .unused, |
| ... | @@ -86262,12 +87984,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86262,12 +87984,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86262 | .dst_temps = .{ .mem, .unused }, | 87984 | .dst_temps = .{ .mem, .unused }, |
| 86263 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 87985 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 86264 | .each = .{ .once = &.{ | 87986 | .each = .{ .once = &.{ |
| 86265 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 87987 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 86266 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memsia(.src0x, .@"8", .tmp0, .add_unaligned_size), ._, ._ }, | 87988 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memsi(.src0x, .@"8", .tmp0), ._, ._ }, |
| 86267 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 87989 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 86268 | .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, | 87990 | .{ ._, .p_w, .extr, .memi(.dst0w, .tmp0), .tmp1x, .ui(0), ._ }, |
| 86269 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 87991 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 86270 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 87992 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 86271 | } }, | 87993 | } }, |
| 86272 | }, .{ | 87994 | }, .{ |
| 86273 | .required_features = .{ .sse2, null, null, null }, | 87995 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -86278,8 +88000,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86278,8 +88000,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86278 | }, | 88000 | }, |
| 86279 | .call_frame = .{ .alignment = .@"16" }, | 88001 | .call_frame = .{ .alignment = .@"16" }, |
| 86280 | .extra_temps = .{ | 88002 | .extra_temps = .{ |
| 86281 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 88003 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 86282 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 88004 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 86283 | .{ .type = .usize, .kind = .{ .extern_func = "__trunctfhf2" } }, | 88005 | .{ .type = .usize, .kind = .{ .extern_func = "__trunctfhf2" } }, |
| 86284 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 88006 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 86285 | .unused, | 88007 | .unused, |
| ... | @@ -86293,13 +88015,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86293,13 +88015,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86293 | .dst_temps = .{ .mem, .unused }, | 88015 | .dst_temps = .{ .mem, .unused }, |
| 86294 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 88016 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 86295 | .each = .{ .once = &.{ | 88017 | .each = .{ .once = &.{ |
| 86296 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 88018 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 86297 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memsia(.src0x, .@"8", .tmp0, .add_unaligned_size), ._, ._ }, | 88019 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memsi(.src0x, .@"8", .tmp0), ._, ._ }, |
| 86298 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 88020 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 86299 | .{ ._, .p_w, .extr, .tmp3d, .tmp1x, .ui(0), ._ }, | 88021 | .{ ._, .p_w, .extr, .tmp3d, .tmp1x, .ui(0), ._ }, |
| 86300 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3w, ._, ._ }, | 88022 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp3w, ._, ._ }, |
| 86301 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 88023 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 86302 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 88024 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 86303 | } }, | 88025 | } }, |
| 86304 | }, .{ | 88026 | }, .{ |
| 86305 | .required_features = .{ .sse, null, null, null }, | 88027 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -86310,8 +88032,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86310,8 +88032,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86310 | }, | 88032 | }, |
| 86311 | .call_frame = .{ .alignment = .@"16" }, | 88033 | .call_frame = .{ .alignment = .@"16" }, |
| 86312 | .extra_temps = .{ | 88034 | .extra_temps = .{ |
| 86313 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 88035 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 86314 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 88036 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 86315 | .{ .type = .usize, .kind = .{ .extern_func = "__trunctfhf2" } }, | 88037 | .{ .type = .usize, .kind = .{ .extern_func = "__trunctfhf2" } }, |
| 86316 | .{ .type = .f32, .kind = .mem }, | 88038 | .{ .type = .f32, .kind = .mem }, |
| 86317 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 88039 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| ... | @@ -86325,21 +88047,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86325,21 +88047,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86325 | .dst_temps = .{ .mem, .unused }, | 88047 | .dst_temps = .{ .mem, .unused }, |
| 86326 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 88048 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 86327 | .each = .{ .once = &.{ | 88049 | .each = .{ .once = &.{ |
| 86328 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 88050 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 86329 | .{ .@"0:", ._ps, .mova, .tmp1x, .memsia(.src0x, .@"8", .tmp0, .add_unaligned_size), ._, ._ }, | 88051 | .{ .@"0:", ._ps, .mova, .tmp1x, .memsi(.src0x, .@"8", .tmp0), ._, ._ }, |
| 86330 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 88052 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 86331 | .{ ._, ._ss, .mov, .mem(.tmp3d), .tmp1x, ._, ._ }, | 88053 | .{ ._, ._ss, .mov, .mem(.tmp3d), .tmp1x, ._, ._ }, |
| 86332 | .{ ._, ._, .mov, .tmp4d, .mem(.tmp3d), ._, ._ }, | 88054 | .{ ._, ._, .mov, .tmp4d, .mem(.tmp3d), ._, ._ }, |
| 86333 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp4w, ._, ._ }, | 88055 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp4w, ._, ._ }, |
| 86334 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 88056 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 86335 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 88057 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 86336 | } }, | 88058 | } }, |
| 86337 | }, .{ | 88059 | }, .{ |
| 86338 | .required_features = .{ .sse, null, null, null }, | 88060 | .required_features = .{ .sse, null, null, null }, |
| 86339 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, | 88061 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 86340 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any }, | 88062 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any }, |
| 86341 | .patterns = &.{ | 88063 | .patterns = &.{ |
| 86342 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 88064 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 86343 | }, | 88065 | }, |
| 86344 | .call_frame = .{ .alignment = .@"16" }, | 88066 | .call_frame = .{ .alignment = .@"16" }, |
| 86345 | .extra_temps = .{ | 88067 | .extra_temps = .{ |
| ... | @@ -86369,8 +88091,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86369,8 +88091,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86369 | }, | 88091 | }, |
| 86370 | .call_frame = .{ .alignment = .@"16" }, | 88092 | .call_frame = .{ .alignment = .@"16" }, |
| 86371 | .extra_temps = .{ | 88093 | .extra_temps = .{ |
| 86372 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 88094 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 86373 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 88095 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 86374 | .{ .type = .usize, .kind = .{ .extern_func = "__trunctfsf2" } }, | 88096 | .{ .type = .usize, .kind = .{ .extern_func = "__trunctfsf2" } }, |
| 86375 | .unused, | 88097 | .unused, |
| 86376 | .unused, | 88098 | .unused, |
| ... | @@ -86384,12 +88106,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86384,12 +88106,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86384 | .dst_temps = .{ .mem, .unused }, | 88106 | .dst_temps = .{ .mem, .unused }, |
| 86385 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 88107 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 86386 | .each = .{ .once = &.{ | 88108 | .each = .{ .once = &.{ |
| 86387 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 88109 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 86388 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memsia(.src0x, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 88110 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memsi(.src0x, .@"4", .tmp0), ._, ._ }, |
| 86389 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 88111 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 86390 | .{ ._, .v_ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 88112 | .{ ._, .v_ss, .mov, .memi(.dst0d, .tmp0), .tmp1x, ._, ._ }, |
| 86391 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 88113 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 86392 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 88114 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 86393 | } }, | 88115 | } }, |
| 86394 | }, .{ | 88116 | }, .{ |
| 86395 | .required_features = .{ .sse2, null, null, null }, | 88117 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -86400,8 +88122,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86400,8 +88122,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86400 | }, | 88122 | }, |
| 86401 | .call_frame = .{ .alignment = .@"16" }, | 88123 | .call_frame = .{ .alignment = .@"16" }, |
| 86402 | .extra_temps = .{ | 88124 | .extra_temps = .{ |
| 86403 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 88125 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 86404 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 88126 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 86405 | .{ .type = .usize, .kind = .{ .extern_func = "__trunctfsf2" } }, | 88127 | .{ .type = .usize, .kind = .{ .extern_func = "__trunctfsf2" } }, |
| 86406 | .unused, | 88128 | .unused, |
| 86407 | .unused, | 88129 | .unused, |
| ... | @@ -86415,12 +88137,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86415,12 +88137,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86415 | .dst_temps = .{ .mem, .unused }, | 88137 | .dst_temps = .{ .mem, .unused }, |
| 86416 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 88138 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 86417 | .each = .{ .once = &.{ | 88139 | .each = .{ .once = &.{ |
| 86418 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 88140 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 86419 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memsia(.src0x, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 88141 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memsi(.src0x, .@"4", .tmp0), ._, ._ }, |
| 86420 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 88142 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 86421 | .{ ._, ._ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 88143 | .{ ._, ._ss, .mov, .memi(.dst0d, .tmp0), .tmp1x, ._, ._ }, |
| 86422 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 88144 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 86423 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 88145 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 86424 | } }, | 88146 | } }, |
| 86425 | }, .{ | 88147 | }, .{ |
| 86426 | .required_features = .{ .sse, null, null, null }, | 88148 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -86431,8 +88153,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86431,8 +88153,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86431 | }, | 88153 | }, |
| 86432 | .call_frame = .{ .alignment = .@"16" }, | 88154 | .call_frame = .{ .alignment = .@"16" }, |
| 86433 | .extra_temps = .{ | 88155 | .extra_temps = .{ |
| 86434 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 88156 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 86435 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 88157 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 86436 | .{ .type = .usize, .kind = .{ .extern_func = "__trunctfsf2" } }, | 88158 | .{ .type = .usize, .kind = .{ .extern_func = "__trunctfsf2" } }, |
| 86437 | .unused, | 88159 | .unused, |
| 86438 | .unused, | 88160 | .unused, |
| ... | @@ -86446,19 +88168,19 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86446,19 +88168,19 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86446 | .dst_temps = .{ .mem, .unused }, | 88168 | .dst_temps = .{ .mem, .unused }, |
| 86447 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 88169 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 86448 | .each = .{ .once = &.{ | 88170 | .each = .{ .once = &.{ |
| 86449 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 88171 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 86450 | .{ .@"0:", ._ps, .mova, .tmp1x, .memsia(.src0x, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 88172 | .{ .@"0:", ._ps, .mova, .tmp1x, .memsi(.src0x, .@"4", .tmp0), ._, ._ }, |
| 86451 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 88173 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 86452 | .{ ._, ._ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 88174 | .{ ._, ._ss, .mov, .memi(.dst0d, .tmp0), .tmp1x, ._, ._ }, |
| 86453 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 88175 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 86454 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 88176 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 86455 | } }, | 88177 | } }, |
| 86456 | }, .{ | 88178 | }, .{ |
| 86457 | .required_features = .{ .sse, null, null, null }, | 88179 | .required_features = .{ .sse, null, null, null }, |
| 86458 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, | 88180 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 86459 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any }, | 88181 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any }, |
| 86460 | .patterns = &.{ | 88182 | .patterns = &.{ |
| 86461 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 88183 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 86462 | }, | 88184 | }, |
| 86463 | .call_frame = .{ .alignment = .@"16" }, | 88185 | .call_frame = .{ .alignment = .@"16" }, |
| 86464 | .extra_temps = .{ | 88186 | .extra_temps = .{ |
| ... | @@ -86488,8 +88210,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86488,8 +88210,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86488 | }, | 88210 | }, |
| 86489 | .call_frame = .{ .alignment = .@"16" }, | 88211 | .call_frame = .{ .alignment = .@"16" }, |
| 86490 | .extra_temps = .{ | 88212 | .extra_temps = .{ |
| 86491 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 88213 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 86492 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 88214 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 86493 | .{ .type = .usize, .kind = .{ .extern_func = "__trunctfdf2" } }, | 88215 | .{ .type = .usize, .kind = .{ .extern_func = "__trunctfdf2" } }, |
| 86494 | .unused, | 88216 | .unused, |
| 86495 | .unused, | 88217 | .unused, |
| ... | @@ -86503,12 +88225,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86503,12 +88225,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86503 | .dst_temps = .{ .mem, .unused }, | 88225 | .dst_temps = .{ .mem, .unused }, |
| 86504 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 88226 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 86505 | .each = .{ .once = &.{ | 88227 | .each = .{ .once = &.{ |
| 86506 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 88228 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| 86507 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 88229 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memsi(.src0x, .@"2", .tmp0), ._, ._ }, |
| 86508 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 88230 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 86509 | .{ ._, .v_sd, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 88231 | .{ ._, .v_sd, .mov, .memi(.dst0q, .tmp0), .tmp1x, ._, ._ }, |
| 86510 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 88232 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 86511 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 88233 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 86512 | } }, | 88234 | } }, |
| 86513 | }, .{ | 88235 | }, .{ |
| 86514 | .required_features = .{ .sse2, null, null, null }, | 88236 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -86519,8 +88241,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86519,8 +88241,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86519 | }, | 88241 | }, |
| 86520 | .call_frame = .{ .alignment = .@"16" }, | 88242 | .call_frame = .{ .alignment = .@"16" }, |
| 86521 | .extra_temps = .{ | 88243 | .extra_temps = .{ |
| 86522 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 88244 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 86523 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 88245 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 86524 | .{ .type = .usize, .kind = .{ .extern_func = "__trunctfdf2" } }, | 88246 | .{ .type = .usize, .kind = .{ .extern_func = "__trunctfdf2" } }, |
| 86525 | .unused, | 88247 | .unused, |
| 86526 | .unused, | 88248 | .unused, |
| ... | @@ -86534,12 +88256,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86534,12 +88256,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86534 | .dst_temps = .{ .mem, .unused }, | 88256 | .dst_temps = .{ .mem, .unused }, |
| 86535 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 88257 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 86536 | .each = .{ .once = &.{ | 88258 | .each = .{ .once = &.{ |
| 86537 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 88259 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| 86538 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 88260 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memsi(.src0x, .@"2", .tmp0), ._, ._ }, |
| 86539 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 88261 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 86540 | .{ ._, ._sd, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 88262 | .{ ._, ._sd, .mov, .memi(.dst0q, .tmp0), .tmp1x, ._, ._ }, |
| 86541 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 88263 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 86542 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 88264 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 86543 | } }, | 88265 | } }, |
| 86544 | }, .{ | 88266 | }, .{ |
| 86545 | .required_features = .{ .sse, null, null, null }, | 88267 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -86550,8 +88272,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86550,8 +88272,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86550 | }, | 88272 | }, |
| 86551 | .call_frame = .{ .alignment = .@"16" }, | 88273 | .call_frame = .{ .alignment = .@"16" }, |
| 86552 | .extra_temps = .{ | 88274 | .extra_temps = .{ |
| 86553 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 88275 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 86554 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 88276 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 86555 | .{ .type = .usize, .kind = .{ .extern_func = "__trunctfdf2" } }, | 88277 | .{ .type = .usize, .kind = .{ .extern_func = "__trunctfdf2" } }, |
| 86556 | .unused, | 88278 | .unused, |
| 86557 | .unused, | 88279 | .unused, |
| ... | @@ -86565,19 +88287,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86565,19 +88287,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86565 | .dst_temps = .{ .mem, .unused }, | 88287 | .dst_temps = .{ .mem, .unused }, |
| 86566 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 88288 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 86567 | .each = .{ .once = &.{ | 88289 | .each = .{ .once = &.{ |
| 86568 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 88290 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| 86569 | .{ .@"0:", ._ps, .mova, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 88291 | .{ .@"0:", ._ps, .mova, .tmp1x, .memsi(.src0x, .@"2", .tmp0), ._, ._ }, |
| 86570 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 88292 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 86571 | .{ ._, ._ps, .movl, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 88293 | .{ ._, ._ps, .movl, .memi(.dst0q, .tmp0), .tmp1x, ._, ._ }, |
| 86572 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 88294 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 86573 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 88295 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 86574 | } }, | 88296 | } }, |
| 86575 | }, .{ | 88297 | }, .{ |
| | 88298 | .required_cc_abi = .sysv64, |
| 86576 | .required_features = .{ .sse, .x87, null, null }, | 88299 | .required_features = .{ .sse, .x87, null, null }, |
| 86577 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, | 88300 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 86578 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, | 88301 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| 86579 | .patterns = &.{ | 88302 | .patterns = &.{ |
| 86580 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 88303 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 86581 | }, | 88304 | }, |
| 86582 | .call_frame = .{ .alignment = .@"16" }, | 88305 | .call_frame = .{ .alignment = .@"16" }, |
| 86583 | .extra_temps = .{ | 88306 | .extra_temps = .{ |
| ... | @@ -86599,6 +88322,35 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86599,6 +88322,35 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86599 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 88322 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 86600 | } }, | 88323 | } }, |
| 86601 | }, .{ | 88324 | }, .{ |
| | 88325 | .required_cc_abi = .win64, |
| | 88326 | .required_features = .{ .sse, null, null, null }, |
| | 88327 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 88328 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| | 88329 | .patterns = &.{ |
| | 88330 | .{ .src = .{ .{ .to_reg = .xmm1 }, .none, .none } }, |
| | 88331 | }, |
| | 88332 | .call_frame = .{ .alignment = .@"16" }, |
| | 88333 | .extra_temps = .{ |
| | 88334 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 88335 | .{ .type = .usize, .kind = .{ .extern_func = "__trunctfxf2" } }, |
| | 88336 | .unused, |
| | 88337 | .unused, |
| | 88338 | .unused, |
| | 88339 | .unused, |
| | 88340 | .unused, |
| | 88341 | .unused, |
| | 88342 | .unused, |
| | 88343 | .unused, |
| | 88344 | .unused, |
| | 88345 | }, |
| | 88346 | .dst_temps = .{ .mem, .unused }, |
| | 88347 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 88348 | .each = .{ .once = &.{ |
| | 88349 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| | 88350 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 88351 | } }, |
| | 88352 | }, .{ |
| | 88353 | .required_cc_abi = .sysv64, |
| 86602 | .required_features = .{ .avx, null, null, null }, | 88354 | .required_features = .{ .avx, null, null, null }, |
| 86603 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, | 88355 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 86604 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, | 88356 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| ... | @@ -86607,8 +88359,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86607,8 +88359,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86607 | }, | 88359 | }, |
| 86608 | .call_frame = .{ .alignment = .@"16" }, | 88360 | .call_frame = .{ .alignment = .@"16" }, |
| 86609 | .extra_temps = .{ | 88361 | .extra_temps = .{ |
| 86610 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 88362 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 86611 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 88363 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 86612 | .{ .type = .usize, .kind = .{ .extern_func = "__trunctfxf2" } }, | 88364 | .{ .type = .usize, .kind = .{ .extern_func = "__trunctfxf2" } }, |
| 86613 | .unused, | 88365 | .unused, |
| 86614 | .unused, | 88366 | .unused, |
| ... | @@ -86622,15 +88374,48 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86622,15 +88374,48 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86622 | .dst_temps = .{ .mem, .unused }, | 88374 | .dst_temps = .{ .mem, .unused }, |
| 86623 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 88375 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 86624 | .each = .{ .once = &.{ | 88376 | .each = .{ .once = &.{ |
| 86625 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 88377 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .dst0, .add_unaligned_size), ._, ._ }, |
| 86626 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 88378 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 86627 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 88379 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 86628 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, | 88380 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, |
| 86629 | .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 88381 | .{ ._, .f_p, .st, .memi(.dst0t, .tmp0), ._, ._, ._ }, |
| 86630 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 88382 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 86631 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 88383 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 86632 | } }, | 88384 | } }, |
| 86633 | }, .{ | 88385 | }, .{ |
| | 88386 | .required_cc_abi = .win64, |
| | 88387 | .required_features = .{ .avx, null, null, null }, |
| | 88388 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 88389 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| | 88390 | .patterns = &.{ |
| | 88391 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 88392 | }, |
| | 88393 | .call_frame = .{ .alignment = .@"16" }, |
| | 88394 | .extra_temps = .{ |
| | 88395 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 88396 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 88397 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 88398 | .{ .type = .usize, .kind = .{ .extern_func = "__trunctfxf2" } }, |
| | 88399 | .unused, |
| | 88400 | .unused, |
| | 88401 | .unused, |
| | 88402 | .unused, |
| | 88403 | .unused, |
| | 88404 | .unused, |
| | 88405 | .unused, |
| | 88406 | }, |
| | 88407 | .dst_temps = .{ .mem, .unused }, |
| | 88408 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 88409 | .each = .{ .once = &.{ |
| | 88410 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .dst0, .add_unaligned_size), ._, ._ }, |
| | 88411 | .{ .@"0:", ._, .lea, .tmp1p, .memi(.dst0, .tmp0), ._, ._ }, |
| | 88412 | .{ ._, .v_dqa, .mov, .tmp2x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 88413 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 88414 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 88415 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 88416 | } }, |
| | 88417 | }, .{ |
| | 88418 | .required_cc_abi = .sysv64, |
| 86634 | .required_features = .{ .sse2, null, null, null }, | 88419 | .required_features = .{ .sse2, null, null, null }, |
| 86635 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, | 88420 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 86636 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, | 88421 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| ... | @@ -86639,8 +88424,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86639,8 +88424,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86639 | }, | 88424 | }, |
| 86640 | .call_frame = .{ .alignment = .@"16" }, | 88425 | .call_frame = .{ .alignment = .@"16" }, |
| 86641 | .extra_temps = .{ | 88426 | .extra_temps = .{ |
| 86642 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 88427 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 86643 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 88428 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 86644 | .{ .type = .usize, .kind = .{ .extern_func = "__trunctfxf2" } }, | 88429 | .{ .type = .usize, .kind = .{ .extern_func = "__trunctfxf2" } }, |
| 86645 | .unused, | 88430 | .unused, |
| 86646 | .unused, | 88431 | .unused, |
| ... | @@ -86654,15 +88439,48 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86654,15 +88439,48 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86654 | .dst_temps = .{ .mem, .unused }, | 88439 | .dst_temps = .{ .mem, .unused }, |
| 86655 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 88440 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 86656 | .each = .{ .once = &.{ | 88441 | .each = .{ .once = &.{ |
| 86657 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 88442 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .dst0, .add_unaligned_size), ._, ._ }, |
| 86658 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 88443 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 86659 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 88444 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 86660 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, | 88445 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, |
| 86661 | .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 88446 | .{ ._, .f_p, .st, .memi(.dst0t, .tmp0), ._, ._, ._ }, |
| 86662 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 88447 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 86663 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 88448 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 88449 | } }, |
| | 88450 | }, .{ |
| | 88451 | .required_cc_abi = .win64, |
| | 88452 | .required_features = .{ .sse2, null, null, null }, |
| | 88453 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 88454 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| | 88455 | .patterns = &.{ |
| | 88456 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 88457 | }, |
| | 88458 | .call_frame = .{ .alignment = .@"16" }, |
| | 88459 | .extra_temps = .{ |
| | 88460 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 88461 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 88462 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 88463 | .{ .type = .usize, .kind = .{ .extern_func = "__trunctfxf2" } }, |
| | 88464 | .unused, |
| | 88465 | .unused, |
| | 88466 | .unused, |
| | 88467 | .unused, |
| | 88468 | .unused, |
| | 88469 | .unused, |
| | 88470 | .unused, |
| | 88471 | }, |
| | 88472 | .dst_temps = .{ .mem, .unused }, |
| | 88473 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 88474 | .each = .{ .once = &.{ |
| | 88475 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .dst0, .add_unaligned_size), ._, ._ }, |
| | 88476 | .{ .@"0:", ._, .lea, .tmp1p, .memi(.dst0, .tmp0), ._, ._ }, |
| | 88477 | .{ ._, ._dqa, .mov, .tmp2x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 88478 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 88479 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 88480 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 86664 | } }, | 88481 | } }, |
| 86665 | }, .{ | 88482 | }, .{ |
| | 88483 | .required_cc_abi = .sysv64, |
| 86666 | .required_features = .{ .sse, null, null, null }, | 88484 | .required_features = .{ .sse, null, null, null }, |
| 86667 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, | 88485 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 86668 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, | 88486 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| ... | @@ -86671,8 +88489,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86671,8 +88489,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86671 | }, | 88489 | }, |
| 86672 | .call_frame = .{ .alignment = .@"16" }, | 88490 | .call_frame = .{ .alignment = .@"16" }, |
| 86673 | .extra_temps = .{ | 88491 | .extra_temps = .{ |
| 86674 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 88492 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 86675 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 88493 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 86676 | .{ .type = .usize, .kind = .{ .extern_func = "__trunctfxf2" } }, | 88494 | .{ .type = .usize, .kind = .{ .extern_func = "__trunctfxf2" } }, |
| 86677 | .unused, | 88495 | .unused, |
| 86678 | .unused, | 88496 | .unused, |
| ... | @@ -86686,13 +88504,45 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86686,13 +88504,45 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86686 | .dst_temps = .{ .mem, .unused }, | 88504 | .dst_temps = .{ .mem, .unused }, |
| 86687 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 88505 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 86688 | .each = .{ .once = &.{ | 88506 | .each = .{ .once = &.{ |
| 86689 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 88507 | .{ ._, ._, .mov, .tmp0d, .sa(.dst0, .add_unaligned_size), ._, ._ }, |
| 86690 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 88508 | .{ .@"0:", ._ps, .mova, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 86691 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 88509 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 86692 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, | 88510 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, |
| 86693 | .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 88511 | .{ ._, .f_p, .st, .memi(.dst0t, .tmp0), ._, ._, ._ }, |
| 86694 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 88512 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 86695 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 88513 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 88514 | } }, |
| | 88515 | }, .{ |
| | 88516 | .required_cc_abi = .win64, |
| | 88517 | .required_features = .{ .sse, null, null, null }, |
| | 88518 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 88519 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| | 88520 | .patterns = &.{ |
| | 88521 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 88522 | }, |
| | 88523 | .call_frame = .{ .alignment = .@"16" }, |
| | 88524 | .extra_temps = .{ |
| | 88525 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 88526 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 88527 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 88528 | .{ .type = .usize, .kind = .{ .extern_func = "__trunctfxf2" } }, |
| | 88529 | .unused, |
| | 88530 | .unused, |
| | 88531 | .unused, |
| | 88532 | .unused, |
| | 88533 | .unused, |
| | 88534 | .unused, |
| | 88535 | .unused, |
| | 88536 | }, |
| | 88537 | .dst_temps = .{ .mem, .unused }, |
| | 88538 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 88539 | .each = .{ .once = &.{ |
| | 88540 | .{ ._, ._, .mov, .tmp0d, .sa(.dst0, .add_unaligned_size), ._, ._ }, |
| | 88541 | .{ .@"0:", ._, .lea, .tmp1p, .memi(.dst0, .tmp0), ._, ._ }, |
| | 88542 | .{ ._, ._ps, .mova, .tmp2x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 88543 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 88544 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 88545 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 86696 | } }, | 88546 | } }, |
| 86697 | } }) catch |err| switch (err) { | 88547 | } }) catch |err| switch (err) { |
| 86698 | error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{ | 88548 | error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{ |
| ... | @@ -86705,7 +88555,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86705,7 +88555,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86705 | }; | 88555 | }; |
| 86706 | try res[0].finish(inst, &.{ty_op.operand}, &ops, cg); | 88556 | try res[0].finish(inst, &.{ty_op.operand}, &ops, cg); |
| 86707 | }, | 88557 | }, |
| 86708 | .fpext => |air_tag| if (use_old) try cg.airFpext(inst) else { | 88558 | .fpext => |air_tag| { |
| 86709 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 88559 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 86710 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); | 88560 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); |
| 86711 | var res: [1]Temp = undefined; | 88561 | var res: [1]Temp = undefined; |
| ... | @@ -86749,7 +88599,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86749,7 +88599,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86749 | .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, | 88599 | .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| 86750 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any }, | 88600 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any }, |
| 86751 | .patterns = &.{ | 88601 | .patterns = &.{ |
| 86752 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 88602 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 86753 | }, | 88603 | }, |
| 86754 | .call_frame = .{ .alignment = .@"16" }, | 88604 | .call_frame = .{ .alignment = .@"16" }, |
| 86755 | .extra_temps = .{ | 88605 | .extra_temps = .{ |
| ... | @@ -86778,7 +88628,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86778,7 +88628,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86778 | .{ .src = .{ .to_mem, .none, .none } }, | 88628 | .{ .src = .{ .to_mem, .none, .none } }, |
| 86779 | }, | 88629 | }, |
| 86780 | .extra_temps = .{ | 88630 | .extra_temps = .{ |
| 86781 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 88631 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 86782 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | 88632 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| 86783 | .unused, | 88633 | .unused, |
| 86784 | .unused, | 88634 | .unused, |
| ... | @@ -86793,11 +88643,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86793,11 +88643,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86793 | .dst_temps = .{ .mem, .unused }, | 88643 | .dst_temps = .{ .mem, .unused }, |
| 86794 | .clobbers = .{ .eflags = true }, | 88644 | .clobbers = .{ .eflags = true }, |
| 86795 | .each = .{ .once = &.{ | 88645 | .each = .{ .once = &.{ |
| 86796 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 88646 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ }, |
| 86797 | .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 88647 | .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memi(.src0x, .tmp0), ._, ._ }, |
| 86798 | .{ ._, .v_ps, .mova, .memsia(.dst0y, .@"2", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, | 88648 | .{ ._, .v_ps, .mova, .memsi(.dst0y, .@"2", .tmp0), .tmp1y, ._, ._ }, |
| 86799 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 88649 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 86800 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 88650 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 86801 | } }, | 88651 | } }, |
| 86802 | }, .{ | 88652 | }, .{ |
| 86803 | .required_features = .{ .avx, null, null, null }, | 88653 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -86808,8 +88658,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86808,8 +88658,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86808 | }, | 88658 | }, |
| 86809 | .call_frame = .{ .alignment = .@"16" }, | 88659 | .call_frame = .{ .alignment = .@"16" }, |
| 86810 | .extra_temps = .{ | 88660 | .extra_temps = .{ |
| 86811 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 88661 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 86812 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 88662 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 86813 | .{ .type = .usize, .kind = .{ .extern_func = "__extendhfsf2" } }, | 88663 | .{ .type = .usize, .kind = .{ .extern_func = "__extendhfsf2" } }, |
| 86814 | .unused, | 88664 | .unused, |
| 86815 | .unused, | 88665 | .unused, |
| ... | @@ -86823,13 +88673,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86823,13 +88673,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86823 | .dst_temps = .{ .mem, .unused }, | 88673 | .dst_temps = .{ .mem, .unused }, |
| 86824 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 88674 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 86825 | .each = .{ .once = &.{ | 88675 | .each = .{ .once = &.{ |
| 86826 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 88676 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 86827 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, | 88677 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| 86828 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, | 88678 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memi(.src0w, .tmp0), .ui(0) }, |
| 86829 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 88679 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 86830 | .{ ._, .v_ss, .mov, .memsia(.dst0d, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 88680 | .{ ._, .v_ss, .mov, .memsi(.dst0d, .@"2", .tmp0), .tmp1x, ._, ._ }, |
| 86831 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 88681 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 86832 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 88682 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 86833 | } }, | 88683 | } }, |
| 86834 | }, .{ | 88684 | }, .{ |
| 86835 | .required_features = .{ .sse2, null, null, null }, | 88685 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -86840,8 +88690,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86840,8 +88690,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86840 | }, | 88690 | }, |
| 86841 | .call_frame = .{ .alignment = .@"16" }, | 88691 | .call_frame = .{ .alignment = .@"16" }, |
| 86842 | .extra_temps = .{ | 88692 | .extra_temps = .{ |
| 86843 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 88693 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 86844 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 88694 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 86845 | .{ .type = .usize, .kind = .{ .extern_func = "__extendhfsf2" } }, | 88695 | .{ .type = .usize, .kind = .{ .extern_func = "__extendhfsf2" } }, |
| 86846 | .unused, | 88696 | .unused, |
| 86847 | .unused, | 88697 | .unused, |
| ... | @@ -86855,13 +88705,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86855,13 +88705,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86855 | .dst_temps = .{ .mem, .unused }, | 88705 | .dst_temps = .{ .mem, .unused }, |
| 86856 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 88706 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 86857 | .each = .{ .once = &.{ | 88707 | .each = .{ .once = &.{ |
| 86858 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 88708 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 86859 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | 88709 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 86860 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | 88710 | .{ ._, .p_w, .insr, .tmp1x, .memi(.src0w, .tmp0), .ui(0), ._ }, |
| 86861 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 88711 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 86862 | .{ ._, ._ss, .mov, .memsia(.dst0d, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 88712 | .{ ._, ._ss, .mov, .memsi(.dst0d, .@"2", .tmp0), .tmp1x, ._, ._ }, |
| 86863 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 88713 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 86864 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 88714 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 86865 | } }, | 88715 | } }, |
| 86866 | }, .{ | 88716 | }, .{ |
| 86867 | .required_features = .{ .sse, null, null, null }, | 88717 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -86872,10 +88722,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86872,10 +88722,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86872 | }, | 88722 | }, |
| 86873 | .call_frame = .{ .alignment = .@"16" }, | 88723 | .call_frame = .{ .alignment = .@"16" }, |
| 86874 | .extra_temps = .{ | 88724 | .extra_temps = .{ |
| 86875 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 88725 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 86876 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 88726 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 86877 | .{ .type = .f32, .kind = .mem }, | 88727 | .{ .type = .f32, .kind = .mem }, |
| 86878 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 88728 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 86879 | .{ .type = .usize, .kind = .{ .extern_func = "__extendhfsf2" } }, | 88729 | .{ .type = .usize, .kind = .{ .extern_func = "__extendhfsf2" } }, |
| 86880 | .unused, | 88730 | .unused, |
| 86881 | .unused, | 88731 | .unused, |
| ... | @@ -86887,14 +88737,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86887,14 +88737,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86887 | .dst_temps = .{ .mem, .unused }, | 88737 | .dst_temps = .{ .mem, .unused }, |
| 86888 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 88738 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 86889 | .each = .{ .once = &.{ | 88739 | .each = .{ .once = &.{ |
| 86890 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 88740 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 86891 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 88741 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 86892 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, | 88742 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| 86893 | .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ }, | 88743 | .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ }, |
| 86894 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 88744 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 86895 | .{ ._, ._ss, .mov, .memsia(.dst0d, .@"2", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 88745 | .{ ._, ._ss, .mov, .memsi(.dst0d, .@"2", .tmp0), .tmp3x, ._, ._ }, |
| 86896 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 88746 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 86897 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 88747 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 86898 | } }, | 88748 | } }, |
| 86899 | }, .{ | 88749 | }, .{ |
| 86900 | .required_features = .{ .f16c, null, null, null }, | 88750 | .required_features = .{ .f16c, null, null, null }, |
| ... | @@ -86969,7 +88819,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86969,7 +88819,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86969 | .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, | 88819 | .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| 86970 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any }, | 88820 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any }, |
| 86971 | .patterns = &.{ | 88821 | .patterns = &.{ |
| 86972 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 88822 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 86973 | }, | 88823 | }, |
| 86974 | .call_frame = .{ .alignment = .@"16" }, | 88824 | .call_frame = .{ .alignment = .@"16" }, |
| 86975 | .extra_temps = .{ | 88825 | .extra_temps = .{ |
| ... | @@ -86998,7 +88848,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -86998,7 +88848,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 86998 | .{ .src = .{ .to_mem, .none, .none } }, | 88848 | .{ .src = .{ .to_mem, .none, .none } }, |
| 86999 | }, | 88849 | }, |
| 87000 | .extra_temps = .{ | 88850 | .extra_temps = .{ |
| 87001 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 88851 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 87002 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | 88852 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| 87003 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, | 88853 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, |
| 87004 | .unused, | 88854 | .unused, |
| ... | @@ -87013,15 +88863,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87013,15 +88863,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87013 | .dst_temps = .{ .mem, .unused }, | 88863 | .dst_temps = .{ .mem, .unused }, |
| 87014 | .clobbers = .{ .eflags = true }, | 88864 | .clobbers = .{ .eflags = true }, |
| 87015 | .each = .{ .once = &.{ | 88865 | .each = .{ .once = &.{ |
| 87016 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 88866 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ }, |
| 87017 | .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 88867 | .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memi(.src0x, .tmp0), ._, ._ }, |
| 87018 | .{ ._, .v_pd, .cvtps2, .tmp2y, .tmp1x, ._, ._ }, | 88868 | .{ ._, .v_pd, .cvtps2, .tmp2y, .tmp1x, ._, ._ }, |
| 87019 | .{ ._, .v_f128, .extract, .tmp1x, .tmp1y, .ui(1), ._ }, | 88869 | .{ ._, .v_f128, .extract, .tmp1x, .tmp1y, .ui(1), ._ }, |
| 87020 | .{ ._, .v_pd, .mova, .memsia(.dst0y, .@"4", .tmp0, .add_unaligned_size), .tmp2y, ._, ._ }, | 88870 | .{ ._, .v_pd, .mova, .memsi(.dst0y, .@"4", .tmp0), .tmp2y, ._, ._ }, |
| 87021 | .{ ._, .v_pd, .cvtps2, .tmp2y, .tmp1x, ._, ._ }, | 88871 | .{ ._, .v_pd, .cvtps2, .tmp2y, .tmp1x, ._, ._ }, |
| 87022 | .{ ._, .v_pd, .mova, .memsiad(.dst0y, .@"4", .tmp0, .add_unaligned_size, 32), .tmp2y, ._, ._ }, | 88872 | .{ ._, .v_pd, .mova, .memsid(.dst0y, .@"4", .tmp0, 32), .tmp2y, ._, ._ }, |
| 87023 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 88873 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 87024 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 88874 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 87025 | } }, | 88875 | } }, |
| 87026 | }, .{ | 88876 | }, .{ |
| 87027 | .required_features = .{ .avx, null, null, null }, | 88877 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -87032,8 +88882,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87032,8 +88882,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87032 | }, | 88882 | }, |
| 87033 | .call_frame = .{ .alignment = .@"16" }, | 88883 | .call_frame = .{ .alignment = .@"16" }, |
| 87034 | .extra_temps = .{ | 88884 | .extra_temps = .{ |
| 87035 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 88885 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 87036 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 88886 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 87037 | .{ .type = .usize, .kind = .{ .extern_func = "__extendhfdf2" } }, | 88887 | .{ .type = .usize, .kind = .{ .extern_func = "__extendhfdf2" } }, |
| 87038 | .unused, | 88888 | .unused, |
| 87039 | .unused, | 88889 | .unused, |
| ... | @@ -87047,13 +88897,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87047,13 +88897,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87047 | .dst_temps = .{ .mem, .unused }, | 88897 | .dst_temps = .{ .mem, .unused }, |
| 87048 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 88898 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 87049 | .each = .{ .once = &.{ | 88899 | .each = .{ .once = &.{ |
| 87050 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 88900 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 87051 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, | 88901 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| 87052 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, | 88902 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memi(.src0w, .tmp0), .ui(0) }, |
| 87053 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 88903 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 87054 | .{ ._, .v_sd, .mov, .memsia(.dst0q, .@"4", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 88904 | .{ ._, .v_sd, .mov, .memsi(.dst0q, .@"4", .tmp0), .tmp1x, ._, ._ }, |
| 87055 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 88905 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 87056 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 88906 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 87057 | } }, | 88907 | } }, |
| 87058 | }, .{ | 88908 | }, .{ |
| 87059 | .required_features = .{ .sse2, null, null, null }, | 88909 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -87064,8 +88914,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87064,8 +88914,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87064 | }, | 88914 | }, |
| 87065 | .call_frame = .{ .alignment = .@"16" }, | 88915 | .call_frame = .{ .alignment = .@"16" }, |
| 87066 | .extra_temps = .{ | 88916 | .extra_temps = .{ |
| 87067 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 88917 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 87068 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 88918 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 87069 | .{ .type = .usize, .kind = .{ .extern_func = "__extendhfdf2" } }, | 88919 | .{ .type = .usize, .kind = .{ .extern_func = "__extendhfdf2" } }, |
| 87070 | .unused, | 88920 | .unused, |
| 87071 | .unused, | 88921 | .unused, |
| ... | @@ -87079,13 +88929,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87079,13 +88929,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87079 | .dst_temps = .{ .mem, .unused }, | 88929 | .dst_temps = .{ .mem, .unused }, |
| 87080 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 88930 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 87081 | .each = .{ .once = &.{ | 88931 | .each = .{ .once = &.{ |
| 87082 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 88932 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 87083 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | 88933 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 87084 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | 88934 | .{ ._, .p_w, .insr, .tmp1x, .memi(.src0w, .tmp0), .ui(0), ._ }, |
| 87085 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 88935 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 87086 | .{ ._, ._sd, .mov, .memsia(.dst0q, .@"4", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 88936 | .{ ._, ._sd, .mov, .memsi(.dst0q, .@"4", .tmp0), .tmp1x, ._, ._ }, |
| 87087 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 88937 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 87088 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 88938 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 87089 | } }, | 88939 | } }, |
| 87090 | }, .{ | 88940 | }, .{ |
| 87091 | .required_features = .{ .sse, null, null, null }, | 88941 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -87096,10 +88946,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87096,10 +88946,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87096 | }, | 88946 | }, |
| 87097 | .call_frame = .{ .alignment = .@"16" }, | 88947 | .call_frame = .{ .alignment = .@"16" }, |
| 87098 | .extra_temps = .{ | 88948 | .extra_temps = .{ |
| 87099 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 88949 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 87100 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 88950 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 87101 | .{ .type = .f32, .kind = .mem }, | 88951 | .{ .type = .f32, .kind = .mem }, |
| 87102 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 88952 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 87103 | .{ .type = .usize, .kind = .{ .extern_func = "__extendhfdf2" } }, | 88953 | .{ .type = .usize, .kind = .{ .extern_func = "__extendhfdf2" } }, |
| 87104 | .unused, | 88954 | .unused, |
| 87105 | .unused, | 88955 | .unused, |
| ... | @@ -87111,14 +88961,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87111,14 +88961,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87111 | .dst_temps = .{ .mem, .unused }, | 88961 | .dst_temps = .{ .mem, .unused }, |
| 87112 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 88962 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 87113 | .each = .{ .once = &.{ | 88963 | .each = .{ .once = &.{ |
| 87114 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 88964 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 87115 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 88965 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 87116 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, | 88966 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| 87117 | .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ }, | 88967 | .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ }, |
| 87118 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 88968 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 87119 | .{ ._, ._ps, .movl, .memsia(.dst0q, .@"4", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 88969 | .{ ._, ._ps, .movl, .memsi(.dst0q, .@"4", .tmp0), .tmp3x, ._, ._ }, |
| 87120 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 88970 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 87121 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 88971 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 87122 | } }, | 88972 | } }, |
| 87123 | }, .{ | 88973 | }, .{ |
| 87124 | .required_features = .{ .f16c, .x87, null, null }, | 88974 | .required_features = .{ .f16c, .x87, null, null }, |
| ... | @@ -87148,11 +88998,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87148,11 +88998,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87148 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, | 88998 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| 87149 | } }, | 88999 | } }, |
| 87150 | }, .{ | 89000 | }, .{ |
| | 89001 | .required_cc_abi = .sysv64, |
| 87151 | .required_features = .{ .sse, .x87, null, null }, | 89002 | .required_features = .{ .sse, .x87, null, null }, |
| 87152 | .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, | 89003 | .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| 87153 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, | 89004 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| 87154 | .patterns = &.{ | 89005 | .patterns = &.{ |
| 87155 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 89006 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 87156 | }, | 89007 | }, |
| 87157 | .call_frame = .{ .alignment = .@"16" }, | 89008 | .call_frame = .{ .alignment = .@"16" }, |
| 87158 | .extra_temps = .{ | 89009 | .extra_temps = .{ |
| ... | @@ -87174,6 +89025,35 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87174,6 +89025,35 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87174 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 89025 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 87175 | } }, | 89026 | } }, |
| 87176 | }, .{ | 89027 | }, .{ |
| | 89028 | .required_cc_abi = .win64, |
| | 89029 | .required_features = .{ .sse, null, null, null }, |
| | 89030 | .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 89031 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| | 89032 | .patterns = &.{ |
| | 89033 | .{ .src = .{ .{ .to_reg = .xmm1 }, .none, .none } }, |
| | 89034 | }, |
| | 89035 | .call_frame = .{ .alignment = .@"16" }, |
| | 89036 | .extra_temps = .{ |
| | 89037 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 89038 | .{ .type = .usize, .kind = .{ .extern_func = "__extendhfxf2" } }, |
| | 89039 | .unused, |
| | 89040 | .unused, |
| | 89041 | .unused, |
| | 89042 | .unused, |
| | 89043 | .unused, |
| | 89044 | .unused, |
| | 89045 | .unused, |
| | 89046 | .unused, |
| | 89047 | .unused, |
| | 89048 | }, |
| | 89049 | .dst_temps = .{ .mem, .unused }, |
| | 89050 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 89051 | .each = .{ .once = &.{ |
| | 89052 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| | 89053 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 89054 | } }, |
| | 89055 | }, .{ |
| | 89056 | .required_cc_abi = .sysv64, |
| 87177 | .required_features = .{ .avx, null, null, null }, | 89057 | .required_features = .{ .avx, null, null, null }, |
| 87178 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, | 89058 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| 87179 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, | 89059 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| ... | @@ -87182,8 +89062,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87182,8 +89062,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87182 | }, | 89062 | }, |
| 87183 | .call_frame = .{ .alignment = .@"16" }, | 89063 | .call_frame = .{ .alignment = .@"16" }, |
| 87184 | .extra_temps = .{ | 89064 | .extra_temps = .{ |
| 87185 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 89065 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 87186 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 89066 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 87187 | .{ .type = .usize, .kind = .{ .extern_func = "__extendhfxf2" } }, | 89067 | .{ .type = .usize, .kind = .{ .extern_func = "__extendhfxf2" } }, |
| 87188 | .unused, | 89068 | .unused, |
| 87189 | .unused, | 89069 | .unused, |
| ... | @@ -87197,16 +89077,50 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87197,16 +89077,50 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87197 | .dst_temps = .{ .mem, .unused }, | 89077 | .dst_temps = .{ .mem, .unused }, |
| 87198 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 89078 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 87199 | .each = .{ .once = &.{ | 89079 | .each = .{ .once = &.{ |
| 87200 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 89080 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 87201 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, | 89081 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| 87202 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, | 89082 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memi(.src0w, .tmp0), .ui(0) }, |
| 87203 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 89083 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 87204 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, | 89084 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, |
| 87205 | .{ ._, .f_p, .st, .memsia(.dst0t, .@"8", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 89085 | .{ ._, .f_p, .st, .memsi(.dst0t, .@"8", .tmp0), ._, ._, ._ }, |
| 87206 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 89086 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 87207 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 89087 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 87208 | } }, | 89088 | } }, |
| 87209 | }, .{ | 89089 | }, .{ |
| | 89090 | .required_cc_abi = .win64, |
| | 89091 | .required_features = .{ .avx, null, null, null }, |
| | 89092 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 89093 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| | 89094 | .patterns = &.{ |
| | 89095 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 89096 | }, |
| | 89097 | .call_frame = .{ .alignment = .@"16" }, |
| | 89098 | .extra_temps = .{ |
| | 89099 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 89100 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 89101 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 89102 | .{ .type = .usize, .kind = .{ .extern_func = "__extendhfxf2" } }, |
| | 89103 | .unused, |
| | 89104 | .unused, |
| | 89105 | .unused, |
| | 89106 | .unused, |
| | 89107 | .unused, |
| | 89108 | .unused, |
| | 89109 | .unused, |
| | 89110 | }, |
| | 89111 | .dst_temps = .{ .mem, .unused }, |
| | 89112 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 89113 | .each = .{ .once = &.{ |
| | 89114 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 89115 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.dst0, .@"8", .tmp0), ._, ._ }, |
| | 89116 | .{ ._, .vp_, .xor, .tmp2x, .tmp2x, .tmp2x, ._ }, |
| | 89117 | .{ ._, .vp_w, .insr, .tmp2x, .tmp2x, .memi(.src0w, .tmp0), .ui(0) }, |
| | 89118 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 89119 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 89120 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 89121 | } }, |
| | 89122 | }, .{ |
| | 89123 | .required_cc_abi = .sysv64, |
| 87210 | .required_features = .{ .sse2, null, null, null }, | 89124 | .required_features = .{ .sse2, null, null, null }, |
| 87211 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, | 89125 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| 87212 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, | 89126 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| ... | @@ -87215,8 +89129,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87215,8 +89129,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87215 | }, | 89129 | }, |
| 87216 | .call_frame = .{ .alignment = .@"16" }, | 89130 | .call_frame = .{ .alignment = .@"16" }, |
| 87217 | .extra_temps = .{ | 89131 | .extra_temps = .{ |
| 87218 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 89132 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 87219 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 89133 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 87220 | .{ .type = .usize, .kind = .{ .extern_func = "__extendhfxf2" } }, | 89134 | .{ .type = .usize, .kind = .{ .extern_func = "__extendhfxf2" } }, |
| 87221 | .unused, | 89135 | .unused, |
| 87222 | .unused, | 89136 | .unused, |
| ... | @@ -87230,16 +89144,50 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87230,16 +89144,50 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87230 | .dst_temps = .{ .mem, .unused }, | 89144 | .dst_temps = .{ .mem, .unused }, |
| 87231 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 89145 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 87232 | .each = .{ .once = &.{ | 89146 | .each = .{ .once = &.{ |
| 87233 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 89147 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 87234 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | 89148 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 87235 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | 89149 | .{ ._, .p_w, .insr, .tmp1x, .memi(.src0w, .tmp0), .ui(0), ._ }, |
| 87236 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 89150 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 87237 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, | 89151 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, |
| 87238 | .{ ._, .f_p, .st, .memsia(.dst0t, .@"8", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 89152 | .{ ._, .f_p, .st, .memsi(.dst0t, .@"8", .tmp0), ._, ._, ._ }, |
| 87239 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 89153 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 87240 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 89154 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 87241 | } }, | 89155 | } }, |
| 87242 | }, .{ | 89156 | }, .{ |
| | 89157 | .required_cc_abi = .win64, |
| | 89158 | .required_features = .{ .sse2, null, null, null }, |
| | 89159 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 89160 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| | 89161 | .patterns = &.{ |
| | 89162 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 89163 | }, |
| | 89164 | .call_frame = .{ .alignment = .@"16" }, |
| | 89165 | .extra_temps = .{ |
| | 89166 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 89167 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 89168 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 89169 | .{ .type = .usize, .kind = .{ .extern_func = "__extendhfxf2" } }, |
| | 89170 | .unused, |
| | 89171 | .unused, |
| | 89172 | .unused, |
| | 89173 | .unused, |
| | 89174 | .unused, |
| | 89175 | .unused, |
| | 89176 | .unused, |
| | 89177 | }, |
| | 89178 | .dst_temps = .{ .mem, .unused }, |
| | 89179 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 89180 | .each = .{ .once = &.{ |
| | 89181 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 89182 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.dst0, .@"8", .tmp0), ._, ._ }, |
| | 89183 | .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ }, |
| | 89184 | .{ ._, .p_w, .insr, .tmp2x, .memi(.src0w, .tmp0), .ui(0), ._ }, |
| | 89185 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 89186 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 89187 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 89188 | } }, |
| | 89189 | }, .{ |
| | 89190 | .required_cc_abi = .sysv64, |
| 87243 | .required_features = .{ .sse, null, null, null }, | 89191 | .required_features = .{ .sse, null, null, null }, |
| 87244 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, | 89192 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| 87245 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, | 89193 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| ... | @@ -87248,10 +89196,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87248,10 +89196,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87248 | }, | 89196 | }, |
| 87249 | .call_frame = .{ .alignment = .@"16" }, | 89197 | .call_frame = .{ .alignment = .@"16" }, |
| 87250 | .extra_temps = .{ | 89198 | .extra_temps = .{ |
| 87251 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 89199 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 87252 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 89200 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 87253 | .{ .type = .f32, .kind = .mem }, | 89201 | .{ .type = .f32, .kind = .mem }, |
| 87254 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 89202 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 87255 | .{ .type = .usize, .kind = .{ .extern_func = "__extendhfxf2" } }, | 89203 | .{ .type = .usize, .kind = .{ .extern_func = "__extendhfxf2" } }, |
| 87256 | .unused, | 89204 | .unused, |
| 87257 | .unused, | 89205 | .unused, |
| ... | @@ -87263,22 +89211,56 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87263,22 +89211,56 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87263 | .dst_temps = .{ .mem, .unused }, | 89211 | .dst_temps = .{ .mem, .unused }, |
| 87264 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 89212 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 87265 | .each = .{ .once = &.{ | 89213 | .each = .{ .once = &.{ |
| 87266 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 89214 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 87267 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 89215 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 87268 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, | 89216 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| 87269 | .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ }, | 89217 | .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ }, |
| 87270 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 89218 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 87271 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, | 89219 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, |
| 87272 | .{ ._, .f_p, .st, .memsia(.dst0t, .@"8", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 89220 | .{ ._, .f_p, .st, .memsi(.dst0t, .@"8", .tmp0), ._, ._, ._ }, |
| 87273 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 89221 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 87274 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 89222 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 89223 | } }, |
| | 89224 | }, .{ |
| | 89225 | .required_cc_abi = .win64, |
| | 89226 | .required_features = .{ .sse, null, null, null }, |
| | 89227 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 89228 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| | 89229 | .patterns = &.{ |
| | 89230 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 89231 | }, |
| | 89232 | .call_frame = .{ .alignment = .@"16" }, |
| | 89233 | .extra_temps = .{ |
| | 89234 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 89235 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 89236 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 89237 | .{ .type = .f32, .kind = .mem }, |
| | 89238 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 89239 | .{ .type = .usize, .kind = .{ .extern_func = "__extendhfxf2" } }, |
| | 89240 | .unused, |
| | 89241 | .unused, |
| | 89242 | .unused, |
| | 89243 | .unused, |
| | 89244 | .unused, |
| | 89245 | }, |
| | 89246 | .dst_temps = .{ .mem, .unused }, |
| | 89247 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 89248 | .each = .{ .once = &.{ |
| | 89249 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 89250 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.dst0, .@"8", .tmp0), ._, ._ }, |
| | 89251 | .{ ._, ._, .movzx, .tmp2d, .memi(.src0w, .tmp0), ._, ._ }, |
| | 89252 | .{ ._, ._, .mov, .mem(.tmp3d), .tmp2d, ._, ._ }, |
| | 89253 | .{ ._, ._ss, .mov, .tmp4x, .mem(.tmp3d), ._, ._ }, |
| | 89254 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| | 89255 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 89256 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 87275 | } }, | 89257 | } }, |
| 87276 | }, .{ | 89258 | }, .{ |
| 87277 | .required_features = .{ .sse, null, null, null }, | 89259 | .required_features = .{ .sse, null, null, null }, |
| 87278 | .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, | 89260 | .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| 87279 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any }, | 89261 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any }, |
| 87280 | .patterns = &.{ | 89262 | .patterns = &.{ |
| 87281 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 89263 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 87282 | }, | 89264 | }, |
| 87283 | .call_frame = .{ .alignment = .@"16" }, | 89265 | .call_frame = .{ .alignment = .@"16" }, |
| 87284 | .extra_temps = .{ | 89266 | .extra_temps = .{ |
| ... | @@ -87308,8 +89290,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87308,8 +89290,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87308 | }, | 89290 | }, |
| 87309 | .call_frame = .{ .alignment = .@"16" }, | 89291 | .call_frame = .{ .alignment = .@"16" }, |
| 87310 | .extra_temps = .{ | 89292 | .extra_temps = .{ |
| 87311 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 89293 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 87312 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 89294 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 87313 | .{ .type = .usize, .kind = .{ .extern_func = "__extendhftf2" } }, | 89295 | .{ .type = .usize, .kind = .{ .extern_func = "__extendhftf2" } }, |
| 87314 | .unused, | 89296 | .unused, |
| 87315 | .unused, | 89297 | .unused, |
| ... | @@ -87323,13 +89305,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87323,13 +89305,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87323 | .dst_temps = .{ .mem, .unused }, | 89305 | .dst_temps = .{ .mem, .unused }, |
| 87324 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 89306 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 87325 | .each = .{ .once = &.{ | 89307 | .each = .{ .once = &.{ |
| 87326 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 89308 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 87327 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, | 89309 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| 87328 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, | 89310 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memi(.src0w, .tmp0), .ui(0) }, |
| 87329 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 89311 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 87330 | .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"8", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 89312 | .{ ._, .v_dqa, .mov, .memsi(.dst0x, .@"8", .tmp0), .tmp1x, ._, ._ }, |
| 87331 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 89313 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 87332 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 89314 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 87333 | } }, | 89315 | } }, |
| 87334 | }, .{ | 89316 | }, .{ |
| 87335 | .required_features = .{ .sse2, null, null, null }, | 89317 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -87340,8 +89322,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87340,8 +89322,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87340 | }, | 89322 | }, |
| 87341 | .call_frame = .{ .alignment = .@"16" }, | 89323 | .call_frame = .{ .alignment = .@"16" }, |
| 87342 | .extra_temps = .{ | 89324 | .extra_temps = .{ |
| 87343 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 89325 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 87344 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 89326 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 87345 | .{ .type = .usize, .kind = .{ .extern_func = "__extendhftf2" } }, | 89327 | .{ .type = .usize, .kind = .{ .extern_func = "__extendhftf2" } }, |
| 87346 | .unused, | 89328 | .unused, |
| 87347 | .unused, | 89329 | .unused, |
| ... | @@ -87355,13 +89337,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87355,13 +89337,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87355 | .dst_temps = .{ .mem, .unused }, | 89337 | .dst_temps = .{ .mem, .unused }, |
| 87356 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 89338 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 87357 | .each = .{ .once = &.{ | 89339 | .each = .{ .once = &.{ |
| 87358 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 89340 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 87359 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | 89341 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 87360 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | 89342 | .{ ._, .p_w, .insr, .tmp1x, .memi(.src0w, .tmp0), .ui(0), ._ }, |
| 87361 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 89343 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 87362 | .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"8", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 89344 | .{ ._, ._dqa, .mov, .memsi(.dst0x, .@"8", .tmp0), .tmp1x, ._, ._ }, |
| 87363 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 89345 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 87364 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 89346 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 87365 | } }, | 89347 | } }, |
| 87366 | }, .{ | 89348 | }, .{ |
| 87367 | .required_features = .{ .sse, null, null, null }, | 89349 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -87372,10 +89354,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87372,10 +89354,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87372 | }, | 89354 | }, |
| 87373 | .call_frame = .{ .alignment = .@"16" }, | 89355 | .call_frame = .{ .alignment = .@"16" }, |
| 87374 | .extra_temps = .{ | 89356 | .extra_temps = .{ |
| 87375 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 89357 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 87376 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 89358 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 87377 | .{ .type = .f32, .kind = .mem }, | 89359 | .{ .type = .f32, .kind = .mem }, |
| 87378 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 89360 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 87379 | .{ .type = .usize, .kind = .{ .extern_func = "__extendhftf2" } }, | 89361 | .{ .type = .usize, .kind = .{ .extern_func = "__extendhftf2" } }, |
| 87380 | .unused, | 89362 | .unused, |
| 87381 | .unused, | 89363 | .unused, |
| ... | @@ -87387,14 +89369,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87387,14 +89369,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87387 | .dst_temps = .{ .mem, .unused }, | 89369 | .dst_temps = .{ .mem, .unused }, |
| 87388 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 89370 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 87389 | .each = .{ .once = &.{ | 89371 | .each = .{ .once = &.{ |
| 87390 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 89372 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 87391 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 89373 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 87392 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, | 89374 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| 87393 | .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ }, | 89375 | .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ }, |
| 87394 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 89376 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 87395 | .{ ._, ._ps, .mova, .memsia(.dst0x, .@"8", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 89377 | .{ ._, ._ps, .mova, .memsi(.dst0x, .@"8", .tmp0), .tmp3x, ._, ._ }, |
| 87396 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 89378 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 87397 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 89379 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 87398 | } }, | 89380 | } }, |
| 87399 | }, .{ | 89381 | }, .{ |
| 87400 | .required_features = .{ .avx, null, null, null }, | 89382 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -87501,7 +89483,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87501,7 +89483,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87501 | .{ .src = .{ .to_mem, .none, .none } }, | 89483 | .{ .src = .{ .to_mem, .none, .none } }, |
| 87502 | }, | 89484 | }, |
| 87503 | .extra_temps = .{ | 89485 | .extra_temps = .{ |
| 87504 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 89486 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 87505 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, | 89487 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, |
| 87506 | .unused, | 89488 | .unused, |
| 87507 | .unused, | 89489 | .unused, |
| ... | @@ -87516,11 +89498,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87516,11 +89498,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87516 | .dst_temps = .{ .mem, .unused }, | 89498 | .dst_temps = .{ .mem, .unused }, |
| 87517 | .clobbers = .{ .eflags = true }, | 89499 | .clobbers = .{ .eflags = true }, |
| 87518 | .each = .{ .once = &.{ | 89500 | .each = .{ .once = &.{ |
| 87519 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 89501 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ }, |
| 87520 | .{ .@"0:", .v_pd, .cvtps2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 89502 | .{ .@"0:", .v_pd, .cvtps2, .tmp1y, .memi(.src0x, .tmp0), ._, ._ }, |
| 87521 | .{ ._, .v_pd, .mova, .memsia(.dst0y, .@"2", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, | 89503 | .{ ._, .v_pd, .mova, .memsi(.dst0y, .@"2", .tmp0), .tmp1y, ._, ._ }, |
| 87522 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 89504 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 87523 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 89505 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 87524 | } }, | 89506 | } }, |
| 87525 | }, .{ | 89507 | }, .{ |
| 87526 | .required_features = .{ .sse2, null, null, null }, | 89508 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -87530,7 +89512,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87530,7 +89512,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87530 | .{ .src = .{ .to_mem, .none, .none } }, | 89512 | .{ .src = .{ .to_mem, .none, .none } }, |
| 87531 | }, | 89513 | }, |
| 87532 | .extra_temps = .{ | 89514 | .extra_temps = .{ |
| 87533 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 89515 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 87534 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, | 89516 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| 87535 | .unused, | 89517 | .unused, |
| 87536 | .unused, | 89518 | .unused, |
| ... | @@ -87545,11 +89527,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87545,11 +89527,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87545 | .dst_temps = .{ .mem, .unused }, | 89527 | .dst_temps = .{ .mem, .unused }, |
| 87546 | .clobbers = .{ .eflags = true }, | 89528 | .clobbers = .{ .eflags = true }, |
| 87547 | .each = .{ .once = &.{ | 89529 | .each = .{ .once = &.{ |
| 87548 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 89530 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ }, |
| 87549 | .{ .@"0:", ._pd, .cvtps2, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 89531 | .{ .@"0:", ._pd, .cvtps2, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 87550 | .{ ._, ._pd, .mova, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 89532 | .{ ._, ._pd, .mova, .memsi(.dst0x, .@"2", .tmp0), .tmp1x, ._, ._ }, |
| 87551 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 89533 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 87552 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 89534 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 87553 | } }, | 89535 | } }, |
| 87554 | }, .{ | 89536 | }, .{ |
| 87555 | .required_features = .{ .x87, null, null, null }, | 89537 | .required_features = .{ .x87, null, null, null }, |
| ... | @@ -87559,7 +89541,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87559,7 +89541,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87559 | .{ .src = .{ .to_mem, .none, .none } }, | 89541 | .{ .src = .{ .to_mem, .none, .none } }, |
| 87560 | }, | 89542 | }, |
| 87561 | .extra_temps = .{ | 89543 | .extra_temps = .{ |
| 87562 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 89544 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 87563 | .{ .type = .f32, .kind = .{ .reg = .st7 } }, | 89545 | .{ .type = .f32, .kind = .{ .reg = .st7 } }, |
| 87564 | .unused, | 89546 | .unused, |
| 87565 | .unused, | 89547 | .unused, |
| ... | @@ -87574,11 +89556,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87574,11 +89556,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87574 | .dst_temps = .{ .mem, .unused }, | 89556 | .dst_temps = .{ .mem, .unused }, |
| 87575 | .clobbers = .{ .eflags = true }, | 89557 | .clobbers = .{ .eflags = true }, |
| 87576 | .each = .{ .once = &.{ | 89558 | .each = .{ .once = &.{ |
| 87577 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 89559 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 87578 | .{ .@"0:", .f_, .ld, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 89560 | .{ .@"0:", .f_, .ld, .memi(.src0d, .tmp0), ._, ._, ._ }, |
| 87579 | .{ ._, .f_p, .st, .memsia(.dst0q, .@"2", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 89561 | .{ ._, .f_p, .st, .memsi(.dst0q, .@"2", .tmp0), ._, ._, ._ }, |
| 87580 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 89562 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 87581 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 89563 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 87582 | } }, | 89564 | } }, |
| 87583 | }, .{ | 89565 | }, .{ |
| 87584 | .required_features = .{ .x87, null, null, null }, | 89566 | .required_features = .{ .x87, null, null, null }, |
| ... | @@ -87613,7 +89595,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87613,7 +89595,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87613 | .{ .src = .{ .to_mem, .none, .none } }, | 89595 | .{ .src = .{ .to_mem, .none, .none } }, |
| 87614 | }, | 89596 | }, |
| 87615 | .extra_temps = .{ | 89597 | .extra_temps = .{ |
| 87616 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 89598 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 87617 | .{ .type = .f32, .kind = .{ .reg = .st7 } }, | 89599 | .{ .type = .f32, .kind = .{ .reg = .st7 } }, |
| 87618 | .unused, | 89600 | .unused, |
| 87619 | .unused, | 89601 | .unused, |
| ... | @@ -87628,18 +89610,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87628,18 +89610,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87628 | .dst_temps = .{ .mem, .unused }, | 89610 | .dst_temps = .{ .mem, .unused }, |
| 87629 | .clobbers = .{ .eflags = true }, | 89611 | .clobbers = .{ .eflags = true }, |
| 87630 | .each = .{ .once = &.{ | 89612 | .each = .{ .once = &.{ |
| 87631 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 89613 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 87632 | .{ .@"0:", .f_, .ld, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 89614 | .{ .@"0:", .f_, .ld, .memi(.src0d, .tmp0), ._, ._, ._ }, |
| 87633 | .{ ._, .f_p, .st, .memsia(.dst0t, .@"4", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 89615 | .{ ._, .f_p, .st, .memsi(.dst0t, .@"4", .tmp0), ._, ._, ._ }, |
| 87634 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 89616 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 87635 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 89617 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 87636 | } }, | 89618 | } }, |
| 87637 | }, .{ | 89619 | }, .{ |
| 87638 | .required_features = .{ .sse, null, null, null }, | 89620 | .required_features = .{ .sse, null, null, null }, |
| 87639 | .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any }, | 89621 | .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| 87640 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any }, | 89622 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any }, |
| 87641 | .patterns = &.{ | 89623 | .patterns = &.{ |
| 87642 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 89624 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 87643 | }, | 89625 | }, |
| 87644 | .call_frame = .{ .alignment = .@"16" }, | 89626 | .call_frame = .{ .alignment = .@"16" }, |
| 87645 | .extra_temps = .{ | 89627 | .extra_temps = .{ |
| ... | @@ -87669,8 +89651,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87669,8 +89651,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87669 | }, | 89651 | }, |
| 87670 | .call_frame = .{ .alignment = .@"16" }, | 89652 | .call_frame = .{ .alignment = .@"16" }, |
| 87671 | .extra_temps = .{ | 89653 | .extra_temps = .{ |
| 87672 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 89654 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 87673 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 89655 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 87674 | .{ .type = .usize, .kind = .{ .extern_func = "__extendsftf2" } }, | 89656 | .{ .type = .usize, .kind = .{ .extern_func = "__extendsftf2" } }, |
| 87675 | .unused, | 89657 | .unused, |
| 87676 | .unused, | 89658 | .unused, |
| ... | @@ -87684,12 +89666,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87684,12 +89666,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87684 | .dst_temps = .{ .mem, .unused }, | 89666 | .dst_temps = .{ .mem, .unused }, |
| 87685 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 89667 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 87686 | .each = .{ .once = &.{ | 89668 | .each = .{ .once = &.{ |
| 87687 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 89669 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 87688 | .{ .@"0:", .v_ss, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 89670 | .{ .@"0:", .v_ss, .mov, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 87689 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 89671 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 87690 | .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 89672 | .{ ._, .v_dqa, .mov, .memsi(.dst0x, .@"4", .tmp0), .tmp1x, ._, ._ }, |
| 87691 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 89673 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 87692 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 89674 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 87693 | } }, | 89675 | } }, |
| 87694 | }, .{ | 89676 | }, .{ |
| 87695 | .required_features = .{ .sse2, null, null, null }, | 89677 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -87700,8 +89682,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87700,8 +89682,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87700 | }, | 89682 | }, |
| 87701 | .call_frame = .{ .alignment = .@"16" }, | 89683 | .call_frame = .{ .alignment = .@"16" }, |
| 87702 | .extra_temps = .{ | 89684 | .extra_temps = .{ |
| 87703 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 89685 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 87704 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 89686 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 87705 | .{ .type = .usize, .kind = .{ .extern_func = "__extendsftf2" } }, | 89687 | .{ .type = .usize, .kind = .{ .extern_func = "__extendsftf2" } }, |
| 87706 | .unused, | 89688 | .unused, |
| 87707 | .unused, | 89689 | .unused, |
| ... | @@ -87715,12 +89697,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87715,12 +89697,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87715 | .dst_temps = .{ .mem, .unused }, | 89697 | .dst_temps = .{ .mem, .unused }, |
| 87716 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 89698 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 87717 | .each = .{ .once = &.{ | 89699 | .each = .{ .once = &.{ |
| 87718 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 89700 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 87719 | .{ .@"0:", ._ss, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 89701 | .{ .@"0:", ._ss, .mov, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 87720 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 89702 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 87721 | .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 89703 | .{ ._, ._dqa, .mov, .memsi(.dst0x, .@"4", .tmp0), .tmp1x, ._, ._ }, |
| 87722 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 89704 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 87723 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 89705 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 87724 | } }, | 89706 | } }, |
| 87725 | }, .{ | 89707 | }, .{ |
| 87726 | .required_features = .{ .sse, null, null, null }, | 89708 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -87731,8 +89713,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87731,8 +89713,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87731 | }, | 89713 | }, |
| 87732 | .call_frame = .{ .alignment = .@"16" }, | 89714 | .call_frame = .{ .alignment = .@"16" }, |
| 87733 | .extra_temps = .{ | 89715 | .extra_temps = .{ |
| 87734 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 89716 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 87735 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 89717 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 87736 | .{ .type = .usize, .kind = .{ .extern_func = "__extendsftf2" } }, | 89718 | .{ .type = .usize, .kind = .{ .extern_func = "__extendsftf2" } }, |
| 87737 | .unused, | 89719 | .unused, |
| 87738 | .unused, | 89720 | .unused, |
| ... | @@ -87746,12 +89728,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87746,12 +89728,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87746 | .dst_temps = .{ .mem, .unused }, | 89728 | .dst_temps = .{ .mem, .unused }, |
| 87747 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 89729 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 87748 | .each = .{ .once = &.{ | 89730 | .each = .{ .once = &.{ |
| 87749 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 89731 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 87750 | .{ .@"0:", ._ss, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 89732 | .{ .@"0:", ._ss, .mov, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 87751 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 89733 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 87752 | .{ ._, ._ps, .mova, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 89734 | .{ ._, ._ps, .mova, .memsi(.dst0x, .@"4", .tmp0), .tmp1x, ._, ._ }, |
| 87753 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 89735 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 87754 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 89736 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 87755 | } }, | 89737 | } }, |
| 87756 | }, .{ | 89738 | }, .{ |
| 87757 | .required_features = .{ .x87, null, null, null }, | 89739 | .required_features = .{ .x87, null, null, null }, |
| ... | @@ -87786,7 +89768,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87786,7 +89768,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87786 | .{ .src = .{ .to_mem, .none, .none } }, | 89768 | .{ .src = .{ .to_mem, .none, .none } }, |
| 87787 | }, | 89769 | }, |
| 87788 | .extra_temps = .{ | 89770 | .extra_temps = .{ |
| 87789 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 89771 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 87790 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, | 89772 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 87791 | .unused, | 89773 | .unused, |
| 87792 | .unused, | 89774 | .unused, |
| ... | @@ -87801,18 +89783,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87801,18 +89783,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87801 | .dst_temps = .{ .mem, .unused }, | 89783 | .dst_temps = .{ .mem, .unused }, |
| 87802 | .clobbers = .{ .eflags = true }, | 89784 | .clobbers = .{ .eflags = true }, |
| 87803 | .each = .{ .once = &.{ | 89785 | .each = .{ .once = &.{ |
| 87804 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 89786 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 87805 | .{ .@"0:", .f_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 89787 | .{ .@"0:", .f_, .ld, .memi(.src0q, .tmp0), ._, ._, ._ }, |
| 87806 | .{ ._, .f_p, .st, .memsia(.dst0t, .@"2", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 89788 | .{ ._, .f_p, .st, .memsi(.dst0t, .@"2", .tmp0), ._, ._, ._ }, |
| 87807 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 89789 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 87808 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 89790 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 87809 | } }, | 89791 | } }, |
| 87810 | }, .{ | 89792 | }, .{ |
| 87811 | .required_features = .{ .sse, null, null, null }, | 89793 | .required_features = .{ .sse, null, null, null }, |
| 87812 | .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, | 89794 | .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 87813 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any }, | 89795 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any }, |
| 87814 | .patterns = &.{ | 89796 | .patterns = &.{ |
| 87815 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 89797 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 87816 | }, | 89798 | }, |
| 87817 | .call_frame = .{ .alignment = .@"16" }, | 89799 | .call_frame = .{ .alignment = .@"16" }, |
| 87818 | .extra_temps = .{ | 89800 | .extra_temps = .{ |
| ... | @@ -87842,8 +89824,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87842,8 +89824,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87842 | }, | 89824 | }, |
| 87843 | .call_frame = .{ .alignment = .@"16" }, | 89825 | .call_frame = .{ .alignment = .@"16" }, |
| 87844 | .extra_temps = .{ | 89826 | .extra_temps = .{ |
| 87845 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 89827 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 87846 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 89828 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 87847 | .{ .type = .usize, .kind = .{ .extern_func = "__extenddftf2" } }, | 89829 | .{ .type = .usize, .kind = .{ .extern_func = "__extenddftf2" } }, |
| 87848 | .unused, | 89830 | .unused, |
| 87849 | .unused, | 89831 | .unused, |
| ... | @@ -87857,12 +89839,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87857,12 +89839,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87857 | .dst_temps = .{ .mem, .unused }, | 89839 | .dst_temps = .{ .mem, .unused }, |
| 87858 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 89840 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 87859 | .each = .{ .once = &.{ | 89841 | .each = .{ .once = &.{ |
| 87860 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 89842 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 87861 | .{ .@"0:", .v_sd, .mov, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 89843 | .{ .@"0:", .v_sd, .mov, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 87862 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 89844 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 87863 | .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 89845 | .{ ._, .v_dqa, .mov, .memsi(.dst0x, .@"2", .tmp0), .tmp1x, ._, ._ }, |
| 87864 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 89846 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 87865 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 89847 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 87866 | } }, | 89848 | } }, |
| 87867 | }, .{ | 89849 | }, .{ |
| 87868 | .required_features = .{ .sse2, null, null, null }, | 89850 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -87873,8 +89855,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87873,8 +89855,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87873 | }, | 89855 | }, |
| 87874 | .call_frame = .{ .alignment = .@"16" }, | 89856 | .call_frame = .{ .alignment = .@"16" }, |
| 87875 | .extra_temps = .{ | 89857 | .extra_temps = .{ |
| 87876 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 89858 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 87877 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 89859 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 87878 | .{ .type = .usize, .kind = .{ .extern_func = "__extenddftf2" } }, | 89860 | .{ .type = .usize, .kind = .{ .extern_func = "__extenddftf2" } }, |
| 87879 | .unused, | 89861 | .unused, |
| 87880 | .unused, | 89862 | .unused, |
| ... | @@ -87888,12 +89870,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87888,12 +89870,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87888 | .dst_temps = .{ .mem, .unused }, | 89870 | .dst_temps = .{ .mem, .unused }, |
| 87889 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 89871 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 87890 | .each = .{ .once = &.{ | 89872 | .each = .{ .once = &.{ |
| 87891 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 89873 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 87892 | .{ .@"0:", ._sd, .mov, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 89874 | .{ .@"0:", ._sd, .mov, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 87893 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 89875 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 87894 | .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 89876 | .{ ._, ._dqa, .mov, .memsi(.dst0x, .@"2", .tmp0), .tmp1x, ._, ._ }, |
| 87895 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 89877 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 87896 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 89878 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 87897 | } }, | 89879 | } }, |
| 87898 | }, .{ | 89880 | }, .{ |
| 87899 | .required_features = .{ .sse, null, null, null }, | 89881 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -87904,8 +89886,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87904,8 +89886,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87904 | }, | 89886 | }, |
| 87905 | .call_frame = .{ .alignment = .@"16" }, | 89887 | .call_frame = .{ .alignment = .@"16" }, |
| 87906 | .extra_temps = .{ | 89888 | .extra_temps = .{ |
| 87907 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 89889 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 87908 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 89890 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 87909 | .{ .type = .usize, .kind = .{ .extern_func = "__extenddftf2" } }, | 89891 | .{ .type = .usize, .kind = .{ .extern_func = "__extenddftf2" } }, |
| 87910 | .unused, | 89892 | .unused, |
| 87911 | .unused, | 89893 | .unused, |
| ... | @@ -87919,15 +89901,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87919,15 +89901,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87919 | .dst_temps = .{ .mem, .unused }, | 89901 | .dst_temps = .{ .mem, .unused }, |
| 87920 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 89902 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 87921 | .each = .{ .once = &.{ | 89903 | .each = .{ .once = &.{ |
| 87922 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 89904 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 87923 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, | 89905 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 87924 | .{ ._, ._ps, .movl, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 89906 | .{ ._, ._ps, .movl, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 87925 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 89907 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 87926 | .{ ._, ._ps, .mova, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 89908 | .{ ._, ._ps, .mova, .memsi(.dst0x, .@"2", .tmp0), .tmp1x, ._, ._ }, |
| 87927 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 89909 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 87928 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 89910 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 87929 | } }, | 89911 | } }, |
| 87930 | }, .{ | 89912 | }, .{ |
| | 89913 | .required_cc_abi = .sysv64, |
| 87931 | .required_features = .{ .avx, null, null, null }, | 89914 | .required_features = .{ .avx, null, null, null }, |
| 87932 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 89915 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 87933 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any }, | 89916 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any }, |
| ... | @@ -87948,7 +89931,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87948,7 +89931,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87948 | .unused, | 89931 | .unused, |
| 87949 | .unused, | 89932 | .unused, |
| 87950 | }, | 89933 | }, |
| 87951 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 89934 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 87952 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 89935 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 87953 | .each = .{ .once = &.{ | 89936 | .each = .{ .once = &.{ |
| 87954 | .{ ._, .v_dqa, .mov, .dst0x, .mem(.src0x), ._, ._ }, | 89937 | .{ ._, .v_dqa, .mov, .dst0x, .mem(.src0x), ._, ._ }, |
| ... | @@ -87956,6 +89939,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87956,6 +89939,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87956 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, | 89939 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| 87957 | } }, | 89940 | } }, |
| 87958 | }, .{ | 89941 | }, .{ |
| | 89942 | .required_cc_abi = .sysv64, |
| 87959 | .required_features = .{ .sse2, null, null, null }, | 89943 | .required_features = .{ .sse2, null, null, null }, |
| 87960 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 89944 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 87961 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any }, | 89945 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any }, |
| ... | @@ -87976,7 +89960,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87976,7 +89960,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87976 | .unused, | 89960 | .unused, |
| 87977 | .unused, | 89961 | .unused, |
| 87978 | }, | 89962 | }, |
| 87979 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 89963 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 87980 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 89964 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 87981 | .each = .{ .once = &.{ | 89965 | .each = .{ .once = &.{ |
| 87982 | .{ ._, ._dqa, .mov, .dst0x, .mem(.src0x), ._, ._ }, | 89966 | .{ ._, ._dqa, .mov, .dst0x, .mem(.src0x), ._, ._ }, |
| ... | @@ -87984,6 +89968,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -87984,6 +89968,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 87984 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, | 89968 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| 87985 | } }, | 89969 | } }, |
| 87986 | }, .{ | 89970 | }, .{ |
| | 89971 | .required_cc_abi = .sysv64, |
| 87987 | .required_features = .{ .sse, null, null, null }, | 89972 | .required_features = .{ .sse, null, null, null }, |
| 87988 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 89973 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 87989 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any }, | 89974 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any }, |
| ... | @@ -88004,7 +89989,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -88004,7 +89989,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 88004 | .unused, | 89989 | .unused, |
| 88005 | .unused, | 89990 | .unused, |
| 88006 | }, | 89991 | }, |
| 88007 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 89992 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 88008 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 89993 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 88009 | .each = .{ .once = &.{ | 89994 | .each = .{ .once = &.{ |
| 88010 | .{ ._, ._ps, .mova, .dst0x, .mem(.src0x), ._, ._ }, | 89995 | .{ ._, ._ps, .mova, .dst0x, .mem(.src0x), ._, ._ }, |
| ... | @@ -88012,6 +89997,35 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -88012,6 +89997,35 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 88012 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, | 89997 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| 88013 | } }, | 89998 | } }, |
| 88014 | }, .{ | 89999 | }, .{ |
| | 90000 | .required_cc_abi = .win64, |
| | 90001 | .required_features = .{ .sse, null, null, null }, |
| | 90002 | .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 90003 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any }, |
| | 90004 | .patterns = &.{ |
| | 90005 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 90006 | }, |
| | 90007 | .call_frame = .{ .alignment = .@"16" }, |
| | 90008 | .extra_temps = .{ |
| | 90009 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 90010 | .{ .type = .usize, .kind = .{ .extern_func = "__extendxftf2" } }, |
| | 90011 | .unused, |
| | 90012 | .unused, |
| | 90013 | .unused, |
| | 90014 | .unused, |
| | 90015 | .unused, |
| | 90016 | .unused, |
| | 90017 | .unused, |
| | 90018 | .unused, |
| | 90019 | .unused, |
| | 90020 | }, |
| | 90021 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| | 90022 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 90023 | .each = .{ .once = &.{ |
| | 90024 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| | 90025 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 90026 | } }, |
| | 90027 | }, .{ |
| | 90028 | .required_cc_abi = .sysv64, |
| 88015 | .required_features = .{ .avx, null, null, null }, | 90029 | .required_features = .{ .avx, null, null, null }, |
| 88016 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 90030 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 88017 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any }, | 90031 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any }, |
| ... | @@ -88020,8 +90034,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -88020,8 +90034,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 88020 | }, | 90034 | }, |
| 88021 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 90035 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 88022 | .extra_temps = .{ | 90036 | .extra_temps = .{ |
| 88023 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 90037 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 88024 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 90038 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 88025 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 90039 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 88026 | .{ .type = .usize, .kind = .{ .extern_func = "__extendxftf2" } }, | 90040 | .{ .type = .usize, .kind = .{ .extern_func = "__extendxftf2" } }, |
| 88027 | .unused, | 90041 | .unused, |
| ... | @@ -88035,15 +90049,80 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -88035,15 +90049,80 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 88035 | .dst_temps = .{ .mem, .unused }, | 90049 | .dst_temps = .{ .mem, .unused }, |
| 88036 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 90050 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 88037 | .each = .{ .once = &.{ | 90051 | .each = .{ .once = &.{ |
| 88038 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 90052 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 88039 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 90053 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 88040 | .{ ._, .v_dqa, .mov, .mem(.tmp2x), .tmp1x, ._, ._ }, | 90054 | .{ ._, .v_dqa, .mov, .mem(.tmp2x), .tmp1x, ._, ._ }, |
| 88041 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 90055 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 88042 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 90056 | .{ ._, .v_dqa, .mov, .memi(.dst0x, .tmp0), .tmp1x, ._, ._ }, |
| 88043 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 90057 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 88044 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 90058 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 90059 | } }, |
| | 90060 | }, .{ |
| | 90061 | .required_cc_abi = .win64, |
| | 90062 | .required_features = .{ .avx, null, null, null }, |
| | 90063 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 90064 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any }, |
| | 90065 | .patterns = &.{ |
| | 90066 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 90067 | }, |
| | 90068 | .call_frame = .{ .alignment = .@"16" }, |
| | 90069 | .extra_temps = .{ |
| | 90070 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 90071 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 90072 | .{ .type = .usize, .kind = .{ .extern_func = "__extendxftf2" } }, |
| | 90073 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 90074 | .unused, |
| | 90075 | .unused, |
| | 90076 | .unused, |
| | 90077 | .unused, |
| | 90078 | .unused, |
| | 90079 | .unused, |
| | 90080 | .unused, |
| | 90081 | }, |
| | 90082 | .dst_temps = .{ .mem, .unused }, |
| | 90083 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 90084 | .each = .{ .once = &.{ |
| | 90085 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 90086 | .{ .@"0:", ._, .lea, .tmp1p, .memi(.src0, .tmp0), ._, ._ }, |
| | 90087 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 90088 | .{ ._, .v_dqa, .mov, .memi(.dst0x, .tmp0), .tmp3x, ._, ._ }, |
| | 90089 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 90090 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 90091 | } }, |
| | 90092 | }, .{ |
| | 90093 | .required_cc_abi = .win64, |
| | 90094 | .required_features = .{ .sse2, null, null, null }, |
| | 90095 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 90096 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any }, |
| | 90097 | .patterns = &.{ |
| | 90098 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 90099 | }, |
| | 90100 | .call_frame = .{ .alignment = .@"16" }, |
| | 90101 | .extra_temps = .{ |
| | 90102 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 90103 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 90104 | .{ .type = .usize, .kind = .{ .extern_func = "__extendxftf2" } }, |
| | 90105 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 90106 | .unused, |
| | 90107 | .unused, |
| | 90108 | .unused, |
| | 90109 | .unused, |
| | 90110 | .unused, |
| | 90111 | .unused, |
| | 90112 | .unused, |
| | 90113 | }, |
| | 90114 | .dst_temps = .{ .mem, .unused }, |
| | 90115 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 90116 | .each = .{ .once = &.{ |
| | 90117 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 90118 | .{ .@"0:", ._, .lea, .tmp1p, .memi(.src0, .tmp0), ._, ._ }, |
| | 90119 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 90120 | .{ ._, ._dqa, .mov, .memi(.dst0x, .tmp0), .tmp3x, ._, ._ }, |
| | 90121 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 90122 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 88045 | } }, | 90123 | } }, |
| 88046 | }, .{ | 90124 | }, .{ |
| | 90125 | .required_cc_abi = .sysv64, |
| 88047 | .required_features = .{ .sse2, null, null, null }, | 90126 | .required_features = .{ .sse2, null, null, null }, |
| 88048 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 90127 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 88049 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any }, | 90128 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any }, |
| ... | @@ -88052,8 +90131,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -88052,8 +90131,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 88052 | }, | 90131 | }, |
| 88053 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 90132 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 88054 | .extra_temps = .{ | 90133 | .extra_temps = .{ |
| 88055 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 90134 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 88056 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 90135 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 88057 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 90136 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 88058 | .{ .type = .usize, .kind = .{ .extern_func = "__extendxftf2" } }, | 90137 | .{ .type = .usize, .kind = .{ .extern_func = "__extendxftf2" } }, |
| 88059 | .unused, | 90138 | .unused, |
| ... | @@ -88067,15 +90146,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -88067,15 +90146,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 88067 | .dst_temps = .{ .mem, .unused }, | 90146 | .dst_temps = .{ .mem, .unused }, |
| 88068 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 90147 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 88069 | .each = .{ .once = &.{ | 90148 | .each = .{ .once = &.{ |
| 88070 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 90149 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 88071 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 90150 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 88072 | .{ ._, ._dqa, .mov, .mem(.tmp2x), .tmp1x, ._, ._ }, | 90151 | .{ ._, ._dqa, .mov, .mem(.tmp2x), .tmp1x, ._, ._ }, |
| 88073 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 90152 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 88074 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 90153 | .{ ._, ._dqa, .mov, .memi(.dst0x, .tmp0), .tmp1x, ._, ._ }, |
| 88075 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 90154 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 88076 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 90155 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 88077 | } }, | 90156 | } }, |
| 88078 | }, .{ | 90157 | }, .{ |
| | 90158 | .required_cc_abi = .sysv64, |
| 88079 | .required_features = .{ .sse, null, null, null }, | 90159 | .required_features = .{ .sse, null, null, null }, |
| 88080 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 90160 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 88081 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any }, | 90161 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any }, |
| ... | @@ -88084,8 +90164,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -88084,8 +90164,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 88084 | }, | 90164 | }, |
| 88085 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 90165 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 88086 | .extra_temps = .{ | 90166 | .extra_temps = .{ |
| 88087 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 90167 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 88088 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 90168 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 88089 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 90169 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 88090 | .{ .type = .usize, .kind = .{ .extern_func = "__extendxftf2" } }, | 90170 | .{ .type = .usize, .kind = .{ .extern_func = "__extendxftf2" } }, |
| 88091 | .unused, | 90171 | .unused, |
| ... | @@ -88099,13 +90179,45 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -88099,13 +90179,45 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 88099 | .dst_temps = .{ .mem, .unused }, | 90179 | .dst_temps = .{ .mem, .unused }, |
| 88100 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 90180 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 88101 | .each = .{ .once = &.{ | 90181 | .each = .{ .once = &.{ |
| 88102 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 90182 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 88103 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 90183 | .{ .@"0:", ._ps, .mova, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 88104 | .{ ._, ._ps, .mova, .mem(.tmp2x), .tmp1x, ._, ._ }, | 90184 | .{ ._, ._ps, .mova, .mem(.tmp2x), .tmp1x, ._, ._ }, |
| 88105 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 90185 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 88106 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 90186 | .{ ._, ._ps, .mova, .memi(.dst0x, .tmp0), .tmp1x, ._, ._ }, |
| 88107 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 90187 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 88108 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 90188 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 90189 | } }, |
| | 90190 | }, .{ |
| | 90191 | .required_cc_abi = .win64, |
| | 90192 | .required_features = .{ .sse, null, null, null }, |
| | 90193 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 90194 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any }, |
| | 90195 | .patterns = &.{ |
| | 90196 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 90197 | }, |
| | 90198 | .call_frame = .{ .alignment = .@"16" }, |
| | 90199 | .extra_temps = .{ |
| | 90200 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 90201 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 90202 | .{ .type = .usize, .kind = .{ .extern_func = "__extendxftf2" } }, |
| | 90203 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 90204 | .unused, |
| | 90205 | .unused, |
| | 90206 | .unused, |
| | 90207 | .unused, |
| | 90208 | .unused, |
| | 90209 | .unused, |
| | 90210 | .unused, |
| | 90211 | }, |
| | 90212 | .dst_temps = .{ .mem, .unused }, |
| | 90213 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 90214 | .each = .{ .once = &.{ |
| | 90215 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 90216 | .{ .@"0:", ._, .lea, .tmp1p, .memi(.src0, .tmp0), ._, ._ }, |
| | 90217 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 90218 | .{ ._, ._ps, .mova, .memi(.dst0x, .tmp0), .tmp3x, ._, ._ }, |
| | 90219 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 90220 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 88109 | } }, | 90221 | } }, |
| 88110 | } }) catch |err| switch (err) { | 90222 | } }) catch |err| switch (err) { |
| 88111 | error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{ | 90223 | error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{ |
| ... | @@ -88118,7 +90230,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -88118,7 +90230,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 88118 | }; | 90230 | }; |
| 88119 | try res[0].finish(inst, &.{ty_op.operand}, &ops, cg); | 90231 | try res[0].finish(inst, &.{ty_op.operand}, &ops, cg); |
| 88120 | }, | 90232 | }, |
| 88121 | .intcast => |air_tag| if (use_old) try cg.airIntCast(inst) else { | 90233 | .intcast => |air_tag| { |
| 88122 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 90234 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 88123 | const dst_ty = ty_op.ty.toType(); | 90235 | const dst_ty = ty_op.ty.toType(); |
| 88124 | const src_ty = cg.typeOf(ty_op.operand); | 90236 | const src_ty = cg.typeOf(ty_op.operand); |
| ... | @@ -92797,7 +94909,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -92797,7 +94909,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 92797 | try res[0].finish(inst, &.{ty_op.operand}, &ops, cg); | 94909 | try res[0].finish(inst, &.{ty_op.operand}, &ops, cg); |
| 92798 | }, | 94910 | }, |
| 92799 | .intcast_safe => unreachable, | 94911 | .intcast_safe => unreachable, |
| 92800 | .trunc => |air_tag| if (use_old) try cg.airTrunc(inst) else { | 94912 | .trunc => |air_tag| { |
| 92801 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 94913 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 92802 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); | 94914 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); |
| 92803 | var res: [1]Temp = undefined; | 94915 | var res: [1]Temp = undefined; |
| ... | @@ -98462,7 +100574,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -98462,7 +100574,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 98462 | }; | 100574 | }; |
| 98463 | try res[0].finish(inst, &.{ty_op.operand}, &ops, cg); | 100575 | try res[0].finish(inst, &.{ty_op.operand}, &ops, cg); |
| 98464 | }, | 100576 | }, |
| 98465 | .optional_payload => if (use_old) try cg.airOptionalPayload(inst) else { | 100577 | .optional_payload => { |
| 98466 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 100578 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 98467 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); | 100579 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); |
| 98468 | const pl = if (!hack_around_sema_opv_bugs or ty_op.ty.toType().hasRuntimeBitsIgnoreComptime(zcu)) | 100580 | const pl = if (!hack_around_sema_opv_bugs or ty_op.ty.toType().hasRuntimeBitsIgnoreComptime(zcu)) |
| ... | @@ -98471,12 +100583,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -98471,12 +100583,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 98471 | try cg.tempInit(ty_op.ty.toType(), .none); | 100583 | try cg.tempInit(ty_op.ty.toType(), .none); |
| 98472 | try pl.finish(inst, &.{ty_op.operand}, &ops, cg); | 100584 | try pl.finish(inst, &.{ty_op.operand}, &ops, cg); |
| 98473 | }, | 100585 | }, |
| 98474 | .optional_payload_ptr => if (use_old) try cg.airOptionalPayloadPtr(inst) else { | 100586 | .optional_payload_ptr => { |
| 98475 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 100587 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 98476 | const ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); | 100588 | const ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); |
| 98477 | try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg); | 100589 | try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg); |
| 98478 | }, | 100590 | }, |
| 98479 | .optional_payload_ptr_set => if (use_old) try cg.airOptionalPayloadPtrSet(inst) else { | 100591 | .optional_payload_ptr_set => { |
| 98480 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 100592 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 98481 | const opt_ty = cg.typeOf(ty_op.operand).childType(zcu); | 100593 | const opt_ty = cg.typeOf(ty_op.operand).childType(zcu); |
| 98482 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); | 100594 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); |
| ... | @@ -98491,7 +100603,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -98491,7 +100603,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 98491 | } | 100603 | } |
| 98492 | try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg); | 100604 | try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg); |
| 98493 | }, | 100605 | }, |
| 98494 | .wrap_optional => if (use_old) try cg.airWrapOptional(inst) else { | 100606 | .wrap_optional => { |
| 98495 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 100607 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 98496 | const opt_ty = ty_op.ty.toType(); | 100608 | const opt_ty = ty_op.ty.toType(); |
| 98497 | const opt_pl_ty = cg.typeOf(ty_op.operand); | 100609 | const opt_pl_ty = cg.typeOf(ty_op.operand); |
| ... | @@ -98506,7 +100618,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -98506,7 +100618,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 98506 | } | 100618 | } |
| 98507 | try opt.finish(inst, &.{ty_op.operand}, &ops, cg); | 100619 | try opt.finish(inst, &.{ty_op.operand}, &ops, cg); |
| 98508 | }, | 100620 | }, |
| 98509 | .unwrap_errunion_payload => if (use_old) try cg.airUnwrapErrUnionPayload(inst) else { | 100621 | .unwrap_errunion_payload => { |
| 98510 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 100622 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 98511 | const eu_pl_ty = ty_op.ty.toType(); | 100623 | const eu_pl_ty = ty_op.ty.toType(); |
| 98512 | const eu_pl_off: i32 = @intCast(codegen.errUnionPayloadOffset(eu_pl_ty, zcu)); | 100624 | const eu_pl_off: i32 = @intCast(codegen.errUnionPayloadOffset(eu_pl_ty, zcu)); |
| ... | @@ -98517,7 +100629,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -98517,7 +100629,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 98517 | try cg.tempInit(eu_pl_ty, .none); | 100629 | try cg.tempInit(eu_pl_ty, .none); |
| 98518 | try pl.finish(inst, &.{ty_op.operand}, &ops, cg); | 100630 | try pl.finish(inst, &.{ty_op.operand}, &ops, cg); |
| 98519 | }, | 100631 | }, |
| 98520 | .unwrap_errunion_err => if (use_old) try cg.airUnwrapErrUnionErr(inst) else { | 100632 | .unwrap_errunion_err => { |
| 98521 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 100633 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 98522 | const eu_ty = cg.typeOf(ty_op.operand); | 100634 | const eu_ty = cg.typeOf(ty_op.operand); |
| 98523 | const eu_err_ty = ty_op.ty.toType(); | 100635 | const eu_err_ty = ty_op.ty.toType(); |
| ... | @@ -98527,7 +100639,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -98527,7 +100639,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 98527 | const err = try ops[0].read(eu_err_ty, .{ .disp = eu_err_off }, cg); | 100639 | const err = try ops[0].read(eu_err_ty, .{ .disp = eu_err_off }, cg); |
| 98528 | try err.finish(inst, &.{ty_op.operand}, &ops, cg); | 100640 | try err.finish(inst, &.{ty_op.operand}, &ops, cg); |
| 98529 | }, | 100641 | }, |
| 98530 | .unwrap_errunion_payload_ptr => if (use_old) try cg.airUnwrapErrUnionPayloadPtr(inst) else { | 100642 | .unwrap_errunion_payload_ptr => { |
| 98531 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 100643 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 98532 | const eu_ty = cg.typeOf(ty_op.operand).childType(zcu); | 100644 | const eu_ty = cg.typeOf(ty_op.operand).childType(zcu); |
| 98533 | const eu_pl_ty = eu_ty.errorUnionPayload(zcu); | 100645 | const eu_pl_ty = eu_ty.errorUnionPayload(zcu); |
| ... | @@ -98536,7 +100648,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -98536,7 +100648,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 98536 | try ops[0].toOffset(eu_pl_off, cg); | 100648 | try ops[0].toOffset(eu_pl_off, cg); |
| 98537 | try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg); | 100649 | try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg); |
| 98538 | }, | 100650 | }, |
| 98539 | .unwrap_errunion_err_ptr => if (use_old) try cg.airUnwrapErrUnionErrPtr(inst) else { | 100651 | .unwrap_errunion_err_ptr => { |
| 98540 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 100652 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 98541 | const eu_ty = cg.typeOf(ty_op.operand).childType(zcu); | 100653 | const eu_ty = cg.typeOf(ty_op.operand).childType(zcu); |
| 98542 | const eu_err_ty = ty_op.ty.toType(); | 100654 | const eu_err_ty = ty_op.ty.toType(); |
| ... | @@ -98547,7 +100659,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -98547,7 +100659,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 98547 | const err = try ops[0].load(eu_err_ty, .{}, cg); | 100659 | const err = try ops[0].load(eu_err_ty, .{}, cg); |
| 98548 | try err.finish(inst, &.{ty_op.operand}, &ops, cg); | 100660 | try err.finish(inst, &.{ty_op.operand}, &ops, cg); |
| 98549 | }, | 100661 | }, |
| 98550 | .errunion_payload_ptr_set => if (use_old) try cg.airErrUnionPayloadPtrSet(inst) else { | 100662 | .errunion_payload_ptr_set => { |
| 98551 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 100663 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 98552 | const eu_ty = cg.typeOf(ty_op.operand).childType(zcu); | 100664 | const eu_ty = cg.typeOf(ty_op.operand).childType(zcu); |
| 98553 | const eu_err_ty = eu_ty.errorUnionSet(zcu); | 100665 | const eu_err_ty = eu_ty.errorUnionSet(zcu); |
| ... | @@ -98562,7 +100674,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -98562,7 +100674,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 98562 | try ops[0].toOffset(eu_pl_off - eu_err_off, cg); | 100674 | try ops[0].toOffset(eu_pl_off - eu_err_off, cg); |
| 98563 | try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg); | 100675 | try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg); |
| 98564 | }, | 100676 | }, |
| 98565 | .wrap_errunion_payload => if (use_old) try cg.airWrapErrUnionPayload(inst) else { | 100677 | .wrap_errunion_payload => { |
| 98566 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 100678 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 98567 | const eu_ty = ty_op.ty.toType(); | 100679 | const eu_ty = ty_op.ty.toType(); |
| 98568 | const eu_err_ty = eu_ty.errorUnionSet(zcu); | 100680 | const eu_err_ty = eu_ty.errorUnionSet(zcu); |
| ... | @@ -98577,7 +100689,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -98577,7 +100689,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 98577 | try err.die(cg); | 100689 | try err.die(cg); |
| 98578 | try eu.finish(inst, &.{ty_op.operand}, &ops, cg); | 100690 | try eu.finish(inst, &.{ty_op.operand}, &ops, cg); |
| 98579 | }, | 100691 | }, |
| 98580 | .wrap_errunion_err => if (use_old) try cg.airWrapErrUnionErr(inst) else { | 100692 | .wrap_errunion_err => { |
| 98581 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 100693 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 98582 | const eu_ty = ty_op.ty.toType(); | 100694 | const eu_ty = ty_op.ty.toType(); |
| 98583 | const eu_pl_ty = eu_ty.errorUnionPayload(zcu); | 100695 | const eu_pl_ty = eu_ty.errorUnionPayload(zcu); |
| ... | @@ -98587,7 +100699,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -98587,7 +100699,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 98587 | try eu.write(&ops[0], .{ .disp = eu_err_off }, cg); | 100699 | try eu.write(&ops[0], .{ .disp = eu_err_off }, cg); |
| 98588 | try eu.finish(inst, &.{ty_op.operand}, &ops, cg); | 100700 | try eu.finish(inst, &.{ty_op.operand}, &ops, cg); |
| 98589 | }, | 100701 | }, |
| 98590 | .struct_field_ptr => if (use_old) try cg.airStructFieldPtr(inst) else { | 100702 | .struct_field_ptr => { |
| 98591 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; | 100703 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; |
| 98592 | const struct_field = cg.air.extraData(Air.StructField, ty_pl.payload).data; | 100704 | const struct_field = cg.air.extraData(Air.StructField, ty_pl.payload).data; |
| 98593 | var ops = try cg.tempsFromOperands(inst, .{struct_field.struct_operand}); | 100705 | var ops = try cg.tempsFromOperands(inst, .{struct_field.struct_operand}); |
| ... | @@ -98602,13 +100714,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -98602,13 +100714,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 98602 | .struct_field_ptr_index_1, | 100714 | .struct_field_ptr_index_1, |
| 98603 | .struct_field_ptr_index_2, | 100715 | .struct_field_ptr_index_2, |
| 98604 | .struct_field_ptr_index_3, | 100716 | .struct_field_ptr_index_3, |
| 98605 | => |air_tag| if (use_old) try cg.airStructFieldPtrIndex(inst, switch (air_tag) { | 100717 | => |air_tag| { |
| 98606 | else => unreachable, | | |
| 98607 | .struct_field_ptr_index_0 => 0, | | |
| 98608 | .struct_field_ptr_index_1 => 1, | | |
| 98609 | .struct_field_ptr_index_2 => 2, | | |
| 98610 | .struct_field_ptr_index_3 => 3, | | |
| 98611 | }) else { | | |
| 98612 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 100718 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 98613 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); | 100719 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); |
| 98614 | try ops[0].toOffset(cg.fieldOffset( | 100720 | try ops[0].toOffset(cg.fieldOffset( |
| ... | @@ -98624,14 +100730,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -98624,14 +100730,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 98624 | ), cg); | 100730 | ), cg); |
| 98625 | try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg); | 100731 | try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg); |
| 98626 | }, | 100732 | }, |
| 98627 | .struct_field_val => if (use_old) try cg.airStructFieldVal(inst) else fallback: { | 100733 | .struct_field_val => { |
| 98628 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; | 100734 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; |
| 98629 | const struct_field = cg.air.extraData(Air.StructField, ty_pl.payload).data; | 100735 | const struct_field = cg.air.extraData(Air.StructField, ty_pl.payload).data; |
| 98630 | const agg_ty = cg.typeOf(struct_field.struct_operand); | 100736 | const agg_ty = cg.typeOf(struct_field.struct_operand); |
| 98631 | const field_ty = ty_pl.ty.toType(); | 100737 | const field_ty = ty_pl.ty.toType(); |
| 98632 | const field_off: u31 = switch (agg_ty.containerLayout(zcu)) { | 100738 | const field_off: u31 = switch (agg_ty.containerLayout(zcu)) { |
| 98633 | .auto, .@"extern" => @intCast(agg_ty.structFieldOffset(struct_field.field_index, zcu)), | 100739 | .auto, .@"extern" => @intCast(agg_ty.structFieldOffset(struct_field.field_index, zcu)), |
| 98634 | .@"packed" => break :fallback try cg.airStructFieldVal(inst), | 100740 | .@"packed" => unreachable, |
| 98635 | }; | 100741 | }; |
| 98636 | var ops = try cg.tempsFromOperands(inst, .{struct_field.struct_operand}); | 100742 | var ops = try cg.tempsFromOperands(inst, .{struct_field.struct_operand}); |
| 98637 | var res = if (!hack_around_sema_opv_bugs or field_ty.hasRuntimeBitsIgnoreComptime(zcu)) | 100743 | var res = if (!hack_around_sema_opv_bugs or field_ty.hasRuntimeBitsIgnoreComptime(zcu)) |
| ... | @@ -98640,7 +100746,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -98640,7 +100746,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 98640 | try cg.tempInit(field_ty, .none); | 100746 | try cg.tempInit(field_ty, .none); |
| 98641 | try res.finish(inst, &.{struct_field.struct_operand}, &ops, cg); | 100747 | try res.finish(inst, &.{struct_field.struct_operand}, &ops, cg); |
| 98642 | }, | 100748 | }, |
| 98643 | .set_union_tag => if (use_old) try cg.airSetUnionTag(inst) else { | 100749 | .set_union_tag => { |
| 98644 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | 100750 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| 98645 | const union_ty = cg.typeOf(bin_op.lhs).childType(zcu); | 100751 | const union_ty = cg.typeOf(bin_op.lhs).childType(zcu); |
| 98646 | const union_layout = union_ty.unionGetLayout(zcu); | 100752 | const union_layout = union_ty.unionGetLayout(zcu); |
| ... | @@ -98651,7 +100757,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -98651,7 +100757,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 98651 | const res = try cg.tempInit(.void, .none); | 100757 | const res = try cg.tempInit(.void, .none); |
| 98652 | try res.finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 100758 | try res.finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 98653 | }, | 100759 | }, |
| 98654 | .get_union_tag => if (use_old) try cg.airGetUnionTag(inst) else { | 100760 | .get_union_tag => { |
| 98655 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 100761 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 98656 | const union_ty = cg.typeOf(ty_op.operand); | 100762 | const union_ty = cg.typeOf(ty_op.operand); |
| 98657 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); | 100763 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); |
| ... | @@ -98662,38 +100768,38 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -98662,38 +100768,38 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 98662 | }, cg); | 100768 | }, cg); |
| 98663 | try res.finish(inst, &.{ty_op.operand}, &ops, cg); | 100769 | try res.finish(inst, &.{ty_op.operand}, &ops, cg); |
| 98664 | }, | 100770 | }, |
| 98665 | .slice => if (use_old) try cg.airSlice(inst) else { | 100771 | .slice => { |
| 98666 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; | 100772 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; |
| 98667 | const bin_op = cg.air.extraData(Air.Bin, ty_pl.payload).data; | 100773 | const bin_op = cg.air.extraData(Air.Bin, ty_pl.payload).data; |
| 98668 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 100774 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| 98669 | try ops[0].toPair(&ops[1], cg); | 100775 | try ops[0].toPair(&ops[1], cg); |
| 98670 | try ops[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 100776 | try ops[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 98671 | }, | 100777 | }, |
| 98672 | .slice_len => if (use_old) try cg.airSliceLen(inst) else { | 100778 | .slice_len => { |
| 98673 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 100779 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 98674 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); | 100780 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); |
| 98675 | try ops[0].toSliceLen(cg); | 100781 | try ops[0].toSliceLen(cg); |
| 98676 | try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg); | 100782 | try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg); |
| 98677 | }, | 100783 | }, |
| 98678 | .slice_ptr => if (use_old) try cg.airSlicePtr(inst) else { | 100784 | .slice_ptr => { |
| 98679 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 100785 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 98680 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); | 100786 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); |
| 98681 | try ops[0].toSlicePtr(cg); | 100787 | try ops[0].toSlicePtr(cg); |
| 98682 | try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg); | 100788 | try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg); |
| 98683 | }, | 100789 | }, |
| 98684 | .ptr_slice_len_ptr => if (use_old) try cg.airPtrSliceLenPtr(inst) else { | 100790 | .ptr_slice_len_ptr => { |
| 98685 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 100791 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 98686 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); | 100792 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); |
| 98687 | try ops[0].toOffset(8, cg); | 100793 | try ops[0].toOffset(8, cg); |
| 98688 | try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg); | 100794 | try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg); |
| 98689 | }, | 100795 | }, |
| 98690 | .ptr_slice_ptr_ptr => if (use_old) try cg.airPtrSlicePtrPtr(inst) else { | 100796 | .ptr_slice_ptr_ptr => { |
| 98691 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 100797 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 98692 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); | 100798 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); |
| 98693 | try ops[0].toOffset(0, cg); | 100799 | try ops[0].toOffset(0, cg); |
| 98694 | try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg); | 100800 | try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg); |
| 98695 | }, | 100801 | }, |
| 98696 | .array_elem_val => if (use_old) try cg.airArrayElemVal(inst) else { | 100802 | .array_elem_val => { |
| 98697 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | 100803 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| 98698 | const array_ty = cg.typeOf(bin_op.lhs); | 100804 | const array_ty = cg.typeOf(bin_op.lhs); |
| 98699 | const res_ty = array_ty.elemType2(zcu); | 100805 | const res_ty = array_ty.elemType2(zcu); |
| ... | @@ -98889,11 +100995,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -98889,11 +100995,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 98889 | }; | 100995 | }; |
| 98890 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 100996 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 98891 | }, | 100997 | }, |
| 98892 | .slice_elem_val, .ptr_elem_val => |air_tag| if (use_old) switch (air_tag) { | 100998 | .slice_elem_val, .ptr_elem_val => { |
| 98893 | else => unreachable, | | |
| 98894 | .slice_elem_val => try cg.airSliceElemVal(inst), | | |
| 98895 | .ptr_elem_val => try cg.airPtrElemVal(inst), | | |
| 98896 | } else { | | |
| 98897 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | 100999 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| 98898 | const res_ty = cg.typeOf(bin_op.lhs).elemType2(zcu); | 101000 | const res_ty = cg.typeOf(bin_op.lhs).elemType2(zcu); |
| 98899 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 101001 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| ... | @@ -99016,11 +101118,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99016,11 +101118,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99016 | } else res[0] = try cg.tempInit(res_ty, .none); | 101118 | } else res[0] = try cg.tempInit(res_ty, .none); |
| 99017 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 101119 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 99018 | }, | 101120 | }, |
| 99019 | .slice_elem_ptr, .ptr_elem_ptr => |air_tag| if (use_old) switch (air_tag) { | 101121 | .slice_elem_ptr, .ptr_elem_ptr => { |
| 99020 | else => unreachable, | | |
| 99021 | .slice_elem_ptr => try cg.airSliceElemPtr(inst), | | |
| 99022 | .ptr_elem_ptr => try cg.airPtrElemPtr(inst), | | |
| 99023 | } else { | | |
| 99024 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; | 101122 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; |
| 99025 | const bin_op = cg.air.extraData(Air.Bin, ty_pl.payload).data; | 101123 | const bin_op = cg.air.extraData(Air.Bin, ty_pl.payload).data; |
| 99026 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 101124 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| ... | @@ -99067,7 +101165,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99067,7 +101165,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99067 | } | 101165 | } |
| 99068 | try ops[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 101166 | try ops[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 99069 | }, | 101167 | }, |
| 99070 | .array_to_slice => if (use_old) try cg.airArrayToSlice(inst) else { | 101168 | .array_to_slice => { |
| 99071 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 101169 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 99072 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); | 101170 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); |
| 99073 | var len = try cg.tempInit(.usize, .{ | 101171 | var len = try cg.tempInit(.usize, .{ |
| ... | @@ -99076,7 +101174,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99076,7 +101174,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99076 | try ops[0].toPair(&len, cg); | 101174 | try ops[0].toPair(&len, cg); |
| 99077 | try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg); | 101175 | try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg); |
| 99078 | }, | 101176 | }, |
| 99079 | .int_from_float, .int_from_float_optimized => |air_tag| if (use_old) try cg.airIntFromFloat(inst) else { | 101177 | .int_from_float, .int_from_float_optimized => |air_tag| { |
| 99080 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 101178 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 99081 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); | 101179 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); |
| 99082 | var res: [1]Temp = undefined; | 101180 | var res: [1]Temp = undefined; |
| ... | @@ -99278,7 +101376,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99278,7 +101376,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99278 | .src_constraints = .{ .{ .float = .word }, .any, .any }, | 101376 | .src_constraints = .{ .{ .float = .word }, .any, .any }, |
| 99279 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, | 101377 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| 99280 | .patterns = &.{ | 101378 | .patterns = &.{ |
| 99281 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 101379 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 99282 | }, | 101380 | }, |
| 99283 | .call_frame = .{ .alignment = .@"16" }, | 101381 | .call_frame = .{ .alignment = .@"16" }, |
| 99284 | .extra_temps = .{ | 101382 | .extra_temps = .{ |
| ... | @@ -99294,7 +101392,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99294,7 +101392,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99294 | .unused, | 101392 | .unused, |
| 99295 | .unused, | 101393 | .unused, |
| 99296 | }, | 101394 | }, |
| 99297 | .dst_temps = .{ .{ .reg = .eax }, .unused }, | 101395 | .dst_temps = .{ .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 99298 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 101396 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 99299 | .each = .{ .once = &.{ | 101397 | .each = .{ .once = &.{ |
| 99300 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 101398 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| ... | @@ -99304,7 +101402,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99304,7 +101402,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99304 | .src_constraints = .{ .{ .float = .word }, .any, .any }, | 101402 | .src_constraints = .{ .{ .float = .word }, .any, .any }, |
| 99305 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, | 101403 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| 99306 | .patterns = &.{ | 101404 | .patterns = &.{ |
| 99307 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 101405 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 99308 | }, | 101406 | }, |
| 99309 | .call_frame = .{ .alignment = .@"16" }, | 101407 | .call_frame = .{ .alignment = .@"16" }, |
| 99310 | .extra_temps = .{ | 101408 | .extra_temps = .{ |
| ... | @@ -99320,7 +101418,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99320,7 +101418,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99320 | .unused, | 101418 | .unused, |
| 99321 | .unused, | 101419 | .unused, |
| 99322 | }, | 101420 | }, |
| 99323 | .dst_temps = .{ .{ .reg = .eax }, .unused }, | 101421 | .dst_temps = .{ .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 99324 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 101422 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 99325 | .each = .{ .once = &.{ | 101423 | .each = .{ .once = &.{ |
| 99326 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 101424 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| ... | @@ -99330,7 +101428,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99330,7 +101428,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99330 | .src_constraints = .{ .{ .float = .word }, .any, .any }, | 101428 | .src_constraints = .{ .{ .float = .word }, .any, .any }, |
| 99331 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, | 101429 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| 99332 | .patterns = &.{ | 101430 | .patterns = &.{ |
| 99333 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 101431 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 99334 | }, | 101432 | }, |
| 99335 | .call_frame = .{ .alignment = .@"16" }, | 101433 | .call_frame = .{ .alignment = .@"16" }, |
| 99336 | .extra_temps = .{ | 101434 | .extra_temps = .{ |
| ... | @@ -99346,7 +101444,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99346,7 +101444,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99346 | .unused, | 101444 | .unused, |
| 99347 | .unused, | 101445 | .unused, |
| 99348 | }, | 101446 | }, |
| 99349 | .dst_temps = .{ .{ .reg = .rax }, .unused }, | 101447 | .dst_temps = .{ .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 99350 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 101448 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 99351 | .each = .{ .once = &.{ | 101449 | .each = .{ .once = &.{ |
| 99352 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 101450 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| ... | @@ -99356,7 +101454,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99356,7 +101454,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99356 | .src_constraints = .{ .{ .float = .word }, .any, .any }, | 101454 | .src_constraints = .{ .{ .float = .word }, .any, .any }, |
| 99357 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, | 101455 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| 99358 | .patterns = &.{ | 101456 | .patterns = &.{ |
| 99359 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 101457 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 99360 | }, | 101458 | }, |
| 99361 | .call_frame = .{ .alignment = .@"16" }, | 101459 | .call_frame = .{ .alignment = .@"16" }, |
| 99362 | .extra_temps = .{ | 101460 | .extra_temps = .{ |
| ... | @@ -99372,17 +101470,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99372,17 +101470,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99372 | .unused, | 101470 | .unused, |
| 99373 | .unused, | 101471 | .unused, |
| 99374 | }, | 101472 | }, |
| 99375 | .dst_temps = .{ .{ .reg = .rax }, .unused }, | 101473 | .dst_temps = .{ .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 99376 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 101474 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 99377 | .each = .{ .once = &.{ | 101475 | .each = .{ .once = &.{ |
| 99378 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 101476 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 99379 | } }, | 101477 | } }, |
| 99380 | }, .{ | 101478 | }, .{ |
| 99381 | .required_features = .{ .@"64bit", .sse, null, null }, | 101479 | .required_cc_abi = .sysv64, |
| | 101480 | .required_features = .{ .sse, null, null, null }, |
| 99382 | .src_constraints = .{ .{ .float = .word }, .any, .any }, | 101481 | .src_constraints = .{ .{ .float = .word }, .any, .any }, |
| 99383 | .dst_constraints = .{ .{ .signed_int = .xword }, .any }, | 101482 | .dst_constraints = .{ .{ .signed_int = .xword }, .any }, |
| 99384 | .patterns = &.{ | 101483 | .patterns = &.{ |
| 99385 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 101484 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 99386 | }, | 101485 | }, |
| 99387 | .call_frame = .{ .alignment = .@"16" }, | 101486 | .call_frame = .{ .alignment = .@"16" }, |
| 99388 | .extra_temps = .{ | 101487 | .extra_temps = .{ |
| ... | @@ -99398,17 +101497,72 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99398,17 +101497,72 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99398 | .unused, | 101497 | .unused, |
| 99399 | .unused, | 101498 | .unused, |
| 99400 | }, | 101499 | }, |
| 99401 | .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused }, | 101500 | .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 99402 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 101501 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 99403 | .each = .{ .once = &.{ | 101502 | .each = .{ .once = &.{ |
| 99404 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 101503 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 99405 | } }, | 101504 | } }, |
| 99406 | }, .{ | 101505 | }, .{ |
| 99407 | .required_features = .{ .@"64bit", .sse, null, null }, | 101506 | .required_cc_abi = .win64, |
| | 101507 | .required_features = .{ .sse, null, null, null }, |
| | 101508 | .src_constraints = .{ .{ .float = .word }, .any, .any }, |
| | 101509 | .dst_constraints = .{ .{ .signed_int = .xword }, .any }, |
| | 101510 | .patterns = &.{ |
| | 101511 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| | 101512 | }, |
| | 101513 | .call_frame = .{ .alignment = .@"16" }, |
| | 101514 | .extra_temps = .{ |
| | 101515 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfti" } }, |
| | 101516 | .unused, |
| | 101517 | .unused, |
| | 101518 | .unused, |
| | 101519 | .unused, |
| | 101520 | .unused, |
| | 101521 | .unused, |
| | 101522 | .unused, |
| | 101523 | .unused, |
| | 101524 | .unused, |
| | 101525 | .unused, |
| | 101526 | }, |
| | 101527 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 101528 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 101529 | .each = .{ .once = &.{ |
| | 101530 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| | 101531 | } }, |
| | 101532 | }, .{ |
| | 101533 | .required_cc_abi = .sysv64, |
| | 101534 | .required_features = .{ .sse, null, null, null }, |
| | 101535 | .src_constraints = .{ .{ .float = .word }, .any, .any }, |
| | 101536 | .dst_constraints = .{ .{ .unsigned_int = .xword }, .any }, |
| | 101537 | .patterns = &.{ |
| | 101538 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| | 101539 | }, |
| | 101540 | .call_frame = .{ .alignment = .@"16" }, |
| | 101541 | .extra_temps = .{ |
| | 101542 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunshfti" } }, |
| | 101543 | .unused, |
| | 101544 | .unused, |
| | 101545 | .unused, |
| | 101546 | .unused, |
| | 101547 | .unused, |
| | 101548 | .unused, |
| | 101549 | .unused, |
| | 101550 | .unused, |
| | 101551 | .unused, |
| | 101552 | .unused, |
| | 101553 | }, |
| | 101554 | .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| | 101555 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 101556 | .each = .{ .once = &.{ |
| | 101557 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| | 101558 | } }, |
| | 101559 | }, .{ |
| | 101560 | .required_cc_abi = .win64, |
| | 101561 | .required_features = .{ .sse, null, null, null }, |
| 99408 | .src_constraints = .{ .{ .float = .word }, .any, .any }, | 101562 | .src_constraints = .{ .{ .float = .word }, .any, .any }, |
| 99409 | .dst_constraints = .{ .{ .unsigned_int = .xword }, .any }, | 101563 | .dst_constraints = .{ .{ .unsigned_int = .xword }, .any }, |
| 99410 | .patterns = &.{ | 101564 | .patterns = &.{ |
| 99411 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 101565 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 99412 | }, | 101566 | }, |
| 99413 | .call_frame = .{ .alignment = .@"16" }, | 101567 | .call_frame = .{ .alignment = .@"16" }, |
| 99414 | .extra_temps = .{ | 101568 | .extra_temps = .{ |
| ... | @@ -99424,7 +101578,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99424,7 +101578,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99424 | .unused, | 101578 | .unused, |
| 99425 | .unused, | 101579 | .unused, |
| 99426 | }, | 101580 | }, |
| 99427 | .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused }, | 101581 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 99428 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 101582 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 99429 | .each = .{ .once = &.{ | 101583 | .each = .{ .once = &.{ |
| 99430 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 101584 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| ... | @@ -99434,7 +101588,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99434,7 +101588,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99434 | .src_constraints = .{ .{ .float = .word }, .any, .any }, | 101588 | .src_constraints = .{ .{ .float = .word }, .any, .any }, |
| 99435 | .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any }, | 101589 | .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any }, |
| 99436 | .patterns = &.{ | 101590 | .patterns = &.{ |
| 99437 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 101591 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 99438 | }, | 101592 | }, |
| 99439 | .call_frame = .{ .alignment = .@"16" }, | 101593 | .call_frame = .{ .alignment = .@"16" }, |
| 99440 | .extra_temps = .{ | 101594 | .extra_temps = .{ |
| ... | @@ -99465,7 +101619,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99465,7 +101619,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99465 | .src_constraints = .{ .{ .float = .word }, .any, .any }, | 101619 | .src_constraints = .{ .{ .float = .word }, .any, .any }, |
| 99466 | .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .qword, .is = .qword } }, .any }, | 101620 | .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .qword, .is = .qword } }, .any }, |
| 99467 | .patterns = &.{ | 101621 | .patterns = &.{ |
| 99468 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 101622 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 99469 | }, | 101623 | }, |
| 99470 | .call_frame = .{ .alignment = .@"16" }, | 101624 | .call_frame = .{ .alignment = .@"16" }, |
| 99471 | .extra_temps = .{ | 101625 | .extra_temps = .{ |
| ... | @@ -99527,7 +101681,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99527,7 +101681,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99527 | .{ .src = .{ .to_mem, .none, .none } }, | 101681 | .{ .src = .{ .to_mem, .none, .none } }, |
| 99528 | }, | 101682 | }, |
| 99529 | .extra_temps = .{ | 101683 | .extra_temps = .{ |
| 99530 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 101684 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 99531 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_trunc_mem = .{ .from = .dword, .to = .byte } } }, | 101685 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_trunc_mem = .{ .from = .dword, .to = .byte } } }, |
| 99532 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 101686 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 99533 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 101687 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| ... | @@ -99544,13 +101698,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99544,13 +101698,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99544 | .each = .{ .once = &.{ | 101698 | .each = .{ .once = &.{ |
| 99545 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 101699 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 99546 | .{ ._, .v_ps, .mova, .tmp2x, .lea(.tmp0x), ._, ._ }, | 101700 | .{ ._, .v_ps, .mova, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| 99547 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 101701 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_size), ._, ._ }, |
| 99548 | .{ .@"0:", .v_ps, .cvtph2, .tmp3x, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 101702 | .{ .@"0:", .v_ps, .cvtph2, .tmp3x, .memsi(.src0q, .@"2", .tmp0), ._, ._ }, |
| 99549 | .{ ._, .v_, .cvttps2dq, .tmp3x, .tmp3x, ._, ._ }, | 101703 | .{ ._, .v_, .cvttps2dq, .tmp3x, .tmp3x, ._, ._ }, |
| 99550 | .{ ._, .vp_b, .shuf, .tmp3x, .tmp3x, .tmp2x, ._ }, | 101704 | .{ ._, .vp_b, .shuf, .tmp3x, .tmp3x, .tmp2x, ._ }, |
| 99551 | .{ ._, .v_d, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 101705 | .{ ._, .v_d, .mov, .memi(.dst0d, .tmp0), .tmp3x, ._, ._ }, |
| 99552 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 101706 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 99553 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 101707 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 99554 | } }, | 101708 | } }, |
| 99555 | }, .{ | 101709 | }, .{ |
| 99556 | .required_features = .{ .avx, .slow_incdec, null, null }, | 101710 | .required_features = .{ .avx, .slow_incdec, null, null }, |
| ... | @@ -99561,10 +101715,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99561,10 +101715,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99561 | }, | 101715 | }, |
| 99562 | .call_frame = .{ .alignment = .@"16" }, | 101716 | .call_frame = .{ .alignment = .@"16" }, |
| 99563 | .extra_temps = .{ | 101717 | .extra_temps = .{ |
| 99564 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 101718 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 99565 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 101719 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 99566 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfsi" } }, | 101720 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfsi" } }, |
| 99567 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 101721 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 99568 | .unused, | 101722 | .unused, |
| 99569 | .unused, | 101723 | .unused, |
| 99570 | .unused, | 101724 | .unused, |
| ... | @@ -99576,13 +101730,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99576,13 +101730,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99576 | .dst_temps = .{ .mem, .unused }, | 101730 | .dst_temps = .{ .mem, .unused }, |
| 99577 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 101731 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 99578 | .each = .{ .once = &.{ | 101732 | .each = .{ .once = &.{ |
| 99579 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 101733 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 99580 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, | 101734 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| 99581 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memsia(.src0w, .@"2", .tmp0, .add_unaligned_size), .ui(0) }, | 101735 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memsi(.src0w, .@"2", .tmp0), .ui(0) }, |
| 99582 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 101736 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 99583 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp3b, ._, ._ }, | 101737 | .{ ._, ._, .mov, .memi(.dst0b, .tmp0), .tmp3b, ._, ._ }, |
| 99584 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 101738 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 99585 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 101739 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 99586 | } }, | 101740 | } }, |
| 99587 | }, .{ | 101741 | }, .{ |
| 99588 | .required_features = .{ .avx, null, null, null }, | 101742 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -99593,10 +101747,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99593,10 +101747,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99593 | }, | 101747 | }, |
| 99594 | .call_frame = .{ .alignment = .@"16" }, | 101748 | .call_frame = .{ .alignment = .@"16" }, |
| 99595 | .extra_temps = .{ | 101749 | .extra_temps = .{ |
| 99596 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 101750 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 99597 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 101751 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 99598 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfsi" } }, | 101752 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfsi" } }, |
| 99599 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 101753 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 99600 | .unused, | 101754 | .unused, |
| 99601 | .unused, | 101755 | .unused, |
| 99602 | .unused, | 101756 | .unused, |
| ... | @@ -99608,13 +101762,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99608,13 +101762,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99608 | .dst_temps = .{ .mem, .unused }, | 101762 | .dst_temps = .{ .mem, .unused }, |
| 99609 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 101763 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 99610 | .each = .{ .once = &.{ | 101764 | .each = .{ .once = &.{ |
| 99611 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 101765 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 99612 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, | 101766 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| 99613 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memsia(.src0w, .@"2", .tmp0, .add_unaligned_size), .ui(0) }, | 101767 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memsi(.src0w, .@"2", .tmp0), .ui(0) }, |
| 99614 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 101768 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 99615 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp3b, ._, ._ }, | 101769 | .{ ._, ._, .mov, .memi(.dst0b, .tmp0), .tmp3b, ._, ._ }, |
| 99616 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 101770 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 99617 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 101771 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 99618 | } }, | 101772 | } }, |
| 99619 | }, .{ | 101773 | }, .{ |
| 99620 | .required_features = .{ .sse2, .slow_incdec, null, null }, | 101774 | .required_features = .{ .sse2, .slow_incdec, null, null }, |
| ... | @@ -99625,10 +101779,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99625,10 +101779,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99625 | }, | 101779 | }, |
| 99626 | .call_frame = .{ .alignment = .@"16" }, | 101780 | .call_frame = .{ .alignment = .@"16" }, |
| 99627 | .extra_temps = .{ | 101781 | .extra_temps = .{ |
| 99628 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 101782 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 99629 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 101783 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 99630 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfsi" } }, | 101784 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfsi" } }, |
| 99631 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 101785 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 99632 | .unused, | 101786 | .unused, |
| 99633 | .unused, | 101787 | .unused, |
| 99634 | .unused, | 101788 | .unused, |
| ... | @@ -99640,13 +101794,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99640,13 +101794,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99640 | .dst_temps = .{ .mem, .unused }, | 101794 | .dst_temps = .{ .mem, .unused }, |
| 99641 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 101795 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 99642 | .each = .{ .once = &.{ | 101796 | .each = .{ .once = &.{ |
| 99643 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 101797 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 99644 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | 101798 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 99645 | .{ ._, .p_w, .insr, .tmp1x, .memsia(.src0w, .@"2", .tmp0, .add_unaligned_size), .ui(0), ._ }, | 101799 | .{ ._, .p_w, .insr, .tmp1x, .memsi(.src0w, .@"2", .tmp0), .ui(0), ._ }, |
| 99646 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 101800 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 99647 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp3b, ._, ._ }, | 101801 | .{ ._, ._, .mov, .memi(.dst0b, .tmp0), .tmp3b, ._, ._ }, |
| 99648 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 101802 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 99649 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 101803 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 99650 | } }, | 101804 | } }, |
| 99651 | }, .{ | 101805 | }, .{ |
| 99652 | .required_features = .{ .sse2, null, null, null }, | 101806 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -99657,10 +101811,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99657,10 +101811,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99657 | }, | 101811 | }, |
| 99658 | .call_frame = .{ .alignment = .@"16" }, | 101812 | .call_frame = .{ .alignment = .@"16" }, |
| 99659 | .extra_temps = .{ | 101813 | .extra_temps = .{ |
| 99660 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 101814 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 99661 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 101815 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 99662 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfsi" } }, | 101816 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfsi" } }, |
| 99663 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 101817 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 99664 | .unused, | 101818 | .unused, |
| 99665 | .unused, | 101819 | .unused, |
| 99666 | .unused, | 101820 | .unused, |
| ... | @@ -99672,13 +101826,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99672,13 +101826,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99672 | .dst_temps = .{ .mem, .unused }, | 101826 | .dst_temps = .{ .mem, .unused }, |
| 99673 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 101827 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 99674 | .each = .{ .once = &.{ | 101828 | .each = .{ .once = &.{ |
| 99675 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 101829 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 99676 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | 101830 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 99677 | .{ ._, .p_w, .insr, .tmp1x, .memsia(.src0w, .@"2", .tmp0, .add_unaligned_size), .ui(0), ._ }, | 101831 | .{ ._, .p_w, .insr, .tmp1x, .memsi(.src0w, .@"2", .tmp0), .ui(0), ._ }, |
| 99678 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 101832 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 99679 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp3b, ._, ._ }, | 101833 | .{ ._, ._, .mov, .memi(.dst0b, .tmp0), .tmp3b, ._, ._ }, |
| 99680 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 101834 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 99681 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 101835 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 99682 | } }, | 101836 | } }, |
| 99683 | }, .{ | 101837 | }, .{ |
| 99684 | .required_features = .{ .sse, .slow_incdec, null, null }, | 101838 | .required_features = .{ .sse, .slow_incdec, null, null }, |
| ... | @@ -99689,10 +101843,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99689,10 +101843,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99689 | }, | 101843 | }, |
| 99690 | .call_frame = .{ .alignment = .@"16" }, | 101844 | .call_frame = .{ .alignment = .@"16" }, |
| 99691 | .extra_temps = .{ | 101845 | .extra_temps = .{ |
| 99692 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 101846 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 99693 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 101847 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 99694 | .{ .type = .f32, .kind = .mem }, | 101848 | .{ .type = .f32, .kind = .mem }, |
| 99695 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 101849 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 99696 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfsi" } }, | 101850 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfsi" } }, |
| 99697 | .unused, | 101851 | .unused, |
| 99698 | .unused, | 101852 | .unused, |
| ... | @@ -99704,14 +101858,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99704,14 +101858,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99704 | .dst_temps = .{ .mem, .unused }, | 101858 | .dst_temps = .{ .mem, .unused }, |
| 99705 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 101859 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 99706 | .each = .{ .once = &.{ | 101860 | .each = .{ .once = &.{ |
| 99707 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 101861 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 99708 | .{ .@"0:", ._, .movzx, .tmp1d, .memsia(.src0w, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 101862 | .{ .@"0:", ._, .movzx, .tmp1d, .memsi(.src0w, .@"2", .tmp0), ._, ._ }, |
| 99709 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, | 101863 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 99710 | .{ ._, ._ss, .mov, .tmp3x, .tmp2d, ._, ._ }, | 101864 | .{ ._, ._ss, .mov, .tmp3x, .tmp2d, ._, ._ }, |
| 99711 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 101865 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 99712 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ }, | 101866 | .{ ._, ._, .mov, .memi(.dst0b, .tmp0), .tmp1b, ._, ._ }, |
| 99713 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 101867 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 99714 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 101868 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 99715 | } }, | 101869 | } }, |
| 99716 | }, .{ | 101870 | }, .{ |
| 99717 | .required_features = .{ .sse, null, null, null }, | 101871 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -99722,10 +101876,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99722,10 +101876,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99722 | }, | 101876 | }, |
| 99723 | .call_frame = .{ .alignment = .@"16" }, | 101877 | .call_frame = .{ .alignment = .@"16" }, |
| 99724 | .extra_temps = .{ | 101878 | .extra_temps = .{ |
| 99725 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 101879 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 99726 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 101880 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 99727 | .{ .type = .f32, .kind = .mem }, | 101881 | .{ .type = .f32, .kind = .mem }, |
| 99728 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 101882 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 99729 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfsi" } }, | 101883 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfsi" } }, |
| 99730 | .unused, | 101884 | .unused, |
| 99731 | .unused, | 101885 | .unused, |
| ... | @@ -99737,14 +101891,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99737,14 +101891,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99737 | .dst_temps = .{ .mem, .unused }, | 101891 | .dst_temps = .{ .mem, .unused }, |
| 99738 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 101892 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 99739 | .each = .{ .once = &.{ | 101893 | .each = .{ .once = &.{ |
| 99740 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 101894 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 99741 | .{ .@"0:", ._, .movzx, .tmp1d, .memsia(.src0w, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 101895 | .{ .@"0:", ._, .movzx, .tmp1d, .memsi(.src0w, .@"2", .tmp0), ._, ._ }, |
| 99742 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, | 101896 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 99743 | .{ ._, ._ss, .mov, .tmp3x, .tmp2d, ._, ._ }, | 101897 | .{ ._, ._ss, .mov, .tmp3x, .tmp2d, ._, ._ }, |
| 99744 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 101898 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 99745 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ }, | 101899 | .{ ._, ._, .mov, .memi(.dst0b, .tmp0), .tmp1b, ._, ._ }, |
| 99746 | .{ ._, ._c, .in, .tmp0p, .si(1), ._, ._ }, | 101900 | .{ ._, ._c, .de, .tmp0d, .si(1), ._, ._ }, |
| 99747 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 101901 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 99748 | } }, | 101902 | } }, |
| 99749 | }, .{ | 101903 | }, .{ |
| 99750 | .required_features = .{ .f16c, null, null, null }, | 101904 | .required_features = .{ .f16c, null, null, null }, |
| ... | @@ -99782,7 +101936,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99782,7 +101936,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99782 | .{ .src = .{ .to_mem, .none, .none } }, | 101936 | .{ .src = .{ .to_mem, .none, .none } }, |
| 99783 | }, | 101937 | }, |
| 99784 | .extra_temps = .{ | 101938 | .extra_temps = .{ |
| 99785 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 101939 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 99786 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, | 101940 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| 99787 | .unused, | 101941 | .unused, |
| 99788 | .unused, | 101942 | .unused, |
| ... | @@ -99797,13 +101951,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99797,13 +101951,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99797 | .dst_temps = .{ .mem, .unused }, | 101951 | .dst_temps = .{ .mem, .unused }, |
| 99798 | .clobbers = .{ .eflags = true }, | 101952 | .clobbers = .{ .eflags = true }, |
| 99799 | .each = .{ .once = &.{ | 101953 | .each = .{ .once = &.{ |
| 99800 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 101954 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ }, |
| 99801 | .{ .@"0:", .v_ps, .cvtph2, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 101955 | .{ .@"0:", .v_ps, .cvtph2, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 99802 | .{ ._, .v_, .cvttps2dq, .tmp1x, .tmp1x, ._, ._ }, | 101956 | .{ ._, .v_, .cvttps2dq, .tmp1x, .tmp1x, ._, ._ }, |
| 99803 | .{ ._, .vp_w, .ackssd, .tmp1x, .tmp1x, .tmp1x, ._ }, | 101957 | .{ ._, .vp_w, .ackssd, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| 99804 | .{ ._, .v_q, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 101958 | .{ ._, .v_q, .mov, .memi(.dst0q, .tmp0), .tmp1x, ._, ._ }, |
| 99805 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 101959 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 99806 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 101960 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 99807 | } }, | 101961 | } }, |
| 99808 | }, .{ | 101962 | }, .{ |
| 99809 | .required_features = .{ .f16c, null, null, null }, | 101963 | .required_features = .{ .f16c, null, null, null }, |
| ... | @@ -99813,7 +101967,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99813,7 +101967,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99813 | .{ .src = .{ .to_mem, .none, .none } }, | 101967 | .{ .src = .{ .to_mem, .none, .none } }, |
| 99814 | }, | 101968 | }, |
| 99815 | .extra_temps = .{ | 101969 | .extra_temps = .{ |
| 99816 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 101970 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 99817 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, | 101971 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 99818 | .unused, | 101972 | .unused, |
| 99819 | .unused, | 101973 | .unused, |
| ... | @@ -99828,13 +101982,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99828,13 +101982,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99828 | .dst_temps = .{ .mem, .unused }, | 101982 | .dst_temps = .{ .mem, .unused }, |
| 99829 | .clobbers = .{ .eflags = true }, | 101983 | .clobbers = .{ .eflags = true }, |
| 99830 | .each = .{ .once = &.{ | 101984 | .each = .{ .once = &.{ |
| 99831 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 101985 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ }, |
| 99832 | .{ .@"0:", .v_ps, .cvtph2, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 101986 | .{ .@"0:", .v_ps, .cvtph2, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 99833 | .{ ._, .v_, .cvttps2dq, .tmp1x, .tmp1x, ._, ._ }, | 101987 | .{ ._, .v_, .cvttps2dq, .tmp1x, .tmp1x, ._, ._ }, |
| 99834 | .{ ._, .vp_w, .ackusd, .tmp1x, .tmp1x, .tmp1x, ._ }, | 101988 | .{ ._, .vp_w, .ackusd, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| 99835 | .{ ._, .v_q, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 101989 | .{ ._, .v_q, .mov, .memi(.dst0q, .tmp0), .tmp1x, ._, ._ }, |
| 99836 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 101990 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 99837 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 101991 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 99838 | } }, | 101992 | } }, |
| 99839 | }, .{ | 101993 | }, .{ |
| 99840 | .required_features = .{ .avx, null, null, null }, | 101994 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -99845,10 +101999,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99845,10 +101999,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99845 | }, | 101999 | }, |
| 99846 | .call_frame = .{ .alignment = .@"16" }, | 102000 | .call_frame = .{ .alignment = .@"16" }, |
| 99847 | .extra_temps = .{ | 102001 | .extra_temps = .{ |
| 99848 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 102002 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 99849 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 102003 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 99850 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfsi" } }, | 102004 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfsi" } }, |
| 99851 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 102005 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 99852 | .unused, | 102006 | .unused, |
| 99853 | .unused, | 102007 | .unused, |
| 99854 | .unused, | 102008 | .unused, |
| ... | @@ -99860,13 +102014,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99860,13 +102014,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99860 | .dst_temps = .{ .mem, .unused }, | 102014 | .dst_temps = .{ .mem, .unused }, |
| 99861 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 102015 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 99862 | .each = .{ .once = &.{ | 102016 | .each = .{ .once = &.{ |
| 99863 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 102017 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 99864 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, | 102018 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| 99865 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, | 102019 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memi(.src0w, .tmp0), .ui(0) }, |
| 99866 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 102020 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 99867 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3w, ._, ._ }, | 102021 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp3w, ._, ._ }, |
| 99868 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 102022 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 99869 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 102023 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 99870 | } }, | 102024 | } }, |
| 99871 | }, .{ | 102025 | }, .{ |
| 99872 | .required_features = .{ .sse2, null, null, null }, | 102026 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -99877,10 +102031,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99877,10 +102031,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99877 | }, | 102031 | }, |
| 99878 | .call_frame = .{ .alignment = .@"16" }, | 102032 | .call_frame = .{ .alignment = .@"16" }, |
| 99879 | .extra_temps = .{ | 102033 | .extra_temps = .{ |
| 99880 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 102034 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 99881 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 102035 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 99882 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfsi" } }, | 102036 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfsi" } }, |
| 99883 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 102037 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 99884 | .unused, | 102038 | .unused, |
| 99885 | .unused, | 102039 | .unused, |
| 99886 | .unused, | 102040 | .unused, |
| ... | @@ -99892,13 +102046,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99892,13 +102046,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99892 | .dst_temps = .{ .mem, .unused }, | 102046 | .dst_temps = .{ .mem, .unused }, |
| 99893 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 102047 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 99894 | .each = .{ .once = &.{ | 102048 | .each = .{ .once = &.{ |
| 99895 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 102049 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 99896 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | 102050 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 99897 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | 102051 | .{ ._, .p_w, .insr, .tmp1x, .memi(.src0w, .tmp0), .ui(0), ._ }, |
| 99898 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 102052 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 99899 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3w, ._, ._ }, | 102053 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp3w, ._, ._ }, |
| 99900 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 102054 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 99901 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 102055 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 99902 | } }, | 102056 | } }, |
| 99903 | }, .{ | 102057 | }, .{ |
| 99904 | .required_features = .{ .sse, null, null, null }, | 102058 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -99909,10 +102063,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99909,10 +102063,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99909 | }, | 102063 | }, |
| 99910 | .call_frame = .{ .alignment = .@"16" }, | 102064 | .call_frame = .{ .alignment = .@"16" }, |
| 99911 | .extra_temps = .{ | 102065 | .extra_temps = .{ |
| 99912 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 102066 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 99913 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 102067 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 99914 | .{ .type = .f32, .kind = .mem }, | 102068 | .{ .type = .f32, .kind = .mem }, |
| 99915 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 102069 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 99916 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfsi" } }, | 102070 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfsi" } }, |
| 99917 | .unused, | 102071 | .unused, |
| 99918 | .unused, | 102072 | .unused, |
| ... | @@ -99924,14 +102078,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99924,14 +102078,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99924 | .dst_temps = .{ .mem, .unused }, | 102078 | .dst_temps = .{ .mem, .unused }, |
| 99925 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 102079 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 99926 | .each = .{ .once = &.{ | 102080 | .each = .{ .once = &.{ |
| 99927 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 102081 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 99928 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 102082 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 99929 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, | 102083 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 99930 | .{ ._, ._ss, .mov, .tmp3x, .tmp2d, ._, ._ }, | 102084 | .{ ._, ._ss, .mov, .tmp3x, .tmp2d, ._, ._ }, |
| 99931 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 102085 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 99932 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | 102086 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp1w, ._, ._ }, |
| 99933 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 102087 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 99934 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 102088 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 99935 | } }, | 102089 | } }, |
| 99936 | }, .{ | 102090 | }, .{ |
| 99937 | .required_features = .{ .f16c, null, null, null }, | 102091 | .required_features = .{ .f16c, null, null, null }, |
| ... | @@ -99941,7 +102095,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99941,7 +102095,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99941 | .{ .src = .{ .to_mem, .none, .none } }, | 102095 | .{ .src = .{ .to_mem, .none, .none } }, |
| 99942 | }, | 102096 | }, |
| 99943 | .extra_temps = .{ | 102097 | .extra_temps = .{ |
| 99944 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 102098 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 99945 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 102099 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 99946 | .unused, | 102100 | .unused, |
| 99947 | .unused, | 102101 | .unused, |
| ... | @@ -99956,12 +102110,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99956,12 +102110,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99956 | .dst_temps = .{ .mem, .unused }, | 102110 | .dst_temps = .{ .mem, .unused }, |
| 99957 | .clobbers = .{ .eflags = true }, | 102111 | .clobbers = .{ .eflags = true }, |
| 99958 | .each = .{ .once = &.{ | 102112 | .each = .{ .once = &.{ |
| 99959 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 102113 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ }, |
| 99960 | .{ .@"0:", .v_ps, .cvtph2, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 102114 | .{ .@"0:", .v_ps, .cvtph2, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 99961 | .{ ._, .v_, .cvttps2dq, .tmp1x, .tmp1x, ._, ._ }, | 102115 | .{ ._, .v_, .cvttps2dq, .tmp1x, .tmp1x, ._, ._ }, |
| 99962 | .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 102116 | .{ ._, .v_dqa, .mov, .memsi(.dst0x, .@"2", .tmp0), .tmp1x, ._, ._ }, |
| 99963 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 102117 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 99964 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 102118 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 99965 | } }, | 102119 | } }, |
| 99966 | }, .{ | 102120 | }, .{ |
| 99967 | .required_features = .{ .f16c, null, null, null }, | 102121 | .required_features = .{ .f16c, null, null, null }, |
| ... | @@ -99971,7 +102125,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99971,7 +102125,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99971 | .{ .src = .{ .to_mem, .none, .none } }, | 102125 | .{ .src = .{ .to_mem, .none, .none } }, |
| 99972 | }, | 102126 | }, |
| 99973 | .extra_temps = .{ | 102127 | .extra_temps = .{ |
| 99974 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 102128 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 99975 | .{ .type = .f32, .kind = .{ .rc = .sse } }, | 102129 | .{ .type = .f32, .kind = .{ .rc = .sse } }, |
| 99976 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 102130 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 99977 | .unused, | 102131 | .unused, |
| ... | @@ -99986,14 +102140,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99986,14 +102140,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99986 | .dst_temps = .{ .mem, .unused }, | 102140 | .dst_temps = .{ .mem, .unused }, |
| 99987 | .clobbers = .{ .eflags = true }, | 102141 | .clobbers = .{ .eflags = true }, |
| 99988 | .each = .{ .once = &.{ | 102142 | .each = .{ .once = &.{ |
| 99989 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 102143 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 99990 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, | 102144 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| 99991 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, | 102145 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memi(.src0w, .tmp0), .ui(0) }, |
| 99992 | .{ ._, .v_ps, .cvtph2, .tmp1x, .tmp1q, ._, ._ }, | 102146 | .{ ._, .v_ps, .cvtph2, .tmp1x, .tmp1q, ._, ._ }, |
| 99993 | .{ ._, .v_, .cvttss2si, .tmp2q, .tmp1x, ._, ._ }, | 102147 | .{ ._, .v_, .cvttss2si, .tmp2q, .tmp1x, ._, ._ }, |
| 99994 | .{ ._, ._, .mov, .memsia(.dst0d, .@"2", .tmp0, .add_unaligned_size), .tmp2d, ._, ._ }, | 102148 | .{ ._, ._, .mov, .memsi(.dst0d, .@"2", .tmp0), .tmp2d, ._, ._ }, |
| 99995 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 102149 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 99996 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 102150 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 99997 | } }, | 102151 | } }, |
| 99998 | }, .{ | 102152 | }, .{ |
| 99999 | .required_features = .{ .avx, null, null, null }, | 102153 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -100004,10 +102158,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100004,10 +102158,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100004 | }, | 102158 | }, |
| 100005 | .call_frame = .{ .alignment = .@"16" }, | 102159 | .call_frame = .{ .alignment = .@"16" }, |
| 100006 | .extra_temps = .{ | 102160 | .extra_temps = .{ |
| 100007 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 102161 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 100008 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 102162 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100009 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfsi" } }, | 102163 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfsi" } }, |
| 100010 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 102164 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100011 | .unused, | 102165 | .unused, |
| 100012 | .unused, | 102166 | .unused, |
| 100013 | .unused, | 102167 | .unused, |
| ... | @@ -100019,13 +102173,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100019,13 +102173,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100019 | .dst_temps = .{ .mem, .unused }, | 102173 | .dst_temps = .{ .mem, .unused }, |
| 100020 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 102174 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 100021 | .each = .{ .once = &.{ | 102175 | .each = .{ .once = &.{ |
| 100022 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 102176 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 100023 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, | 102177 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| 100024 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, | 102178 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memi(.src0w, .tmp0), .ui(0) }, |
| 100025 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 102179 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 100026 | .{ ._, ._, .mov, .memsia(.dst0d, .@"2", .tmp0, .add_unaligned_size), .tmp3d, ._, ._ }, | 102180 | .{ ._, ._, .mov, .memsi(.dst0d, .@"2", .tmp0), .tmp3d, ._, ._ }, |
| 100027 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 102181 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 100028 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 102182 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 100029 | } }, | 102183 | } }, |
| 100030 | }, .{ | 102184 | }, .{ |
| 100031 | .required_features = .{ .avx, null, null, null }, | 102185 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -100036,10 +102190,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100036,10 +102190,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100036 | }, | 102190 | }, |
| 100037 | .call_frame = .{ .alignment = .@"16" }, | 102191 | .call_frame = .{ .alignment = .@"16" }, |
| 100038 | .extra_temps = .{ | 102192 | .extra_temps = .{ |
| 100039 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 102193 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 100040 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 102194 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100041 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunshfsi" } }, | 102195 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunshfsi" } }, |
| 100042 | .{ .type = .u32, .kind = .{ .reg = .eax } }, | 102196 | .{ .type = .u32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100043 | .unused, | 102197 | .unused, |
| 100044 | .unused, | 102198 | .unused, |
| 100045 | .unused, | 102199 | .unused, |
| ... | @@ -100051,13 +102205,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100051,13 +102205,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100051 | .dst_temps = .{ .mem, .unused }, | 102205 | .dst_temps = .{ .mem, .unused }, |
| 100052 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 102206 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 100053 | .each = .{ .once = &.{ | 102207 | .each = .{ .once = &.{ |
| 100054 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 102208 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 100055 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, | 102209 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| 100056 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, | 102210 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memi(.src0w, .tmp0), .ui(0) }, |
| 100057 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 102211 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 100058 | .{ ._, ._, .mov, .memsia(.dst0d, .@"2", .tmp0, .add_unaligned_size), .tmp3d, ._, ._ }, | 102212 | .{ ._, ._, .mov, .memsi(.dst0d, .@"2", .tmp0), .tmp3d, ._, ._ }, |
| 100059 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 102213 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 100060 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 102214 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 100061 | } }, | 102215 | } }, |
| 100062 | }, .{ | 102216 | }, .{ |
| 100063 | .required_features = .{ .sse2, null, null, null }, | 102217 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -100068,10 +102222,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100068,10 +102222,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100068 | }, | 102222 | }, |
| 100069 | .call_frame = .{ .alignment = .@"16" }, | 102223 | .call_frame = .{ .alignment = .@"16" }, |
| 100070 | .extra_temps = .{ | 102224 | .extra_temps = .{ |
| 100071 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 102225 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 100072 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 102226 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100073 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfsi" } }, | 102227 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfsi" } }, |
| 100074 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 102228 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100075 | .unused, | 102229 | .unused, |
| 100076 | .unused, | 102230 | .unused, |
| 100077 | .unused, | 102231 | .unused, |
| ... | @@ -100083,13 +102237,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100083,13 +102237,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100083 | .dst_temps = .{ .mem, .unused }, | 102237 | .dst_temps = .{ .mem, .unused }, |
| 100084 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 102238 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 100085 | .each = .{ .once = &.{ | 102239 | .each = .{ .once = &.{ |
| 100086 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 102240 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 100087 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | 102241 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 100088 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | 102242 | .{ ._, .p_w, .insr, .tmp1x, .memi(.src0w, .tmp0), .ui(0), ._ }, |
| 100089 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 102243 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 100090 | .{ ._, ._, .mov, .memsia(.dst0d, .@"2", .tmp0, .add_unaligned_size), .tmp3d, ._, ._ }, | 102244 | .{ ._, ._, .mov, .memsi(.dst0d, .@"2", .tmp0), .tmp3d, ._, ._ }, |
| 100091 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 102245 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 100092 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 102246 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 100093 | } }, | 102247 | } }, |
| 100094 | }, .{ | 102248 | }, .{ |
| 100095 | .required_features = .{ .sse2, null, null, null }, | 102249 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -100100,10 +102254,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100100,10 +102254,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100100 | }, | 102254 | }, |
| 100101 | .call_frame = .{ .alignment = .@"16" }, | 102255 | .call_frame = .{ .alignment = .@"16" }, |
| 100102 | .extra_temps = .{ | 102256 | .extra_temps = .{ |
| 100103 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 102257 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 100104 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 102258 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100105 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunshfsi" } }, | 102259 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunshfsi" } }, |
| 100106 | .{ .type = .u32, .kind = .{ .reg = .eax } }, | 102260 | .{ .type = .u32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100107 | .unused, | 102261 | .unused, |
| 100108 | .unused, | 102262 | .unused, |
| 100109 | .unused, | 102263 | .unused, |
| ... | @@ -100115,13 +102269,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100115,13 +102269,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100115 | .dst_temps = .{ .mem, .unused }, | 102269 | .dst_temps = .{ .mem, .unused }, |
| 100116 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 102270 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 100117 | .each = .{ .once = &.{ | 102271 | .each = .{ .once = &.{ |
| 100118 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 102272 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 100119 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | 102273 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 100120 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | 102274 | .{ ._, .p_w, .insr, .tmp1x, .memi(.src0w, .tmp0), .ui(0), ._ }, |
| 100121 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 102275 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 100122 | .{ ._, ._, .mov, .memsia(.dst0d, .@"2", .tmp0, .add_unaligned_size), .tmp3d, ._, ._ }, | 102276 | .{ ._, ._, .mov, .memsi(.dst0d, .@"2", .tmp0), .tmp3d, ._, ._ }, |
| 100123 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 102277 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 100124 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 102278 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 100125 | } }, | 102279 | } }, |
| 100126 | }, .{ | 102280 | }, .{ |
| 100127 | .required_features = .{ .sse, null, null, null }, | 102281 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -100132,10 +102286,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100132,10 +102286,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100132 | }, | 102286 | }, |
| 100133 | .call_frame = .{ .alignment = .@"16" }, | 102287 | .call_frame = .{ .alignment = .@"16" }, |
| 100134 | .extra_temps = .{ | 102288 | .extra_temps = .{ |
| 100135 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 102289 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 100136 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 102290 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100137 | .{ .type = .f32, .kind = .mem }, | 102291 | .{ .type = .f32, .kind = .mem }, |
| 100138 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 102292 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100139 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfsi" } }, | 102293 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfsi" } }, |
| 100140 | .unused, | 102294 | .unused, |
| 100141 | .unused, | 102295 | .unused, |
| ... | @@ -100147,14 +102301,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100147,14 +102301,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100147 | .dst_temps = .{ .mem, .unused }, | 102301 | .dst_temps = .{ .mem, .unused }, |
| 100148 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 102302 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 100149 | .each = .{ .once = &.{ | 102303 | .each = .{ .once = &.{ |
| 100150 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 102304 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 100151 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 102305 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 100152 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, | 102306 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 100153 | .{ ._, ._ss, .mov, .tmp3x, .tmp2d, ._, ._ }, | 102307 | .{ ._, ._ss, .mov, .tmp3x, .tmp2d, ._, ._ }, |
| 100154 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 102308 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 100155 | .{ ._, ._, .mov, .memsia(.dst0d, .@"2", .tmp0, .add_unaligned_size), .tmp1d, ._, ._ }, | 102309 | .{ ._, ._, .mov, .memsi(.dst0d, .@"2", .tmp0), .tmp1d, ._, ._ }, |
| 100156 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 102310 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 100157 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 102311 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 100158 | } }, | 102312 | } }, |
| 100159 | }, .{ | 102313 | }, .{ |
| 100160 | .required_features = .{ .sse, null, null, null }, | 102314 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -100165,10 +102319,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100165,10 +102319,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100165 | }, | 102319 | }, |
| 100166 | .call_frame = .{ .alignment = .@"16" }, | 102320 | .call_frame = .{ .alignment = .@"16" }, |
| 100167 | .extra_temps = .{ | 102321 | .extra_temps = .{ |
| 100168 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 102322 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 100169 | .{ .type = .u32, .kind = .{ .reg = .eax } }, | 102323 | .{ .type = .u32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100170 | .{ .type = .f32, .kind = .mem }, | 102324 | .{ .type = .f32, .kind = .mem }, |
| 100171 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 102325 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100172 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunshfsi" } }, | 102326 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunshfsi" } }, |
| 100173 | .unused, | 102327 | .unused, |
| 100174 | .unused, | 102328 | .unused, |
| ... | @@ -100180,14 +102334,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100180,14 +102334,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100180 | .dst_temps = .{ .mem, .unused }, | 102334 | .dst_temps = .{ .mem, .unused }, |
| 100181 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 102335 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 100182 | .each = .{ .once = &.{ | 102336 | .each = .{ .once = &.{ |
| 100183 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 102337 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 100184 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 102338 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 100185 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, | 102339 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 100186 | .{ ._, ._ss, .mov, .tmp3x, .tmp2d, ._, ._ }, | 102340 | .{ ._, ._ss, .mov, .tmp3x, .tmp2d, ._, ._ }, |
| 100187 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 102341 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 100188 | .{ ._, ._, .mov, .memsia(.dst0d, .@"2", .tmp0, .add_unaligned_size), .tmp1d, ._, ._ }, | 102342 | .{ ._, ._, .mov, .memsi(.dst0d, .@"2", .tmp0), .tmp1d, ._, ._ }, |
| 100189 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 102343 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 100190 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 102344 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 100191 | } }, | 102345 | } }, |
| 100192 | }, .{ | 102346 | }, .{ |
| 100193 | .required_features = .{ .@"64bit", .f16c, null, null }, | 102347 | .required_features = .{ .@"64bit", .f16c, null, null }, |
| ... | @@ -100197,7 +102351,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100197,7 +102351,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100197 | .{ .src = .{ .to_mem, .none, .none } }, | 102351 | .{ .src = .{ .to_mem, .none, .none } }, |
| 100198 | }, | 102352 | }, |
| 100199 | .extra_temps = .{ | 102353 | .extra_temps = .{ |
| 100200 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 102354 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 100201 | .{ .type = .f32, .kind = .{ .rc = .sse } }, | 102355 | .{ .type = .f32, .kind = .{ .rc = .sse } }, |
| 100202 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, | 102356 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 100203 | .unused, | 102357 | .unused, |
| ... | @@ -100212,14 +102366,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100212,14 +102366,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100212 | .dst_temps = .{ .mem, .unused }, | 102366 | .dst_temps = .{ .mem, .unused }, |
| 100213 | .clobbers = .{ .eflags = true }, | 102367 | .clobbers = .{ .eflags = true }, |
| 100214 | .each = .{ .once = &.{ | 102368 | .each = .{ .once = &.{ |
| 100215 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 102369 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 100216 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, | 102370 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| 100217 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, | 102371 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memi(.src0w, .tmp0), .ui(0) }, |
| 100218 | .{ ._, .v_ps, .cvtph2, .tmp1x, .tmp1q, ._, ._ }, | 102372 | .{ ._, .v_ps, .cvtph2, .tmp1x, .tmp1q, ._, ._ }, |
| 100219 | .{ ._, .v_, .cvttss2si, .tmp2q, .tmp1x, ._, ._ }, | 102373 | .{ ._, .v_, .cvttss2si, .tmp2q, .tmp1x, ._, ._ }, |
| 100220 | .{ ._, ._, .mov, .memsia(.dst0q, .@"4", .tmp0, .add_unaligned_size), .tmp2q, ._, ._ }, | 102374 | .{ ._, ._, .mov, .memsi(.dst0q, .@"4", .tmp0), .tmp2q, ._, ._ }, |
| 100221 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 102375 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 100222 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 102376 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 100223 | } }, | 102377 | } }, |
| 100224 | }, .{ | 102378 | }, .{ |
| 100225 | .required_features = .{ .avx, null, null, null }, | 102379 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -100230,10 +102384,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100230,10 +102384,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100230 | }, | 102384 | }, |
| 100231 | .call_frame = .{ .alignment = .@"16" }, | 102385 | .call_frame = .{ .alignment = .@"16" }, |
| 100232 | .extra_temps = .{ | 102386 | .extra_temps = .{ |
| 100233 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 102387 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 100234 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 102388 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100235 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfdi" } }, | 102389 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfdi" } }, |
| 100236 | .{ .type = .i64, .kind = .{ .reg = .rax } }, | 102390 | .{ .type = .i64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100237 | .unused, | 102391 | .unused, |
| 100238 | .unused, | 102392 | .unused, |
| 100239 | .unused, | 102393 | .unused, |
| ... | @@ -100245,13 +102399,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100245,13 +102399,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100245 | .dst_temps = .{ .mem, .unused }, | 102399 | .dst_temps = .{ .mem, .unused }, |
| 100246 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 102400 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 100247 | .each = .{ .once = &.{ | 102401 | .each = .{ .once = &.{ |
| 100248 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 102402 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 100249 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, | 102403 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| 100250 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, | 102404 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memi(.src0w, .tmp0), .ui(0) }, |
| 100251 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 102405 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 100252 | .{ ._, ._, .mov, .memsia(.dst0q, .@"4", .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 102406 | .{ ._, ._, .mov, .memsi(.dst0q, .@"4", .tmp0), .tmp3q, ._, ._ }, |
| 100253 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 102407 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 100254 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 102408 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 100255 | } }, | 102409 | } }, |
| 100256 | }, .{ | 102410 | }, .{ |
| 100257 | .required_features = .{ .avx, null, null, null }, | 102411 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -100262,10 +102416,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100262,10 +102416,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100262 | }, | 102416 | }, |
| 100263 | .call_frame = .{ .alignment = .@"16" }, | 102417 | .call_frame = .{ .alignment = .@"16" }, |
| 100264 | .extra_temps = .{ | 102418 | .extra_temps = .{ |
| 100265 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 102419 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 100266 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 102420 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100267 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunshfdi" } }, | 102421 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunshfdi" } }, |
| 100268 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 102422 | .{ .type = .u64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100269 | .unused, | 102423 | .unused, |
| 100270 | .unused, | 102424 | .unused, |
| 100271 | .unused, | 102425 | .unused, |
| ... | @@ -100277,13 +102431,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100277,13 +102431,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100277 | .dst_temps = .{ .mem, .unused }, | 102431 | .dst_temps = .{ .mem, .unused }, |
| 100278 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 102432 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 100279 | .each = .{ .once = &.{ | 102433 | .each = .{ .once = &.{ |
| 100280 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 102434 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 100281 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, | 102435 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| 100282 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, | 102436 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memi(.src0w, .tmp0), .ui(0) }, |
| 100283 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 102437 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 100284 | .{ ._, ._, .mov, .memsia(.dst0q, .@"4", .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 102438 | .{ ._, ._, .mov, .memsi(.dst0q, .@"4", .tmp0), .tmp3q, ._, ._ }, |
| 100285 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 102439 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 100286 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 102440 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 100287 | } }, | 102441 | } }, |
| 100288 | }, .{ | 102442 | }, .{ |
| 100289 | .required_features = .{ .sse2, null, null, null }, | 102443 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -100294,10 +102448,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100294,10 +102448,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100294 | }, | 102448 | }, |
| 100295 | .call_frame = .{ .alignment = .@"16" }, | 102449 | .call_frame = .{ .alignment = .@"16" }, |
| 100296 | .extra_temps = .{ | 102450 | .extra_temps = .{ |
| 100297 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 102451 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 100298 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 102452 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100299 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfdi" } }, | 102453 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfdi" } }, |
| 100300 | .{ .type = .i64, .kind = .{ .reg = .rax } }, | 102454 | .{ .type = .u64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100301 | .unused, | 102455 | .unused, |
| 100302 | .unused, | 102456 | .unused, |
| 100303 | .unused, | 102457 | .unused, |
| ... | @@ -100309,13 +102463,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100309,13 +102463,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100309 | .dst_temps = .{ .mem, .unused }, | 102463 | .dst_temps = .{ .mem, .unused }, |
| 100310 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 102464 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 100311 | .each = .{ .once = &.{ | 102465 | .each = .{ .once = &.{ |
| 100312 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 102466 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 100313 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | 102467 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 100314 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | 102468 | .{ ._, .p_w, .insr, .tmp1x, .memi(.src0w, .tmp0), .ui(0), ._ }, |
| 100315 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 102469 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 100316 | .{ ._, ._, .mov, .memsia(.dst0q, .@"4", .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 102470 | .{ ._, ._, .mov, .memsi(.dst0q, .@"4", .tmp0), .tmp3q, ._, ._ }, |
| 100317 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 102471 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 100318 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 102472 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 100319 | } }, | 102473 | } }, |
| 100320 | }, .{ | 102474 | }, .{ |
| 100321 | .required_features = .{ .sse2, null, null, null }, | 102475 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -100326,10 +102480,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100326,10 +102480,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100326 | }, | 102480 | }, |
| 100327 | .call_frame = .{ .alignment = .@"16" }, | 102481 | .call_frame = .{ .alignment = .@"16" }, |
| 100328 | .extra_temps = .{ | 102482 | .extra_temps = .{ |
| 100329 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 102483 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 100330 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 102484 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100331 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunshfdi" } }, | 102485 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunshfdi" } }, |
| 100332 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 102486 | .{ .type = .u64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100333 | .unused, | 102487 | .unused, |
| 100334 | .unused, | 102488 | .unused, |
| 100335 | .unused, | 102489 | .unused, |
| ... | @@ -100341,13 +102495,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100341,13 +102495,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100341 | .dst_temps = .{ .mem, .unused }, | 102495 | .dst_temps = .{ .mem, .unused }, |
| 100342 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 102496 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 100343 | .each = .{ .once = &.{ | 102497 | .each = .{ .once = &.{ |
| 100344 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 102498 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 100345 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | 102499 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 100346 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | 102500 | .{ ._, .p_w, .insr, .tmp1x, .memi(.src0w, .tmp0), .ui(0), ._ }, |
| 100347 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 102501 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 100348 | .{ ._, ._, .mov, .memsia(.dst0q, .@"4", .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 102502 | .{ ._, ._, .mov, .memsi(.dst0q, .@"4", .tmp0), .tmp3q, ._, ._ }, |
| 100349 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 102503 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 100350 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 102504 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 100351 | } }, | 102505 | } }, |
| 100352 | }, .{ | 102506 | }, .{ |
| 100353 | .required_features = .{ .sse, null, null, null }, | 102507 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -100358,10 +102512,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100358,10 +102512,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100358 | }, | 102512 | }, |
| 100359 | .call_frame = .{ .alignment = .@"16" }, | 102513 | .call_frame = .{ .alignment = .@"16" }, |
| 100360 | .extra_temps = .{ | 102514 | .extra_temps = .{ |
| 100361 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 102515 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 100362 | .{ .type = .i64, .kind = .{ .reg = .rax } }, | 102516 | .{ .type = .i64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100363 | .{ .type = .f32, .kind = .mem }, | 102517 | .{ .type = .f32, .kind = .mem }, |
| 100364 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 102518 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100365 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfdi" } }, | 102519 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfdi" } }, |
| 100366 | .unused, | 102520 | .unused, |
| 100367 | .unused, | 102521 | .unused, |
| ... | @@ -100373,14 +102527,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100373,14 +102527,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100373 | .dst_temps = .{ .mem, .unused }, | 102527 | .dst_temps = .{ .mem, .unused }, |
| 100374 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 102528 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 100375 | .each = .{ .once = &.{ | 102529 | .each = .{ .once = &.{ |
| 100376 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 102530 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 100377 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 102531 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 100378 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, | 102532 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 100379 | .{ ._, ._ss, .mov, .tmp3x, .tmp2d, ._, ._ }, | 102533 | .{ ._, ._ss, .mov, .tmp3x, .tmp2d, ._, ._ }, |
| 100380 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 102534 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 100381 | .{ ._, ._, .mov, .memsia(.dst0q, .@"4", .tmp0, .add_unaligned_size), .tmp1q, ._, ._ }, | 102535 | .{ ._, ._, .mov, .memsi(.dst0q, .@"4", .tmp0), .tmp1q, ._, ._ }, |
| 100382 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 102536 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 100383 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 102537 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 100384 | } }, | 102538 | } }, |
| 100385 | }, .{ | 102539 | }, .{ |
| 100386 | .required_features = .{ .sse, null, null, null }, | 102540 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -100391,10 +102545,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100391,10 +102545,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100391 | }, | 102545 | }, |
| 100392 | .call_frame = .{ .alignment = .@"16" }, | 102546 | .call_frame = .{ .alignment = .@"16" }, |
| 100393 | .extra_temps = .{ | 102547 | .extra_temps = .{ |
| 100394 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 102548 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 100395 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 102549 | .{ .type = .f32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100396 | .{ .type = .f32, .kind = .mem }, | 102550 | .{ .type = .f32, .kind = .mem }, |
| 100397 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 102551 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100398 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunshfdi" } }, | 102552 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunshfdi" } }, |
| 100399 | .unused, | 102553 | .unused, |
| 100400 | .unused, | 102554 | .unused, |
| ... | @@ -100406,16 +102560,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100406,16 +102560,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100406 | .dst_temps = .{ .mem, .unused }, | 102560 | .dst_temps = .{ .mem, .unused }, |
| 100407 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 102561 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 100408 | .each = .{ .once = &.{ | 102562 | .each = .{ .once = &.{ |
| 100409 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 102563 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 100410 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 102564 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 100411 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, | 102565 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 100412 | .{ ._, ._ss, .mov, .tmp3x, .tmp2d, ._, ._ }, | 102566 | .{ ._, ._ss, .mov, .tmp3x, .tmp2d, ._, ._ }, |
| 100413 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 102567 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 100414 | .{ ._, ._, .mov, .memsia(.dst0q, .@"4", .tmp0, .add_unaligned_size), .tmp1q, ._, ._ }, | 102568 | .{ ._, ._, .mov, .memsi(.dst0q, .@"4", .tmp0), .tmp1q, ._, ._ }, |
| 100415 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 102569 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 100416 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 102570 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 100417 | } }, | 102571 | } }, |
| 100418 | }, .{ | 102572 | }, .{ |
| | 102573 | .required_cc_abi = .sysv64, |
| 100419 | .required_features = .{ .avx, null, null, null }, | 102574 | .required_features = .{ .avx, null, null, null }, |
| 100420 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, | 102575 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| 100421 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, | 102576 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, |
| ... | @@ -100424,11 +102579,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100424,11 +102579,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100424 | }, | 102579 | }, |
| 100425 | .call_frame = .{ .alignment = .@"16" }, | 102580 | .call_frame = .{ .alignment = .@"16" }, |
| 100426 | .extra_temps = .{ | 102581 | .extra_temps = .{ |
| 100427 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 102582 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 100428 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 102583 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100429 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfti" } }, | 102584 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfti" } }, |
| 100430 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 102585 | .{ .type = .i128, .kind = .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100431 | .{ .type = .i64, .kind = .{ .reg = .rdx } }, | 102586 | .unused, |
| 100432 | .unused, | 102587 | .unused, |
| 100433 | .unused, | 102588 | .unused, |
| 100434 | .unused, | 102589 | .unused, |
| ... | @@ -100439,16 +102594,50 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100439,16 +102594,50 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100439 | .dst_temps = .{ .mem, .unused }, | 102594 | .dst_temps = .{ .mem, .unused }, |
| 100440 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 102595 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 100441 | .each = .{ .once = &.{ | 102596 | .each = .{ .once = &.{ |
| 100442 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 102597 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 100443 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, | 102598 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| 100444 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, | 102599 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memi(.src0w, .tmp0), .ui(0) }, |
| 100445 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 102600 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 100446 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 102601 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp3q0, ._, ._ }, |
| 100447 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_unaligned_size, 8), .tmp4q, ._, ._ }, | 102602 | .{ ._, ._, .mov, .memsid(.dst0q, .@"8", .tmp0, 8), .tmp3q1, ._, ._ }, |
| 100448 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 102603 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 100449 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 102604 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 100450 | } }, | 102605 | } }, |
| 100451 | }, .{ | 102606 | }, .{ |
| | 102607 | .required_cc_abi = .win64, |
| | 102608 | .required_features = .{ .avx, null, null, null }, |
| | 102609 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 102610 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, |
| | 102611 | .patterns = &.{ |
| | 102612 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 102613 | }, |
| | 102614 | .call_frame = .{ .alignment = .@"16" }, |
| | 102615 | .extra_temps = .{ |
| | 102616 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 102617 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 102618 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfti" } }, |
| | 102619 | .unused, |
| | 102620 | .unused, |
| | 102621 | .unused, |
| | 102622 | .unused, |
| | 102623 | .unused, |
| | 102624 | .unused, |
| | 102625 | .unused, |
| | 102626 | .unused, |
| | 102627 | }, |
| | 102628 | .dst_temps = .{ .mem, .unused }, |
| | 102629 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 102630 | .each = .{ .once = &.{ |
| | 102631 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 102632 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| | 102633 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memi(.src0w, .tmp0), .ui(0) }, |
| | 102634 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 102635 | .{ ._, .v_dqa, .mov, .memsi(.dst0x, .@"8", .tmp0), .tmp1x, ._, ._ }, |
| | 102636 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 102637 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 102638 | } }, |
| | 102639 | }, .{ |
| | 102640 | .required_cc_abi = .sysv64, |
| 100452 | .required_features = .{ .avx, null, null, null }, | 102641 | .required_features = .{ .avx, null, null, null }, |
| 100453 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, | 102642 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| 100454 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, | 102643 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, |
| ... | @@ -100457,11 +102646,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100457,11 +102646,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100457 | }, | 102646 | }, |
| 100458 | .call_frame = .{ .alignment = .@"16" }, | 102647 | .call_frame = .{ .alignment = .@"16" }, |
| 100459 | .extra_temps = .{ | 102648 | .extra_temps = .{ |
| 100460 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 102649 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 100461 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 102650 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100462 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunshfti" } }, | 102651 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunshfti" } }, |
| 100463 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 102652 | .{ .type = .u128, .kind = .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100464 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, | 102653 | .unused, |
| 100465 | .unused, | 102654 | .unused, |
| 100466 | .unused, | 102655 | .unused, |
| 100467 | .unused, | 102656 | .unused, |
| ... | @@ -100472,16 +102661,50 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100472,16 +102661,50 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100472 | .dst_temps = .{ .mem, .unused }, | 102661 | .dst_temps = .{ .mem, .unused }, |
| 100473 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 102662 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 100474 | .each = .{ .once = &.{ | 102663 | .each = .{ .once = &.{ |
| 100475 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 102664 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 100476 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, | 102665 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| 100477 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, | 102666 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memi(.src0w, .tmp0), .ui(0) }, |
| 100478 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 102667 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 100479 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 102668 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp3q0, ._, ._ }, |
| 100480 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_unaligned_size, 8), .tmp4q, ._, ._ }, | 102669 | .{ ._, ._, .mov, .memsid(.dst0q, .@"8", .tmp0, 8), .tmp3q1, ._, ._ }, |
| 100481 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 102670 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 100482 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 102671 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 100483 | } }, | 102672 | } }, |
| 100484 | }, .{ | 102673 | }, .{ |
| | 102674 | .required_cc_abi = .win64, |
| | 102675 | .required_features = .{ .avx, null, null, null }, |
| | 102676 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 102677 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, |
| | 102678 | .patterns = &.{ |
| | 102679 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 102680 | }, |
| | 102681 | .call_frame = .{ .alignment = .@"16" }, |
| | 102682 | .extra_temps = .{ |
| | 102683 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 102684 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 102685 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunshfti" } }, |
| | 102686 | .unused, |
| | 102687 | .unused, |
| | 102688 | .unused, |
| | 102689 | .unused, |
| | 102690 | .unused, |
| | 102691 | .unused, |
| | 102692 | .unused, |
| | 102693 | .unused, |
| | 102694 | }, |
| | 102695 | .dst_temps = .{ .mem, .unused }, |
| | 102696 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 102697 | .each = .{ .once = &.{ |
| | 102698 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 102699 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| | 102700 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memi(.src0w, .tmp0), .ui(0) }, |
| | 102701 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 102702 | .{ ._, .v_dqa, .mov, .memsi(.dst0x, .@"8", .tmp0), .tmp1x, ._, ._ }, |
| | 102703 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 102704 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 102705 | } }, |
| | 102706 | }, .{ |
| | 102707 | .required_cc_abi = .sysv64, |
| 100485 | .required_features = .{ .sse2, null, null, null }, | 102708 | .required_features = .{ .sse2, null, null, null }, |
| 100486 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, | 102709 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| 100487 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, | 102710 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, |
| ... | @@ -100490,11 +102713,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100490,11 +102713,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100490 | }, | 102713 | }, |
| 100491 | .call_frame = .{ .alignment = .@"16" }, | 102714 | .call_frame = .{ .alignment = .@"16" }, |
| 100492 | .extra_temps = .{ | 102715 | .extra_temps = .{ |
| 100493 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 102716 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 100494 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 102717 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100495 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfti" } }, | 102718 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfti" } }, |
| 100496 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 102719 | .{ .type = .i128, .kind = .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100497 | .{ .type = .i64, .kind = .{ .reg = .rdx } }, | 102720 | .unused, |
| 100498 | .unused, | 102721 | .unused, |
| 100499 | .unused, | 102722 | .unused, |
| 100500 | .unused, | 102723 | .unused, |
| ... | @@ -100505,16 +102728,50 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100505,16 +102728,50 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100505 | .dst_temps = .{ .mem, .unused }, | 102728 | .dst_temps = .{ .mem, .unused }, |
| 100506 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 102729 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 100507 | .each = .{ .once = &.{ | 102730 | .each = .{ .once = &.{ |
| 100508 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 102731 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 100509 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | 102732 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 100510 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | 102733 | .{ ._, .p_w, .insr, .tmp1x, .memi(.src0w, .tmp0), .ui(0), ._ }, |
| 100511 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 102734 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 100512 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 102735 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp3q0, ._, ._ }, |
| 100513 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_unaligned_size, 8), .tmp4q, ._, ._ }, | 102736 | .{ ._, ._, .mov, .memsid(.dst0q, .@"8", .tmp0, 8), .tmp3q1, ._, ._ }, |
| 100514 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 102737 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 100515 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 102738 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 100516 | } }, | 102739 | } }, |
| 100517 | }, .{ | 102740 | }, .{ |
| | 102741 | .required_cc_abi = .win64, |
| | 102742 | .required_features = .{ .sse2, null, null, null }, |
| | 102743 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 102744 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, |
| | 102745 | .patterns = &.{ |
| | 102746 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 102747 | }, |
| | 102748 | .call_frame = .{ .alignment = .@"16" }, |
| | 102749 | .extra_temps = .{ |
| | 102750 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 102751 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 102752 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfti" } }, |
| | 102753 | .unused, |
| | 102754 | .unused, |
| | 102755 | .unused, |
| | 102756 | .unused, |
| | 102757 | .unused, |
| | 102758 | .unused, |
| | 102759 | .unused, |
| | 102760 | .unused, |
| | 102761 | }, |
| | 102762 | .dst_temps = .{ .mem, .unused }, |
| | 102763 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 102764 | .each = .{ .once = &.{ |
| | 102765 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 102766 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 102767 | .{ ._, .p_w, .insr, .tmp1x, .memi(.src0w, .tmp0), .ui(0), ._ }, |
| | 102768 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 102769 | .{ ._, ._dqa, .mov, .memsi(.dst0x, .@"8", .tmp0), .tmp1x, ._, ._ }, |
| | 102770 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 102771 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 102772 | } }, |
| | 102773 | }, .{ |
| | 102774 | .required_cc_abi = .sysv64, |
| 100518 | .required_features = .{ .sse2, null, null, null }, | 102775 | .required_features = .{ .sse2, null, null, null }, |
| 100519 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, | 102776 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| 100520 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, | 102777 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, |
| ... | @@ -100523,11 +102780,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100523,11 +102780,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100523 | }, | 102780 | }, |
| 100524 | .call_frame = .{ .alignment = .@"16" }, | 102781 | .call_frame = .{ .alignment = .@"16" }, |
| 100525 | .extra_temps = .{ | 102782 | .extra_temps = .{ |
| 100526 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 102783 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 100527 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 102784 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100528 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunshfti" } }, | 102785 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunshfti" } }, |
| 100529 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 102786 | .{ .type = .u128, .kind = .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100530 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, | 102787 | .unused, |
| 100531 | .unused, | 102788 | .unused, |
| 100532 | .unused, | 102789 | .unused, |
| 100533 | .unused, | 102790 | .unused, |
| ... | @@ -100538,16 +102795,50 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100538,16 +102795,50 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100538 | .dst_temps = .{ .mem, .unused }, | 102795 | .dst_temps = .{ .mem, .unused }, |
| 100539 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 102796 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 100540 | .each = .{ .once = &.{ | 102797 | .each = .{ .once = &.{ |
| 100541 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 102798 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 100542 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | 102799 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 100543 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | 102800 | .{ ._, .p_w, .insr, .tmp1x, .memi(.src0w, .tmp0), .ui(0), ._ }, |
| 100544 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 102801 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 100545 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 102802 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp3q0, ._, ._ }, |
| 100546 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_unaligned_size, 8), .tmp4q, ._, ._ }, | 102803 | .{ ._, ._, .mov, .memsid(.dst0q, .@"8", .tmp0, 8), .tmp3q1, ._, ._ }, |
| 100547 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 102804 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 100548 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 102805 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 102806 | } }, |
| | 102807 | }, .{ |
| | 102808 | .required_cc_abi = .win64, |
| | 102809 | .required_features = .{ .sse2, null, null, null }, |
| | 102810 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 102811 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, |
| | 102812 | .patterns = &.{ |
| | 102813 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 102814 | }, |
| | 102815 | .call_frame = .{ .alignment = .@"16" }, |
| | 102816 | .extra_temps = .{ |
| | 102817 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 102818 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 102819 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunshfti" } }, |
| | 102820 | .unused, |
| | 102821 | .unused, |
| | 102822 | .unused, |
| | 102823 | .unused, |
| | 102824 | .unused, |
| | 102825 | .unused, |
| | 102826 | .unused, |
| | 102827 | .unused, |
| | 102828 | }, |
| | 102829 | .dst_temps = .{ .mem, .unused }, |
| | 102830 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 102831 | .each = .{ .once = &.{ |
| | 102832 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 102833 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 102834 | .{ ._, .p_w, .insr, .tmp1x, .memi(.src0w, .tmp0), .ui(0), ._ }, |
| | 102835 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 102836 | .{ ._, ._dqa, .mov, .memsi(.dst0x, .@"8", .tmp0), .tmp1x, ._, ._ }, |
| | 102837 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 102838 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 100549 | } }, | 102839 | } }, |
| 100550 | }, .{ | 102840 | }, .{ |
| | 102841 | .required_cc_abi = .sysv64, |
| 100551 | .required_features = .{ .sse, null, null, null }, | 102842 | .required_features = .{ .sse, null, null, null }, |
| 100552 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, | 102843 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| 100553 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, | 102844 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, |
| ... | @@ -100556,12 +102847,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100556,12 +102847,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100556 | }, | 102847 | }, |
| 100557 | .call_frame = .{ .alignment = .@"16" }, | 102848 | .call_frame = .{ .alignment = .@"16" }, |
| 100558 | .extra_temps = .{ | 102849 | .extra_temps = .{ |
| 100559 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 102850 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 100560 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 102851 | .{ .type = .i128, .kind = .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100561 | .{ .type = .f32, .kind = .mem }, | 102852 | .{ .type = .f32, .kind = .mem }, |
| 100562 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 102853 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100563 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfti" } }, | 102854 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfti" } }, |
| 100564 | .{ .type = .i64, .kind = .{ .reg = .rdx } }, | 102855 | .unused, |
| 100565 | .unused, | 102856 | .unused, |
| 100566 | .unused, | 102857 | .unused, |
| 100567 | .unused, | 102858 | .unused, |
| ... | @@ -100571,17 +102862,52 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100571,17 +102862,52 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100571 | .dst_temps = .{ .mem, .unused }, | 102862 | .dst_temps = .{ .mem, .unused }, |
| 100572 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 102863 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 100573 | .each = .{ .once = &.{ | 102864 | .each = .{ .once = &.{ |
| 100574 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 102865 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 100575 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 102866 | .{ .@"0:", ._, .movzx, .tmp1d0, .memi(.src0w, .tmp0), ._, ._ }, |
| | 102867 | .{ ._, ._, .mov, .tmp2d, .tmp1d0, ._, ._ }, |
| | 102868 | .{ ._, ._ss, .mov, .tmp3x, .tmp2d, ._, ._ }, |
| | 102869 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 102870 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp1q0, ._, ._ }, |
| | 102871 | .{ ._, ._, .mov, .memsid(.dst0q, .@"8", .tmp0, 8), .tmp1q1, ._, ._ }, |
| | 102872 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 102873 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 102874 | } }, |
| | 102875 | }, .{ |
| | 102876 | .required_cc_abi = .win64, |
| | 102877 | .required_features = .{ .sse, null, null, null }, |
| | 102878 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 102879 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, |
| | 102880 | .patterns = &.{ |
| | 102881 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 102882 | }, |
| | 102883 | .call_frame = .{ .alignment = .@"16" }, |
| | 102884 | .extra_temps = .{ |
| | 102885 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 102886 | .{ .type = .f16, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 102887 | .{ .type = .f32, .kind = .mem }, |
| | 102888 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 102889 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfti" } }, |
| | 102890 | .unused, |
| | 102891 | .unused, |
| | 102892 | .unused, |
| | 102893 | .unused, |
| | 102894 | .unused, |
| | 102895 | .unused, |
| | 102896 | }, |
| | 102897 | .dst_temps = .{ .mem, .unused }, |
| | 102898 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 102899 | .each = .{ .once = &.{ |
| | 102900 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 102901 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 100576 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, | 102902 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 100577 | .{ ._, ._ss, .mov, .tmp3x, .tmp2d, ._, ._ }, | 102903 | .{ ._, ._ss, .mov, .tmp3x, .tmp2d, ._, ._ }, |
| 100578 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 102904 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 100579 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp0, .add_unaligned_size), .tmp1q, ._, ._ }, | 102905 | .{ ._, ._ps, .mova, .memsi(.dst0x, .@"8", .tmp0), .tmp3x, ._, ._ }, |
| 100580 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_unaligned_size, 8), .tmp5q, ._, ._ }, | 102906 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 100581 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 102907 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 100582 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | | |
| 100583 | } }, | 102908 | } }, |
| 100584 | }, .{ | 102909 | }, .{ |
| | 102910 | .required_cc_abi = .sysv64, |
| 100585 | .required_features = .{ .sse, null, null, null }, | 102911 | .required_features = .{ .sse, null, null, null }, |
| 100586 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, | 102912 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| 100587 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, | 102913 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, |
| ... | @@ -100590,12 +102916,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100590,12 +102916,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100590 | }, | 102916 | }, |
| 100591 | .call_frame = .{ .alignment = .@"16" }, | 102917 | .call_frame = .{ .alignment = .@"16" }, |
| 100592 | .extra_temps = .{ | 102918 | .extra_temps = .{ |
| 100593 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 102919 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 100594 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 102920 | .{ .type = .i128, .kind = .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100595 | .{ .type = .f32, .kind = .mem }, | 102921 | .{ .type = .f32, .kind = .mem }, |
| 100596 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 102922 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100597 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunshfti" } }, | 102923 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunshfti" } }, |
| 100598 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, | 102924 | .unused, |
| 100599 | .unused, | 102925 | .unused, |
| 100600 | .unused, | 102926 | .unused, |
| 100601 | .unused, | 102927 | .unused, |
| ... | @@ -100605,15 +102931,49 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100605,15 +102931,49 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100605 | .dst_temps = .{ .mem, .unused }, | 102931 | .dst_temps = .{ .mem, .unused }, |
| 100606 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 102932 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 100607 | .each = .{ .once = &.{ | 102933 | .each = .{ .once = &.{ |
| 100608 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 102934 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 100609 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 102935 | .{ .@"0:", ._, .movzx, .tmp1d0, .memi(.src0w, .tmp0), ._, ._ }, |
| | 102936 | .{ ._, ._, .mov, .tmp2d, .tmp1d0, ._, ._ }, |
| | 102937 | .{ ._, ._ss, .mov, .tmp3x, .tmp2d, ._, ._ }, |
| | 102938 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 102939 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp1q0, ._, ._ }, |
| | 102940 | .{ ._, ._, .mov, .memsid(.dst0q, .@"8", .tmp0, 8), .tmp1q1, ._, ._ }, |
| | 102941 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 102942 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 102943 | } }, |
| | 102944 | }, .{ |
| | 102945 | .required_cc_abi = .win64, |
| | 102946 | .required_features = .{ .sse, null, null, null }, |
| | 102947 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 102948 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, |
| | 102949 | .patterns = &.{ |
| | 102950 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 102951 | }, |
| | 102952 | .call_frame = .{ .alignment = .@"16" }, |
| | 102953 | .extra_temps = .{ |
| | 102954 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 102955 | .{ .type = .f16, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 102956 | .{ .type = .f32, .kind = .mem }, |
| | 102957 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 102958 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunshfti" } }, |
| | 102959 | .unused, |
| | 102960 | .unused, |
| | 102961 | .unused, |
| | 102962 | .unused, |
| | 102963 | .unused, |
| | 102964 | .unused, |
| | 102965 | }, |
| | 102966 | .dst_temps = .{ .mem, .unused }, |
| | 102967 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 102968 | .each = .{ .once = &.{ |
| | 102969 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 102970 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 100610 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, | 102971 | .{ ._, ._, .mov, .tmp2d, .tmp1d, ._, ._ }, |
| 100611 | .{ ._, ._ss, .mov, .tmp3x, .tmp2d, ._, ._ }, | 102972 | .{ ._, ._ss, .mov, .tmp3x, .tmp2d, ._, ._ }, |
| 100612 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 102973 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 100613 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp0, .add_unaligned_size), .tmp1q, ._, ._ }, | 102974 | .{ ._, ._ps, .mova, .memsi(.dst0x, .@"8", .tmp0), .tmp3x, ._, ._ }, |
| 100614 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_unaligned_size, 8), .tmp5q, ._, ._ }, | 102975 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 100615 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 102976 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 100616 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | | |
| 100617 | } }, | 102977 | } }, |
| 100618 | }, .{ | 102978 | }, .{ |
| 100619 | .required_features = .{ .@"64bit", .avx, null, null }, | 102979 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | @@ -100624,11 +102984,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100624,11 +102984,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100624 | }, | 102984 | }, |
| 100625 | .call_frame = .{ .alignment = .@"16" }, | 102985 | .call_frame = .{ .alignment = .@"16" }, |
| 100626 | .extra_temps = .{ | 102986 | .extra_temps = .{ |
| 100627 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 102987 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 100628 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 102988 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 100629 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 102989 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100630 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 102990 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 100631 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 102991 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 100632 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfei" } }, | 102992 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfei" } }, |
| 100633 | .unused, | 102993 | .unused, |
| 100634 | .unused, | 102994 | .unused, |
| ... | @@ -100639,16 +102999,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100639,16 +102999,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100639 | .dst_temps = .{ .mem, .unused }, | 102999 | .dst_temps = .{ .mem, .unused }, |
| 100640 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 103000 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 100641 | .each = .{ .once = &.{ | 103001 | .each = .{ .once = &.{ |
| 100642 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 103002 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 100643 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 103003 | .{ ._, ._, .lea, .tmp1p, .mema(.dst0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 100644 | .{ .@"0:", .v_ps, .xor, .tmp4x, .tmp4x, .tmp4x, ._ }, | 103004 | .{ .@"0:", .v_ps, .xor, .tmp4x, .tmp4x, .tmp4x, ._ }, |
| 100645 | .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ }, | 103005 | .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| 100646 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, | 103006 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| 100647 | .{ ._, .vp_w, .insr, .tmp4x, .tmp4x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, | 103007 | .{ ._, .vp_w, .insr, .tmp4x, .tmp4x, .memi(.src0w, .tmp0), .ui(0) }, |
| 100648 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, | 103008 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| 100649 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ }, | 103009 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .sub_dst0_elem_size), ._, ._ }, |
| 100650 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 103010 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 100651 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 103011 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 100652 | } }, | 103012 | } }, |
| 100653 | }, .{ | 103013 | }, .{ |
| 100654 | .required_features = .{ .@"64bit", .avx, null, null }, | 103014 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | @@ -100659,11 +103019,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100659,11 +103019,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100659 | }, | 103019 | }, |
| 100660 | .call_frame = .{ .alignment = .@"16" }, | 103020 | .call_frame = .{ .alignment = .@"16" }, |
| 100661 | .extra_temps = .{ | 103021 | .extra_temps = .{ |
| 100662 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 103022 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 100663 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 103023 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 100664 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 103024 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100665 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 103025 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 100666 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 103026 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 100667 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunshfei" } }, | 103027 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunshfei" } }, |
| 100668 | .unused, | 103028 | .unused, |
| 100669 | .unused, | 103029 | .unused, |
| ... | @@ -100674,16 +103034,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100674,16 +103034,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100674 | .dst_temps = .{ .mem, .unused }, | 103034 | .dst_temps = .{ .mem, .unused }, |
| 100675 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 103035 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 100676 | .each = .{ .once = &.{ | 103036 | .each = .{ .once = &.{ |
| 100677 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 103037 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 100678 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 103038 | .{ ._, ._, .lea, .tmp1p, .mema(.dst0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 100679 | .{ .@"0:", .v_ps, .xor, .tmp4x, .tmp4x, .tmp4x, ._ }, | 103039 | .{ .@"0:", .v_ps, .xor, .tmp4x, .tmp4x, .tmp4x, ._ }, |
| 100680 | .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ }, | 103040 | .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| 100681 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, | 103041 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| 100682 | .{ ._, .vp_w, .insr, .tmp4x, .tmp4x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, | 103042 | .{ ._, .vp_w, .insr, .tmp4x, .tmp4x, .memi(.src0w, .tmp0), .ui(0) }, |
| 100683 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, | 103043 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| 100684 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ }, | 103044 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .sub_dst0_elem_size), ._, ._ }, |
| 100685 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 103045 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 100686 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 103046 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 100687 | } }, | 103047 | } }, |
| 100688 | }, .{ | 103048 | }, .{ |
| 100689 | .required_features = .{ .@"64bit", .sse2, null, null }, | 103049 | .required_features = .{ .@"64bit", .sse2, null, null }, |
| ... | @@ -100694,11 +103054,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100694,11 +103054,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100694 | }, | 103054 | }, |
| 100695 | .call_frame = .{ .alignment = .@"16" }, | 103055 | .call_frame = .{ .alignment = .@"16" }, |
| 100696 | .extra_temps = .{ | 103056 | .extra_temps = .{ |
| 100697 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 103057 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 100698 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 103058 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 100699 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 103059 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100700 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 103060 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 100701 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 103061 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 100702 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfei" } }, | 103062 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfei" } }, |
| 100703 | .unused, | 103063 | .unused, |
| 100704 | .unused, | 103064 | .unused, |
| ... | @@ -100709,16 +103069,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100709,16 +103069,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100709 | .dst_temps = .{ .mem, .unused }, | 103069 | .dst_temps = .{ .mem, .unused }, |
| 100710 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 103070 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 100711 | .each = .{ .once = &.{ | 103071 | .each = .{ .once = &.{ |
| 100712 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 103072 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 100713 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 103073 | .{ ._, ._, .lea, .tmp1p, .mema(.dst0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 100714 | .{ .@"0:", ._ps, .xor, .tmp4x, .tmp4x, ._, ._ }, | 103074 | .{ .@"0:", ._ps, .xor, .tmp4x, .tmp4x, ._, ._ }, |
| 100715 | .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ }, | 103075 | .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| 100716 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, | 103076 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| 100717 | .{ ._, .p_w, .insr, .tmp4x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | 103077 | .{ ._, .p_w, .insr, .tmp4x, .memi(.src0w, .tmp0), .ui(0), ._ }, |
| 100718 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, | 103078 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| 100719 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ }, | 103079 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .sub_dst0_elem_size), ._, ._ }, |
| 100720 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 103080 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 100721 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 103081 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 100722 | } }, | 103082 | } }, |
| 100723 | }, .{ | 103083 | }, .{ |
| 100724 | .required_features = .{ .@"64bit", .sse2, null, null }, | 103084 | .required_features = .{ .@"64bit", .sse2, null, null }, |
| ... | @@ -100729,11 +103089,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100729,11 +103089,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100729 | }, | 103089 | }, |
| 100730 | .call_frame = .{ .alignment = .@"16" }, | 103090 | .call_frame = .{ .alignment = .@"16" }, |
| 100731 | .extra_temps = .{ | 103091 | .extra_temps = .{ |
| 100732 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 103092 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 100733 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 103093 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 100734 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 103094 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100735 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 103095 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 100736 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 103096 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 100737 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunshfei" } }, | 103097 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunshfei" } }, |
| 100738 | .unused, | 103098 | .unused, |
| 100739 | .unused, | 103099 | .unused, |
| ... | @@ -100744,16 +103104,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100744,16 +103104,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100744 | .dst_temps = .{ .mem, .unused }, | 103104 | .dst_temps = .{ .mem, .unused }, |
| 100745 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 103105 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 100746 | .each = .{ .once = &.{ | 103106 | .each = .{ .once = &.{ |
| 100747 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 103107 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 100748 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 103108 | .{ ._, ._, .lea, .tmp1p, .mema(.dst0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 100749 | .{ .@"0:", ._ps, .xor, .tmp4x, .tmp4x, ._, ._ }, | 103109 | .{ .@"0:", ._ps, .xor, .tmp4x, .tmp4x, ._, ._ }, |
| 100750 | .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ }, | 103110 | .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| 100751 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, | 103111 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| 100752 | .{ ._, .p_w, .insr, .tmp4x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | 103112 | .{ ._, .p_w, .insr, .tmp4x, .memi(.src0w, .tmp0), .ui(0), ._ }, |
| 100753 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, | 103113 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| 100754 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ }, | 103114 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .sub_dst0_elem_size), ._, ._ }, |
| 100755 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 103115 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 100756 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 103116 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 100757 | } }, | 103117 | } }, |
| 100758 | }, .{ | 103118 | }, .{ |
| 100759 | .required_features = .{ .@"64bit", .sse, null, null }, | 103119 | .required_features = .{ .@"64bit", .sse, null, null }, |
| ... | @@ -100764,12 +103124,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100764,12 +103124,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100764 | }, | 103124 | }, |
| 100765 | .call_frame = .{ .alignment = .@"16" }, | 103125 | .call_frame = .{ .alignment = .@"16" }, |
| 100766 | .extra_temps = .{ | 103126 | .extra_temps = .{ |
| 100767 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 103127 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 100768 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 103128 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 100769 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 103129 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100770 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 103130 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 100771 | .{ .type = .f32, .kind = .mem }, | 103131 | .{ .type = .f32, .kind = .mem }, |
| 100772 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 103132 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 100773 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfei" } }, | 103133 | .{ .type = .usize, .kind = .{ .extern_func = "__fixhfei" } }, |
| 100774 | .unused, | 103134 | .unused, |
| 100775 | .unused, | 103135 | .unused, |
| ... | @@ -100779,17 +103139,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100779,17 +103139,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100779 | .dst_temps = .{ .mem, .unused }, | 103139 | .dst_temps = .{ .mem, .unused }, |
| 100780 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 103140 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 100781 | .each = .{ .once = &.{ | 103141 | .each = .{ .once = &.{ |
| 100782 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 103142 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 100783 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 103143 | .{ ._, ._, .lea, .tmp1p, .mema(.dst0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 100784 | .{ .@"0:", ._, .movzx, .tmp3d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 103144 | .{ .@"0:", ._, .movzx, .tmp3d, .memi(.src0w, .tmp0), ._, ._ }, |
| 100785 | .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ }, | 103145 | .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| 100786 | .{ ._, ._, .mov, .tmp4d, .tmp3d, ._, ._ }, | 103146 | .{ ._, ._, .mov, .tmp4d, .tmp3d, ._, ._ }, |
| 100787 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, | 103147 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| 100788 | .{ ._, ._ss, .mov, .tmp5x, .tmp4d, ._, ._ }, | 103148 | .{ ._, ._ss, .mov, .tmp5x, .tmp4d, ._, ._ }, |
| 100789 | .{ ._, ._, .call, .tmp6d, ._, ._, ._ }, | 103149 | .{ ._, ._, .call, .tmp6d, ._, ._, ._ }, |
| 100790 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ }, | 103150 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .sub_dst0_elem_size), ._, ._ }, |
| 100791 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 103151 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 100792 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 103152 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 100793 | } }, | 103153 | } }, |
| 100794 | }, .{ | 103154 | }, .{ |
| 100795 | .required_features = .{ .@"64bit", .sse, null, null }, | 103155 | .required_features = .{ .@"64bit", .sse, null, null }, |
| ... | @@ -100800,12 +103160,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100800,12 +103160,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100800 | }, | 103160 | }, |
| 100801 | .call_frame = .{ .alignment = .@"16" }, | 103161 | .call_frame = .{ .alignment = .@"16" }, |
| 100802 | .extra_temps = .{ | 103162 | .extra_temps = .{ |
| 100803 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 103163 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 100804 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 103164 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 100805 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 103165 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 100806 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 103166 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 100807 | .{ .type = .f32, .kind = .mem }, | 103167 | .{ .type = .f32, .kind = .mem }, |
| 100808 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 103168 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 100809 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunshfei" } }, | 103169 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunshfei" } }, |
| 100810 | .unused, | 103170 | .unused, |
| 100811 | .unused, | 103171 | .unused, |
| ... | @@ -100815,17 +103175,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100815,17 +103175,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100815 | .dst_temps = .{ .mem, .unused }, | 103175 | .dst_temps = .{ .mem, .unused }, |
| 100816 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 103176 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 100817 | .each = .{ .once = &.{ | 103177 | .each = .{ .once = &.{ |
| 100818 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 103178 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 100819 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 103179 | .{ ._, ._, .lea, .tmp1p, .mema(.dst0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 100820 | .{ .@"0:", ._, .movzx, .tmp3d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 103180 | .{ .@"0:", ._, .movzx, .tmp3d, .memi(.src0w, .tmp0), ._, ._ }, |
| 100821 | .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ }, | 103181 | .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| 100822 | .{ ._, ._, .mov, .tmp4d, .tmp3d, ._, ._ }, | 103182 | .{ ._, ._, .mov, .tmp4d, .tmp3d, ._, ._ }, |
| 100823 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, | 103183 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| 100824 | .{ ._, ._ss, .mov, .tmp5x, .tmp4d, ._, ._ }, | 103184 | .{ ._, ._ss, .mov, .tmp5x, .tmp4d, ._, ._ }, |
| 100825 | .{ ._, ._, .call, .tmp6d, ._, ._, ._ }, | 103185 | .{ ._, ._, .call, .tmp6d, ._, ._, ._ }, |
| 100826 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ }, | 103186 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .sub_dst0_elem_size), ._, ._ }, |
| 100827 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 103187 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 100828 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 103188 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 100829 | } }, | 103189 | } }, |
| 100830 | }, .{ | 103190 | }, .{ |
| 100831 | .required_features = .{ .avx, null, null, null }, | 103191 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -100940,11 +103300,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100940,11 +103300,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100940 | .{ ._, ._, .@"or", .dst0q, .tmp0q, ._, ._ }, | 103300 | .{ ._, ._, .@"or", .dst0q, .tmp0q, ._, ._ }, |
| 100941 | } }, | 103301 | } }, |
| 100942 | }, .{ | 103302 | }, .{ |
| 100943 | .required_features = .{ .@"64bit", .sse, null, null }, | 103303 | .required_cc_abi = .sysv64, |
| | 103304 | .required_features = .{ .sse, null, null, null }, |
| 100944 | .src_constraints = .{ .{ .float = .dword }, .any, .any }, | 103305 | .src_constraints = .{ .{ .float = .dword }, .any, .any }, |
| 100945 | .dst_constraints = .{ .{ .signed_int = .xword }, .any }, | 103306 | .dst_constraints = .{ .{ .signed_int = .xword }, .any }, |
| 100946 | .patterns = &.{ | 103307 | .patterns = &.{ |
| 100947 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 103308 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 100948 | }, | 103309 | }, |
| 100949 | .call_frame = .{ .alignment = .@"16" }, | 103310 | .call_frame = .{ .alignment = .@"16" }, |
| 100950 | .extra_temps = .{ | 103311 | .extra_temps = .{ |
| ... | @@ -100960,17 +103321,45 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100960,17 +103321,45 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100960 | .unused, | 103321 | .unused, |
| 100961 | .unused, | 103322 | .unused, |
| 100962 | }, | 103323 | }, |
| 100963 | .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused }, | 103324 | .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 100964 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 103325 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 100965 | .each = .{ .once = &.{ | 103326 | .each = .{ .once = &.{ |
| 100966 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 103327 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 100967 | } }, | 103328 | } }, |
| 100968 | }, .{ | 103329 | }, .{ |
| 100969 | .required_features = .{ .@"64bit", .sse, null, null }, | 103330 | .required_cc_abi = .win64, |
| | 103331 | .required_features = .{ .sse, null, null, null }, |
| | 103332 | .src_constraints = .{ .{ .float = .dword }, .any, .any }, |
| | 103333 | .dst_constraints = .{ .{ .signed_int = .xword }, .any }, |
| | 103334 | .patterns = &.{ |
| | 103335 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| | 103336 | }, |
| | 103337 | .call_frame = .{ .alignment = .@"16" }, |
| | 103338 | .extra_temps = .{ |
| | 103339 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfti" } }, |
| | 103340 | .unused, |
| | 103341 | .unused, |
| | 103342 | .unused, |
| | 103343 | .unused, |
| | 103344 | .unused, |
| | 103345 | .unused, |
| | 103346 | .unused, |
| | 103347 | .unused, |
| | 103348 | .unused, |
| | 103349 | .unused, |
| | 103350 | }, |
| | 103351 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 103352 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 103353 | .each = .{ .once = &.{ |
| | 103354 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| | 103355 | } }, |
| | 103356 | }, .{ |
| | 103357 | .required_cc_abi = .sysv64, |
| | 103358 | .required_features = .{ .sse, null, null, null }, |
| 100970 | .src_constraints = .{ .{ .float = .dword }, .any, .any }, | 103359 | .src_constraints = .{ .{ .float = .dword }, .any, .any }, |
| 100971 | .dst_constraints = .{ .{ .unsigned_int = .xword }, .any }, | 103360 | .dst_constraints = .{ .{ .unsigned_int = .xword }, .any }, |
| 100972 | .patterns = &.{ | 103361 | .patterns = &.{ |
| 100973 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 103362 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 100974 | }, | 103363 | }, |
| 100975 | .call_frame = .{ .alignment = .@"16" }, | 103364 | .call_frame = .{ .alignment = .@"16" }, |
| 100976 | .extra_temps = .{ | 103365 | .extra_temps = .{ |
| ... | @@ -100986,17 +103375,45 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100986,17 +103375,45 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100986 | .unused, | 103375 | .unused, |
| 100987 | .unused, | 103376 | .unused, |
| 100988 | }, | 103377 | }, |
| 100989 | .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused }, | 103378 | .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 100990 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 103379 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 100991 | .each = .{ .once = &.{ | 103380 | .each = .{ .once = &.{ |
| 100992 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 103381 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 100993 | } }, | 103382 | } }, |
| 100994 | }, .{ | 103383 | }, .{ |
| 100995 | .required_features = .{ .@"64bit", .avx, null, null }, | 103384 | .required_cc_abi = .win64, |
| | 103385 | .required_features = .{ .sse, null, null, null }, |
| | 103386 | .src_constraints = .{ .{ .float = .dword }, .any, .any }, |
| | 103387 | .dst_constraints = .{ .{ .unsigned_int = .xword }, .any }, |
| | 103388 | .patterns = &.{ |
| | 103389 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| | 103390 | }, |
| | 103391 | .call_frame = .{ .alignment = .@"16" }, |
| | 103392 | .extra_temps = .{ |
| | 103393 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunssfti" } }, |
| | 103394 | .unused, |
| | 103395 | .unused, |
| | 103396 | .unused, |
| | 103397 | .unused, |
| | 103398 | .unused, |
| | 103399 | .unused, |
| | 103400 | .unused, |
| | 103401 | .unused, |
| | 103402 | .unused, |
| | 103403 | .unused, |
| | 103404 | }, |
| | 103405 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 103406 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 103407 | .each = .{ .once = &.{ |
| | 103408 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| | 103409 | } }, |
| | 103410 | }, .{ |
| | 103411 | .required_cc_abi = .sysv64, |
| | 103412 | .required_features = .{ .avx, null, null, null }, |
| 100996 | .src_constraints = .{ .{ .float = .dword }, .any, .any }, | 103413 | .src_constraints = .{ .{ .float = .dword }, .any, .any }, |
| 100997 | .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any }, | 103414 | .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any }, |
| 100998 | .patterns = &.{ | 103415 | .patterns = &.{ |
| 100999 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 103416 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 101000 | }, | 103417 | }, |
| 101001 | .call_frame = .{ .alignment = .@"16" }, | 103418 | .call_frame = .{ .alignment = .@"16" }, |
| 101002 | .extra_temps = .{ | 103419 | .extra_temps = .{ |
| ... | @@ -101024,7 +103441,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101024,7 +103441,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101024 | .{ ._, ._, .xor, .tmp1q, .tmp0q, ._, ._ }, | 103441 | .{ ._, ._, .xor, .tmp1q, .tmp0q, ._, ._ }, |
| 101025 | .{ ._, ._, .xor, .tmp4q, .tmp0q, ._, ._ }, | 103442 | .{ ._, ._, .xor, .tmp4q, .tmp0q, ._, ._ }, |
| 101026 | .{ ._, ._, .sub, .tmp1q, .tmp0q, ._, ._ }, | 103443 | .{ ._, ._, .sub, .tmp1q, .tmp0q, ._, ._ }, |
| 101027 | .{ ._, ._, .mov, .dst0q, .tmp1q, ._, ._ }, | 103444 | .{ ._, ._, .mov, .mem(.dst0q), .tmp1q, ._, ._ }, |
| 101028 | .{ ._, ._, .sbb, .tmp4q, .tmp0q, ._, ._ }, | 103445 | .{ ._, ._, .sbb, .tmp4q, .tmp0q, ._, ._ }, |
| 101029 | .{ ._, ._, .mov, .memd(.dst0q, 8), .tmp4q, ._, ._ }, | 103446 | .{ ._, ._, .mov, .memd(.dst0q, 8), .tmp4q, ._, ._ }, |
| 101030 | .{ ._, ._, .sbb, .tmp1q, .tmp1q, ._, ._ }, | 103447 | .{ ._, ._, .sbb, .tmp1q, .tmp1q, ._, ._ }, |
| ... | @@ -101033,11 +103450,56 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101033,11 +103450,56 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101033 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, | 103450 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 101034 | } }, | 103451 | } }, |
| 101035 | }, .{ | 103452 | }, .{ |
| 101036 | .required_features = .{ .@"64bit", .sse2, null, null }, | 103453 | .required_cc_abi = .win64, |
| | 103454 | .required_features = .{ .avx, null, null, null }, |
| | 103455 | .src_constraints = .{ .{ .float = .dword }, .any, .any }, |
| | 103456 | .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any }, |
| | 103457 | .patterns = &.{ |
| | 103458 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| | 103459 | }, |
| | 103460 | .call_frame = .{ .alignment = .@"16" }, |
| | 103461 | .extra_temps = .{ |
| | 103462 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| | 103463 | .{ .type = .i64, .kind = .{ .reg = .rax } }, |
| | 103464 | .{ .type = .vector_4_f32, .kind = .{ .smax_mem = .{} } }, |
| | 103465 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunssfti" } }, |
| | 103466 | .{ .type = .i64, .kind = .{ .reg = .rdx } }, |
| | 103467 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, |
| | 103468 | .{ .type = .u32, .kind = .{ .reg = .ecx } }, |
| | 103469 | .unused, |
| | 103470 | .unused, |
| | 103471 | .unused, |
| | 103472 | .unused, |
| | 103473 | }, |
| | 103474 | .dst_temps = .{ .mem, .unused }, |
| | 103475 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 103476 | .each = .{ .once = &.{ |
| | 103477 | .{ ._, .v_d, .mov, .tmp0d, .src0x, ._, ._ }, |
| | 103478 | .{ ._, ._, .lea, .tmp1p, .mem(.tmp2), ._, ._ }, |
| | 103479 | .{ ._, ._d, .movsx, .tmp0q, .tmp0d, ._, ._ }, |
| | 103480 | .{ ._, .v_ps, .@"and", .src0x, .src0x, .lea(.tmp1x), ._ }, |
| | 103481 | .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ }, |
| | 103482 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 103483 | .{ ._, .v_q, .mov, .tmp1q, .src0x, ._, ._ }, |
| | 103484 | .{ ._, .vp_q, .extr, .tmp4q, .src0x, .ui(1), ._ }, |
| | 103485 | .{ ._, ._, .xor, .tmp1q, .tmp0q, ._, ._ }, |
| | 103486 | .{ ._, ._, .xor, .tmp4q, .tmp0q, ._, ._ }, |
| | 103487 | .{ ._, ._, .sub, .tmp1q, .tmp0q, ._, ._ }, |
| | 103488 | .{ ._, ._, .mov, .mem(.dst0q), .tmp1q, ._, ._ }, |
| | 103489 | .{ ._, ._, .sbb, .tmp4q, .tmp0q, ._, ._ }, |
| | 103490 | .{ ._, ._, .mov, .memd(.dst0q, 8), .tmp4q, ._, ._ }, |
| | 103491 | .{ ._, ._, .sbb, .tmp1q, .tmp1q, ._, ._ }, |
| | 103492 | .{ ._, ._, .lea, .tmp5p, .memd(.dst0, 16), ._, ._ }, |
| | 103493 | .{ ._, ._, .mov, .tmp6d, .sia(-2, .dst0, .add_size_div_8), ._, ._ }, |
| | 103494 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| | 103495 | } }, |
| | 103496 | }, .{ |
| | 103497 | .required_cc_abi = .sysv64, |
| | 103498 | .required_features = .{ .sse2, null, null, null }, |
| 101037 | .src_constraints = .{ .{ .float = .dword }, .any, .any }, | 103499 | .src_constraints = .{ .{ .float = .dword }, .any, .any }, |
| 101038 | .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any }, | 103500 | .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any }, |
| 101039 | .patterns = &.{ | 103501 | .patterns = &.{ |
| 101040 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 103502 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 101041 | }, | 103503 | }, |
| 101042 | .call_frame = .{ .alignment = .@"16" }, | 103504 | .call_frame = .{ .alignment = .@"16" }, |
| 101043 | .extra_temps = .{ | 103505 | .extra_temps = .{ |
| ... | @@ -101065,7 +103527,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101065,7 +103527,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101065 | .{ ._, ._, .xor, .tmp1q, .tmp0q, ._, ._ }, | 103527 | .{ ._, ._, .xor, .tmp1q, .tmp0q, ._, ._ }, |
| 101066 | .{ ._, ._, .xor, .tmp4q, .tmp0q, ._, ._ }, | 103528 | .{ ._, ._, .xor, .tmp4q, .tmp0q, ._, ._ }, |
| 101067 | .{ ._, ._, .sub, .tmp1q, .tmp0q, ._, ._ }, | 103529 | .{ ._, ._, .sub, .tmp1q, .tmp0q, ._, ._ }, |
| 101068 | .{ ._, ._, .mov, .dst0q, .tmp1q, ._, ._ }, | 103530 | .{ ._, ._, .mov, .mem(.dst0q), .tmp1q, ._, ._ }, |
| 101069 | .{ ._, ._, .sbb, .tmp4q, .tmp0q, ._, ._ }, | 103531 | .{ ._, ._, .sbb, .tmp4q, .tmp0q, ._, ._ }, |
| 101070 | .{ ._, ._, .mov, .memd(.dst0q, 8), .tmp4q, ._, ._ }, | 103532 | .{ ._, ._, .mov, .memd(.dst0q, 8), .tmp4q, ._, ._ }, |
| 101071 | .{ ._, ._, .sbb, .tmp1q, .tmp1q, ._, ._ }, | 103533 | .{ ._, ._, .sbb, .tmp1q, .tmp1q, ._, ._ }, |
| ... | @@ -101074,7 +103536,97 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101074,7 +103536,97 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101074 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, | 103536 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 101075 | } }, | 103537 | } }, |
| 101076 | }, .{ | 103538 | }, .{ |
| 101077 | .required_features = .{ .@"64bit", .sse, null, null }, | 103539 | .required_cc_abi = .win64, |
| | 103540 | .required_features = .{ .sse4_1, null, null, null }, |
| | 103541 | .src_constraints = .{ .{ .float = .dword }, .any, .any }, |
| | 103542 | .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any }, |
| | 103543 | .patterns = &.{ |
| | 103544 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| | 103545 | }, |
| | 103546 | .call_frame = .{ .alignment = .@"16" }, |
| | 103547 | .extra_temps = .{ |
| | 103548 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| | 103549 | .{ .type = .i64, .kind = .{ .reg = .rax } }, |
| | 103550 | .{ .type = .vector_4_f32, .kind = .{ .smax_mem = .{} } }, |
| | 103551 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunssfti" } }, |
| | 103552 | .{ .type = .i64, .kind = .{ .reg = .rdx } }, |
| | 103553 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, |
| | 103554 | .{ .type = .u32, .kind = .{ .reg = .ecx } }, |
| | 103555 | .unused, |
| | 103556 | .unused, |
| | 103557 | .unused, |
| | 103558 | .unused, |
| | 103559 | }, |
| | 103560 | .dst_temps = .{ .mem, .unused }, |
| | 103561 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 103562 | .each = .{ .once = &.{ |
| | 103563 | .{ ._, ._d, .mov, .tmp0d, .src0x, ._, ._ }, |
| | 103564 | .{ ._, ._, .lea, .tmp1p, .mem(.tmp2), ._, ._ }, |
| | 103565 | .{ ._, ._d, .movsx, .tmp0q, .tmp0d, ._, ._ }, |
| | 103566 | .{ ._, ._ps, .@"and", .src0x, .lea(.tmp1x), ._, ._ }, |
| | 103567 | .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ }, |
| | 103568 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 103569 | .{ ._, ._q, .mov, .tmp1q, .src0x, ._, ._ }, |
| | 103570 | .{ ._, .p_q, .extr, .tmp4q, .src0x, .ui(1), ._ }, |
| | 103571 | .{ ._, ._, .xor, .tmp1q, .tmp0q, ._, ._ }, |
| | 103572 | .{ ._, ._, .xor, .tmp4q, .tmp0q, ._, ._ }, |
| | 103573 | .{ ._, ._, .sub, .tmp1q, .tmp0q, ._, ._ }, |
| | 103574 | .{ ._, ._, .mov, .mem(.dst0q), .tmp1q, ._, ._ }, |
| | 103575 | .{ ._, ._, .sbb, .tmp4q, .tmp0q, ._, ._ }, |
| | 103576 | .{ ._, ._, .mov, .memd(.dst0q, 8), .tmp4q, ._, ._ }, |
| | 103577 | .{ ._, ._, .sbb, .tmp1q, .tmp1q, ._, ._ }, |
| | 103578 | .{ ._, ._, .lea, .tmp5p, .memd(.dst0, 16), ._, ._ }, |
| | 103579 | .{ ._, ._, .mov, .tmp6d, .sia(-2, .dst0, .add_size_div_8), ._, ._ }, |
| | 103580 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| | 103581 | } }, |
| | 103582 | }, .{ |
| | 103583 | .required_cc_abi = .win64, |
| | 103584 | .required_features = .{ .sse2, null, null, null }, |
| | 103585 | .src_constraints = .{ .{ .float = .dword }, .any, .any }, |
| | 103586 | .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any }, |
| | 103587 | .patterns = &.{ |
| | 103588 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| | 103589 | }, |
| | 103590 | .call_frame = .{ .alignment = .@"16" }, |
| | 103591 | .extra_temps = .{ |
| | 103592 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| | 103593 | .{ .type = .i64, .kind = .{ .reg = .rax } }, |
| | 103594 | .{ .type = .vector_4_f32, .kind = .{ .smax_mem = .{} } }, |
| | 103595 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunssfti" } }, |
| | 103596 | .{ .type = .i64, .kind = .{ .reg = .rdx } }, |
| | 103597 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, |
| | 103598 | .{ .type = .u32, .kind = .{ .reg = .ecx } }, |
| | 103599 | .unused, |
| | 103600 | .unused, |
| | 103601 | .unused, |
| | 103602 | .unused, |
| | 103603 | }, |
| | 103604 | .dst_temps = .{ .mem, .unused }, |
| | 103605 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 103606 | .each = .{ .once = &.{ |
| | 103607 | .{ ._, ._d, .mov, .tmp0d, .src0x, ._, ._ }, |
| | 103608 | .{ ._, ._, .lea, .tmp1p, .mem(.tmp2), ._, ._ }, |
| | 103609 | .{ ._, ._d, .movsx, .tmp0q, .tmp0d, ._, ._ }, |
| | 103610 | .{ ._, ._ps, .@"and", .src0x, .lea(.tmp1x), ._, ._ }, |
| | 103611 | .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ }, |
| | 103612 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 103613 | .{ ._, ._q, .mov, .tmp1q, .src0x, ._, ._ }, |
| | 103614 | .{ ._, .p_d, .shuf, .src0x, .src0x, .ui(0b11_10), ._ }, |
| | 103615 | .{ ._, ._q, .mov, .tmp4q, .src0x, ._, ._ }, |
| | 103616 | .{ ._, ._, .xor, .tmp1q, .tmp0q, ._, ._ }, |
| | 103617 | .{ ._, ._, .xor, .tmp4q, .tmp0q, ._, ._ }, |
| | 103618 | .{ ._, ._, .sub, .tmp1q, .tmp0q, ._, ._ }, |
| | 103619 | .{ ._, ._, .mov, .mem(.dst0q), .tmp1q, ._, ._ }, |
| | 103620 | .{ ._, ._, .sbb, .tmp4q, .tmp0q, ._, ._ }, |
| | 103621 | .{ ._, ._, .mov, .memd(.dst0q, 8), .tmp4q, ._, ._ }, |
| | 103622 | .{ ._, ._, .sbb, .tmp1q, .tmp1q, ._, ._ }, |
| | 103623 | .{ ._, ._, .lea, .tmp5p, .memd(.dst0, 16), ._, ._ }, |
| | 103624 | .{ ._, ._, .mov, .tmp6d, .sia(-2, .dst0, .add_size_div_8), ._, ._ }, |
| | 103625 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| | 103626 | } }, |
| | 103627 | }, .{ |
| | 103628 | .required_cc_abi = .sysv64, |
| | 103629 | .required_features = .{ .sse, null, null, null }, |
| 101078 | .src_constraints = .{ .{ .float = .dword }, .any, .any }, | 103630 | .src_constraints = .{ .{ .float = .dword }, .any, .any }, |
| 101079 | .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any }, | 103631 | .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any }, |
| 101080 | .patterns = &.{ | 103632 | .patterns = &.{ |
| ... | @@ -101082,7 +103634,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101082,7 +103634,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101082 | }, | 103634 | }, |
| 101083 | .call_frame = .{ .alignment = .@"16" }, | 103635 | .call_frame = .{ .alignment = .@"16" }, |
| 101084 | .extra_temps = .{ | 103636 | .extra_temps = .{ |
| 101085 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 103637 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 101086 | .{ .type = .i64, .kind = .{ .reg = .rax } }, | 103638 | .{ .type = .i64, .kind = .{ .reg = .rax } }, |
| 101087 | .{ .type = .vector_4_f32, .kind = .{ .smax_mem = .{} } }, | 103639 | .{ .type = .vector_4_f32, .kind = .{ .smax_mem = .{} } }, |
| 101088 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunssfti" } }, | 103640 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunssfti" } }, |
| ... | @@ -101106,7 +103658,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101106,7 +103658,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101106 | .{ ._, ._, .xor, .tmp1q, .tmp4q, ._, ._ }, | 103658 | .{ ._, ._, .xor, .tmp1q, .tmp4q, ._, ._ }, |
| 101107 | .{ ._, ._, .xor, .tmp5q, .tmp4q, ._, ._ }, | 103659 | .{ ._, ._, .xor, .tmp5q, .tmp4q, ._, ._ }, |
| 101108 | .{ ._, ._, .sub, .tmp1q, .tmp4q, ._, ._ }, | 103660 | .{ ._, ._, .sub, .tmp1q, .tmp4q, ._, ._ }, |
| 101109 | .{ ._, ._, .mov, .dst0q, .tmp1q, ._, ._ }, | 103661 | .{ ._, ._, .mov, .mem(.dst0q), .tmp1q, ._, ._ }, |
| 101110 | .{ ._, ._, .sbb, .tmp5q, .tmp4q, ._, ._ }, | 103662 | .{ ._, ._, .sbb, .tmp5q, .tmp4q, ._, ._ }, |
| 101111 | .{ ._, ._, .mov, .memd(.dst0q, 8), .tmp5q, ._, ._ }, | 103663 | .{ ._, ._, .mov, .memd(.dst0q, 8), .tmp5q, ._, ._ }, |
| 101112 | .{ ._, ._, .sbb, .tmp1q, .tmp1q, ._, ._ }, | 103664 | .{ ._, ._, .sbb, .tmp1q, .tmp1q, ._, ._ }, |
| ... | @@ -101115,17 +103667,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101115,17 +103667,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101115 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, | 103667 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 101116 | } }, | 103668 | } }, |
| 101117 | }, .{ | 103669 | }, .{ |
| 101118 | .required_features = .{ .@"64bit", .sse, null, null }, | 103670 | .required_cc_abi = .win64, |
| | 103671 | .required_features = .{ .avx, null, null, null }, |
| 101119 | .src_constraints = .{ .{ .float = .dword }, .any, .any }, | 103672 | .src_constraints = .{ .{ .float = .dword }, .any, .any }, |
| 101120 | .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .qword, .is = .qword } }, .any }, | 103673 | .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .qword, .is = .qword } }, .any }, |
| 101121 | .patterns = &.{ | 103674 | .patterns = &.{ |
| 101122 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 103675 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 101123 | }, | 103676 | }, |
| 101124 | .call_frame = .{ .alignment = .@"16" }, | 103677 | .call_frame = .{ .alignment = .@"16" }, |
| 101125 | .extra_temps = .{ | 103678 | .extra_temps = .{ |
| 101126 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunssfti" } }, | 103679 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunssfti" } }, |
| 101127 | .{ .type = .i64, .kind = .{ .reg = .rax } }, | 103680 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 101128 | .{ .type = .i64, .kind = .{ .reg = .rdx } }, | | |
| 101129 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 103681 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, |
| 101130 | .{ .type = .u32, .kind = .{ .reg = .ecx } }, | 103682 | .{ .type = .u32, .kind = .{ .reg = .ecx } }, |
| 101131 | .unused, | 103683 | .unused, |
| ... | @@ -101134,16 +103686,113 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101134,16 +103686,113 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101134 | .unused, | 103686 | .unused, |
| 101135 | .unused, | 103687 | .unused, |
| 101136 | .unused, | 103688 | .unused, |
| | 103689 | .unused, |
| 101137 | }, | 103690 | }, |
| 101138 | .dst_temps = .{ .mem, .unused }, | 103691 | .dst_temps = .{ .mem, .unused }, |
| 101139 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 103692 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 101140 | .each = .{ .once = &.{ | 103693 | .each = .{ .once = &.{ |
| 101141 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 103694 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 101142 | .{ ._, ._, .mov, .dst0q, .tmp1q, ._, ._ }, | 103695 | .{ ._, .v_dqa, .mov, .mem(.dst0x), .src0x, ._, ._ }, |
| 101143 | .{ ._, ._, .mov, .memd(.dst0q, 8), .tmp2q, ._, ._ }, | | |
| 101144 | .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ }, | 103696 | .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ }, |
| 101145 | .{ ._, ._, .lea, .tmp3p, .memd(.dst0, 16), ._, ._ }, | 103697 | .{ ._, ._, .lea, .tmp2p, .memd(.dst0, 16), ._, ._ }, |
| 101146 | .{ ._, ._, .mov, .tmp4d, .sia(-2, .dst0, .add_size_div_8), ._, ._ }, | 103698 | .{ ._, ._, .mov, .tmp3d, .sia(-2, .dst0, .add_size_div_8), ._, ._ }, |
| | 103699 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| | 103700 | } }, |
| | 103701 | }, .{ |
| | 103702 | .required_cc_abi = .win64, |
| | 103703 | .required_features = .{ .sse2, null, null, null }, |
| | 103704 | .src_constraints = .{ .{ .float = .dword }, .any, .any }, |
| | 103705 | .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .qword, .is = .qword } }, .any }, |
| | 103706 | .patterns = &.{ |
| | 103707 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| | 103708 | }, |
| | 103709 | .call_frame = .{ .alignment = .@"16" }, |
| | 103710 | .extra_temps = .{ |
| | 103711 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunssfti" } }, |
| | 103712 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| | 103713 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, |
| | 103714 | .{ .type = .u32, .kind = .{ .reg = .ecx } }, |
| | 103715 | .unused, |
| | 103716 | .unused, |
| | 103717 | .unused, |
| | 103718 | .unused, |
| | 103719 | .unused, |
| | 103720 | .unused, |
| | 103721 | .unused, |
| | 103722 | }, |
| | 103723 | .dst_temps = .{ .mem, .unused }, |
| | 103724 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 103725 | .each = .{ .once = &.{ |
| | 103726 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| | 103727 | .{ ._, ._dqa, .mov, .mem(.dst0x), .src0x, ._, ._ }, |
| | 103728 | .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ }, |
| | 103729 | .{ ._, ._, .lea, .tmp2p, .memd(.dst0, 16), ._, ._ }, |
| | 103730 | .{ ._, ._, .mov, .tmp3d, .sia(-2, .dst0, .add_size_div_8), ._, ._ }, |
| | 103731 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| | 103732 | } }, |
| | 103733 | }, .{ |
| | 103734 | .required_cc_abi = .sysv64, |
| | 103735 | .required_features = .{ .sse, null, null, null }, |
| | 103736 | .src_constraints = .{ .{ .float = .dword }, .any, .any }, |
| | 103737 | .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .qword, .is = .qword } }, .any }, |
| | 103738 | .patterns = &.{ |
| | 103739 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| | 103740 | }, |
| | 103741 | .call_frame = .{ .alignment = .@"16" }, |
| | 103742 | .extra_temps = .{ |
| | 103743 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunssfti" } }, |
| | 103744 | .{ .type = .i128, .kind = .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 103745 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, |
| | 103746 | .{ .type = .u32, .kind = .{ .reg = .ecx } }, |
| | 103747 | .unused, |
| | 103748 | .unused, |
| | 103749 | .unused, |
| | 103750 | .unused, |
| | 103751 | .unused, |
| | 103752 | .unused, |
| | 103753 | .unused, |
| | 103754 | }, |
| | 103755 | .dst_temps = .{ .mem, .unused }, |
| | 103756 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 103757 | .each = .{ .once = &.{ |
| | 103758 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| | 103759 | .{ ._, ._, .mov, .mem(.dst0q), .tmp1q0, ._, ._ }, |
| | 103760 | .{ ._, ._, .mov, .memd(.dst0q, 8), .tmp1q1, ._, ._ }, |
| | 103761 | .{ ._, ._, .xor, .tmp1d0, .tmp1d0, ._, ._ }, |
| | 103762 | .{ ._, ._, .lea, .tmp2p, .memd(.dst0, 16), ._, ._ }, |
| | 103763 | .{ ._, ._, .mov, .tmp3d, .sia(-2, .dst0, .add_size_div_8), ._, ._ }, |
| | 103764 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| | 103765 | } }, |
| | 103766 | }, .{ |
| | 103767 | .required_cc_abi = .win64, |
| | 103768 | .required_features = .{ .sse2, null, null, null }, |
| | 103769 | .src_constraints = .{ .{ .float = .dword }, .any, .any }, |
| | 103770 | .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .qword, .is = .qword } }, .any }, |
| | 103771 | .patterns = &.{ |
| | 103772 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| | 103773 | }, |
| | 103774 | .call_frame = .{ .alignment = .@"16" }, |
| | 103775 | .extra_temps = .{ |
| | 103776 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunssfti" } }, |
| | 103777 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| | 103778 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, |
| | 103779 | .{ .type = .u32, .kind = .{ .reg = .ecx } }, |
| | 103780 | .unused, |
| | 103781 | .unused, |
| | 103782 | .unused, |
| | 103783 | .unused, |
| | 103784 | .unused, |
| | 103785 | .unused, |
| | 103786 | .unused, |
| | 103787 | }, |
| | 103788 | .dst_temps = .{ .mem, .unused }, |
| | 103789 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 103790 | .each = .{ .once = &.{ |
| | 103791 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| | 103792 | .{ ._, ._ps, .mova, .mem(.dst0x), .src0x, ._, ._ }, |
| | 103793 | .{ ._, ._, .xor, .tmp1d, .tmp1d, ._, ._ }, |
| | 103794 | .{ ._, ._, .lea, .tmp2p, .memd(.dst0, 16), ._, ._ }, |
| | 103795 | .{ ._, ._, .mov, .tmp3d, .sia(-2, .dst0, .add_size_div_8), ._, ._ }, |
| 101147 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, | 103796 | .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ }, |
| 101148 | } }, | 103797 | } }, |
| 101149 | }, .{ | 103798 | }, .{ |
| ... | @@ -101208,7 +103857,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101208,7 +103857,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101208 | .{ .src = .{ .to_mem, .none, .none } }, | 103857 | .{ .src = .{ .to_mem, .none, .none } }, |
| 101209 | }, | 103858 | }, |
| 101210 | .extra_temps = .{ | 103859 | .extra_temps = .{ |
| 101211 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 103860 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 101212 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_trunc_mem = .{ .from = .dword, .to = .byte } } }, | 103861 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_trunc_mem = .{ .from = .dword, .to = .byte } } }, |
| 101213 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 103862 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 101214 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 103863 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| ... | @@ -101225,12 +103874,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101225,12 +103874,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101225 | .each = .{ .once = &.{ | 103874 | .each = .{ .once = &.{ |
| 101226 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 103875 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 101227 | .{ ._, .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, | 103876 | .{ ._, .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| 101228 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 103877 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_size), ._, ._ }, |
| 101229 | .{ .@"0:", .v_, .cvttps2dq, .tmp3x, .memsia(.src0x, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 103878 | .{ .@"0:", .v_, .cvttps2dq, .tmp3x, .memsi(.src0x, .@"4", .tmp0), ._, ._ }, |
| 101230 | .{ ._, .vp_b, .shuf, .tmp3x, .tmp3x, .tmp2x, ._ }, | 103879 | .{ ._, .vp_b, .shuf, .tmp3x, .tmp3x, .tmp2x, ._ }, |
| 101231 | .{ ._, .v_d, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 103880 | .{ ._, .v_d, .mov, .memi(.dst0d, .tmp0), .tmp3x, ._, ._ }, |
| 101232 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 103881 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 101233 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 103882 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 101234 | } }, | 103883 | } }, |
| 101235 | }, .{ | 103884 | }, .{ |
| 101236 | .required_features = .{ .ssse3, null, null, null }, | 103885 | .required_features = .{ .ssse3, null, null, null }, |
| ... | @@ -101240,7 +103889,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101240,7 +103889,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101240 | .{ .src = .{ .to_mem, .none, .none } }, | 103889 | .{ .src = .{ .to_mem, .none, .none } }, |
| 101241 | }, | 103890 | }, |
| 101242 | .extra_temps = .{ | 103891 | .extra_temps = .{ |
| 101243 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 103892 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 101244 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_trunc_mem = .{ .from = .dword, .to = .byte } } }, | 103893 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_trunc_mem = .{ .from = .dword, .to = .byte } } }, |
| 101245 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 103894 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 101246 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 103895 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| ... | @@ -101257,12 +103906,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101257,12 +103906,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101257 | .each = .{ .once = &.{ | 103906 | .each = .{ .once = &.{ |
| 101258 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 103907 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 101259 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, | 103908 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| 101260 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 103909 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_size), ._, ._ }, |
| 101261 | .{ .@"0:", ._, .cvttps2dq, .tmp3x, .memsia(.src0x, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 103910 | .{ .@"0:", ._, .cvttps2dq, .tmp3x, .memsi(.src0x, .@"4", .tmp0), ._, ._ }, |
| 101262 | .{ ._, .p_b, .shuf, .tmp3x, .tmp2x, ._, ._ }, | 103911 | .{ ._, .p_b, .shuf, .tmp3x, .tmp2x, ._, ._ }, |
| 101263 | .{ ._, ._d, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 103912 | .{ ._, ._d, .mov, .memi(.dst0d, .tmp0), .tmp3x, ._, ._ }, |
| 101264 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 103913 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 101265 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 103914 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 101266 | } }, | 103915 | } }, |
| 101267 | }, .{ | 103916 | }, .{ |
| 101268 | .required_features = .{ .sse, .slow_incdec, null, null }, | 103917 | .required_features = .{ .sse, .slow_incdec, null, null }, |
| ... | @@ -101272,7 +103921,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101272,7 +103921,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101272 | .{ .src = .{ .to_mem, .none, .none } }, | 103921 | .{ .src = .{ .to_mem, .none, .none } }, |
| 101273 | }, | 103922 | }, |
| 101274 | .extra_temps = .{ | 103923 | .extra_temps = .{ |
| 101275 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 103924 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 101276 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, | 103925 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 101277 | .unused, | 103926 | .unused, |
| 101278 | .unused, | 103927 | .unused, |
| ... | @@ -101287,11 +103936,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101287,11 +103936,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101287 | .dst_temps = .{ .mem, .unused }, | 103936 | .dst_temps = .{ .mem, .unused }, |
| 101288 | .clobbers = .{ .eflags = true }, | 103937 | .clobbers = .{ .eflags = true }, |
| 101289 | .each = .{ .once = &.{ | 103938 | .each = .{ .once = &.{ |
| 101290 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 103939 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 101291 | .{ .@"0:", ._, .cvttss2si, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 103940 | .{ .@"0:", ._, .cvttss2si, .tmp1d, .memsi(.src0d, .@"4", .tmp0), ._, ._ }, |
| 101292 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ }, | 103941 | .{ ._, ._, .mov, .memi(.dst0b, .tmp0), .tmp1b, ._, ._ }, |
| 101293 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 103942 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 101294 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 103943 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 101295 | } }, | 103944 | } }, |
| 101296 | }, .{ | 103945 | }, .{ |
| 101297 | .required_features = .{ .sse, null, null, null }, | 103946 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -101301,7 +103950,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101301,7 +103950,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101301 | .{ .src = .{ .to_mem, .none, .none } }, | 103950 | .{ .src = .{ .to_mem, .none, .none } }, |
| 101302 | }, | 103951 | }, |
| 101303 | .extra_temps = .{ | 103952 | .extra_temps = .{ |
| 101304 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 103953 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 101305 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, | 103954 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 101306 | .unused, | 103955 | .unused, |
| 101307 | .unused, | 103956 | .unused, |
| ... | @@ -101316,11 +103965,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101316,11 +103965,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101316 | .dst_temps = .{ .mem, .unused }, | 103965 | .dst_temps = .{ .mem, .unused }, |
| 101317 | .clobbers = .{ .eflags = true }, | 103966 | .clobbers = .{ .eflags = true }, |
| 101318 | .each = .{ .once = &.{ | 103967 | .each = .{ .once = &.{ |
| 101319 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 103968 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 101320 | .{ .@"0:", ._, .cvttss2si, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 103969 | .{ .@"0:", ._, .cvttss2si, .tmp1d, .memsi(.src0d, .@"4", .tmp0), ._, ._ }, |
| 101321 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ }, | 103970 | .{ ._, ._, .mov, .memi(.dst0b, .tmp0), .tmp1b, ._, ._ }, |
| 101322 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 103971 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 101323 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 103972 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 101324 | } }, | 103973 | } }, |
| 101325 | }, .{ | 103974 | }, .{ |
| 101326 | .required_features = .{ .avx, .slow_incdec, null, null }, | 103975 | .required_features = .{ .avx, .slow_incdec, null, null }, |
| ... | @@ -101331,10 +103980,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101331,10 +103980,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101331 | }, | 103980 | }, |
| 101332 | .call_frame = .{ .alignment = .@"16" }, | 103981 | .call_frame = .{ .alignment = .@"16" }, |
| 101333 | .extra_temps = .{ | 103982 | .extra_temps = .{ |
| 101334 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 103983 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 101335 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 103984 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 101336 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfsi" } }, | 103985 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfsi" } }, |
| 101337 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 103986 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 101338 | .unused, | 103987 | .unused, |
| 101339 | .unused, | 103988 | .unused, |
| 101340 | .unused, | 103989 | .unused, |
| ... | @@ -101346,12 +103995,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101346,12 +103995,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101346 | .dst_temps = .{ .mem, .unused }, | 103995 | .dst_temps = .{ .mem, .unused }, |
| 101347 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 103996 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 101348 | .each = .{ .once = &.{ | 103997 | .each = .{ .once = &.{ |
| 101349 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 103998 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 101350 | .{ .@"0:", .v_ss, .mov, .tmp1x, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 103999 | .{ .@"0:", .v_ss, .mov, .tmp1x, .memsi(.src0d, .@"4", .tmp0), ._, ._ }, |
| 101351 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 104000 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 101352 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp3b, ._, ._ }, | 104001 | .{ ._, ._, .mov, .memi(.dst0b, .tmp0), .tmp3b, ._, ._ }, |
| 101353 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 104002 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 101354 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 104003 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 101355 | } }, | 104004 | } }, |
| 101356 | }, .{ | 104005 | }, .{ |
| 101357 | .required_features = .{ .avx, null, null, null }, | 104006 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -101362,10 +104011,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101362,10 +104011,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101362 | }, | 104011 | }, |
| 101363 | .call_frame = .{ .alignment = .@"16" }, | 104012 | .call_frame = .{ .alignment = .@"16" }, |
| 101364 | .extra_temps = .{ | 104013 | .extra_temps = .{ |
| 101365 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 104014 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 101366 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 104015 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 101367 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfsi" } }, | 104016 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfsi" } }, |
| 101368 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 104017 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 101369 | .unused, | 104018 | .unused, |
| 101370 | .unused, | 104019 | .unused, |
| 101371 | .unused, | 104020 | .unused, |
| ... | @@ -101377,12 +104026,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101377,12 +104026,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101377 | .dst_temps = .{ .mem, .unused }, | 104026 | .dst_temps = .{ .mem, .unused }, |
| 101378 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 104027 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 101379 | .each = .{ .once = &.{ | 104028 | .each = .{ .once = &.{ |
| 101380 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 104029 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 101381 | .{ .@"0:", .v_ss, .mov, .tmp1x, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 104030 | .{ .@"0:", .v_ss, .mov, .tmp1x, .memsi(.src0d, .@"4", .tmp0), ._, ._ }, |
| 101382 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 104031 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 101383 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp3b, ._, ._ }, | 104032 | .{ ._, ._, .mov, .memi(.dst0b, .tmp0), .tmp3b, ._, ._ }, |
| 101384 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 104033 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 101385 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 104034 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 101386 | } }, | 104035 | } }, |
| 101387 | }, .{ | 104036 | }, .{ |
| 101388 | .required_features = .{ .sse, .slow_incdec, null, null }, | 104037 | .required_features = .{ .sse, .slow_incdec, null, null }, |
| ... | @@ -101393,10 +104042,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101393,10 +104042,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101393 | }, | 104042 | }, |
| 101394 | .call_frame = .{ .alignment = .@"16" }, | 104043 | .call_frame = .{ .alignment = .@"16" }, |
| 101395 | .extra_temps = .{ | 104044 | .extra_temps = .{ |
| 101396 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 104045 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 101397 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 104046 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 101398 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfsi" } }, | 104047 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfsi" } }, |
| 101399 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 104048 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 101400 | .unused, | 104049 | .unused, |
| 101401 | .unused, | 104050 | .unused, |
| 101402 | .unused, | 104051 | .unused, |
| ... | @@ -101408,12 +104057,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101408,12 +104057,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101408 | .dst_temps = .{ .mem, .unused }, | 104057 | .dst_temps = .{ .mem, .unused }, |
| 101409 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 104058 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 101410 | .each = .{ .once = &.{ | 104059 | .each = .{ .once = &.{ |
| 101411 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 104060 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 101412 | .{ .@"0:", ._ss, .mov, .tmp1x, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 104061 | .{ .@"0:", ._ss, .mov, .tmp1x, .memsi(.src0d, .@"4", .tmp0), ._, ._ }, |
| 101413 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 104062 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 101414 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp3b, ._, ._ }, | 104063 | .{ ._, ._, .mov, .memi(.dst0b, .tmp0), .tmp3b, ._, ._ }, |
| 101415 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 104064 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 101416 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 104065 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 101417 | } }, | 104066 | } }, |
| 101418 | }, .{ | 104067 | }, .{ |
| 101419 | .required_features = .{ .sse, null, null, null }, | 104068 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -101424,10 +104073,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101424,10 +104073,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101424 | }, | 104073 | }, |
| 101425 | .call_frame = .{ .alignment = .@"16" }, | 104074 | .call_frame = .{ .alignment = .@"16" }, |
| 101426 | .extra_temps = .{ | 104075 | .extra_temps = .{ |
| 101427 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 104076 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 101428 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 104077 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 101429 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfsi" } }, | 104078 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfsi" } }, |
| 101430 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 104079 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 101431 | .unused, | 104080 | .unused, |
| 101432 | .unused, | 104081 | .unused, |
| 101433 | .unused, | 104082 | .unused, |
| ... | @@ -101439,12 +104088,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101439,12 +104088,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101439 | .dst_temps = .{ .mem, .unused }, | 104088 | .dst_temps = .{ .mem, .unused }, |
| 101440 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 104089 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 101441 | .each = .{ .once = &.{ | 104090 | .each = .{ .once = &.{ |
| 101442 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 104091 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 101443 | .{ .@"0:", ._ss, .mov, .tmp1x, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 104092 | .{ .@"0:", ._ss, .mov, .tmp1x, .memsi(.src0d, .@"4", .tmp0), ._, ._ }, |
| 101444 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 104093 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 101445 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp3b, ._, ._ }, | 104094 | .{ ._, ._, .mov, .memi(.dst0b, .tmp0), .tmp3b, ._, ._ }, |
| 101446 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 104095 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 101447 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 104096 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 101448 | } }, | 104097 | } }, |
| 101449 | }, .{ | 104098 | }, .{ |
| 101450 | .required_features = .{ .avx, null, null, null }, | 104099 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -101506,7 +104155,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101506,7 +104155,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101506 | .{ .src = .{ .to_mem, .none, .none } }, | 104155 | .{ .src = .{ .to_mem, .none, .none } }, |
| 101507 | }, | 104156 | }, |
| 101508 | .extra_temps = .{ | 104157 | .extra_temps = .{ |
| 101509 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 104158 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 101510 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, | 104159 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| 101511 | .unused, | 104160 | .unused, |
| 101512 | .unused, | 104161 | .unused, |
| ... | @@ -101521,12 +104170,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101521,12 +104170,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101521 | .dst_temps = .{ .mem, .unused }, | 104170 | .dst_temps = .{ .mem, .unused }, |
| 101522 | .clobbers = .{ .eflags = true }, | 104171 | .clobbers = .{ .eflags = true }, |
| 101523 | .each = .{ .once = &.{ | 104172 | .each = .{ .once = &.{ |
| 101524 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 104173 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_size), ._, ._ }, |
| 101525 | .{ .@"0:", .v_, .cvttps2dq, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 104174 | .{ .@"0:", .v_, .cvttps2dq, .tmp1x, .memsi(.src0x, .@"2", .tmp0), ._, ._ }, |
| 101526 | .{ ._, .vp_w, .ackssd, .tmp1x, .tmp1x, .tmp1x, ._ }, | 104175 | .{ ._, .vp_w, .ackssd, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| 101527 | .{ ._, .v_q, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 104176 | .{ ._, .v_q, .mov, .memi(.dst0q, .tmp0), .tmp1x, ._, ._ }, |
| 101528 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 104177 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 101529 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 104178 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 101530 | } }, | 104179 | } }, |
| 101531 | }, .{ | 104180 | }, .{ |
| 101532 | .required_features = .{ .sse2, null, null, null }, | 104181 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -101536,7 +104185,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101536,7 +104185,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101536 | .{ .src = .{ .to_mem, .none, .none } }, | 104185 | .{ .src = .{ .to_mem, .none, .none } }, |
| 101537 | }, | 104186 | }, |
| 101538 | .extra_temps = .{ | 104187 | .extra_temps = .{ |
| 101539 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 104188 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 101540 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, | 104189 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| 101541 | .unused, | 104190 | .unused, |
| 101542 | .unused, | 104191 | .unused, |
| ... | @@ -101551,12 +104200,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101551,12 +104200,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101551 | .dst_temps = .{ .mem, .unused }, | 104200 | .dst_temps = .{ .mem, .unused }, |
| 101552 | .clobbers = .{ .eflags = true }, | 104201 | .clobbers = .{ .eflags = true }, |
| 101553 | .each = .{ .once = &.{ | 104202 | .each = .{ .once = &.{ |
| 101554 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 104203 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_size), ._, ._ }, |
| 101555 | .{ .@"0:", ._, .cvttps2dq, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 104204 | .{ .@"0:", ._, .cvttps2dq, .tmp1x, .memsi(.src0x, .@"2", .tmp0), ._, ._ }, |
| 101556 | .{ ._, .p_w, .ackssd, .tmp1x, .tmp1x, ._, ._ }, | 104205 | .{ ._, .p_w, .ackssd, .tmp1x, .tmp1x, ._, ._ }, |
| 101557 | .{ ._, ._q, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 104206 | .{ ._, ._q, .mov, .memi(.dst0q, .tmp0), .tmp1x, ._, ._ }, |
| 101558 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 104207 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 101559 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 104208 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 101560 | } }, | 104209 | } }, |
| 101561 | }, .{ | 104210 | }, .{ |
| 101562 | .required_features = .{ .avx, null, null, null }, | 104211 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -101566,7 +104215,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101566,7 +104215,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101566 | .{ .src = .{ .to_mem, .none, .none } }, | 104215 | .{ .src = .{ .to_mem, .none, .none } }, |
| 101567 | }, | 104216 | }, |
| 101568 | .extra_temps = .{ | 104217 | .extra_temps = .{ |
| 101569 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 104218 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 101570 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, | 104219 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 101571 | .unused, | 104220 | .unused, |
| 101572 | .unused, | 104221 | .unused, |
| ... | @@ -101581,12 +104230,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101581,12 +104230,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101581 | .dst_temps = .{ .mem, .unused }, | 104230 | .dst_temps = .{ .mem, .unused }, |
| 101582 | .clobbers = .{ .eflags = true }, | 104231 | .clobbers = .{ .eflags = true }, |
| 101583 | .each = .{ .once = &.{ | 104232 | .each = .{ .once = &.{ |
| 101584 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 104233 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_size), ._, ._ }, |
| 101585 | .{ .@"0:", .v_, .cvttps2dq, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 104234 | .{ .@"0:", .v_, .cvttps2dq, .tmp1x, .memsi(.src0x, .@"2", .tmp0), ._, ._ }, |
| 101586 | .{ ._, .vp_w, .ackusd, .tmp1x, .tmp1x, .tmp1x, ._ }, | 104235 | .{ ._, .vp_w, .ackusd, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| 101587 | .{ ._, .v_q, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 104236 | .{ ._, .v_q, .mov, .memi(.dst0q, .tmp0), .tmp1x, ._, ._ }, |
| 101588 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 104237 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 101589 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 104238 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 101590 | } }, | 104239 | } }, |
| 101591 | }, .{ | 104240 | }, .{ |
| 101592 | .required_features = .{ .sse4_1, null, null, null }, | 104241 | .required_features = .{ .sse4_1, null, null, null }, |
| ... | @@ -101596,7 +104245,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101596,7 +104245,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101596 | .{ .src = .{ .to_mem, .none, .none } }, | 104245 | .{ .src = .{ .to_mem, .none, .none } }, |
| 101597 | }, | 104246 | }, |
| 101598 | .extra_temps = .{ | 104247 | .extra_temps = .{ |
| 101599 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 104248 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 101600 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, | 104249 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 101601 | .unused, | 104250 | .unused, |
| 101602 | .unused, | 104251 | .unused, |
| ... | @@ -101611,12 +104260,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101611,12 +104260,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101611 | .dst_temps = .{ .mem, .unused }, | 104260 | .dst_temps = .{ .mem, .unused }, |
| 101612 | .clobbers = .{ .eflags = true }, | 104261 | .clobbers = .{ .eflags = true }, |
| 101613 | .each = .{ .once = &.{ | 104262 | .each = .{ .once = &.{ |
| 101614 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 104263 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_size), ._, ._ }, |
| 101615 | .{ .@"0:", ._, .cvttps2dq, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 104264 | .{ .@"0:", ._, .cvttps2dq, .tmp1x, .memsi(.src0x, .@"2", .tmp0), ._, ._ }, |
| 101616 | .{ ._, .p_w, .ackusd, .tmp1x, .tmp1x, ._, ._ }, | 104265 | .{ ._, .p_w, .ackusd, .tmp1x, .tmp1x, ._, ._ }, |
| 101617 | .{ ._, ._q, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 104266 | .{ ._, ._q, .mov, .memi(.dst0q, .tmp0), .tmp1x, ._, ._ }, |
| 101618 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 104267 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 101619 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 104268 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 101620 | } }, | 104269 | } }, |
| 101621 | }, .{ | 104270 | }, .{ |
| 101622 | .required_features = .{ .avx, null, null, null }, | 104271 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -101627,10 +104276,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101627,10 +104276,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101627 | }, | 104276 | }, |
| 101628 | .call_frame = .{ .alignment = .@"16" }, | 104277 | .call_frame = .{ .alignment = .@"16" }, |
| 101629 | .extra_temps = .{ | 104278 | .extra_temps = .{ |
| 101630 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 104279 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 101631 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 104280 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 101632 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfsi" } }, | 104281 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfsi" } }, |
| 101633 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 104282 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 101634 | .unused, | 104283 | .unused, |
| 101635 | .unused, | 104284 | .unused, |
| 101636 | .unused, | 104285 | .unused, |
| ... | @@ -101642,12 +104291,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101642,12 +104291,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101642 | .dst_temps = .{ .mem, .unused }, | 104291 | .dst_temps = .{ .mem, .unused }, |
| 101643 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 104292 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 101644 | .each = .{ .once = &.{ | 104293 | .each = .{ .once = &.{ |
| 101645 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 104294 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 101646 | .{ .@"0:", .v_ss, .mov, .tmp1x, .memsia(.src0d, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 104295 | .{ .@"0:", .v_ss, .mov, .tmp1x, .memsi(.src0d, .@"2", .tmp0), ._, ._ }, |
| 101647 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 104296 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 101648 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3w, ._, ._ }, | 104297 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp3w, ._, ._ }, |
| 101649 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 104298 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 101650 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 104299 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 101651 | } }, | 104300 | } }, |
| 101652 | }, .{ | 104301 | }, .{ |
| 101653 | .required_features = .{ .sse, null, null, null }, | 104302 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -101658,10 +104307,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101658,10 +104307,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101658 | }, | 104307 | }, |
| 101659 | .call_frame = .{ .alignment = .@"16" }, | 104308 | .call_frame = .{ .alignment = .@"16" }, |
| 101660 | .extra_temps = .{ | 104309 | .extra_temps = .{ |
| 101661 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 104310 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 101662 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 104311 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 101663 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfsi" } }, | 104312 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfsi" } }, |
| 101664 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 104313 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 101665 | .unused, | 104314 | .unused, |
| 101666 | .unused, | 104315 | .unused, |
| 101667 | .unused, | 104316 | .unused, |
| ... | @@ -101673,12 +104322,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101673,12 +104322,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101673 | .dst_temps = .{ .mem, .unused }, | 104322 | .dst_temps = .{ .mem, .unused }, |
| 101674 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 104323 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 101675 | .each = .{ .once = &.{ | 104324 | .each = .{ .once = &.{ |
| 101676 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 104325 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 101677 | .{ .@"0:", ._ss, .mov, .tmp1x, .memsia(.src0d, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 104326 | .{ .@"0:", ._ss, .mov, .tmp1x, .memsi(.src0d, .@"2", .tmp0), ._, ._ }, |
| 101678 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 104327 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 101679 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3w, ._, ._ }, | 104328 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp3w, ._, ._ }, |
| 101680 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 104329 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 101681 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 104330 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 101682 | } }, | 104331 | } }, |
| 101683 | }, .{ | 104332 | }, .{ |
| 101684 | .required_features = .{ .avx, null, null, null }, | 104333 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -101712,7 +104361,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101712,7 +104361,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101712 | .{ .src = .{ .to_mem, .none, .none } }, | 104361 | .{ .src = .{ .to_mem, .none, .none } }, |
| 101713 | }, | 104362 | }, |
| 101714 | .extra_temps = .{ | 104363 | .extra_temps = .{ |
| 101715 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 104364 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 101716 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 104365 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 101717 | .unused, | 104366 | .unused, |
| 101718 | .unused, | 104367 | .unused, |
| ... | @@ -101727,11 +104376,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101727,11 +104376,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101727 | .dst_temps = .{ .mem, .unused }, | 104376 | .dst_temps = .{ .mem, .unused }, |
| 101728 | .clobbers = .{ .eflags = true }, | 104377 | .clobbers = .{ .eflags = true }, |
| 101729 | .each = .{ .once = &.{ | 104378 | .each = .{ .once = &.{ |
| 101730 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 104379 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ }, |
| 101731 | .{ .@"0:", .v_, .cvttps2dq, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 104380 | .{ .@"0:", .v_, .cvttps2dq, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 101732 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 104381 | .{ ._, .v_dqa, .mov, .memi(.dst0x, .tmp0), .tmp1x, ._, ._ }, |
| 101733 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 104382 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 101734 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 104383 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 101735 | } }, | 104384 | } }, |
| 101736 | }, .{ | 104385 | }, .{ |
| 101737 | .required_features = .{ .sse2, null, null, null }, | 104386 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -101741,7 +104390,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101741,7 +104390,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101741 | .{ .src = .{ .to_mem, .none, .none } }, | 104390 | .{ .src = .{ .to_mem, .none, .none } }, |
| 101742 | }, | 104391 | }, |
| 101743 | .extra_temps = .{ | 104392 | .extra_temps = .{ |
| 101744 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 104393 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 101745 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 104394 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 101746 | .unused, | 104395 | .unused, |
| 101747 | .unused, | 104396 | .unused, |
| ... | @@ -101756,11 +104405,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101756,11 +104405,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101756 | .dst_temps = .{ .mem, .unused }, | 104405 | .dst_temps = .{ .mem, .unused }, |
| 101757 | .clobbers = .{ .eflags = true }, | 104406 | .clobbers = .{ .eflags = true }, |
| 101758 | .each = .{ .once = &.{ | 104407 | .each = .{ .once = &.{ |
| 101759 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 104408 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ }, |
| 101760 | .{ .@"0:", ._, .cvttps2dq, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 104409 | .{ .@"0:", ._, .cvttps2dq, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 101761 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 104410 | .{ ._, ._dqa, .mov, .memi(.dst0x, .tmp0), .tmp1x, ._, ._ }, |
| 101762 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 104411 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 101763 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 104412 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 101764 | } }, | 104413 | } }, |
| 101765 | }, .{ | 104414 | }, .{ |
| 101766 | .required_features = .{ .avx, null, null, null }, | 104415 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -101771,10 +104420,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101771,10 +104420,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101771 | }, | 104420 | }, |
| 101772 | .call_frame = .{ .alignment = .@"16" }, | 104421 | .call_frame = .{ .alignment = .@"16" }, |
| 101773 | .extra_temps = .{ | 104422 | .extra_temps = .{ |
| 101774 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 104423 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 101775 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 104424 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 101776 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfsi" } }, | 104425 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfsi" } }, |
| 101777 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 104426 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 101778 | .unused, | 104427 | .unused, |
| 101779 | .unused, | 104428 | .unused, |
| 101780 | .unused, | 104429 | .unused, |
| ... | @@ -101786,12 +104435,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101786,12 +104435,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101786 | .dst_temps = .{ .mem, .unused }, | 104435 | .dst_temps = .{ .mem, .unused }, |
| 101787 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 104436 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 101788 | .each = .{ .once = &.{ | 104437 | .each = .{ .once = &.{ |
| 101789 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 104438 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 101790 | .{ .@"0:", .v_ss, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 104439 | .{ .@"0:", .v_ss, .mov, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 101791 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 104440 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 101792 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3d, ._, ._ }, | 104441 | .{ ._, ._, .mov, .memi(.dst0d, .tmp0), .tmp3d, ._, ._ }, |
| 101793 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 104442 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 101794 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 104443 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 101795 | } }, | 104444 | } }, |
| 101796 | }, .{ | 104445 | }, .{ |
| 101797 | .required_features = .{ .avx, null, null, null }, | 104446 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -101802,10 +104451,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101802,10 +104451,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101802 | }, | 104451 | }, |
| 101803 | .call_frame = .{ .alignment = .@"16" }, | 104452 | .call_frame = .{ .alignment = .@"16" }, |
| 101804 | .extra_temps = .{ | 104453 | .extra_temps = .{ |
| 101805 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 104454 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 101806 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 104455 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 101807 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunssfsi" } }, | 104456 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunssfsi" } }, |
| 101808 | .{ .type = .u32, .kind = .{ .reg = .eax } }, | 104457 | .{ .type = .u32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 101809 | .unused, | 104458 | .unused, |
| 101810 | .unused, | 104459 | .unused, |
| 101811 | .unused, | 104460 | .unused, |
| ... | @@ -101817,12 +104466,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101817,12 +104466,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101817 | .dst_temps = .{ .mem, .unused }, | 104466 | .dst_temps = .{ .mem, .unused }, |
| 101818 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 104467 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 101819 | .each = .{ .once = &.{ | 104468 | .each = .{ .once = &.{ |
| 101820 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 104469 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 101821 | .{ .@"0:", .v_ss, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 104470 | .{ .@"0:", .v_ss, .mov, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 101822 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 104471 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 101823 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3d, ._, ._ }, | 104472 | .{ ._, ._, .mov, .memi(.dst0d, .tmp0), .tmp3d, ._, ._ }, |
| 101824 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 104473 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 101825 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 104474 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 101826 | } }, | 104475 | } }, |
| 101827 | }, .{ | 104476 | }, .{ |
| 101828 | .required_features = .{ .sse, null, null, null }, | 104477 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -101833,10 +104482,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101833,10 +104482,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101833 | }, | 104482 | }, |
| 101834 | .call_frame = .{ .alignment = .@"16" }, | 104483 | .call_frame = .{ .alignment = .@"16" }, |
| 101835 | .extra_temps = .{ | 104484 | .extra_temps = .{ |
| 101836 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 104485 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 101837 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 104486 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 101838 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfsi" } }, | 104487 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfsi" } }, |
| 101839 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 104488 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 101840 | .unused, | 104489 | .unused, |
| 101841 | .unused, | 104490 | .unused, |
| 101842 | .unused, | 104491 | .unused, |
| ... | @@ -101848,12 +104497,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101848,12 +104497,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101848 | .dst_temps = .{ .mem, .unused }, | 104497 | .dst_temps = .{ .mem, .unused }, |
| 101849 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 104498 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 101850 | .each = .{ .once = &.{ | 104499 | .each = .{ .once = &.{ |
| 101851 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 104500 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 101852 | .{ .@"0:", ._ss, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 104501 | .{ .@"0:", ._ss, .mov, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 101853 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 104502 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 101854 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3d, ._, ._ }, | 104503 | .{ ._, ._, .mov, .memi(.dst0d, .tmp0), .tmp3d, ._, ._ }, |
| 101855 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 104504 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 101856 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 104505 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 101857 | } }, | 104506 | } }, |
| 101858 | }, .{ | 104507 | }, .{ |
| 101859 | .required_features = .{ .sse, null, null, null }, | 104508 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -101864,10 +104513,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101864,10 +104513,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101864 | }, | 104513 | }, |
| 101865 | .call_frame = .{ .alignment = .@"16" }, | 104514 | .call_frame = .{ .alignment = .@"16" }, |
| 101866 | .extra_temps = .{ | 104515 | .extra_temps = .{ |
| 101867 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 104516 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 101868 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 104517 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 101869 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunssfsi" } }, | 104518 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunssfsi" } }, |
| 101870 | .{ .type = .u32, .kind = .{ .reg = .eax } }, | 104519 | .{ .type = .u32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 101871 | .unused, | 104520 | .unused, |
| 101872 | .unused, | 104521 | .unused, |
| 101873 | .unused, | 104522 | .unused, |
| ... | @@ -101879,12 +104528,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101879,12 +104528,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101879 | .dst_temps = .{ .mem, .unused }, | 104528 | .dst_temps = .{ .mem, .unused }, |
| 101880 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 104529 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 101881 | .each = .{ .once = &.{ | 104530 | .each = .{ .once = &.{ |
| 101882 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 104531 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 101883 | .{ .@"0:", ._ss, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 104532 | .{ .@"0:", ._ss, .mov, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 101884 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 104533 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 101885 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3d, ._, ._ }, | 104534 | .{ ._, ._, .mov, .memi(.dst0d, .tmp0), .tmp3d, ._, ._ }, |
| 101886 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 104535 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 101887 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 104536 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 101888 | } }, | 104537 | } }, |
| 101889 | }, .{ | 104538 | }, .{ |
| 101890 | .required_features = .{ .@"64bit", .avx, null, null }, | 104539 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | @@ -101894,7 +104543,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101894,7 +104543,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101894 | .{ .src = .{ .to_mem, .none, .none } }, | 104543 | .{ .src = .{ .to_mem, .none, .none } }, |
| 101895 | }, | 104544 | }, |
| 101896 | .extra_temps = .{ | 104545 | .extra_temps = .{ |
| 101897 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 104546 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 101898 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, | 104547 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 101899 | .unused, | 104548 | .unused, |
| 101900 | .unused, | 104549 | .unused, |
| ... | @@ -101909,11 +104558,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101909,11 +104558,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101909 | .dst_temps = .{ .mem, .unused }, | 104558 | .dst_temps = .{ .mem, .unused }, |
| 101910 | .clobbers = .{ .eflags = true }, | 104559 | .clobbers = .{ .eflags = true }, |
| 101911 | .each = .{ .once = &.{ | 104560 | .each = .{ .once = &.{ |
| 101912 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 104561 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 101913 | .{ .@"0:", .v_, .cvttss2si, .tmp1q, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 104562 | .{ .@"0:", .v_, .cvttss2si, .tmp1q, .memi(.src0d, .tmp0), ._, ._ }, |
| 101914 | .{ ._, ._, .mov, .memsia(.dst0q, .@"2", .tmp0, .add_unaligned_size), .tmp1q, ._, ._ }, | 104563 | .{ ._, ._, .mov, .memsi(.dst0q, .@"2", .tmp0), .tmp1q, ._, ._ }, |
| 101915 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 104564 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 101916 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 104565 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 101917 | } }, | 104566 | } }, |
| 101918 | }, .{ | 104567 | }, .{ |
| 101919 | .required_features = .{ .@"64bit", .sse, null, null }, | 104568 | .required_features = .{ .@"64bit", .sse, null, null }, |
| ... | @@ -101923,7 +104572,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101923,7 +104572,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101923 | .{ .src = .{ .to_mem, .none, .none } }, | 104572 | .{ .src = .{ .to_mem, .none, .none } }, |
| 101924 | }, | 104573 | }, |
| 101925 | .extra_temps = .{ | 104574 | .extra_temps = .{ |
| 101926 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 104575 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 101927 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, | 104576 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 101928 | .unused, | 104577 | .unused, |
| 101929 | .unused, | 104578 | .unused, |
| ... | @@ -101938,11 +104587,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101938,11 +104587,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101938 | .dst_temps = .{ .mem, .unused }, | 104587 | .dst_temps = .{ .mem, .unused }, |
| 101939 | .clobbers = .{ .eflags = true }, | 104588 | .clobbers = .{ .eflags = true }, |
| 101940 | .each = .{ .once = &.{ | 104589 | .each = .{ .once = &.{ |
| 101941 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 104590 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 101942 | .{ .@"0:", ._, .cvttss2si, .tmp1q, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 104591 | .{ .@"0:", ._, .cvttss2si, .tmp1q, .memi(.src0d, .tmp0), ._, ._ }, |
| 101943 | .{ ._, ._, .mov, .memsia(.dst0q, .@"2", .tmp0, .add_unaligned_size), .tmp1q, ._, ._ }, | 104592 | .{ ._, ._, .mov, .memsi(.dst0q, .@"2", .tmp0), .tmp1q, ._, ._ }, |
| 101944 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 104593 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 101945 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 104594 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 101946 | } }, | 104595 | } }, |
| 101947 | }, .{ | 104596 | }, .{ |
| 101948 | .required_features = .{ .avx, null, null, null }, | 104597 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -101953,10 +104602,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101953,10 +104602,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101953 | }, | 104602 | }, |
| 101954 | .call_frame = .{ .alignment = .@"16" }, | 104603 | .call_frame = .{ .alignment = .@"16" }, |
| 101955 | .extra_temps = .{ | 104604 | .extra_temps = .{ |
| 101956 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 104605 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 101957 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 104606 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 101958 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfdi" } }, | 104607 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfdi" } }, |
| 101959 | .{ .type = .i64, .kind = .{ .reg = .rax } }, | 104608 | .{ .type = .i64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 101960 | .unused, | 104609 | .unused, |
| 101961 | .unused, | 104610 | .unused, |
| 101962 | .unused, | 104611 | .unused, |
| ... | @@ -101968,12 +104617,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101968,12 +104617,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101968 | .dst_temps = .{ .mem, .unused }, | 104617 | .dst_temps = .{ .mem, .unused }, |
| 101969 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 104618 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 101970 | .each = .{ .once = &.{ | 104619 | .each = .{ .once = &.{ |
| 101971 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 104620 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 101972 | .{ .@"0:", .v_ss, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 104621 | .{ .@"0:", .v_ss, .mov, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 101973 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 104622 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 101974 | .{ ._, ._, .mov, .memsia(.dst0q, .@"2", .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 104623 | .{ ._, ._, .mov, .memsi(.dst0q, .@"2", .tmp0), .tmp3q, ._, ._ }, |
| 101975 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 104624 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 101976 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 104625 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 101977 | } }, | 104626 | } }, |
| 101978 | }, .{ | 104627 | }, .{ |
| 101979 | .required_features = .{ .avx, null, null, null }, | 104628 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -101984,10 +104633,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101984,10 +104633,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101984 | }, | 104633 | }, |
| 101985 | .call_frame = .{ .alignment = .@"16" }, | 104634 | .call_frame = .{ .alignment = .@"16" }, |
| 101986 | .extra_temps = .{ | 104635 | .extra_temps = .{ |
| 101987 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 104636 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 101988 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 104637 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 101989 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunssfdi" } }, | 104638 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunssfdi" } }, |
| 101990 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 104639 | .{ .type = .u64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 101991 | .unused, | 104640 | .unused, |
| 101992 | .unused, | 104641 | .unused, |
| 101993 | .unused, | 104642 | .unused, |
| ... | @@ -101999,12 +104648,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101999,12 +104648,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101999 | .dst_temps = .{ .mem, .unused }, | 104648 | .dst_temps = .{ .mem, .unused }, |
| 102000 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 104649 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 102001 | .each = .{ .once = &.{ | 104650 | .each = .{ .once = &.{ |
| 102002 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 104651 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 102003 | .{ .@"0:", .v_ss, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 104652 | .{ .@"0:", .v_ss, .mov, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 102004 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 104653 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 102005 | .{ ._, ._, .mov, .memsia(.dst0q, .@"2", .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 104654 | .{ ._, ._, .mov, .memsi(.dst0q, .@"2", .tmp0), .tmp3q, ._, ._ }, |
| 102006 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 104655 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 102007 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 104656 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 102008 | } }, | 104657 | } }, |
| 102009 | }, .{ | 104658 | }, .{ |
| 102010 | .required_features = .{ .sse, null, null, null }, | 104659 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -102015,10 +104664,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102015,10 +104664,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102015 | }, | 104664 | }, |
| 102016 | .call_frame = .{ .alignment = .@"16" }, | 104665 | .call_frame = .{ .alignment = .@"16" }, |
| 102017 | .extra_temps = .{ | 104666 | .extra_temps = .{ |
| 102018 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 104667 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 102019 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 104668 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 102020 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfdi" } }, | 104669 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfdi" } }, |
| 102021 | .{ .type = .i64, .kind = .{ .reg = .rax } }, | 104670 | .{ .type = .i64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 102022 | .unused, | 104671 | .unused, |
| 102023 | .unused, | 104672 | .unused, |
| 102024 | .unused, | 104673 | .unused, |
| ... | @@ -102030,12 +104679,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102030,12 +104679,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102030 | .dst_temps = .{ .mem, .unused }, | 104679 | .dst_temps = .{ .mem, .unused }, |
| 102031 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 104680 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 102032 | .each = .{ .once = &.{ | 104681 | .each = .{ .once = &.{ |
| 102033 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 104682 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 102034 | .{ .@"0:", ._ss, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 104683 | .{ .@"0:", ._ss, .mov, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 102035 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 104684 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 102036 | .{ ._, ._, .mov, .memsia(.dst0q, .@"2", .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 104685 | .{ ._, ._, .mov, .memsi(.dst0q, .@"2", .tmp0), .tmp3q, ._, ._ }, |
| 102037 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 104686 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 102038 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 104687 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 102039 | } }, | 104688 | } }, |
| 102040 | }, .{ | 104689 | }, .{ |
| 102041 | .required_features = .{ .sse, null, null, null }, | 104690 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -102046,10 +104695,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102046,10 +104695,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102046 | }, | 104695 | }, |
| 102047 | .call_frame = .{ .alignment = .@"16" }, | 104696 | .call_frame = .{ .alignment = .@"16" }, |
| 102048 | .extra_temps = .{ | 104697 | .extra_temps = .{ |
| 102049 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 104698 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 102050 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 104699 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 102051 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunssfdi" } }, | 104700 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunssfdi" } }, |
| 102052 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 104701 | .{ .type = .u64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 102053 | .unused, | 104702 | .unused, |
| 102054 | .unused, | 104703 | .unused, |
| 102055 | .unused, | 104704 | .unused, |
| ... | @@ -102061,14 +104710,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102061,14 +104710,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102061 | .dst_temps = .{ .mem, .unused }, | 104710 | .dst_temps = .{ .mem, .unused }, |
| 102062 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 104711 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 102063 | .each = .{ .once = &.{ | 104712 | .each = .{ .once = &.{ |
| 102064 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 104713 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 102065 | .{ .@"0:", ._ss, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 104714 | .{ .@"0:", ._ss, .mov, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 102066 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 104715 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 102067 | .{ ._, ._, .mov, .memsia(.dst0q, .@"2", .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 104716 | .{ ._, ._, .mov, .memsi(.dst0q, .@"2", .tmp0), .tmp3q, ._, ._ }, |
| 102068 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 104717 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 102069 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 104718 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 102070 | } }, | 104719 | } }, |
| 102071 | }, .{ | 104720 | }, .{ |
| | 104721 | .required_cc_abi = .sysv64, |
| 102072 | .required_features = .{ .avx, null, null, null }, | 104722 | .required_features = .{ .avx, null, null, null }, |
| 102073 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any }, | 104723 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| 102074 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, | 104724 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, |
| ... | @@ -102077,11 +104727,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102077,11 +104727,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102077 | }, | 104727 | }, |
| 102078 | .call_frame = .{ .alignment = .@"16" }, | 104728 | .call_frame = .{ .alignment = .@"16" }, |
| 102079 | .extra_temps = .{ | 104729 | .extra_temps = .{ |
| 102080 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 104730 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 102081 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 104731 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 102082 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfti" } }, | 104732 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfti" } }, |
| 102083 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 104733 | .{ .type = .i128, .kind = .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 102084 | .{ .type = .i64, .kind = .{ .reg = .rdx } }, | 104734 | .unused, |
| 102085 | .unused, | 104735 | .unused, |
| 102086 | .unused, | 104736 | .unused, |
| 102087 | .unused, | 104737 | .unused, |
| ... | @@ -102092,15 +104742,48 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102092,15 +104742,48 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102092 | .dst_temps = .{ .mem, .unused }, | 104742 | .dst_temps = .{ .mem, .unused }, |
| 102093 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 104743 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 102094 | .each = .{ .once = &.{ | 104744 | .each = .{ .once = &.{ |
| 102095 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 104745 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 102096 | .{ .@"0:", .v_ss, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 104746 | .{ .@"0:", .v_ss, .mov, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 102097 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 104747 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 102098 | .{ ._, ._, .mov, .memsia(.dst0q, .@"4", .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 104748 | .{ ._, ._, .mov, .memsi(.dst0q, .@"4", .tmp0), .tmp3q0, ._, ._ }, |
| 102099 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"4", .tmp0, .add_unaligned_size, 8), .tmp4q, ._, ._ }, | 104749 | .{ ._, ._, .mov, .memsid(.dst0q, .@"4", .tmp0, 8), .tmp3q1, ._, ._ }, |
| 102100 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 104750 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 102101 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 104751 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 102102 | } }, | 104752 | } }, |
| 102103 | }, .{ | 104753 | }, .{ |
| | 104754 | .required_cc_abi = .win64, |
| | 104755 | .required_features = .{ .avx, null, null, null }, |
| | 104756 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| | 104757 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, |
| | 104758 | .patterns = &.{ |
| | 104759 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 104760 | }, |
| | 104761 | .call_frame = .{ .alignment = .@"16" }, |
| | 104762 | .extra_temps = .{ |
| | 104763 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 104764 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 104765 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfti" } }, |
| | 104766 | .unused, |
| | 104767 | .unused, |
| | 104768 | .unused, |
| | 104769 | .unused, |
| | 104770 | .unused, |
| | 104771 | .unused, |
| | 104772 | .unused, |
| | 104773 | .unused, |
| | 104774 | }, |
| | 104775 | .dst_temps = .{ .mem, .unused }, |
| | 104776 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 104777 | .each = .{ .once = &.{ |
| | 104778 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 104779 | .{ .@"0:", .v_ss, .mov, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| | 104780 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104781 | .{ ._, .v_dqa, .mov, .memsi(.dst0x, .@"4", .tmp0), .tmp1x, ._, ._ }, |
| | 104782 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| | 104783 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 104784 | } }, |
| | 104785 | }, .{ |
| | 104786 | .required_cc_abi = .sysv64, |
| 102104 | .required_features = .{ .avx, null, null, null }, | 104787 | .required_features = .{ .avx, null, null, null }, |
| 102105 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any }, | 104788 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| 102106 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, | 104789 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, |
| ... | @@ -102109,11 +104792,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102109,11 +104792,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102109 | }, | 104792 | }, |
| 102110 | .call_frame = .{ .alignment = .@"16" }, | 104793 | .call_frame = .{ .alignment = .@"16" }, |
| 102111 | .extra_temps = .{ | 104794 | .extra_temps = .{ |
| 102112 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 104795 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 102113 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 104796 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 102114 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunssfti" } }, | 104797 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunssfti" } }, |
| 102115 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 104798 | .{ .type = .u128, .kind = .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 102116 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, | 104799 | .unused, |
| 102117 | .unused, | 104800 | .unused, |
| 102118 | .unused, | 104801 | .unused, |
| 102119 | .unused, | 104802 | .unused, |
| ... | @@ -102124,15 +104807,112 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102124,15 +104807,112 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102124 | .dst_temps = .{ .mem, .unused }, | 104807 | .dst_temps = .{ .mem, .unused }, |
| 102125 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 104808 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 102126 | .each = .{ .once = &.{ | 104809 | .each = .{ .once = &.{ |
| 102127 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 104810 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 102128 | .{ .@"0:", .v_ss, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 104811 | .{ .@"0:", .v_ss, .mov, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 102129 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 104812 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 102130 | .{ ._, ._, .mov, .memsia(.dst0q, .@"4", .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 104813 | .{ ._, ._, .mov, .memsi(.dst0q, .@"4", .tmp0), .tmp3q0, ._, ._ }, |
| 102131 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"4", .tmp0, .add_unaligned_size, 8), .tmp4q, ._, ._ }, | 104814 | .{ ._, ._, .mov, .memsid(.dst0q, .@"4", .tmp0, 8), .tmp3q1, ._, ._ }, |
| 102132 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 104815 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 102133 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 104816 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 104817 | } }, |
| | 104818 | }, .{ |
| | 104819 | .required_cc_abi = .win64, |
| | 104820 | .required_features = .{ .avx, null, null, null }, |
| | 104821 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| | 104822 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, |
| | 104823 | .patterns = &.{ |
| | 104824 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 104825 | }, |
| | 104826 | .call_frame = .{ .alignment = .@"16" }, |
| | 104827 | .extra_temps = .{ |
| | 104828 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 104829 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 104830 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunssfti" } }, |
| | 104831 | .unused, |
| | 104832 | .unused, |
| | 104833 | .unused, |
| | 104834 | .unused, |
| | 104835 | .unused, |
| | 104836 | .unused, |
| | 104837 | .unused, |
| | 104838 | .unused, |
| | 104839 | }, |
| | 104840 | .dst_temps = .{ .mem, .unused }, |
| | 104841 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 104842 | .each = .{ .once = &.{ |
| | 104843 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 104844 | .{ .@"0:", .v_ss, .mov, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| | 104845 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104846 | .{ ._, .v_dqa, .mov, .memsi(.dst0x, .@"4", .tmp0), .tmp1x, ._, ._ }, |
| | 104847 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| | 104848 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 104849 | } }, |
| | 104850 | }, .{ |
| | 104851 | .required_cc_abi = .win64, |
| | 104852 | .required_features = .{ .sse2, null, null, null }, |
| | 104853 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| | 104854 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, |
| | 104855 | .patterns = &.{ |
| | 104856 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 104857 | }, |
| | 104858 | .call_frame = .{ .alignment = .@"16" }, |
| | 104859 | .extra_temps = .{ |
| | 104860 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 104861 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 104862 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfti" } }, |
| | 104863 | .unused, |
| | 104864 | .unused, |
| | 104865 | .unused, |
| | 104866 | .unused, |
| | 104867 | .unused, |
| | 104868 | .unused, |
| | 104869 | .unused, |
| | 104870 | .unused, |
| | 104871 | }, |
| | 104872 | .dst_temps = .{ .mem, .unused }, |
| | 104873 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 104874 | .each = .{ .once = &.{ |
| | 104875 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 104876 | .{ .@"0:", ._ss, .mov, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| | 104877 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104878 | .{ ._, ._dqa, .mov, .memsi(.dst0x, .@"4", .tmp0), .tmp1x, ._, ._ }, |
| | 104879 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| | 104880 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 104881 | } }, |
| | 104882 | }, .{ |
| | 104883 | .required_cc_abi = .win64, |
| | 104884 | .required_features = .{ .sse2, null, null, null }, |
| | 104885 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| | 104886 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, |
| | 104887 | .patterns = &.{ |
| | 104888 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 104889 | }, |
| | 104890 | .call_frame = .{ .alignment = .@"16" }, |
| | 104891 | .extra_temps = .{ |
| | 104892 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 104893 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 104894 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunssfti" } }, |
| | 104895 | .unused, |
| | 104896 | .unused, |
| | 104897 | .unused, |
| | 104898 | .unused, |
| | 104899 | .unused, |
| | 104900 | .unused, |
| | 104901 | .unused, |
| | 104902 | .unused, |
| | 104903 | }, |
| | 104904 | .dst_temps = .{ .mem, .unused }, |
| | 104905 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 104906 | .each = .{ .once = &.{ |
| | 104907 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 104908 | .{ .@"0:", ._ss, .mov, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| | 104909 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104910 | .{ ._, ._dqa, .mov, .memsi(.dst0x, .@"4", .tmp0), .tmp1x, ._, ._ }, |
| | 104911 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| | 104912 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 102134 | } }, | 104913 | } }, |
| 102135 | }, .{ | 104914 | }, .{ |
| | 104915 | .required_cc_abi = .sysv64, |
| 102136 | .required_features = .{ .sse, null, null, null }, | 104916 | .required_features = .{ .sse, null, null, null }, |
| 102137 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any }, | 104917 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| 102138 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, | 104918 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, |
| ... | @@ -102141,11 +104921,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102141,11 +104921,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102141 | }, | 104921 | }, |
| 102142 | .call_frame = .{ .alignment = .@"16" }, | 104922 | .call_frame = .{ .alignment = .@"16" }, |
| 102143 | .extra_temps = .{ | 104923 | .extra_temps = .{ |
| 102144 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 104924 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 102145 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 104925 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 102146 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfti" } }, | 104926 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfti" } }, |
| 102147 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 104927 | .{ .type = .i128, .kind = .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 102148 | .{ .type = .i64, .kind = .{ .reg = .rdx } }, | 104928 | .unused, |
| 102149 | .unused, | 104929 | .unused, |
| 102150 | .unused, | 104930 | .unused, |
| 102151 | .unused, | 104931 | .unused, |
| ... | @@ -102156,15 +104936,48 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102156,15 +104936,48 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102156 | .dst_temps = .{ .mem, .unused }, | 104936 | .dst_temps = .{ .mem, .unused }, |
| 102157 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 104937 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 102158 | .each = .{ .once = &.{ | 104938 | .each = .{ .once = &.{ |
| 102159 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 104939 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 102160 | .{ .@"0:", ._ss, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 104940 | .{ .@"0:", ._ss, .mov, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 102161 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 104941 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 102162 | .{ ._, ._, .mov, .memsia(.dst0q, .@"4", .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 104942 | .{ ._, ._, .mov, .memsi(.dst0q, .@"4", .tmp0), .tmp3q0, ._, ._ }, |
| 102163 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"4", .tmp0, .add_unaligned_size, 8), .tmp4q, ._, ._ }, | 104943 | .{ ._, ._, .mov, .memsid(.dst0q, .@"4", .tmp0, 8), .tmp3q1, ._, ._ }, |
| 102164 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 104944 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 102165 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 104945 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 102166 | } }, | 104946 | } }, |
| 102167 | }, .{ | 104947 | }, .{ |
| | 104948 | .required_cc_abi = .win64, |
| | 104949 | .required_features = .{ .sse, null, null, null }, |
| | 104950 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| | 104951 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, |
| | 104952 | .patterns = &.{ |
| | 104953 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 104954 | }, |
| | 104955 | .call_frame = .{ .alignment = .@"16" }, |
| | 104956 | .extra_temps = .{ |
| | 104957 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 104958 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 104959 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfti" } }, |
| | 104960 | .unused, |
| | 104961 | .unused, |
| | 104962 | .unused, |
| | 104963 | .unused, |
| | 104964 | .unused, |
| | 104965 | .unused, |
| | 104966 | .unused, |
| | 104967 | .unused, |
| | 104968 | }, |
| | 104969 | .dst_temps = .{ .mem, .unused }, |
| | 104970 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 104971 | .each = .{ .once = &.{ |
| | 104972 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 104973 | .{ .@"0:", ._ss, .mov, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| | 104974 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104975 | .{ ._, ._ps, .mova, .memsi(.dst0x, .@"4", .tmp0), .tmp1x, ._, ._ }, |
| | 104976 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| | 104977 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 104978 | } }, |
| | 104979 | }, .{ |
| | 104980 | .required_cc_abi = .sysv64, |
| 102168 | .required_features = .{ .sse, null, null, null }, | 104981 | .required_features = .{ .sse, null, null, null }, |
| 102169 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any }, | 104982 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| 102170 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, | 104983 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, |
| ... | @@ -102173,11 +104986,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102173,11 +104986,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102173 | }, | 104986 | }, |
| 102174 | .call_frame = .{ .alignment = .@"16" }, | 104987 | .call_frame = .{ .alignment = .@"16" }, |
| 102175 | .extra_temps = .{ | 104988 | .extra_temps = .{ |
| 102176 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 104989 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 102177 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 104990 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 102178 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunssfti" } }, | 104991 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunssfti" } }, |
| 102179 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 104992 | .{ .type = .i128, .kind = .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 102180 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, | 104993 | .unused, |
| 102181 | .unused, | 104994 | .unused, |
| 102182 | .unused, | 104995 | .unused, |
| 102183 | .unused, | 104996 | .unused, |
| ... | @@ -102188,13 +105001,45 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102188,13 +105001,45 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102188 | .dst_temps = .{ .mem, .unused }, | 105001 | .dst_temps = .{ .mem, .unused }, |
| 102189 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 105002 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 102190 | .each = .{ .once = &.{ | 105003 | .each = .{ .once = &.{ |
| 102191 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 105004 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 102192 | .{ .@"0:", ._ss, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 105005 | .{ .@"0:", ._ss, .mov, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 102193 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 105006 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 102194 | .{ ._, ._, .mov, .memsia(.dst0q, .@"4", .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 105007 | .{ ._, ._, .mov, .memsi(.dst0q, .@"4", .tmp0), .tmp3q0, ._, ._ }, |
| 102195 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"4", .tmp0, .add_unaligned_size, 8), .tmp4q, ._, ._ }, | 105008 | .{ ._, ._, .mov, .memsid(.dst0q, .@"4", .tmp0, 8), .tmp3q1, ._, ._ }, |
| 102196 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 105009 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 102197 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 105010 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 105011 | } }, |
| | 105012 | }, .{ |
| | 105013 | .required_cc_abi = .win64, |
| | 105014 | .required_features = .{ .sse, null, null, null }, |
| | 105015 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| | 105016 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, |
| | 105017 | .patterns = &.{ |
| | 105018 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 105019 | }, |
| | 105020 | .call_frame = .{ .alignment = .@"16" }, |
| | 105021 | .extra_temps = .{ |
| | 105022 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 105023 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 105024 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunssfti" } }, |
| | 105025 | .unused, |
| | 105026 | .unused, |
| | 105027 | .unused, |
| | 105028 | .unused, |
| | 105029 | .unused, |
| | 105030 | .unused, |
| | 105031 | .unused, |
| | 105032 | .unused, |
| | 105033 | }, |
| | 105034 | .dst_temps = .{ .mem, .unused }, |
| | 105035 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 105036 | .each = .{ .once = &.{ |
| | 105037 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 105038 | .{ .@"0:", ._ss, .mov, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| | 105039 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 105040 | .{ ._, ._ps, .mova, .memsi(.dst0x, .@"4", .tmp0), .tmp1x, ._, ._ }, |
| | 105041 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| | 105042 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 102198 | } }, | 105043 | } }, |
| 102199 | }, .{ | 105044 | }, .{ |
| 102200 | .required_features = .{ .@"64bit", .avx, null, null }, | 105045 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | @@ -102205,11 +105050,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102205,11 +105050,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102205 | }, | 105050 | }, |
| 102206 | .call_frame = .{ .alignment = .@"16" }, | 105051 | .call_frame = .{ .alignment = .@"16" }, |
| 102207 | .extra_temps = .{ | 105052 | .extra_temps = .{ |
| 102208 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 105053 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 102209 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 105054 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 102210 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 105055 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 102211 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 105056 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 102212 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 105057 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 102213 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfei" } }, | 105058 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfei" } }, |
| 102214 | .unused, | 105059 | .unused, |
| 102215 | .unused, | 105060 | .unused, |
| ... | @@ -102220,15 +105065,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102220,15 +105065,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102220 | .dst_temps = .{ .mem, .unused }, | 105065 | .dst_temps = .{ .mem, .unused }, |
| 102221 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 105066 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 102222 | .each = .{ .once = &.{ | 105067 | .each = .{ .once = &.{ |
| 102223 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 105068 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 102224 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 105069 | .{ ._, ._, .lea, .tmp1p, .mema(.dst0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 102225 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, | 105070 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| 102226 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, | 105071 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| 102227 | .{ ._, .v_ss, .mov, .tmp4x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 105072 | .{ ._, .v_ss, .mov, .tmp4x, .memi(.src0d, .tmp0), ._, ._ }, |
| 102228 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, | 105073 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| 102229 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ }, | 105074 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .sub_dst0_elem_size), ._, ._ }, |
| 102230 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 105075 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 102231 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 105076 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 102232 | } }, | 105077 | } }, |
| 102233 | }, .{ | 105078 | }, .{ |
| 102234 | .required_features = .{ .@"64bit", .avx, null, null }, | 105079 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | @@ -102239,11 +105084,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102239,11 +105084,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102239 | }, | 105084 | }, |
| 102240 | .call_frame = .{ .alignment = .@"16" }, | 105085 | .call_frame = .{ .alignment = .@"16" }, |
| 102241 | .extra_temps = .{ | 105086 | .extra_temps = .{ |
| 102242 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 105087 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 102243 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 105088 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 102244 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 105089 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 102245 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 105090 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 102246 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 105091 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 102247 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunssfei" } }, | 105092 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunssfei" } }, |
| 102248 | .unused, | 105093 | .unused, |
| 102249 | .unused, | 105094 | .unused, |
| ... | @@ -102254,15 +105099,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102254,15 +105099,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102254 | .dst_temps = .{ .mem, .unused }, | 105099 | .dst_temps = .{ .mem, .unused }, |
| 102255 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 105100 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 102256 | .each = .{ .once = &.{ | 105101 | .each = .{ .once = &.{ |
| 102257 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 105102 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 102258 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 105103 | .{ ._, ._, .lea, .tmp1p, .mema(.dst0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 102259 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, | 105104 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| 102260 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, | 105105 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| 102261 | .{ ._, .v_ss, .mov, .tmp4x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 105106 | .{ ._, .v_ss, .mov, .tmp4x, .memi(.src0d, .tmp0), ._, ._ }, |
| 102262 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, | 105107 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| 102263 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ }, | 105108 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .sub_dst0_elem_size), ._, ._ }, |
| 102264 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 105109 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 102265 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 105110 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 102266 | } }, | 105111 | } }, |
| 102267 | }, .{ | 105112 | }, .{ |
| 102268 | .required_features = .{ .@"64bit", .sse, null, null }, | 105113 | .required_features = .{ .@"64bit", .sse, null, null }, |
| ... | @@ -102273,11 +105118,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102273,11 +105118,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102273 | }, | 105118 | }, |
| 102274 | .call_frame = .{ .alignment = .@"16" }, | 105119 | .call_frame = .{ .alignment = .@"16" }, |
| 102275 | .extra_temps = .{ | 105120 | .extra_temps = .{ |
| 102276 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 105121 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 102277 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 105122 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 102278 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 105123 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 102279 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 105124 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 102280 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 105125 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 102281 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfei" } }, | 105126 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfei" } }, |
| 102282 | .unused, | 105127 | .unused, |
| 102283 | .unused, | 105128 | .unused, |
| ... | @@ -102288,15 +105133,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102288,15 +105133,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102288 | .dst_temps = .{ .mem, .unused }, | 105133 | .dst_temps = .{ .mem, .unused }, |
| 102289 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 105134 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 102290 | .each = .{ .once = &.{ | 105135 | .each = .{ .once = &.{ |
| 102291 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 105136 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 102292 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 105137 | .{ ._, ._, .lea, .tmp1p, .mema(.dst0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 102293 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, | 105138 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| 102294 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, | 105139 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| 102295 | .{ ._, ._ss, .mov, .tmp4x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 105140 | .{ ._, ._ss, .mov, .tmp4x, .memi(.src0d, .tmp0), ._, ._ }, |
| 102296 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, | 105141 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| 102297 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ }, | 105142 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .sub_dst0_elem_size), ._, ._ }, |
| 102298 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 105143 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 102299 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 105144 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 102300 | } }, | 105145 | } }, |
| 102301 | }, .{ | 105146 | }, .{ |
| 102302 | .required_features = .{ .@"64bit", .sse, null, null }, | 105147 | .required_features = .{ .@"64bit", .sse, null, null }, |
| ... | @@ -102307,11 +105152,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102307,11 +105152,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102307 | }, | 105152 | }, |
| 102308 | .call_frame = .{ .alignment = .@"16" }, | 105153 | .call_frame = .{ .alignment = .@"16" }, |
| 102309 | .extra_temps = .{ | 105154 | .extra_temps = .{ |
| 102310 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 105155 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 102311 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 105156 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 102312 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 105157 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 102313 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 105158 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 102314 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 105159 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 102315 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunssfei" } }, | 105160 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunssfei" } }, |
| 102316 | .unused, | 105161 | .unused, |
| 102317 | .unused, | 105162 | .unused, |
| ... | @@ -102322,15 +105167,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102322,15 +105167,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102322 | .dst_temps = .{ .mem, .unused }, | 105167 | .dst_temps = .{ .mem, .unused }, |
| 102323 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 105168 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 102324 | .each = .{ .once = &.{ | 105169 | .each = .{ .once = &.{ |
| 102325 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 105170 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 102326 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 105171 | .{ ._, ._, .lea, .tmp1p, .mema(.dst0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 102327 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, | 105172 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| 102328 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, | 105173 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| 102329 | .{ ._, ._ss, .mov, .tmp4x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 105174 | .{ ._, ._ss, .mov, .tmp4x, .memi(.src0d, .tmp0), ._, ._ }, |
| 102330 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, | 105175 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| 102331 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ }, | 105176 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .sub_dst0_elem_size), ._, ._ }, |
| 102332 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 105177 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 102333 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 105178 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 102334 | } }, | 105179 | } }, |
| 102335 | }, .{ | 105180 | }, .{ |
| 102336 | .required_features = .{ .avx, null, null, null }, | 105181 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -102643,11 +105488,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102643,11 +105488,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102643 | .{ ._, ._, .@"or", .dst0q, .tmp5q, ._, ._ }, | 105488 | .{ ._, ._, .@"or", .dst0q, .tmp5q, ._, ._ }, |
| 102644 | } }, | 105489 | } }, |
| 102645 | }, .{ | 105490 | }, .{ |
| 102646 | .required_features = .{ .@"64bit", .sse, null, null }, | 105491 | .required_cc_abi = .sysv64, |
| | 105492 | .required_features = .{ .sse, null, null, null }, |
| 102647 | .src_constraints = .{ .{ .float = .qword }, .any, .any }, | 105493 | .src_constraints = .{ .{ .float = .qword }, .any, .any }, |
| 102648 | .dst_constraints = .{ .{ .signed_int = .xword }, .any }, | 105494 | .dst_constraints = .{ .{ .signed_int = .xword }, .any }, |
| 102649 | .patterns = &.{ | 105495 | .patterns = &.{ |
| 102650 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 105496 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 102651 | }, | 105497 | }, |
| 102652 | .call_frame = .{ .alignment = .@"16" }, | 105498 | .call_frame = .{ .alignment = .@"16" }, |
| 102653 | .extra_temps = .{ | 105499 | .extra_temps = .{ |
| ... | @@ -102663,17 +105509,45 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102663,17 +105509,45 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102663 | .unused, | 105509 | .unused, |
| 102664 | .unused, | 105510 | .unused, |
| 102665 | }, | 105511 | }, |
| 102666 | .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused }, | 105512 | .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 102667 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 105513 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 102668 | .each = .{ .once = &.{ | 105514 | .each = .{ .once = &.{ |
| 102669 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 105515 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 102670 | } }, | 105516 | } }, |
| 102671 | }, .{ | 105517 | }, .{ |
| 102672 | .required_features = .{ .@"64bit", .sse, null, null }, | 105518 | .required_cc_abi = .win64, |
| | 105519 | .required_features = .{ .sse, null, null, null }, |
| | 105520 | .src_constraints = .{ .{ .float = .qword }, .any, .any }, |
| | 105521 | .dst_constraints = .{ .{ .signed_int = .xword }, .any }, |
| | 105522 | .patterns = &.{ |
| | 105523 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| | 105524 | }, |
| | 105525 | .call_frame = .{ .alignment = .@"16" }, |
| | 105526 | .extra_temps = .{ |
| | 105527 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfti" } }, |
| | 105528 | .unused, |
| | 105529 | .unused, |
| | 105530 | .unused, |
| | 105531 | .unused, |
| | 105532 | .unused, |
| | 105533 | .unused, |
| | 105534 | .unused, |
| | 105535 | .unused, |
| | 105536 | .unused, |
| | 105537 | .unused, |
| | 105538 | }, |
| | 105539 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 105540 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 105541 | .each = .{ .once = &.{ |
| | 105542 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| | 105543 | } }, |
| | 105544 | }, .{ |
| | 105545 | .required_cc_abi = .sysv64, |
| | 105546 | .required_features = .{ .sse, null, null, null }, |
| 102673 | .src_constraints = .{ .{ .float = .qword }, .any, .any }, | 105547 | .src_constraints = .{ .{ .float = .qword }, .any, .any }, |
| 102674 | .dst_constraints = .{ .{ .unsigned_int = .xword }, .any }, | 105548 | .dst_constraints = .{ .{ .unsigned_int = .xword }, .any }, |
| 102675 | .patterns = &.{ | 105549 | .patterns = &.{ |
| 102676 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 105550 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 102677 | }, | 105551 | }, |
| 102678 | .call_frame = .{ .alignment = .@"16" }, | 105552 | .call_frame = .{ .alignment = .@"16" }, |
| 102679 | .extra_temps = .{ | 105553 | .extra_temps = .{ |
| ... | @@ -102689,7 +105563,34 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102689,7 +105563,34 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102689 | .unused, | 105563 | .unused, |
| 102690 | .unused, | 105564 | .unused, |
| 102691 | }, | 105565 | }, |
| 102692 | .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused }, | 105566 | .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| | 105567 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 105568 | .each = .{ .once = &.{ |
| | 105569 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| | 105570 | } }, |
| | 105571 | }, .{ |
| | 105572 | .required_cc_abi = .win64, |
| | 105573 | .required_features = .{ .sse, null, null, null }, |
| | 105574 | .src_constraints = .{ .{ .float = .qword }, .any, .any }, |
| | 105575 | .dst_constraints = .{ .{ .unsigned_int = .xword }, .any }, |
| | 105576 | .patterns = &.{ |
| | 105577 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| | 105578 | }, |
| | 105579 | .call_frame = .{ .alignment = .@"16" }, |
| | 105580 | .extra_temps = .{ |
| | 105581 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsdfti" } }, |
| | 105582 | .unused, |
| | 105583 | .unused, |
| | 105584 | .unused, |
| | 105585 | .unused, |
| | 105586 | .unused, |
| | 105587 | .unused, |
| | 105588 | .unused, |
| | 105589 | .unused, |
| | 105590 | .unused, |
| | 105591 | .unused, |
| | 105592 | }, |
| | 105593 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 102693 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 105594 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 102694 | .each = .{ .once = &.{ | 105595 | .each = .{ .once = &.{ |
| 102695 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 105596 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| ... | @@ -102699,12 +105600,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102699,12 +105600,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102699 | .src_constraints = .{ .{ .float = .qword }, .any, .any }, | 105600 | .src_constraints = .{ .{ .float = .qword }, .any, .any }, |
| 102700 | .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any }, | 105601 | .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any }, |
| 102701 | .patterns = &.{ | 105602 | .patterns = &.{ |
| 102702 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 105603 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } }, .none, .none } }, |
| 102703 | }, | 105604 | }, |
| 102704 | .call_frame = .{ .alignment = .@"16" }, | 105605 | .call_frame = .{ .alignment = .@"16" }, |
| 102705 | .extra_temps = .{ | 105606 | .extra_temps = .{ |
| 102706 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 105607 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 102707 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 105608 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 102708 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfei" } }, | 105609 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfei" } }, |
| 102709 | .unused, | 105610 | .unused, |
| 102710 | .unused, | 105611 | .unused, |
| ... | @@ -102727,12 +105628,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102727,12 +105628,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102727 | .src_constraints = .{ .{ .float = .qword }, .any, .any }, | 105628 | .src_constraints = .{ .{ .float = .qword }, .any, .any }, |
| 102728 | .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any }, | 105629 | .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any }, |
| 102729 | .patterns = &.{ | 105630 | .patterns = &.{ |
| 102730 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 105631 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } }, .none, .none } }, |
| 102731 | }, | 105632 | }, |
| 102732 | .call_frame = .{ .alignment = .@"16" }, | 105633 | .call_frame = .{ .alignment = .@"16" }, |
| 102733 | .extra_temps = .{ | 105634 | .extra_temps = .{ |
| 102734 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 105635 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 102735 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 105636 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 102736 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsdfei" } }, | 105637 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsdfei" } }, |
| 102737 | .unused, | 105638 | .unused, |
| 102738 | .unused, | 105639 | .unused, |
| ... | @@ -102839,7 +105740,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102839,7 +105740,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102839 | .{ .src = .{ .to_mem, .none, .none } }, | 105740 | .{ .src = .{ .to_mem, .none, .none } }, |
| 102840 | }, | 105741 | }, |
| 102841 | .extra_temps = .{ | 105742 | .extra_temps = .{ |
| 102842 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 105743 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 102843 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_trunc_mem = .{ .from = .dword, .to = .byte } } }, | 105744 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_trunc_mem = .{ .from = .dword, .to = .byte } } }, |
| 102844 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 105745 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 102845 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 105746 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| ... | @@ -102856,22 +105757,22 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102856,22 +105757,22 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102856 | .each = .{ .once = &.{ | 105757 | .each = .{ .once = &.{ |
| 102857 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 105758 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 102858 | .{ ._, .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, | 105759 | .{ ._, .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| 102859 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 105760 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_size), ._, ._ }, |
| 102860 | .{ .@"0:", .v_, .cvttpd2dq, .tmp3x, .memsia(.src0y, .@"8", .tmp0, .add_unaligned_size), ._, ._ }, | 105761 | .{ .@"0:", .v_, .cvttpd2dq, .tmp3x, .memsi(.src0y, .@"8", .tmp0), ._, ._ }, |
| 102861 | .{ ._, .vp_b, .shuf, .tmp3x, .tmp3x, .tmp2x, ._ }, | 105762 | .{ ._, .vp_b, .shuf, .tmp3x, .tmp3x, .tmp2x, ._ }, |
| 102862 | .{ ._, .v_d, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 105763 | .{ ._, .v_d, .mov, .memi(.dst0d, .tmp0), .tmp3x, ._, ._ }, |
| 102863 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 105764 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 102864 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 105765 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 102865 | } }, | 105766 | } }, |
| 102866 | }, .{ | 105767 | }, .{ |
| 102867 | .required_features = .{ .ssse3, null, null, null }, | 105768 | .required_features = .{ .sse4_1, null, null, null }, |
| 102868 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, | 105769 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| 102869 | .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .byte } }, .any }, | 105770 | .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .byte } }, .any }, |
| 102870 | .patterns = &.{ | 105771 | .patterns = &.{ |
| 102871 | .{ .src = .{ .to_mem, .none, .none } }, | 105772 | .{ .src = .{ .to_mem, .none, .none } }, |
| 102872 | }, | 105773 | }, |
| 102873 | .extra_temps = .{ | 105774 | .extra_temps = .{ |
| 102874 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 105775 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 102875 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_trunc_mem = .{ .from = .dword, .to = .byte } } }, | 105776 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_trunc_mem = .{ .from = .dword, .to = .byte } } }, |
| 102876 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 105777 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 102877 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 105778 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| ... | @@ -102888,12 +105789,45 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102888,12 +105789,45 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102888 | .each = .{ .once = &.{ | 105789 | .each = .{ .once = &.{ |
| 102889 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 105790 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 102890 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, | 105791 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| 102891 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 105792 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_size), ._, ._ }, |
| 102892 | .{ .@"0:", ._, .cvttpd2dq, .tmp3x, .memsia(.src0x, .@"8", .tmp0, .add_unaligned_size), ._, ._ }, | 105793 | .{ .@"0:", ._, .cvttpd2dq, .tmp3x, .memsi(.src0x, .@"8", .tmp0), ._, ._ }, |
| 102893 | .{ ._, .p_b, .shuf, .tmp3x, .tmp2x, ._, ._ }, | 105794 | .{ ._, .p_b, .shuf, .tmp3x, .tmp2x, ._, ._ }, |
| 102894 | .{ ._, ._d, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 105795 | .{ ._, .p_w, .extr, .memi(.dst0w, .tmp0), .tmp3x, .ui(0), ._ }, |
| 102895 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 105796 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 102896 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 105797 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 105798 | } }, |
| | 105799 | }, .{ |
| | 105800 | .required_features = .{ .ssse3, null, null, null }, |
| | 105801 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 105802 | .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .byte } }, .any }, |
| | 105803 | .patterns = &.{ |
| | 105804 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 105805 | }, |
| | 105806 | .extra_temps = .{ |
| | 105807 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 105808 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_trunc_mem = .{ .from = .dword, .to = .byte } } }, |
| | 105809 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 105810 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 105811 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| | 105812 | .unused, |
| | 105813 | .unused, |
| | 105814 | .unused, |
| | 105815 | .unused, |
| | 105816 | .unused, |
| | 105817 | .unused, |
| | 105818 | }, |
| | 105819 | .dst_temps = .{ .mem, .unused }, |
| | 105820 | .clobbers = .{ .eflags = true }, |
| | 105821 | .each = .{ .once = &.{ |
| | 105822 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 105823 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| | 105824 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_size), ._, ._ }, |
| | 105825 | .{ .@"0:", ._, .cvttpd2dq, .tmp3x, .memsi(.src0x, .@"8", .tmp0), ._, ._ }, |
| | 105826 | .{ ._, .p_b, .shuf, .tmp3x, .tmp2x, ._, ._ }, |
| | 105827 | .{ ._, ._d, .mov, .tmp4d, .tmp3x, ._, ._ }, |
| | 105828 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp4w, ._, ._ }, |
| | 105829 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 105830 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 102897 | } }, | 105831 | } }, |
| 102898 | }, .{ | 105832 | }, .{ |
| 102899 | .required_features = .{ .sse2, .slow_incdec, null, null }, | 105833 | .required_features = .{ .sse2, .slow_incdec, null, null }, |
| ... | @@ -102903,7 +105837,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102903,7 +105837,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102903 | .{ .src = .{ .to_mem, .none, .none } }, | 105837 | .{ .src = .{ .to_mem, .none, .none } }, |
| 102904 | }, | 105838 | }, |
| 102905 | .extra_temps = .{ | 105839 | .extra_temps = .{ |
| 102906 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 105840 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 102907 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, | 105841 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 102908 | .unused, | 105842 | .unused, |
| 102909 | .unused, | 105843 | .unused, |
| ... | @@ -102918,11 +105852,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102918,11 +105852,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102918 | .dst_temps = .{ .mem, .unused }, | 105852 | .dst_temps = .{ .mem, .unused }, |
| 102919 | .clobbers = .{ .eflags = true }, | 105853 | .clobbers = .{ .eflags = true }, |
| 102920 | .each = .{ .once = &.{ | 105854 | .each = .{ .once = &.{ |
| 102921 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 105855 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 102922 | .{ .@"0:", ._, .cvttsd2si, .tmp1d, .memsia(.src0q, .@"8", .tmp0, .add_unaligned_size), ._, ._ }, | 105856 | .{ .@"0:", ._, .cvttsd2si, .tmp1d, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 102923 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ }, | 105857 | .{ ._, ._, .mov, .memi(.dst0b, .tmp0), .tmp1b, ._, ._ }, |
| 102924 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 105858 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 102925 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 105859 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 102926 | } }, | 105860 | } }, |
| 102927 | }, .{ | 105861 | }, .{ |
| 102928 | .required_features = .{ .sse2, null, null, null }, | 105862 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -102932,7 +105866,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102932,7 +105866,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102932 | .{ .src = .{ .to_mem, .none, .none } }, | 105866 | .{ .src = .{ .to_mem, .none, .none } }, |
| 102933 | }, | 105867 | }, |
| 102934 | .extra_temps = .{ | 105868 | .extra_temps = .{ |
| 102935 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 105869 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 102936 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, | 105870 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 102937 | .unused, | 105871 | .unused, |
| 102938 | .unused, | 105872 | .unused, |
| ... | @@ -102947,11 +105881,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102947,11 +105881,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102947 | .dst_temps = .{ .mem, .unused }, | 105881 | .dst_temps = .{ .mem, .unused }, |
| 102948 | .clobbers = .{ .eflags = true }, | 105882 | .clobbers = .{ .eflags = true }, |
| 102949 | .each = .{ .once = &.{ | 105883 | .each = .{ .once = &.{ |
| 102950 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 105884 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 102951 | .{ .@"0:", ._, .cvttsd2si, .tmp1d, .memsia(.src0q, .@"8", .tmp0, .add_unaligned_size), ._, ._ }, | 105885 | .{ .@"0:", ._, .cvttsd2si, .tmp1d, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 102952 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ }, | 105886 | .{ ._, ._, .mov, .memi(.dst0b, .tmp0), .tmp1b, ._, ._ }, |
| 102953 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 105887 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 102954 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 105888 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 102955 | } }, | 105889 | } }, |
| 102956 | }, .{ | 105890 | }, .{ |
| 102957 | .required_features = .{ .x87, .slow_incdec, null, null }, | 105891 | .required_features = .{ .x87, .slow_incdec, null, null }, |
| ... | @@ -102961,7 +105895,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102961,7 +105895,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102961 | .{ .src = .{ .to_mem, .none, .none } }, | 105895 | .{ .src = .{ .to_mem, .none, .none } }, |
| 102962 | }, | 105896 | }, |
| 102963 | .extra_temps = .{ | 105897 | .extra_temps = .{ |
| 102964 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 105898 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 102965 | .{ .type = .u16, .kind = .mem }, | 105899 | .{ .type = .u16, .kind = .mem }, |
| 102966 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, | 105900 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 102967 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, | 105901 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| ... | @@ -102976,18 +105910,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102976,18 +105910,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102976 | .dst_temps = .{ .mem, .unused }, | 105910 | .dst_temps = .{ .mem, .unused }, |
| 102977 | .clobbers = .{ .eflags = true }, | 105911 | .clobbers = .{ .eflags = true }, |
| 102978 | .each = .{ .once = &.{ | 105912 | .each = .{ .once = &.{ |
| 102979 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 105913 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 102980 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, | 105914 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| 102981 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, | 105915 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, |
| 102982 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, | 105916 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 102983 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, | 105917 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 102984 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, | 105918 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, |
| 102985 | .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"8", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 105919 | .{ .@"0:", .f_, .ld, .memsi(.src0q, .@"8", .tmp0), ._, ._, ._ }, |
| 102986 | .{ ._, .fi_p, .st, .tmp4w, ._, ._, ._ }, | 105920 | .{ ._, .fi_p, .st, .tmp4w, ._, ._, ._ }, |
| 102987 | .{ ._, ._, .movzx, .tmp2d, .tmp4b, ._, ._ }, | 105921 | .{ ._, ._, .movzx, .tmp2d, .tmp4b, ._, ._ }, |
| 102988 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp2b, ._, ._ }, | 105922 | .{ ._, ._, .mov, .memi(.dst0b, .tmp0), .tmp2b, ._, ._ }, |
| 102989 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 105923 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 102990 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 105924 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 102991 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, | 105925 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 102992 | } }, | 105926 | } }, |
| 102993 | }, .{ | 105927 | }, .{ |
| ... | @@ -102998,7 +105932,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102998,7 +105932,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102998 | .{ .src = .{ .to_mem, .none, .none } }, | 105932 | .{ .src = .{ .to_mem, .none, .none } }, |
| 102999 | }, | 105933 | }, |
| 103000 | .extra_temps = .{ | 105934 | .extra_temps = .{ |
| 103001 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 105935 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103002 | .{ .type = .u16, .kind = .mem }, | 105936 | .{ .type = .u16, .kind = .mem }, |
| 103003 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, | 105937 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 103004 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, | 105938 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| ... | @@ -103013,18 +105947,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103013,18 +105947,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103013 | .dst_temps = .{ .mem, .unused }, | 105947 | .dst_temps = .{ .mem, .unused }, |
| 103014 | .clobbers = .{ .eflags = true }, | 105948 | .clobbers = .{ .eflags = true }, |
| 103015 | .each = .{ .once = &.{ | 105949 | .each = .{ .once = &.{ |
| 103016 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 105950 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 103017 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, | 105951 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| 103018 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, | 105952 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, |
| 103019 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, | 105953 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 103020 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, | 105954 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 103021 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, | 105955 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, |
| 103022 | .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"8", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 105956 | .{ .@"0:", .f_, .ld, .memsi(.src0q, .@"8", .tmp0), ._, ._, ._ }, |
| 103023 | .{ ._, .fi_p, .st, .tmp4w, ._, ._, ._ }, | 105957 | .{ ._, .fi_p, .st, .tmp4w, ._, ._, ._ }, |
| 103024 | .{ ._, ._, .movzx, .tmp2d, .tmp4b, ._, ._ }, | 105958 | .{ ._, ._, .movzx, .tmp2d, .tmp4b, ._, ._ }, |
| 103025 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp2b, ._, ._ }, | 105959 | .{ ._, ._, .mov, .memi(.dst0b, .tmp0), .tmp2b, ._, ._ }, |
| 103026 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 105960 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 103027 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 105961 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 103028 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, | 105962 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 103029 | } }, | 105963 | } }, |
| 103030 | }, .{ | 105964 | }, .{ |
| ... | @@ -103036,10 +105970,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103036,10 +105970,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103036 | }, | 105970 | }, |
| 103037 | .call_frame = .{ .alignment = .@"16" }, | 105971 | .call_frame = .{ .alignment = .@"16" }, |
| 103038 | .extra_temps = .{ | 105972 | .extra_temps = .{ |
| 103039 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 105973 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103040 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 105974 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 103041 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfsi" } }, | 105975 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfsi" } }, |
| 103042 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 105976 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 103043 | .unused, | 105977 | .unused, |
| 103044 | .unused, | 105978 | .unused, |
| 103045 | .unused, | 105979 | .unused, |
| ... | @@ -103051,12 +105985,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103051,12 +105985,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103051 | .dst_temps = .{ .mem, .unused }, | 105985 | .dst_temps = .{ .mem, .unused }, |
| 103052 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 105986 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 103053 | .each = .{ .once = &.{ | 105987 | .each = .{ .once = &.{ |
| 103054 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 105988 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 103055 | .{ .@"0:", .v_sd, .mov, .tmp1x, .memsia(.src0q, .@"8", .tmp0, .add_unaligned_size), ._, ._ }, | 105989 | .{ .@"0:", .v_sd, .mov, .tmp1x, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 103056 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 105990 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 103057 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp3b, ._, ._ }, | 105991 | .{ ._, ._, .mov, .memi(.dst0b, .tmp0), .tmp3b, ._, ._ }, |
| 103058 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 105992 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 103059 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 105993 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 103060 | } }, | 105994 | } }, |
| 103061 | }, .{ | 105995 | }, .{ |
| 103062 | .required_features = .{ .avx, null, null, null }, | 105996 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -103067,10 +106001,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103067,10 +106001,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103067 | }, | 106001 | }, |
| 103068 | .call_frame = .{ .alignment = .@"16" }, | 106002 | .call_frame = .{ .alignment = .@"16" }, |
| 103069 | .extra_temps = .{ | 106003 | .extra_temps = .{ |
| 103070 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 106004 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103071 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 106005 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 103072 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfsi" } }, | 106006 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfsi" } }, |
| 103073 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 106007 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 103074 | .unused, | 106008 | .unused, |
| 103075 | .unused, | 106009 | .unused, |
| 103076 | .unused, | 106010 | .unused, |
| ... | @@ -103082,12 +106016,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103082,12 +106016,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103082 | .dst_temps = .{ .mem, .unused }, | 106016 | .dst_temps = .{ .mem, .unused }, |
| 103083 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 106017 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 103084 | .each = .{ .once = &.{ | 106018 | .each = .{ .once = &.{ |
| 103085 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 106019 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 103086 | .{ .@"0:", .v_sd, .mov, .tmp1x, .memsia(.src0q, .@"8", .tmp0, .add_unaligned_size), ._, ._ }, | 106020 | .{ .@"0:", .v_sd, .mov, .tmp1x, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 103087 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 106021 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 103088 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp3b, ._, ._ }, | 106022 | .{ ._, ._, .mov, .memi(.dst0b, .tmp0), .tmp3b, ._, ._ }, |
| 103089 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 106023 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 103090 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 106024 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 103091 | } }, | 106025 | } }, |
| 103092 | }, .{ | 106026 | }, .{ |
| 103093 | .required_features = .{ .sse2, .slow_incdec, null, null }, | 106027 | .required_features = .{ .sse2, .slow_incdec, null, null }, |
| ... | @@ -103098,10 +106032,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103098,10 +106032,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103098 | }, | 106032 | }, |
| 103099 | .call_frame = .{ .alignment = .@"16" }, | 106033 | .call_frame = .{ .alignment = .@"16" }, |
| 103100 | .extra_temps = .{ | 106034 | .extra_temps = .{ |
| 103101 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 106035 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103102 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 106036 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 103103 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfsi" } }, | 106037 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfsi" } }, |
| 103104 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 106038 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 103105 | .unused, | 106039 | .unused, |
| 103106 | .unused, | 106040 | .unused, |
| 103107 | .unused, | 106041 | .unused, |
| ... | @@ -103113,12 +106047,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103113,12 +106047,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103113 | .dst_temps = .{ .mem, .unused }, | 106047 | .dst_temps = .{ .mem, .unused }, |
| 103114 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 106048 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 103115 | .each = .{ .once = &.{ | 106049 | .each = .{ .once = &.{ |
| 103116 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 106050 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 103117 | .{ .@"0:", ._sd, .mov, .tmp1x, .memsia(.src0q, .@"8", .tmp0, .add_unaligned_size), ._, ._ }, | 106051 | .{ .@"0:", ._sd, .mov, .tmp1x, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 103118 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 106052 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 103119 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp3b, ._, ._ }, | 106053 | .{ ._, ._, .mov, .memi(.dst0b, .tmp0), .tmp3b, ._, ._ }, |
| 103120 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 106054 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 103121 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 106055 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 103122 | } }, | 106056 | } }, |
| 103123 | }, .{ | 106057 | }, .{ |
| 103124 | .required_features = .{ .sse2, null, null, null }, | 106058 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -103129,10 +106063,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103129,10 +106063,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103129 | }, | 106063 | }, |
| 103130 | .call_frame = .{ .alignment = .@"16" }, | 106064 | .call_frame = .{ .alignment = .@"16" }, |
| 103131 | .extra_temps = .{ | 106065 | .extra_temps = .{ |
| 103132 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 106066 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103133 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 106067 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 103134 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfsi" } }, | 106068 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfsi" } }, |
| 103135 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 106069 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 103136 | .unused, | 106070 | .unused, |
| 103137 | .unused, | 106071 | .unused, |
| 103138 | .unused, | 106072 | .unused, |
| ... | @@ -103144,12 +106078,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103144,12 +106078,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103144 | .dst_temps = .{ .mem, .unused }, | 106078 | .dst_temps = .{ .mem, .unused }, |
| 103145 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 106079 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 103146 | .each = .{ .once = &.{ | 106080 | .each = .{ .once = &.{ |
| 103147 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 106081 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 103148 | .{ .@"0:", ._sd, .mov, .tmp1x, .memsia(.src0q, .@"8", .tmp0, .add_unaligned_size), ._, ._ }, | 106082 | .{ .@"0:", ._sd, .mov, .tmp1x, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 103149 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 106083 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 103150 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp3b, ._, ._ }, | 106084 | .{ ._, ._, .mov, .memi(.dst0b, .tmp0), .tmp3b, ._, ._ }, |
| 103151 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 106085 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 103152 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 106086 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 103153 | } }, | 106087 | } }, |
| 103154 | }, .{ | 106088 | }, .{ |
| 103155 | .required_features = .{ .sse, .slow_incdec, null, null }, | 106089 | .required_features = .{ .sse, .slow_incdec, null, null }, |
| ... | @@ -103160,10 +106094,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103160,10 +106094,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103160 | }, | 106094 | }, |
| 103161 | .call_frame = .{ .alignment = .@"16" }, | 106095 | .call_frame = .{ .alignment = .@"16" }, |
| 103162 | .extra_temps = .{ | 106096 | .extra_temps = .{ |
| 103163 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 106097 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103164 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 106098 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 103165 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfsi" } }, | 106099 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfsi" } }, |
| 103166 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 106100 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 103167 | .unused, | 106101 | .unused, |
| 103168 | .unused, | 106102 | .unused, |
| 103169 | .unused, | 106103 | .unused, |
| ... | @@ -103175,13 +106109,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103175,13 +106109,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103175 | .dst_temps = .{ .mem, .unused }, | 106109 | .dst_temps = .{ .mem, .unused }, |
| 103176 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 106110 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 103177 | .each = .{ .once = &.{ | 106111 | .each = .{ .once = &.{ |
| 103178 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 106112 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 103179 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, | 106113 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 103180 | .{ ._, ._ps, .movl, .tmp1x, .memsia(.src0q, .@"8", .tmp0, .add_unaligned_size), ._, ._ }, | 106114 | .{ ._, ._ps, .movl, .tmp1x, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 103181 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 106115 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 103182 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp3b, ._, ._ }, | 106116 | .{ ._, ._, .mov, .memi(.dst0b, .tmp0), .tmp3b, ._, ._ }, |
| 103183 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 106117 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 103184 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 106118 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 103185 | } }, | 106119 | } }, |
| 103186 | }, .{ | 106120 | }, .{ |
| 103187 | .required_features = .{ .sse, null, null, null }, | 106121 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -103192,10 +106126,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103192,10 +106126,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103192 | }, | 106126 | }, |
| 103193 | .call_frame = .{ .alignment = .@"16" }, | 106127 | .call_frame = .{ .alignment = .@"16" }, |
| 103194 | .extra_temps = .{ | 106128 | .extra_temps = .{ |
| 103195 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 106129 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103196 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 106130 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 103197 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfsi" } }, | 106131 | .{ .type = .usize, .kind = .{ .extern_func = "__fixsfsi" } }, |
| 103198 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 106132 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 103199 | .unused, | 106133 | .unused, |
| 103200 | .unused, | 106134 | .unused, |
| 103201 | .unused, | 106135 | .unused, |
| ... | @@ -103207,13 +106141,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103207,13 +106141,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103207 | .dst_temps = .{ .mem, .unused }, | 106141 | .dst_temps = .{ .mem, .unused }, |
| 103208 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 106142 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 103209 | .each = .{ .once = &.{ | 106143 | .each = .{ .once = &.{ |
| 103210 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 106144 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 103211 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, | 106145 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 103212 | .{ ._, ._ps, .movl, .tmp1x, .memsia(.src0q, .@"8", .tmp0, .add_unaligned_size), ._, ._ }, | 106146 | .{ ._, ._ps, .movl, .tmp1x, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 103213 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 106147 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 103214 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp3b, ._, ._ }, | 106148 | .{ ._, ._, .mov, .memi(.dst0b, .tmp0), .tmp3b, ._, ._ }, |
| 103215 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 106149 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 103216 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 106150 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 103217 | } }, | 106151 | } }, |
| 103218 | }, .{ | 106152 | }, .{ |
| 103219 | .required_features = .{ .avx, null, null, null }, | 106153 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -103301,7 +106235,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103301,7 +106235,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103301 | .{ .src = .{ .to_mem, .none, .none } }, | 106235 | .{ .src = .{ .to_mem, .none, .none } }, |
| 103302 | }, | 106236 | }, |
| 103303 | .extra_temps = .{ | 106237 | .extra_temps = .{ |
| 103304 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 106238 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103305 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, | 106239 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| 103306 | .unused, | 106240 | .unused, |
| 103307 | .unused, | 106241 | .unused, |
| ... | @@ -103316,12 +106250,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103316,12 +106250,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103316 | .dst_temps = .{ .mem, .unused }, | 106250 | .dst_temps = .{ .mem, .unused }, |
| 103317 | .clobbers = .{ .eflags = true }, | 106251 | .clobbers = .{ .eflags = true }, |
| 103318 | .each = .{ .once = &.{ | 106252 | .each = .{ .once = &.{ |
| 103319 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 106253 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_size), ._, ._ }, |
| 103320 | .{ .@"0:", .v_, .cvttpd2dq, .tmp1x, .memsia(.src0y, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 106254 | .{ .@"0:", .v_, .cvttpd2dq, .tmp1x, .memsi(.src0y, .@"4", .tmp0), ._, ._ }, |
| 103321 | .{ ._, .vp_w, .ackssd, .tmp1x, .tmp1x, .tmp1x, ._ }, | 106255 | .{ ._, .vp_w, .ackssd, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| 103322 | .{ ._, .v_q, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 106256 | .{ ._, .v_q, .mov, .memi(.dst0q, .tmp0), .tmp1x, ._, ._ }, |
| 103323 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 106257 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 103324 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 106258 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 103325 | } }, | 106259 | } }, |
| 103326 | }, .{ | 106260 | }, .{ |
| 103327 | .required_features = .{ .sse2, null, null, null }, | 106261 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -103331,7 +106265,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103331,7 +106265,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103331 | .{ .src = .{ .to_mem, .none, .none } }, | 106265 | .{ .src = .{ .to_mem, .none, .none } }, |
| 103332 | }, | 106266 | }, |
| 103333 | .extra_temps = .{ | 106267 | .extra_temps = .{ |
| 103334 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 106268 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103335 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, | 106269 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| 103336 | .unused, | 106270 | .unused, |
| 103337 | .unused, | 106271 | .unused, |
| ... | @@ -103346,12 +106280,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103346,12 +106280,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103346 | .dst_temps = .{ .mem, .unused }, | 106280 | .dst_temps = .{ .mem, .unused }, |
| 103347 | .clobbers = .{ .eflags = true }, | 106281 | .clobbers = .{ .eflags = true }, |
| 103348 | .each = .{ .once = &.{ | 106282 | .each = .{ .once = &.{ |
| 103349 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 106283 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_size), ._, ._ }, |
| 103350 | .{ .@"0:", ._, .cvttpd2dq, .tmp1x, .memsia(.src0x, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 106284 | .{ .@"0:", ._, .cvttpd2dq, .tmp1x, .memsi(.src0x, .@"4", .tmp0), ._, ._ }, |
| 103351 | .{ ._, .p_w, .ackssd, .tmp1x, .tmp1x, ._, ._ }, | 106285 | .{ ._, .p_w, .ackssd, .tmp1x, .tmp1x, ._, ._ }, |
| 103352 | .{ ._, ._d, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 106286 | .{ ._, ._d, .mov, .memi(.dst0d, .tmp0), .tmp1x, ._, ._ }, |
| 103353 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 106287 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 103354 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 106288 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 103355 | } }, | 106289 | } }, |
| 103356 | }, .{ | 106290 | }, .{ |
| 103357 | .required_features = .{ .avx, null, null, null }, | 106291 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -103361,7 +106295,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103361,7 +106295,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103361 | .{ .src = .{ .to_mem, .none, .none } }, | 106295 | .{ .src = .{ .to_mem, .none, .none } }, |
| 103362 | }, | 106296 | }, |
| 103363 | .extra_temps = .{ | 106297 | .extra_temps = .{ |
| 103364 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 106298 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103365 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, | 106299 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 103366 | .unused, | 106300 | .unused, |
| 103367 | .unused, | 106301 | .unused, |
| ... | @@ -103376,12 +106310,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103376,12 +106310,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103376 | .dst_temps = .{ .mem, .unused }, | 106310 | .dst_temps = .{ .mem, .unused }, |
| 103377 | .clobbers = .{ .eflags = true }, | 106311 | .clobbers = .{ .eflags = true }, |
| 103378 | .each = .{ .once = &.{ | 106312 | .each = .{ .once = &.{ |
| 103379 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 106313 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_size), ._, ._ }, |
| 103380 | .{ .@"0:", .v_, .cvttpd2dq, .tmp1x, .memsia(.src0y, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 106314 | .{ .@"0:", .v_, .cvttpd2dq, .tmp1x, .memsi(.src0y, .@"4", .tmp0), ._, ._ }, |
| 103381 | .{ ._, .vp_w, .ackusd, .tmp1x, .tmp1x, .tmp1x, ._ }, | 106315 | .{ ._, .vp_w, .ackusd, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| 103382 | .{ ._, .v_q, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 106316 | .{ ._, .v_q, .mov, .memi(.dst0q, .tmp0), .tmp1x, ._, ._ }, |
| 103383 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 106317 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 103384 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 106318 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 103385 | } }, | 106319 | } }, |
| 103386 | }, .{ | 106320 | }, .{ |
| 103387 | .required_features = .{ .sse4_1, null, null, null }, | 106321 | .required_features = .{ .sse4_1, null, null, null }, |
| ... | @@ -103391,7 +106325,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103391,7 +106325,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103391 | .{ .src = .{ .to_mem, .none, .none } }, | 106325 | .{ .src = .{ .to_mem, .none, .none } }, |
| 103392 | }, | 106326 | }, |
| 103393 | .extra_temps = .{ | 106327 | .extra_temps = .{ |
| 103394 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 106328 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103395 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, | 106329 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 103396 | .unused, | 106330 | .unused, |
| 103397 | .unused, | 106331 | .unused, |
| ... | @@ -103406,12 +106340,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103406,12 +106340,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103406 | .dst_temps = .{ .mem, .unused }, | 106340 | .dst_temps = .{ .mem, .unused }, |
| 103407 | .clobbers = .{ .eflags = true }, | 106341 | .clobbers = .{ .eflags = true }, |
| 103408 | .each = .{ .once = &.{ | 106342 | .each = .{ .once = &.{ |
| 103409 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 106343 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_size), ._, ._ }, |
| 103410 | .{ .@"0:", ._, .cvttpd2dq, .tmp1x, .memsia(.src0x, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 106344 | .{ .@"0:", ._, .cvttpd2dq, .tmp1x, .memsi(.src0x, .@"4", .tmp0), ._, ._ }, |
| 103411 | .{ ._, .p_w, .ackusd, .tmp1x, .tmp1x, ._, ._ }, | 106345 | .{ ._, .p_w, .ackusd, .tmp1x, .tmp1x, ._, ._ }, |
| 103412 | .{ ._, ._d, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 106346 | .{ ._, ._d, .mov, .memi(.dst0d, .tmp0), .tmp1x, ._, ._ }, |
| 103413 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 106347 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 103414 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 106348 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 103415 | } }, | 106349 | } }, |
| 103416 | }, .{ | 106350 | }, .{ |
| 103417 | .required_features = .{ .sse2, null, null, null }, | 106351 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -103421,7 +106355,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103421,7 +106355,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103421 | .{ .src = .{ .to_mem, .none, .none } }, | 106355 | .{ .src = .{ .to_mem, .none, .none } }, |
| 103422 | }, | 106356 | }, |
| 103423 | .extra_temps = .{ | 106357 | .extra_temps = .{ |
| 103424 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 106358 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103425 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, | 106359 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 103426 | .unused, | 106360 | .unused, |
| 103427 | .unused, | 106361 | .unused, |
| ... | @@ -103436,11 +106370,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103436,11 +106370,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103436 | .dst_temps = .{ .mem, .unused }, | 106370 | .dst_temps = .{ .mem, .unused }, |
| 103437 | .clobbers = .{ .eflags = true }, | 106371 | .clobbers = .{ .eflags = true }, |
| 103438 | .each = .{ .once = &.{ | 106372 | .each = .{ .once = &.{ |
| 103439 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 106373 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 103440 | .{ .@"0:", ._, .cvttsd2si, .tmp1d, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 106374 | .{ .@"0:", ._, .cvttsd2si, .tmp1d, .memsi(.src0q, .@"4", .tmp0), ._, ._ }, |
| 103441 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | 106375 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp1w, ._, ._ }, |
| 103442 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 106376 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 103443 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 106377 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 103444 | } }, | 106378 | } }, |
| 103445 | }, .{ | 106379 | }, .{ |
| 103446 | .required_features = .{ .x87, null, null, null }, | 106380 | .required_features = .{ .x87, null, null, null }, |
| ... | @@ -103450,7 +106384,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103450,7 +106384,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103450 | .{ .src = .{ .to_mem, .none, .none } }, | 106384 | .{ .src = .{ .to_mem, .none, .none } }, |
| 103451 | }, | 106385 | }, |
| 103452 | .extra_temps = .{ | 106386 | .extra_temps = .{ |
| 103453 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 106387 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103454 | .{ .type = .u16, .kind = .mem }, | 106388 | .{ .type = .u16, .kind = .mem }, |
| 103455 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, | 106389 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 103456 | .unused, | 106390 | .unused, |
| ... | @@ -103470,11 +106404,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103470,11 +106404,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103470 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, | 106404 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 103471 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, | 106405 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 103472 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp0b, ._, ._ }, | 106406 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp0b, ._, ._ }, |
| 103473 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 106407 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 103474 | .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 106408 | .{ .@"0:", .f_, .ld, .memsi(.src0q, .@"4", .tmp0), ._, ._, ._ }, |
| 103475 | .{ ._, .fi_p, .st, .memia(.dst0w, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 106409 | .{ ._, .fi_p, .st, .memi(.dst0w, .tmp0), ._, ._, ._ }, |
| 103476 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 106410 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 103477 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 106411 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 103478 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, | 106412 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 103479 | } }, | 106413 | } }, |
| 103480 | }, .{ | 106414 | }, .{ |
| ... | @@ -103485,7 +106419,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103485,7 +106419,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103485 | .{ .src = .{ .to_mem, .none, .none } }, | 106419 | .{ .src = .{ .to_mem, .none, .none } }, |
| 103486 | }, | 106420 | }, |
| 103487 | .extra_temps = .{ | 106421 | .extra_temps = .{ |
| 103488 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 106422 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103489 | .{ .type = .u16, .kind = .mem }, | 106423 | .{ .type = .u16, .kind = .mem }, |
| 103490 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, | 106424 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| 103491 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, | 106425 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| ... | @@ -103500,18 +106434,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103500,18 +106434,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103500 | .dst_temps = .{ .mem, .unused }, | 106434 | .dst_temps = .{ .mem, .unused }, |
| 103501 | .clobbers = .{ .eflags = true }, | 106435 | .clobbers = .{ .eflags = true }, |
| 103502 | .each = .{ .once = &.{ | 106436 | .each = .{ .once = &.{ |
| 103503 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 106437 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 103504 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, | 106438 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| 103505 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, | 106439 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, |
| 103506 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, | 106440 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 103507 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, | 106441 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 103508 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, | 106442 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, |
| 103509 | .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 106443 | .{ .@"0:", .f_, .ld, .memsi(.src0q, .@"4", .tmp0), ._, ._, ._ }, |
| 103510 | .{ ._, .fi_p, .st, .tmp4d, ._, ._, ._ }, | 106444 | .{ ._, .fi_p, .st, .tmp4d, ._, ._, ._ }, |
| 103511 | .{ ._, ._, .mov, .tmp2d, .tmp4d, ._, ._ }, | 106445 | .{ ._, ._, .mov, .tmp2d, .tmp4d, ._, ._ }, |
| 103512 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp2w, ._, ._ }, | 106446 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp2w, ._, ._ }, |
| 103513 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 106447 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 103514 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 106448 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 103515 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, | 106449 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 103516 | } }, | 106450 | } }, |
| 103517 | }, .{ | 106451 | }, .{ |
| ... | @@ -103523,10 +106457,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103523,10 +106457,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103523 | }, | 106457 | }, |
| 103524 | .call_frame = .{ .alignment = .@"16" }, | 106458 | .call_frame = .{ .alignment = .@"16" }, |
| 103525 | .extra_temps = .{ | 106459 | .extra_temps = .{ |
| 103526 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 106460 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103527 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 106461 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 103528 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfsi" } }, | 106462 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfsi" } }, |
| 103529 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 106463 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 103530 | .unused, | 106464 | .unused, |
| 103531 | .unused, | 106465 | .unused, |
| 103532 | .unused, | 106466 | .unused, |
| ... | @@ -103538,12 +106472,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103538,12 +106472,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103538 | .dst_temps = .{ .mem, .unused }, | 106472 | .dst_temps = .{ .mem, .unused }, |
| 103539 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 106473 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 103540 | .each = .{ .once = &.{ | 106474 | .each = .{ .once = &.{ |
| 103541 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 106475 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 103542 | .{ .@"0:", .v_sd, .mov, .tmp1x, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 106476 | .{ .@"0:", .v_sd, .mov, .tmp1x, .memsi(.src0q, .@"4", .tmp0), ._, ._ }, |
| 103543 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 106477 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 103544 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3w, ._, ._ }, | 106478 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp3w, ._, ._ }, |
| 103545 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 106479 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 103546 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 106480 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 103547 | } }, | 106481 | } }, |
| 103548 | }, .{ | 106482 | }, .{ |
| 103549 | .required_features = .{ .sse2, null, null, null }, | 106483 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -103554,10 +106488,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103554,10 +106488,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103554 | }, | 106488 | }, |
| 103555 | .call_frame = .{ .alignment = .@"16" }, | 106489 | .call_frame = .{ .alignment = .@"16" }, |
| 103556 | .extra_temps = .{ | 106490 | .extra_temps = .{ |
| 103557 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 106491 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103558 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 106492 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 103559 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfsi" } }, | 106493 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfsi" } }, |
| 103560 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 106494 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 103561 | .unused, | 106495 | .unused, |
| 103562 | .unused, | 106496 | .unused, |
| 103563 | .unused, | 106497 | .unused, |
| ... | @@ -103569,12 +106503,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103569,12 +106503,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103569 | .dst_temps = .{ .mem, .unused }, | 106503 | .dst_temps = .{ .mem, .unused }, |
| 103570 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 106504 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 103571 | .each = .{ .once = &.{ | 106505 | .each = .{ .once = &.{ |
| 103572 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 106506 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 103573 | .{ .@"0:", ._sd, .mov, .tmp1x, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 106507 | .{ .@"0:", ._sd, .mov, .tmp1x, .memsi(.src0q, .@"4", .tmp0), ._, ._ }, |
| 103574 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 106508 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 103575 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3w, ._, ._ }, | 106509 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp3w, ._, ._ }, |
| 103576 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 106510 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 103577 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 106511 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 103578 | } }, | 106512 | } }, |
| 103579 | }, .{ | 106513 | }, .{ |
| 103580 | .required_features = .{ .sse, null, null, null }, | 106514 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -103585,10 +106519,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103585,10 +106519,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103585 | }, | 106519 | }, |
| 103586 | .call_frame = .{ .alignment = .@"16" }, | 106520 | .call_frame = .{ .alignment = .@"16" }, |
| 103587 | .extra_temps = .{ | 106521 | .extra_temps = .{ |
| 103588 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 106522 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103589 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 106523 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 103590 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfsi" } }, | 106524 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfsi" } }, |
| 103591 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 106525 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 103592 | .unused, | 106526 | .unused, |
| 103593 | .unused, | 106527 | .unused, |
| 103594 | .unused, | 106528 | .unused, |
| ... | @@ -103600,13 +106534,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103600,13 +106534,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103600 | .dst_temps = .{ .mem, .unused }, | 106534 | .dst_temps = .{ .mem, .unused }, |
| 103601 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 106535 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 103602 | .each = .{ .once = &.{ | 106536 | .each = .{ .once = &.{ |
| 103603 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 106537 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 103604 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, | 106538 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 103605 | .{ ._, ._ps, .movl, .tmp1x, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 106539 | .{ ._, ._ps, .movl, .tmp1x, .memsi(.src0q, .@"4", .tmp0), ._, ._ }, |
| 103606 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 106540 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 103607 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3w, ._, ._ }, | 106541 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp3w, ._, ._ }, |
| 103608 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 106542 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 103609 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 106543 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 103610 | } }, | 106544 | } }, |
| 103611 | }, .{ | 106545 | }, .{ |
| 103612 | .required_features = .{ .avx, null, null, null }, | 106546 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -103652,7 +106586,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103652,7 +106586,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103652 | .{ .src = .{ .to_mem, .none, .none } }, | 106586 | .{ .src = .{ .to_mem, .none, .none } }, |
| 103653 | }, | 106587 | }, |
| 103654 | .extra_temps = .{ | 106588 | .extra_temps = .{ |
| 103655 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 106589 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103656 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 106590 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 103657 | .unused, | 106591 | .unused, |
| 103658 | .unused, | 106592 | .unused, |
| ... | @@ -103667,11 +106601,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103667,11 +106601,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103667 | .dst_temps = .{ .mem, .unused }, | 106601 | .dst_temps = .{ .mem, .unused }, |
| 103668 | .clobbers = .{ .eflags = true }, | 106602 | .clobbers = .{ .eflags = true }, |
| 103669 | .each = .{ .once = &.{ | 106603 | .each = .{ .once = &.{ |
| 103670 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 106604 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .dst0, .add_size), ._, ._ }, |
| 103671 | .{ .@"0:", .v_, .cvttpd2dq, .tmp1x, .memsia(.src0y, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 106605 | .{ .@"0:", .v_, .cvttpd2dq, .tmp1x, .memsi(.src0y, .@"2", .tmp0), ._, ._ }, |
| 103672 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 106606 | .{ ._, .v_dqa, .mov, .memi(.dst0x, .tmp0), .tmp1x, ._, ._ }, |
| 103673 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 106607 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 103674 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 106608 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 103675 | } }, | 106609 | } }, |
| 103676 | }, .{ | 106610 | }, .{ |
| 103677 | .required_features = .{ .sse2, null, null, null }, | 106611 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -103681,7 +106615,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103681,7 +106615,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103681 | .{ .src = .{ .to_mem, .none, .none } }, | 106615 | .{ .src = .{ .to_mem, .none, .none } }, |
| 103682 | }, | 106616 | }, |
| 103683 | .extra_temps = .{ | 106617 | .extra_temps = .{ |
| 103684 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 106618 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103685 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 106619 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 103686 | .unused, | 106620 | .unused, |
| 103687 | .unused, | 106621 | .unused, |
| ... | @@ -103696,11 +106630,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103696,11 +106630,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103696 | .dst_temps = .{ .mem, .unused }, | 106630 | .dst_temps = .{ .mem, .unused }, |
| 103697 | .clobbers = .{ .eflags = true }, | 106631 | .clobbers = .{ .eflags = true }, |
| 103698 | .each = .{ .once = &.{ | 106632 | .each = .{ .once = &.{ |
| 103699 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 106633 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_size), ._, ._ }, |
| 103700 | .{ .@"0:", ._, .cvttpd2dq, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 106634 | .{ .@"0:", ._, .cvttpd2dq, .tmp1x, .memsi(.src0x, .@"2", .tmp0), ._, ._ }, |
| 103701 | .{ ._, ._q, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1q, ._, ._ }, | 106635 | .{ ._, ._q, .mov, .memi(.dst0q, .tmp0), .tmp1q, ._, ._ }, |
| 103702 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 106636 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 103703 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 106637 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 103704 | } }, | 106638 | } }, |
| 103705 | }, .{ | 106639 | }, .{ |
| 103706 | .required_features = .{ .x87, null, null, null }, | 106640 | .required_features = .{ .x87, null, null, null }, |
| ... | @@ -103710,7 +106644,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103710,7 +106644,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103710 | .{ .src = .{ .to_mem, .none, .none } }, | 106644 | .{ .src = .{ .to_mem, .none, .none } }, |
| 103711 | }, | 106645 | }, |
| 103712 | .extra_temps = .{ | 106646 | .extra_temps = .{ |
| 103713 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 106647 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103714 | .{ .type = .u16, .kind = .mem }, | 106648 | .{ .type = .u16, .kind = .mem }, |
| 103715 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, | 106649 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 103716 | .unused, | 106650 | .unused, |
| ... | @@ -103730,11 +106664,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103730,11 +106664,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103730 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, | 106664 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 103731 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, | 106665 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 103732 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp0b, ._, ._ }, | 106666 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp0b, ._, ._ }, |
| 103733 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 106667 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 103734 | .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 106668 | .{ .@"0:", .f_, .ld, .memsi(.src0q, .@"2", .tmp0), ._, ._, ._ }, |
| 103735 | .{ ._, .fi_p, .st, .memia(.dst0d, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 106669 | .{ ._, .fi_p, .st, .memi(.dst0d, .tmp0), ._, ._, ._ }, |
| 103736 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 106670 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 103737 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 106671 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 103738 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, | 106672 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 103739 | } }, | 106673 | } }, |
| 103740 | }, .{ | 106674 | }, .{ |
| ... | @@ -103745,7 +106679,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103745,7 +106679,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103745 | .{ .src = .{ .to_mem, .none, .none } }, | 106679 | .{ .src = .{ .to_mem, .none, .none } }, |
| 103746 | }, | 106680 | }, |
| 103747 | .extra_temps = .{ | 106681 | .extra_temps = .{ |
| 103748 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 106682 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103749 | .{ .type = .u16, .kind = .mem }, | 106683 | .{ .type = .u16, .kind = .mem }, |
| 103750 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 106684 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103751 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, | 106685 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| ... | @@ -103760,18 +106694,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103760,18 +106694,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103760 | .dst_temps = .{ .mem, .unused }, | 106694 | .dst_temps = .{ .mem, .unused }, |
| 103761 | .clobbers = .{ .eflags = true }, | 106695 | .clobbers = .{ .eflags = true }, |
| 103762 | .each = .{ .once = &.{ | 106696 | .each = .{ .once = &.{ |
| 103763 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 106697 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 103764 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, | 106698 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| 103765 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, | 106699 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, |
| 103766 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, | 106700 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 103767 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, | 106701 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 103768 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, | 106702 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, |
| 103769 | .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 106703 | .{ .@"0:", .f_, .ld, .memsi(.src0q, .@"2", .tmp0), ._, ._, ._ }, |
| 103770 | .{ ._, .fi_p, .st, .tmp4q, ._, ._, ._ }, | 106704 | .{ ._, .fi_p, .st, .tmp4q, ._, ._, ._ }, |
| 103771 | .{ ._, ._, .mov, .tmp2d, .tmp4d, ._, ._ }, | 106705 | .{ ._, ._, .mov, .tmp2d, .tmp4d, ._, ._ }, |
| 103772 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp2d, ._, ._ }, | 106706 | .{ ._, ._, .mov, .memi(.dst0d, .tmp0), .tmp2d, ._, ._ }, |
| 103773 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 106707 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 103774 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 106708 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 103775 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, | 106709 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 103776 | } }, | 106710 | } }, |
| 103777 | }, .{ | 106711 | }, .{ |
| ... | @@ -103783,10 +106717,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103783,10 +106717,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103783 | }, | 106717 | }, |
| 103784 | .call_frame = .{ .alignment = .@"16" }, | 106718 | .call_frame = .{ .alignment = .@"16" }, |
| 103785 | .extra_temps = .{ | 106719 | .extra_temps = .{ |
| 103786 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 106720 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103787 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 106721 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 103788 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfsi" } }, | 106722 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfsi" } }, |
| 103789 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 106723 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 103790 | .unused, | 106724 | .unused, |
| 103791 | .unused, | 106725 | .unused, |
| 103792 | .unused, | 106726 | .unused, |
| ... | @@ -103798,12 +106732,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103798,12 +106732,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103798 | .dst_temps = .{ .mem, .unused }, | 106732 | .dst_temps = .{ .mem, .unused }, |
| 103799 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 106733 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 103800 | .each = .{ .once = &.{ | 106734 | .each = .{ .once = &.{ |
| 103801 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 106735 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 103802 | .{ .@"0:", .v_sd, .mov, .tmp1x, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 106736 | .{ .@"0:", .v_sd, .mov, .tmp1x, .memsi(.src0q, .@"2", .tmp0), ._, ._ }, |
| 103803 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 106737 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 103804 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3d, ._, ._ }, | 106738 | .{ ._, ._, .mov, .memi(.dst0d, .tmp0), .tmp3d, ._, ._ }, |
| 103805 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 106739 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 103806 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 106740 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 103807 | } }, | 106741 | } }, |
| 103808 | }, .{ | 106742 | }, .{ |
| 103809 | .required_features = .{ .avx, null, null, null }, | 106743 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -103814,10 +106748,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103814,10 +106748,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103814 | }, | 106748 | }, |
| 103815 | .call_frame = .{ .alignment = .@"16" }, | 106749 | .call_frame = .{ .alignment = .@"16" }, |
| 103816 | .extra_temps = .{ | 106750 | .extra_temps = .{ |
| 103817 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 106751 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103818 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 106752 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 103819 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsdfsi" } }, | 106753 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsdfsi" } }, |
| 103820 | .{ .type = .u32, .kind = .{ .reg = .eax } }, | 106754 | .{ .type = .u32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 103821 | .unused, | 106755 | .unused, |
| 103822 | .unused, | 106756 | .unused, |
| 103823 | .unused, | 106757 | .unused, |
| ... | @@ -103829,12 +106763,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103829,12 +106763,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103829 | .dst_temps = .{ .mem, .unused }, | 106763 | .dst_temps = .{ .mem, .unused }, |
| 103830 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 106764 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 103831 | .each = .{ .once = &.{ | 106765 | .each = .{ .once = &.{ |
| 103832 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 106766 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 103833 | .{ .@"0:", .v_sd, .mov, .tmp1x, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 106767 | .{ .@"0:", .v_sd, .mov, .tmp1x, .memsi(.src0q, .@"2", .tmp0), ._, ._ }, |
| 103834 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 106768 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 103835 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3d, ._, ._ }, | 106769 | .{ ._, ._, .mov, .memi(.dst0d, .tmp0), .tmp3d, ._, ._ }, |
| 103836 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 106770 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 103837 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 106771 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 103838 | } }, | 106772 | } }, |
| 103839 | }, .{ | 106773 | }, .{ |
| 103840 | .required_features = .{ .sse2, null, null, null }, | 106774 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -103845,10 +106779,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103845,10 +106779,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103845 | }, | 106779 | }, |
| 103846 | .call_frame = .{ .alignment = .@"16" }, | 106780 | .call_frame = .{ .alignment = .@"16" }, |
| 103847 | .extra_temps = .{ | 106781 | .extra_temps = .{ |
| 103848 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 106782 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103849 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 106783 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 103850 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfsi" } }, | 106784 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfsi" } }, |
| 103851 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 106785 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 103852 | .unused, | 106786 | .unused, |
| 103853 | .unused, | 106787 | .unused, |
| 103854 | .unused, | 106788 | .unused, |
| ... | @@ -103860,12 +106794,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103860,12 +106794,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103860 | .dst_temps = .{ .mem, .unused }, | 106794 | .dst_temps = .{ .mem, .unused }, |
| 103861 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 106795 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 103862 | .each = .{ .once = &.{ | 106796 | .each = .{ .once = &.{ |
| 103863 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 106797 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 103864 | .{ .@"0:", ._sd, .mov, .tmp1x, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 106798 | .{ .@"0:", ._sd, .mov, .tmp1x, .memsi(.src0q, .@"2", .tmp0), ._, ._ }, |
| 103865 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 106799 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 103866 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3d, ._, ._ }, | 106800 | .{ ._, ._, .mov, .memi(.dst0d, .tmp0), .tmp3d, ._, ._ }, |
| 103867 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 106801 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 103868 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 106802 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 103869 | } }, | 106803 | } }, |
| 103870 | }, .{ | 106804 | }, .{ |
| 103871 | .required_features = .{ .sse2, null, null, null }, | 106805 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -103876,10 +106810,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103876,10 +106810,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103876 | }, | 106810 | }, |
| 103877 | .call_frame = .{ .alignment = .@"16" }, | 106811 | .call_frame = .{ .alignment = .@"16" }, |
| 103878 | .extra_temps = .{ | 106812 | .extra_temps = .{ |
| 103879 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 106813 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103880 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 106814 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 103881 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsdfsi" } }, | 106815 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsdfsi" } }, |
| 103882 | .{ .type = .u32, .kind = .{ .reg = .eax } }, | 106816 | .{ .type = .u32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 103883 | .unused, | 106817 | .unused, |
| 103884 | .unused, | 106818 | .unused, |
| 103885 | .unused, | 106819 | .unused, |
| ... | @@ -103891,12 +106825,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103891,12 +106825,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103891 | .dst_temps = .{ .mem, .unused }, | 106825 | .dst_temps = .{ .mem, .unused }, |
| 103892 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 106826 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 103893 | .each = .{ .once = &.{ | 106827 | .each = .{ .once = &.{ |
| 103894 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 106828 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 103895 | .{ .@"0:", ._sd, .mov, .tmp1x, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 106829 | .{ .@"0:", ._sd, .mov, .tmp1x, .memsi(.src0q, .@"2", .tmp0), ._, ._ }, |
| 103896 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 106830 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 103897 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3d, ._, ._ }, | 106831 | .{ ._, ._, .mov, .memi(.dst0d, .tmp0), .tmp3d, ._, ._ }, |
| 103898 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 106832 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 103899 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 106833 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 103900 | } }, | 106834 | } }, |
| 103901 | }, .{ | 106835 | }, .{ |
| 103902 | .required_features = .{ .sse, null, null, null }, | 106836 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -103907,10 +106841,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103907,10 +106841,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103907 | }, | 106841 | }, |
| 103908 | .call_frame = .{ .alignment = .@"16" }, | 106842 | .call_frame = .{ .alignment = .@"16" }, |
| 103909 | .extra_temps = .{ | 106843 | .extra_temps = .{ |
| 103910 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 106844 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103911 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 106845 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 103912 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfsi" } }, | 106846 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfsi" } }, |
| 103913 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 106847 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 103914 | .unused, | 106848 | .unused, |
| 103915 | .unused, | 106849 | .unused, |
| 103916 | .unused, | 106850 | .unused, |
| ... | @@ -103922,13 +106856,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103922,13 +106856,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103922 | .dst_temps = .{ .mem, .unused }, | 106856 | .dst_temps = .{ .mem, .unused }, |
| 103923 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 106857 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 103924 | .each = .{ .once = &.{ | 106858 | .each = .{ .once = &.{ |
| 103925 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 106859 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 103926 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, | 106860 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 103927 | .{ ._, ._ps, .movl, .tmp1x, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 106861 | .{ ._, ._ps, .movl, .tmp1x, .memsi(.src0q, .@"2", .tmp0), ._, ._ }, |
| 103928 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 106862 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 103929 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3d, ._, ._ }, | 106863 | .{ ._, ._, .mov, .memi(.dst0d, .tmp0), .tmp3d, ._, ._ }, |
| 103930 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 106864 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 103931 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 106865 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 103932 | } }, | 106866 | } }, |
| 103933 | }, .{ | 106867 | }, .{ |
| 103934 | .required_features = .{ .sse, null, null, null }, | 106868 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -103939,10 +106873,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103939,10 +106873,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103939 | }, | 106873 | }, |
| 103940 | .call_frame = .{ .alignment = .@"16" }, | 106874 | .call_frame = .{ .alignment = .@"16" }, |
| 103941 | .extra_temps = .{ | 106875 | .extra_temps = .{ |
| 103942 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 106876 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103943 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 106877 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 103944 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsdfsi" } }, | 106878 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsdfsi" } }, |
| 103945 | .{ .type = .u32, .kind = .{ .reg = .eax } }, | 106879 | .{ .type = .u32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 103946 | .unused, | 106880 | .unused, |
| 103947 | .unused, | 106881 | .unused, |
| 103948 | .unused, | 106882 | .unused, |
| ... | @@ -103954,13 +106888,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103954,13 +106888,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103954 | .dst_temps = .{ .mem, .unused }, | 106888 | .dst_temps = .{ .mem, .unused }, |
| 103955 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 106889 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 103956 | .each = .{ .once = &.{ | 106890 | .each = .{ .once = &.{ |
| 103957 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 106891 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 103958 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, | 106892 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 103959 | .{ ._, ._ps, .movl, .tmp1x, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 106893 | .{ ._, ._ps, .movl, .tmp1x, .memsi(.src0q, .@"2", .tmp0), ._, ._ }, |
| 103960 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 106894 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 103961 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3d, ._, ._ }, | 106895 | .{ ._, ._, .mov, .memi(.dst0d, .tmp0), .tmp3d, ._, ._ }, |
| 103962 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 106896 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 103963 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 106897 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 103964 | } }, | 106898 | } }, |
| 103965 | }, .{ | 106899 | }, .{ |
| 103966 | .required_features = .{ .@"64bit", .avx, null, null }, | 106900 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | @@ -103970,7 +106904,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103970,7 +106904,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103970 | .{ .src = .{ .to_mem, .none, .none } }, | 106904 | .{ .src = .{ .to_mem, .none, .none } }, |
| 103971 | }, | 106905 | }, |
| 103972 | .extra_temps = .{ | 106906 | .extra_temps = .{ |
| 103973 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 106907 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103974 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, | 106908 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 103975 | .unused, | 106909 | .unused, |
| 103976 | .unused, | 106910 | .unused, |
| ... | @@ -103985,11 +106919,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103985,11 +106919,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103985 | .dst_temps = .{ .mem, .unused }, | 106919 | .dst_temps = .{ .mem, .unused }, |
| 103986 | .clobbers = .{ .eflags = true }, | 106920 | .clobbers = .{ .eflags = true }, |
| 103987 | .each = .{ .once = &.{ | 106921 | .each = .{ .once = &.{ |
| 103988 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 106922 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 103989 | .{ .@"0:", .v_, .cvttsd2si, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 106923 | .{ .@"0:", .v_, .cvttsd2si, .tmp1q, .memi(.src0q, .tmp0), ._, ._ }, |
| 103990 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1q, ._, ._ }, | 106924 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp1q, ._, ._ }, |
| 103991 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 106925 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 103992 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 106926 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 103993 | } }, | 106927 | } }, |
| 103994 | }, .{ | 106928 | }, .{ |
| 103995 | .required_features = .{ .@"64bit", .sse2, null, null }, | 106929 | .required_features = .{ .@"64bit", .sse2, null, null }, |
| ... | @@ -103999,7 +106933,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103999,7 +106933,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103999 | .{ .src = .{ .to_mem, .none, .none } }, | 106933 | .{ .src = .{ .to_mem, .none, .none } }, |
| 104000 | }, | 106934 | }, |
| 104001 | .extra_temps = .{ | 106935 | .extra_temps = .{ |
| 104002 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 106936 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 104003 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, | 106937 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 104004 | .unused, | 106938 | .unused, |
| 104005 | .unused, | 106939 | .unused, |
| ... | @@ -104014,11 +106948,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104014,11 +106948,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104014 | .dst_temps = .{ .mem, .unused }, | 106948 | .dst_temps = .{ .mem, .unused }, |
| 104015 | .clobbers = .{ .eflags = true }, | 106949 | .clobbers = .{ .eflags = true }, |
| 104016 | .each = .{ .once = &.{ | 106950 | .each = .{ .once = &.{ |
| 104017 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 106951 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 104018 | .{ .@"0:", ._, .cvttsd2si, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 106952 | .{ .@"0:", ._, .cvttsd2si, .tmp1q, .memi(.src0q, .tmp0), ._, ._ }, |
| 104019 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1q, ._, ._ }, | 106953 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp1q, ._, ._ }, |
| 104020 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 106954 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 104021 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 106955 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 104022 | } }, | 106956 | } }, |
| 104023 | }, .{ | 106957 | }, .{ |
| 104024 | .required_features = .{ .x87, null, null, null }, | 106958 | .required_features = .{ .x87, null, null, null }, |
| ... | @@ -104028,7 +106962,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104028,7 +106962,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104028 | .{ .src = .{ .to_mem, .none, .none } }, | 106962 | .{ .src = .{ .to_mem, .none, .none } }, |
| 104029 | }, | 106963 | }, |
| 104030 | .extra_temps = .{ | 106964 | .extra_temps = .{ |
| 104031 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 106965 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 104032 | .{ .type = .u16, .kind = .mem }, | 106966 | .{ .type = .u16, .kind = .mem }, |
| 104033 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, | 106967 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 104034 | .unused, | 106968 | .unused, |
| ... | @@ -104048,11 +106982,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104048,11 +106982,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104048 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, | 106982 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 104049 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, | 106983 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 104050 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp0b, ._, ._ }, | 106984 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp0b, ._, ._ }, |
| 104051 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 106985 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| 104052 | .{ .@"0:", .f_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 106986 | .{ .@"0:", .f_, .ld, .memi(.src0q, .tmp0), ._, ._, ._ }, |
| 104053 | .{ ._, .fi_p, .st, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 106987 | .{ ._, .fi_p, .st, .memi(.dst0q, .tmp0), ._, ._, ._ }, |
| 104054 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 106988 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 104055 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 106989 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 104056 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, | 106990 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 104057 | } }, | 106991 | } }, |
| 104058 | }, .{ | 106992 | }, .{ |
| ... | @@ -104064,10 +106998,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104064,10 +106998,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104064 | }, | 106998 | }, |
| 104065 | .call_frame = .{ .alignment = .@"16" }, | 106999 | .call_frame = .{ .alignment = .@"16" }, |
| 104066 | .extra_temps = .{ | 107000 | .extra_temps = .{ |
| 104067 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 107001 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 104068 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 107002 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 104069 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfdi" } }, | 107003 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfdi" } }, |
| 104070 | .{ .type = .i64, .kind = .{ .reg = .rax } }, | 107004 | .{ .type = .i64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 104071 | .unused, | 107005 | .unused, |
| 104072 | .unused, | 107006 | .unused, |
| 104073 | .unused, | 107007 | .unused, |
| ... | @@ -104079,12 +107013,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104079,12 +107013,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104079 | .dst_temps = .{ .mem, .unused }, | 107013 | .dst_temps = .{ .mem, .unused }, |
| 104080 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 107014 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 104081 | .each = .{ .once = &.{ | 107015 | .each = .{ .once = &.{ |
| 104082 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 107016 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 104083 | .{ .@"0:", .v_sd, .mov, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 107017 | .{ .@"0:", .v_sd, .mov, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 104084 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 107018 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 104085 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 107019 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp3q, ._, ._ }, |
| 104086 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 107020 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 104087 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 107021 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 104088 | } }, | 107022 | } }, |
| 104089 | }, .{ | 107023 | }, .{ |
| 104090 | .required_features = .{ .avx, null, null, null }, | 107024 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -104095,10 +107029,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104095,10 +107029,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104095 | }, | 107029 | }, |
| 104096 | .call_frame = .{ .alignment = .@"16" }, | 107030 | .call_frame = .{ .alignment = .@"16" }, |
| 104097 | .extra_temps = .{ | 107031 | .extra_temps = .{ |
| 104098 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 107032 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 104099 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 107033 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 104100 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsdfdi" } }, | 107034 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsdfdi" } }, |
| 104101 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 107035 | .{ .type = .u64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 104102 | .unused, | 107036 | .unused, |
| 104103 | .unused, | 107037 | .unused, |
| 104104 | .unused, | 107038 | .unused, |
| ... | @@ -104110,12 +107044,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104110,12 +107044,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104110 | .dst_temps = .{ .mem, .unused }, | 107044 | .dst_temps = .{ .mem, .unused }, |
| 104111 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 107045 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 104112 | .each = .{ .once = &.{ | 107046 | .each = .{ .once = &.{ |
| 104113 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 107047 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 104114 | .{ .@"0:", .v_sd, .mov, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 107048 | .{ .@"0:", .v_sd, .mov, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 104115 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 107049 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 104116 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 107050 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp3q, ._, ._ }, |
| 104117 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 107051 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 104118 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 107052 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 104119 | } }, | 107053 | } }, |
| 104120 | }, .{ | 107054 | }, .{ |
| 104121 | .required_features = .{ .sse2, null, null, null }, | 107055 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -104126,10 +107060,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104126,10 +107060,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104126 | }, | 107060 | }, |
| 104127 | .call_frame = .{ .alignment = .@"16" }, | 107061 | .call_frame = .{ .alignment = .@"16" }, |
| 104128 | .extra_temps = .{ | 107062 | .extra_temps = .{ |
| 104129 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 107063 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 104130 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 107064 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 104131 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfdi" } }, | 107065 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfdi" } }, |
| 104132 | .{ .type = .i64, .kind = .{ .reg = .rax } }, | 107066 | .{ .type = .i64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 104133 | .unused, | 107067 | .unused, |
| 104134 | .unused, | 107068 | .unused, |
| 104135 | .unused, | 107069 | .unused, |
| ... | @@ -104141,12 +107075,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104141,12 +107075,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104141 | .dst_temps = .{ .mem, .unused }, | 107075 | .dst_temps = .{ .mem, .unused }, |
| 104142 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 107076 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 104143 | .each = .{ .once = &.{ | 107077 | .each = .{ .once = &.{ |
| 104144 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 107078 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 104145 | .{ .@"0:", ._sd, .mov, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 107079 | .{ .@"0:", ._sd, .mov, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 104146 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 107080 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 104147 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 107081 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp3q, ._, ._ }, |
| 104148 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 107082 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 104149 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 107083 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 104150 | } }, | 107084 | } }, |
| 104151 | }, .{ | 107085 | }, .{ |
| 104152 | .required_features = .{ .sse2, null, null, null }, | 107086 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -104157,10 +107091,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104157,10 +107091,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104157 | }, | 107091 | }, |
| 104158 | .call_frame = .{ .alignment = .@"16" }, | 107092 | .call_frame = .{ .alignment = .@"16" }, |
| 104159 | .extra_temps = .{ | 107093 | .extra_temps = .{ |
| 104160 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 107094 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 104161 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 107095 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 104162 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsdfdi" } }, | 107096 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsdfdi" } }, |
| 104163 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 107097 | .{ .type = .u64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 104164 | .unused, | 107098 | .unused, |
| 104165 | .unused, | 107099 | .unused, |
| 104166 | .unused, | 107100 | .unused, |
| ... | @@ -104172,12 +107106,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104172,12 +107106,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104172 | .dst_temps = .{ .mem, .unused }, | 107106 | .dst_temps = .{ .mem, .unused }, |
| 104173 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 107107 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 104174 | .each = .{ .once = &.{ | 107108 | .each = .{ .once = &.{ |
| 104175 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 107109 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 104176 | .{ .@"0:", ._sd, .mov, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 107110 | .{ .@"0:", ._sd, .mov, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 104177 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 107111 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 104178 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 107112 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp3q, ._, ._ }, |
| 104179 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 107113 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 104180 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 107114 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 104181 | } }, | 107115 | } }, |
| 104182 | }, .{ | 107116 | }, .{ |
| 104183 | .required_features = .{ .sse, null, null, null }, | 107117 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -104188,10 +107122,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104188,10 +107122,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104188 | }, | 107122 | }, |
| 104189 | .call_frame = .{ .alignment = .@"16" }, | 107123 | .call_frame = .{ .alignment = .@"16" }, |
| 104190 | .extra_temps = .{ | 107124 | .extra_temps = .{ |
| 104191 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 107125 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 104192 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 107126 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 104193 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfdi" } }, | 107127 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfdi" } }, |
| 104194 | .{ .type = .i64, .kind = .{ .reg = .rax } }, | 107128 | .{ .type = .i64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 104195 | .unused, | 107129 | .unused, |
| 104196 | .unused, | 107130 | .unused, |
| 104197 | .unused, | 107131 | .unused, |
| ... | @@ -104203,13 +107137,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104203,13 +107137,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104203 | .dst_temps = .{ .mem, .unused }, | 107137 | .dst_temps = .{ .mem, .unused }, |
| 104204 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 107138 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 104205 | .each = .{ .once = &.{ | 107139 | .each = .{ .once = &.{ |
| 104206 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 107140 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 104207 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, | 107141 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 104208 | .{ ._, ._ps, .movl, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 107142 | .{ ._, ._ps, .movl, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 104209 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 107143 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 104210 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 107144 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp3q, ._, ._ }, |
| 104211 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 107145 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 104212 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 107146 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 104213 | } }, | 107147 | } }, |
| 104214 | }, .{ | 107148 | }, .{ |
| 104215 | .required_features = .{ .sse, null, null, null }, | 107149 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -104220,10 +107154,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104220,10 +107154,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104220 | }, | 107154 | }, |
| 104221 | .call_frame = .{ .alignment = .@"16" }, | 107155 | .call_frame = .{ .alignment = .@"16" }, |
| 104222 | .extra_temps = .{ | 107156 | .extra_temps = .{ |
| 104223 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 107157 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 104224 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 107158 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 104225 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsdfdi" } }, | 107159 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsdfdi" } }, |
| 104226 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 107160 | .{ .type = .u64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 104227 | .unused, | 107161 | .unused, |
| 104228 | .unused, | 107162 | .unused, |
| 104229 | .unused, | 107163 | .unused, |
| ... | @@ -104235,15 +107169,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104235,15 +107169,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104235 | .dst_temps = .{ .mem, .unused }, | 107169 | .dst_temps = .{ .mem, .unused }, |
| 104236 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 107170 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 104237 | .each = .{ .once = &.{ | 107171 | .each = .{ .once = &.{ |
| 104238 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 107172 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 104239 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, | 107173 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 104240 | .{ ._, ._ps, .movl, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 107174 | .{ ._, ._ps, .movl, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 104241 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 107175 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 104242 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 107176 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp3q, ._, ._ }, |
| 104243 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 107177 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 104244 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 107178 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 104245 | } }, | 107179 | } }, |
| 104246 | }, .{ | 107180 | }, .{ |
| | 107181 | .required_cc_abi = .sysv64, |
| 104247 | .required_features = .{ .avx, null, null, null }, | 107182 | .required_features = .{ .avx, null, null, null }, |
| 104248 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, | 107183 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 104249 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, | 107184 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, |
| ... | @@ -104252,11 +107187,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104252,11 +107187,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104252 | }, | 107187 | }, |
| 104253 | .call_frame = .{ .alignment = .@"16" }, | 107188 | .call_frame = .{ .alignment = .@"16" }, |
| 104254 | .extra_temps = .{ | 107189 | .extra_temps = .{ |
| 104255 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 107190 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 104256 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 107191 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 104257 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfti" } }, | 107192 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfti" } }, |
| 104258 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 107193 | .{ .type = .i128, .kind = .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 104259 | .{ .type = .i64, .kind = .{ .reg = .rdx } }, | 107194 | .unused, |
| 104260 | .unused, | 107195 | .unused, |
| 104261 | .unused, | 107196 | .unused, |
| 104262 | .unused, | 107197 | .unused, |
| ... | @@ -104267,15 +107202,48 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104267,15 +107202,48 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104267 | .dst_temps = .{ .mem, .unused }, | 107202 | .dst_temps = .{ .mem, .unused }, |
| 104268 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 107203 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 104269 | .each = .{ .once = &.{ | 107204 | .each = .{ .once = &.{ |
| 104270 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 107205 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 104271 | .{ .@"0:", .v_sd, .mov, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 107206 | .{ .@"0:", .v_sd, .mov, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 104272 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 107207 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 104273 | .{ ._, ._, .mov, .memsia(.dst0q, .@"2", .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 107208 | .{ ._, ._, .mov, .memsi(.dst0q, .@"2", .tmp0), .tmp3q0, ._, ._ }, |
| 104274 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"2", .tmp0, .add_unaligned_size, 8), .tmp4q, ._, ._ }, | 107209 | .{ ._, ._, .mov, .memsid(.dst0q, .@"2", .tmp0, 8), .tmp3q1, ._, ._ }, |
| 104275 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 107210 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 104276 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 107211 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 107212 | } }, |
| | 107213 | }, .{ |
| | 107214 | .required_cc_abi = .win64, |
| | 107215 | .required_features = .{ .avx, null, null, null }, |
| | 107216 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 107217 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, |
| | 107218 | .patterns = &.{ |
| | 107219 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 107220 | }, |
| | 107221 | .call_frame = .{ .alignment = .@"16" }, |
| | 107222 | .extra_temps = .{ |
| | 107223 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 107224 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 107225 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfti" } }, |
| | 107226 | .unused, |
| | 107227 | .unused, |
| | 107228 | .unused, |
| | 107229 | .unused, |
| | 107230 | .unused, |
| | 107231 | .unused, |
| | 107232 | .unused, |
| | 107233 | .unused, |
| | 107234 | }, |
| | 107235 | .dst_temps = .{ .mem, .unused }, |
| | 107236 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 107237 | .each = .{ .once = &.{ |
| | 107238 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| | 107239 | .{ .@"0:", .v_sd, .mov, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| | 107240 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 107241 | .{ ._, .v_dqa, .mov, .memsi(.dst0x, .@"2", .tmp0), .tmp1x, ._, ._ }, |
| | 107242 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 107243 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 104277 | } }, | 107244 | } }, |
| 104278 | }, .{ | 107245 | }, .{ |
| | 107246 | .required_cc_abi = .sysv64, |
| 104279 | .required_features = .{ .avx, null, null, null }, | 107247 | .required_features = .{ .avx, null, null, null }, |
| 104280 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, | 107248 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 104281 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, | 107249 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, |
| ... | @@ -104284,11 +107252,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104284,11 +107252,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104284 | }, | 107252 | }, |
| 104285 | .call_frame = .{ .alignment = .@"16" }, | 107253 | .call_frame = .{ .alignment = .@"16" }, |
| 104286 | .extra_temps = .{ | 107254 | .extra_temps = .{ |
| 104287 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 107255 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 104288 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 107256 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 104289 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsdfti" } }, | 107257 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsdfti" } }, |
| 104290 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 107258 | .{ .type = .u128, .kind = .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 104291 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, | 107259 | .unused, |
| 104292 | .unused, | 107260 | .unused, |
| 104293 | .unused, | 107261 | .unused, |
| 104294 | .unused, | 107262 | .unused, |
| ... | @@ -104299,15 +107267,48 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104299,15 +107267,48 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104299 | .dst_temps = .{ .mem, .unused }, | 107267 | .dst_temps = .{ .mem, .unused }, |
| 104300 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 107268 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 104301 | .each = .{ .once = &.{ | 107269 | .each = .{ .once = &.{ |
| 104302 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 107270 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 104303 | .{ .@"0:", .v_sd, .mov, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 107271 | .{ .@"0:", .v_sd, .mov, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 104304 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 107272 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 104305 | .{ ._, ._, .mov, .memsia(.dst0q, .@"2", .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 107273 | .{ ._, ._, .mov, .memsi(.dst0q, .@"2", .tmp0), .tmp3q0, ._, ._ }, |
| 104306 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"2", .tmp0, .add_unaligned_size, 8), .tmp4q, ._, ._ }, | 107274 | .{ ._, ._, .mov, .memsid(.dst0q, .@"2", .tmp0, 8), .tmp3q1, ._, ._ }, |
| 104307 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 107275 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 104308 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 107276 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 107277 | } }, |
| | 107278 | }, .{ |
| | 107279 | .required_cc_abi = .win64, |
| | 107280 | .required_features = .{ .avx, null, null, null }, |
| | 107281 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 107282 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, |
| | 107283 | .patterns = &.{ |
| | 107284 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 107285 | }, |
| | 107286 | .call_frame = .{ .alignment = .@"16" }, |
| | 107287 | .extra_temps = .{ |
| | 107288 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 107289 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 107290 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsdfti" } }, |
| | 107291 | .unused, |
| | 107292 | .unused, |
| | 107293 | .unused, |
| | 107294 | .unused, |
| | 107295 | .unused, |
| | 107296 | .unused, |
| | 107297 | .unused, |
| | 107298 | .unused, |
| | 107299 | }, |
| | 107300 | .dst_temps = .{ .mem, .unused }, |
| | 107301 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 107302 | .each = .{ .once = &.{ |
| | 107303 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| | 107304 | .{ .@"0:", .v_sd, .mov, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| | 107305 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 107306 | .{ ._, .v_dqa, .mov, .memsi(.dst0x, .@"2", .tmp0), .tmp1x, ._, ._ }, |
| | 107307 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 107308 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 104309 | } }, | 107309 | } }, |
| 104310 | }, .{ | 107310 | }, .{ |
| | 107311 | .required_cc_abi = .sysv64, |
| 104311 | .required_features = .{ .sse2, null, null, null }, | 107312 | .required_features = .{ .sse2, null, null, null }, |
| 104312 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, | 107313 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 104313 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, | 107314 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, |
| ... | @@ -104316,11 +107317,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104316,11 +107317,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104316 | }, | 107317 | }, |
| 104317 | .call_frame = .{ .alignment = .@"16" }, | 107318 | .call_frame = .{ .alignment = .@"16" }, |
| 104318 | .extra_temps = .{ | 107319 | .extra_temps = .{ |
| 104319 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 107320 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 104320 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 107321 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 104321 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfti" } }, | 107322 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfti" } }, |
| 104322 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 107323 | .{ .type = .i128, .kind = .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 104323 | .{ .type = .i64, .kind = .{ .reg = .rdx } }, | 107324 | .unused, |
| 104324 | .unused, | 107325 | .unused, |
| 104325 | .unused, | 107326 | .unused, |
| 104326 | .unused, | 107327 | .unused, |
| ... | @@ -104331,15 +107332,48 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104331,15 +107332,48 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104331 | .dst_temps = .{ .mem, .unused }, | 107332 | .dst_temps = .{ .mem, .unused }, |
| 104332 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 107333 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 104333 | .each = .{ .once = &.{ | 107334 | .each = .{ .once = &.{ |
| 104334 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 107335 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 104335 | .{ .@"0:", ._sd, .mov, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 107336 | .{ .@"0:", ._sd, .mov, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 104336 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 107337 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 104337 | .{ ._, ._, .mov, .memsia(.dst0q, .@"2", .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 107338 | .{ ._, ._, .mov, .memsi(.dst0q, .@"2", .tmp0), .tmp3q0, ._, ._ }, |
| 104338 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"2", .tmp0, .add_unaligned_size, 8), .tmp4q, ._, ._ }, | 107339 | .{ ._, ._, .mov, .memsid(.dst0q, .@"2", .tmp0, 8), .tmp3q1, ._, ._ }, |
| 104339 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 107340 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 104340 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 107341 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 104341 | } }, | 107342 | } }, |
| 104342 | }, .{ | 107343 | }, .{ |
| | 107344 | .required_cc_abi = .win64, |
| | 107345 | .required_features = .{ .sse2, null, null, null }, |
| | 107346 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 107347 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, |
| | 107348 | .patterns = &.{ |
| | 107349 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 107350 | }, |
| | 107351 | .call_frame = .{ .alignment = .@"16" }, |
| | 107352 | .extra_temps = .{ |
| | 107353 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 107354 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 107355 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfti" } }, |
| | 107356 | .unused, |
| | 107357 | .unused, |
| | 107358 | .unused, |
| | 107359 | .unused, |
| | 107360 | .unused, |
| | 107361 | .unused, |
| | 107362 | .unused, |
| | 107363 | .unused, |
| | 107364 | }, |
| | 107365 | .dst_temps = .{ .mem, .unused }, |
| | 107366 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 107367 | .each = .{ .once = &.{ |
| | 107368 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| | 107369 | .{ .@"0:", ._sd, .mov, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| | 107370 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 107371 | .{ ._, ._dqa, .mov, .memsi(.dst0x, .@"2", .tmp0), .tmp1x, ._, ._ }, |
| | 107372 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 107373 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 107374 | } }, |
| | 107375 | }, .{ |
| | 107376 | .required_cc_abi = .sysv64, |
| 104343 | .required_features = .{ .sse2, null, null, null }, | 107377 | .required_features = .{ .sse2, null, null, null }, |
| 104344 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, | 107378 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 104345 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, | 107379 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, |
| ... | @@ -104348,11 +107382,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104348,11 +107382,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104348 | }, | 107382 | }, |
| 104349 | .call_frame = .{ .alignment = .@"16" }, | 107383 | .call_frame = .{ .alignment = .@"16" }, |
| 104350 | .extra_temps = .{ | 107384 | .extra_temps = .{ |
| 104351 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 107385 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 104352 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 107386 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 104353 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsdfti" } }, | 107387 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsdfti" } }, |
| 104354 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 107388 | .{ .type = .u128, .kind = .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 104355 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, | 107389 | .unused, |
| 104356 | .unused, | 107390 | .unused, |
| 104357 | .unused, | 107391 | .unused, |
| 104358 | .unused, | 107392 | .unused, |
| ... | @@ -104363,15 +107397,48 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104363,15 +107397,48 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104363 | .dst_temps = .{ .mem, .unused }, | 107397 | .dst_temps = .{ .mem, .unused }, |
| 104364 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 107398 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 104365 | .each = .{ .once = &.{ | 107399 | .each = .{ .once = &.{ |
| 104366 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 107400 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 104367 | .{ .@"0:", ._sd, .mov, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 107401 | .{ .@"0:", ._sd, .mov, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 104368 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 107402 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 104369 | .{ ._, ._, .mov, .memsia(.dst0q, .@"2", .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 107403 | .{ ._, ._, .mov, .memsi(.dst0q, .@"2", .tmp0), .tmp3q0, ._, ._ }, |
| 104370 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"2", .tmp0, .add_unaligned_size, 8), .tmp4q, ._, ._ }, | 107404 | .{ ._, ._, .mov, .memsid(.dst0q, .@"2", .tmp0, 8), .tmp3q1, ._, ._ }, |
| 104371 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 107405 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 104372 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 107406 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 107407 | } }, |
| | 107408 | }, .{ |
| | 107409 | .required_cc_abi = .win64, |
| | 107410 | .required_features = .{ .sse2, null, null, null }, |
| | 107411 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 107412 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, |
| | 107413 | .patterns = &.{ |
| | 107414 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 107415 | }, |
| | 107416 | .call_frame = .{ .alignment = .@"16" }, |
| | 107417 | .extra_temps = .{ |
| | 107418 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 107419 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 107420 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsdfti" } }, |
| | 107421 | .unused, |
| | 107422 | .unused, |
| | 107423 | .unused, |
| | 107424 | .unused, |
| | 107425 | .unused, |
| | 107426 | .unused, |
| | 107427 | .unused, |
| | 107428 | .unused, |
| | 107429 | }, |
| | 107430 | .dst_temps = .{ .mem, .unused }, |
| | 107431 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 107432 | .each = .{ .once = &.{ |
| | 107433 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| | 107434 | .{ .@"0:", ._sd, .mov, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| | 107435 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 107436 | .{ ._, ._dqa, .mov, .memsi(.dst0x, .@"2", .tmp0), .tmp1x, ._, ._ }, |
| | 107437 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 107438 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 104373 | } }, | 107439 | } }, |
| 104374 | }, .{ | 107440 | }, .{ |
| | 107441 | .required_cc_abi = .sysv64, |
| 104375 | .required_features = .{ .sse, null, null, null }, | 107442 | .required_features = .{ .sse, null, null, null }, |
| 104376 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, | 107443 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 104377 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, | 107444 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, |
| ... | @@ -104380,11 +107447,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104380,11 +107447,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104380 | }, | 107447 | }, |
| 104381 | .call_frame = .{ .alignment = .@"16" }, | 107448 | .call_frame = .{ .alignment = .@"16" }, |
| 104382 | .extra_temps = .{ | 107449 | .extra_temps = .{ |
| 104383 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 107450 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 104384 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 107451 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 104385 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfti" } }, | 107452 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfti" } }, |
| 104386 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 107453 | .{ .type = .i128, .kind = .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 104387 | .{ .type = .i64, .kind = .{ .reg = .rdx } }, | 107454 | .unused, |
| 104388 | .unused, | 107455 | .unused, |
| 104389 | .unused, | 107456 | .unused, |
| 104390 | .unused, | 107457 | .unused, |
| ... | @@ -104395,16 +107462,50 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104395,16 +107462,50 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104395 | .dst_temps = .{ .mem, .unused }, | 107462 | .dst_temps = .{ .mem, .unused }, |
| 104396 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 107463 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 104397 | .each = .{ .once = &.{ | 107464 | .each = .{ .once = &.{ |
| 104398 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 107465 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 104399 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, | 107466 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 104400 | .{ ._, ._ps, .movl, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 107467 | .{ ._, ._ps, .movl, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 104401 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 107468 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 104402 | .{ ._, ._, .mov, .memsia(.dst0q, .@"2", .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 107469 | .{ ._, ._, .mov, .memsi(.dst0q, .@"2", .tmp0), .tmp3q0, ._, ._ }, |
| 104403 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"2", .tmp0, .add_unaligned_size, 8), .tmp4q, ._, ._ }, | 107470 | .{ ._, ._, .mov, .memsid(.dst0q, .@"2", .tmp0, 8), .tmp3q1, ._, ._ }, |
| 104404 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 107471 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 104405 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 107472 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 107473 | } }, |
| | 107474 | }, .{ |
| | 107475 | .required_cc_abi = .win64, |
| | 107476 | .required_features = .{ .sse, null, null, null }, |
| | 107477 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 107478 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, |
| | 107479 | .patterns = &.{ |
| | 107480 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 107481 | }, |
| | 107482 | .call_frame = .{ .alignment = .@"16" }, |
| | 107483 | .extra_temps = .{ |
| | 107484 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 107485 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 107486 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfti" } }, |
| | 107487 | .unused, |
| | 107488 | .unused, |
| | 107489 | .unused, |
| | 107490 | .unused, |
| | 107491 | .unused, |
| | 107492 | .unused, |
| | 107493 | .unused, |
| | 107494 | .unused, |
| | 107495 | }, |
| | 107496 | .dst_temps = .{ .mem, .unused }, |
| | 107497 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 107498 | .each = .{ .once = &.{ |
| | 107499 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| | 107500 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 107501 | .{ ._, ._ps, .movl, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| | 107502 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 107503 | .{ ._, ._ps, .mova, .memsi(.dst0x, .@"2", .tmp0), .tmp1x, ._, ._ }, |
| | 107504 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 107505 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 104406 | } }, | 107506 | } }, |
| 104407 | }, .{ | 107507 | }, .{ |
| | 107508 | .required_cc_abi = .sysv64, |
| 104408 | .required_features = .{ .sse, null, null, null }, | 107509 | .required_features = .{ .sse, null, null, null }, |
| 104409 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, | 107510 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 104410 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, | 107511 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, |
| ... | @@ -104413,11 +107514,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104413,11 +107514,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104413 | }, | 107514 | }, |
| 104414 | .call_frame = .{ .alignment = .@"16" }, | 107515 | .call_frame = .{ .alignment = .@"16" }, |
| 104415 | .extra_temps = .{ | 107516 | .extra_temps = .{ |
| 104416 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 107517 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 104417 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 107518 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 104418 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsdfti" } }, | 107519 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsdfti" } }, |
| 104419 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 107520 | .{ .type = .u128, .kind = .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 104420 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, | 107521 | .unused, |
| 104421 | .unused, | 107522 | .unused, |
| 104422 | .unused, | 107523 | .unused, |
| 104423 | .unused, | 107524 | .unused, |
| ... | @@ -104428,14 +107529,47 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104428,14 +107529,47 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104428 | .dst_temps = .{ .mem, .unused }, | 107529 | .dst_temps = .{ .mem, .unused }, |
| 104429 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 107530 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 104430 | .each = .{ .once = &.{ | 107531 | .each = .{ .once = &.{ |
| 104431 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 107532 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 104432 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, | 107533 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 104433 | .{ ._, ._ps, .movl, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 107534 | .{ ._, ._ps, .movl, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 104434 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 107535 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 104435 | .{ ._, ._, .mov, .memsia(.dst0q, .@"2", .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 107536 | .{ ._, ._, .mov, .memsi(.dst0q, .@"2", .tmp0), .tmp3q0, ._, ._ }, |
| 104436 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"2", .tmp0, .add_unaligned_size, 8), .tmp4q, ._, ._ }, | 107537 | .{ ._, ._, .mov, .memsid(.dst0q, .@"2", .tmp0, 8), .tmp3q1, ._, ._ }, |
| 104437 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 107538 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 104438 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 107539 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 107540 | } }, |
| | 107541 | }, .{ |
| | 107542 | .required_cc_abi = .win64, |
| | 107543 | .required_features = .{ .sse, null, null, null }, |
| | 107544 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 107545 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, |
| | 107546 | .patterns = &.{ |
| | 107547 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 107548 | }, |
| | 107549 | .call_frame = .{ .alignment = .@"16" }, |
| | 107550 | .extra_temps = .{ |
| | 107551 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 107552 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 107553 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsdfti" } }, |
| | 107554 | .unused, |
| | 107555 | .unused, |
| | 107556 | .unused, |
| | 107557 | .unused, |
| | 107558 | .unused, |
| | 107559 | .unused, |
| | 107560 | .unused, |
| | 107561 | .unused, |
| | 107562 | }, |
| | 107563 | .dst_temps = .{ .mem, .unused }, |
| | 107564 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 107565 | .each = .{ .once = &.{ |
| | 107566 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| | 107567 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 107568 | .{ ._, ._ps, .movl, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| | 107569 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 107570 | .{ ._, ._ps, .mova, .memsi(.dst0x, .@"2", .tmp0), .tmp1x, ._, ._ }, |
| | 107571 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 107572 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 104439 | } }, | 107573 | } }, |
| 104440 | }, .{ | 107574 | }, .{ |
| 104441 | .required_features = .{ .@"64bit", .avx, null, null }, | 107575 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | @@ -104446,11 +107580,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104446,11 +107580,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104446 | }, | 107580 | }, |
| 104447 | .call_frame = .{ .alignment = .@"16" }, | 107581 | .call_frame = .{ .alignment = .@"16" }, |
| 104448 | .extra_temps = .{ | 107582 | .extra_temps = .{ |
| 104449 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 107583 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 104450 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 107584 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 104451 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 107585 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 104452 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 107586 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 104453 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 107587 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 104454 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfei" } }, | 107588 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfei" } }, |
| 104455 | .unused, | 107589 | .unused, |
| 104456 | .unused, | 107590 | .unused, |
| ... | @@ -104461,15 +107595,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104461,15 +107595,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104461 | .dst_temps = .{ .mem, .unused }, | 107595 | .dst_temps = .{ .mem, .unused }, |
| 104462 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 107596 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 104463 | .each = .{ .once = &.{ | 107597 | .each = .{ .once = &.{ |
| 104464 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 107598 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 104465 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 107599 | .{ ._, ._, .lea, .tmp1p, .mema(.dst0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 104466 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, | 107600 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| 104467 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, | 107601 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| 104468 | .{ ._, .v_sd, .mov, .tmp4x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 107602 | .{ ._, .v_sd, .mov, .tmp4x, .memi(.src0q, .tmp0), ._, ._ }, |
| 104469 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, | 107603 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| 104470 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ }, | 107604 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .sub_dst0_elem_size), ._, ._ }, |
| 104471 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 107605 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 104472 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 107606 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 104473 | } }, | 107607 | } }, |
| 104474 | }, .{ | 107608 | }, .{ |
| 104475 | .required_features = .{ .@"64bit", .avx, null, null }, | 107609 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | @@ -104480,11 +107614,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104480,11 +107614,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104480 | }, | 107614 | }, |
| 104481 | .call_frame = .{ .alignment = .@"16" }, | 107615 | .call_frame = .{ .alignment = .@"16" }, |
| 104482 | .extra_temps = .{ | 107616 | .extra_temps = .{ |
| 104483 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 107617 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 104484 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 107618 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 104485 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 107619 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 104486 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 107620 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 104487 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 107621 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 104488 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsdfei" } }, | 107622 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsdfei" } }, |
| 104489 | .unused, | 107623 | .unused, |
| 104490 | .unused, | 107624 | .unused, |
| ... | @@ -104495,15 +107629,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104495,15 +107629,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104495 | .dst_temps = .{ .mem, .unused }, | 107629 | .dst_temps = .{ .mem, .unused }, |
| 104496 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 107630 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 104497 | .each = .{ .once = &.{ | 107631 | .each = .{ .once = &.{ |
| 104498 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 107632 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 104499 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 107633 | .{ ._, ._, .lea, .tmp1p, .mema(.dst0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 104500 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, | 107634 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| 104501 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, | 107635 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| 104502 | .{ ._, .v_sd, .mov, .tmp4x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 107636 | .{ ._, .v_sd, .mov, .tmp4x, .memi(.src0q, .tmp0), ._, ._ }, |
| 104503 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, | 107637 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| 104504 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ }, | 107638 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .sub_dst0_elem_size), ._, ._ }, |
| 104505 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 107639 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 104506 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 107640 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 104507 | } }, | 107641 | } }, |
| 104508 | }, .{ | 107642 | }, .{ |
| 104509 | .required_features = .{ .@"64bit", .sse2, null, null }, | 107643 | .required_features = .{ .@"64bit", .sse2, null, null }, |
| ... | @@ -104514,11 +107648,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104514,11 +107648,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104514 | }, | 107648 | }, |
| 104515 | .call_frame = .{ .alignment = .@"16" }, | 107649 | .call_frame = .{ .alignment = .@"16" }, |
| 104516 | .extra_temps = .{ | 107650 | .extra_temps = .{ |
| 104517 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 107651 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 104518 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 107652 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 104519 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 107653 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 104520 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 107654 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 104521 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 107655 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 104522 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfei" } }, | 107656 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfei" } }, |
| 104523 | .unused, | 107657 | .unused, |
| 104524 | .unused, | 107658 | .unused, |
| ... | @@ -104529,15 +107663,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104529,15 +107663,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104529 | .dst_temps = .{ .mem, .unused }, | 107663 | .dst_temps = .{ .mem, .unused }, |
| 104530 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 107664 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 104531 | .each = .{ .once = &.{ | 107665 | .each = .{ .once = &.{ |
| 104532 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 107666 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 104533 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 107667 | .{ ._, ._, .lea, .tmp1p, .mema(.dst0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 104534 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, | 107668 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| 104535 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, | 107669 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| 104536 | .{ ._, ._sd, .mov, .tmp4x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 107670 | .{ ._, ._sd, .mov, .tmp4x, .memi(.src0q, .tmp0), ._, ._ }, |
| 104537 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, | 107671 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| 104538 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ }, | 107672 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .sub_dst0_elem_size), ._, ._ }, |
| 104539 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 107673 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 104540 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 107674 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 104541 | } }, | 107675 | } }, |
| 104542 | }, .{ | 107676 | }, .{ |
| 104543 | .required_features = .{ .@"64bit", .sse2, null, null }, | 107677 | .required_features = .{ .@"64bit", .sse2, null, null }, |
| ... | @@ -104548,11 +107682,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104548,11 +107682,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104548 | }, | 107682 | }, |
| 104549 | .call_frame = .{ .alignment = .@"16" }, | 107683 | .call_frame = .{ .alignment = .@"16" }, |
| 104550 | .extra_temps = .{ | 107684 | .extra_temps = .{ |
| 104551 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 107685 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 104552 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 107686 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 104553 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 107687 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 104554 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 107688 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 104555 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 107689 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 104556 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsdfei" } }, | 107690 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsdfei" } }, |
| 104557 | .unused, | 107691 | .unused, |
| 104558 | .unused, | 107692 | .unused, |
| ... | @@ -104563,15 +107697,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104563,15 +107697,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104563 | .dst_temps = .{ .mem, .unused }, | 107697 | .dst_temps = .{ .mem, .unused }, |
| 104564 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 107698 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 104565 | .each = .{ .once = &.{ | 107699 | .each = .{ .once = &.{ |
| 104566 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 107700 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 104567 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 107701 | .{ ._, ._, .lea, .tmp1p, .mema(.dst0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 104568 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, | 107702 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| 104569 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, | 107703 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| 104570 | .{ ._, ._sd, .mov, .tmp4x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 107704 | .{ ._, ._sd, .mov, .tmp4x, .memi(.src0q, .tmp0), ._, ._ }, |
| 104571 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, | 107705 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| 104572 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ }, | 107706 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .sub_dst0_elem_size), ._, ._ }, |
| 104573 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 107707 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 104574 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 107708 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 104575 | } }, | 107709 | } }, |
| 104576 | }, .{ | 107710 | }, .{ |
| 104577 | .required_features = .{ .@"64bit", .sse, null, null }, | 107711 | .required_features = .{ .@"64bit", .sse, null, null }, |
| ... | @@ -104582,11 +107716,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104582,11 +107716,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104582 | }, | 107716 | }, |
| 104583 | .call_frame = .{ .alignment = .@"16" }, | 107717 | .call_frame = .{ .alignment = .@"16" }, |
| 104584 | .extra_temps = .{ | 107718 | .extra_temps = .{ |
| 104585 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 107719 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 104586 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 107720 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 104587 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 107721 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 104588 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 107722 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 104589 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 107723 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 104590 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfei" } }, | 107724 | .{ .type = .usize, .kind = .{ .extern_func = "__fixdfei" } }, |
| 104591 | .unused, | 107725 | .unused, |
| 104592 | .unused, | 107726 | .unused, |
| ... | @@ -104597,16 +107731,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104597,16 +107731,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104597 | .dst_temps = .{ .mem, .unused }, | 107731 | .dst_temps = .{ .mem, .unused }, |
| 104598 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 107732 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 104599 | .each = .{ .once = &.{ | 107733 | .each = .{ .once = &.{ |
| 104600 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 107734 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 104601 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 107735 | .{ ._, ._, .lea, .tmp1p, .mema(.dst0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 104602 | .{ .@"0:", ._ps, .xor, .tmp4x, .tmp4x, ._, ._ }, | 107736 | .{ .@"0:", ._ps, .xor, .tmp4x, .tmp4x, ._, ._ }, |
| 104603 | .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ }, | 107737 | .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| 104604 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, | 107738 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| 104605 | .{ ._, ._ps, .movl, .tmp4x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 107739 | .{ ._, ._ps, .movl, .tmp4x, .memi(.src0q, .tmp0), ._, ._ }, |
| 104606 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, | 107740 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| 104607 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ }, | 107741 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .sub_dst0_elem_size), ._, ._ }, |
| 104608 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 107742 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 104609 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 107743 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 104610 | } }, | 107744 | } }, |
| 104611 | }, .{ | 107745 | }, .{ |
| 104612 | .required_features = .{ .@"64bit", .sse, null, null }, | 107746 | .required_features = .{ .@"64bit", .sse, null, null }, |
| ... | @@ -104617,11 +107751,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104617,11 +107751,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104617 | }, | 107751 | }, |
| 104618 | .call_frame = .{ .alignment = .@"16" }, | 107752 | .call_frame = .{ .alignment = .@"16" }, |
| 104619 | .extra_temps = .{ | 107753 | .extra_temps = .{ |
| 104620 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 107754 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 104621 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 107755 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 104622 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 107756 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 104623 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 107757 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 104624 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 107758 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 104625 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsdfei" } }, | 107759 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsdfei" } }, |
| 104626 | .unused, | 107760 | .unused, |
| 104627 | .unused, | 107761 | .unused, |
| ... | @@ -104632,16 +107766,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104632,16 +107766,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104632 | .dst_temps = .{ .mem, .unused }, | 107766 | .dst_temps = .{ .mem, .unused }, |
| 104633 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 107767 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 104634 | .each = .{ .once = &.{ | 107768 | .each = .{ .once = &.{ |
| 104635 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 107769 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 104636 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 107770 | .{ ._, ._, .lea, .tmp1p, .mema(.dst0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 104637 | .{ .@"0:", ._ps, .xor, .tmp4x, .tmp4x, ._, ._ }, | 107771 | .{ .@"0:", ._ps, .xor, .tmp4x, .tmp4x, ._, ._ }, |
| 104638 | .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ }, | 107772 | .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| 104639 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, | 107773 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| 104640 | .{ ._, ._ps, .movl, .tmp4x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 107774 | .{ ._, ._ps, .movl, .tmp4x, .memi(.src0q, .tmp0), ._, ._ }, |
| 104641 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, | 107775 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| 104642 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ }, | 107776 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .sub_dst0_elem_size), ._, ._ }, |
| 104643 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 107777 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 104644 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 107778 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 104645 | } }, | 107779 | } }, |
| 104646 | }, .{ | 107780 | }, .{ |
| 104647 | .required_features = .{ .sse3, .x87, null, null }, | 107781 | .required_features = .{ .sse3, .x87, null, null }, |
| ... | @@ -104772,7 +107906,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104772,7 +107906,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104772 | }, | 107906 | }, |
| 104773 | .extra_temps = .{ | 107907 | .extra_temps = .{ |
| 104774 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 107908 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 104775 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 107909 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 104776 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 107910 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 104777 | .{ .type = .i16, .kind = .mem }, | 107911 | .{ .type = .i16, .kind = .mem }, |
| 104778 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, | 107912 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| ... | @@ -104786,15 +107920,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104786,15 +107920,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104786 | .dst_temps = .{ .mem, .unused }, | 107920 | .dst_temps = .{ .mem, .unused }, |
| 104787 | .clobbers = .{ .eflags = true }, | 107921 | .clobbers = .{ .eflags = true }, |
| 104788 | .each = .{ .once = &.{ | 107922 | .each = .{ .once = &.{ |
| 104789 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 107923 | .{ ._, ._, .lea, .tmp0p, .memad(.src0, .add_unaligned_size, -16), ._, ._ }, |
| 104790 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 107924 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 104791 | .{ .@"0:", .f_, .ld, .lea(.tmp0t), ._, ._, ._ }, | 107925 | .{ .@"0:", .f_, .ld, .lea(.tmp0t), ._, ._, ._ }, |
| 104792 | .{ ._, .fi_p, .stt, .tmp3w, ._, ._, ._ }, | 107926 | .{ ._, .fi_p, .stt, .tmp3w, ._, ._, ._ }, |
| 104793 | .{ ._, ._, .movsx, .tmp4d, .tmp3b, ._, ._ }, | 107927 | .{ ._, ._, .movsx, .tmp4d, .tmp3b, ._, ._ }, |
| 104794 | .{ ._, ._, .mov, .memia(.dst0b, .tmp1, .add_unaligned_size), .tmp4b, ._, ._ }, | 107928 | .{ ._, ._, .mov, .memi(.dst0b, .tmp1), .tmp4b, ._, ._ }, |
| 104795 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 16), ._, ._ }, | 107929 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, -16), ._, ._ }, |
| 104796 | .{ ._, ._, .add, .tmp1p, .si(1), ._, ._ }, | 107930 | .{ ._, ._, .sub, .tmp1d, .si(1), ._, ._ }, |
| 104797 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 107931 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 104798 | } }, | 107932 | } }, |
| 104799 | }, .{ | 107933 | }, .{ |
| 104800 | .required_features = .{ .sse3, .x87, null, null }, | 107934 | .required_features = .{ .sse3, .x87, null, null }, |
| ... | @@ -104805,7 +107939,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104805,7 +107939,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104805 | }, | 107939 | }, |
| 104806 | .extra_temps = .{ | 107940 | .extra_temps = .{ |
| 104807 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 107941 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 104808 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 107942 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 104809 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 107943 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 104810 | .{ .type = .i16, .kind = .mem }, | 107944 | .{ .type = .i16, .kind = .mem }, |
| 104811 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, | 107945 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| ... | @@ -104819,15 +107953,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104819,15 +107953,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104819 | .dst_temps = .{ .mem, .unused }, | 107953 | .dst_temps = .{ .mem, .unused }, |
| 104820 | .clobbers = .{ .eflags = true }, | 107954 | .clobbers = .{ .eflags = true }, |
| 104821 | .each = .{ .once = &.{ | 107955 | .each = .{ .once = &.{ |
| 104822 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 107956 | .{ ._, ._, .lea, .tmp0p, .memad(.src0, .add_unaligned_size, -16), ._, ._ }, |
| 104823 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 107957 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 104824 | .{ .@"0:", .f_, .ld, .lea(.tmp0t), ._, ._, ._ }, | 107958 | .{ .@"0:", .f_, .ld, .lea(.tmp0t), ._, ._, ._ }, |
| 104825 | .{ ._, .fi_p, .stt, .tmp3w, ._, ._, ._ }, | 107959 | .{ ._, .fi_p, .stt, .tmp3w, ._, ._, ._ }, |
| 104826 | .{ ._, ._, .movsx, .tmp4d, .tmp3b, ._, ._ }, | 107960 | .{ ._, ._, .movsx, .tmp4d, .tmp3b, ._, ._ }, |
| 104827 | .{ ._, ._, .mov, .memia(.dst0b, .tmp1, .add_unaligned_size), .tmp4b, ._, ._ }, | 107961 | .{ ._, ._, .mov, .memi(.dst0b, .tmp1), .tmp4b, ._, ._ }, |
| 104828 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 16), ._, ._ }, | 107962 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, -16), ._, ._ }, |
| 104829 | .{ ._, ._c, .in, .tmp1p, ._, ._, ._ }, | 107963 | .{ ._, ._c, .de, .tmp1d, ._, ._, ._ }, |
| 104830 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 107964 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 104831 | } }, | 107965 | } }, |
| 104832 | }, .{ | 107966 | }, .{ |
| 104833 | .required_features = .{ .x87, .slow_incdec, null, null }, | 107967 | .required_features = .{ .x87, .slow_incdec, null, null }, |
| ... | @@ -104838,7 +107972,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104838,7 +107972,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104838 | }, | 107972 | }, |
| 104839 | .extra_temps = .{ | 107973 | .extra_temps = .{ |
| 104840 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 107974 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 104841 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 107975 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 104842 | .{ .type = .u16, .kind = .mem }, | 107976 | .{ .type = .u16, .kind = .mem }, |
| 104843 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, | 107977 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| 104844 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 107978 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| ... | @@ -104852,8 +107986,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104852,8 +107986,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104852 | .dst_temps = .{ .mem, .unused }, | 107986 | .dst_temps = .{ .mem, .unused }, |
| 104853 | .clobbers = .{ .eflags = true }, | 107987 | .clobbers = .{ .eflags = true }, |
| 104854 | .each = .{ .once = &.{ | 107988 | .each = .{ .once = &.{ |
| 104855 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 107989 | .{ ._, ._, .lea, .tmp0p, .memad(.src0, .add_unaligned_size, -16), ._, ._ }, |
| 104856 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 107990 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 104857 | .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ }, | 107991 | .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ }, |
| 104858 | .{ ._, ._, .movzx, .tmp3d, .memd(.tmp2b, 1), ._, ._ }, | 107992 | .{ ._, ._, .movzx, .tmp3d, .memd(.tmp2b, 1), ._, ._ }, |
| 104859 | .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_11_00), ._, ._ }, | 107993 | .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| ... | @@ -104862,10 +107996,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104862,10 +107996,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104862 | .{ .@"0:", .f_, .ld, .lea(.tmp0t), ._, ._, ._ }, | 107996 | .{ .@"0:", .f_, .ld, .lea(.tmp0t), ._, ._, ._ }, |
| 104863 | .{ ._, .fi_p, .st, .tmp5w, ._, ._, ._ }, | 107997 | .{ ._, .fi_p, .st, .tmp5w, ._, ._, ._ }, |
| 104864 | .{ ._, ._, .movsx, .tmp3d, .tmp5b, ._, ._ }, | 107998 | .{ ._, ._, .movsx, .tmp3d, .tmp5b, ._, ._ }, |
| 104865 | .{ ._, ._, .mov, .memia(.dst0b, .tmp1, .add_unaligned_size), .tmp3b, ._, ._ }, | 107999 | .{ ._, ._, .mov, .memi(.dst0b, .tmp1), .tmp3b, ._, ._ }, |
| 104866 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 16), ._, ._ }, | 108000 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, -16), ._, ._ }, |
| 104867 | .{ ._, ._, .add, .tmp1p, .si(1), ._, ._ }, | 108001 | .{ ._, ._, .sub, .tmp1d, .si(1), ._, ._ }, |
| 104868 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 108002 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 104869 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, | 108003 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| 104870 | } }, | 108004 | } }, |
| 104871 | }, .{ | 108005 | }, .{ |
| ... | @@ -104877,7 +108011,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104877,7 +108011,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104877 | }, | 108011 | }, |
| 104878 | .extra_temps = .{ | 108012 | .extra_temps = .{ |
| 104879 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 108013 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 104880 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 108014 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 104881 | .{ .type = .u16, .kind = .mem }, | 108015 | .{ .type = .u16, .kind = .mem }, |
| 104882 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, | 108016 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| 104883 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 108017 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| ... | @@ -104891,8 +108025,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104891,8 +108025,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104891 | .dst_temps = .{ .mem, .unused }, | 108025 | .dst_temps = .{ .mem, .unused }, |
| 104892 | .clobbers = .{ .eflags = true }, | 108026 | .clobbers = .{ .eflags = true }, |
| 104893 | .each = .{ .once = &.{ | 108027 | .each = .{ .once = &.{ |
| 104894 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 108028 | .{ ._, ._, .lea, .tmp0p, .memad(.src0, .add_unaligned_size, -16), ._, ._ }, |
| 104895 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 108029 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 104896 | .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ }, | 108030 | .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ }, |
| 104897 | .{ ._, ._, .movzx, .tmp3d, .memd(.tmp2b, 1), ._, ._ }, | 108031 | .{ ._, ._, .movzx, .tmp3d, .memd(.tmp2b, 1), ._, ._ }, |
| 104898 | .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_11_00), ._, ._ }, | 108032 | .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| ... | @@ -104901,10 +108035,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104901,10 +108035,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104901 | .{ .@"0:", .f_, .ld, .lea(.tmp0t), ._, ._, ._ }, | 108035 | .{ .@"0:", .f_, .ld, .lea(.tmp0t), ._, ._, ._ }, |
| 104902 | .{ ._, .fi_p, .st, .tmp5w, ._, ._, ._ }, | 108036 | .{ ._, .fi_p, .st, .tmp5w, ._, ._, ._ }, |
| 104903 | .{ ._, ._, .movsx, .tmp3d, .tmp5b, ._, ._ }, | 108037 | .{ ._, ._, .movsx, .tmp3d, .tmp5b, ._, ._ }, |
| 104904 | .{ ._, ._, .mov, .memia(.dst0b, .tmp1, .add_unaligned_size), .tmp3b, ._, ._ }, | 108038 | .{ ._, ._, .mov, .memi(.dst0b, .tmp1), .tmp3b, ._, ._ }, |
| 104905 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 16), ._, ._ }, | 108039 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, -16), ._, ._ }, |
| 104906 | .{ ._, ._c, .in, .tmp1p, ._, ._, ._ }, | 108040 | .{ ._, ._c, .de, .tmp1d, ._, ._, ._ }, |
| 104907 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 108041 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 104908 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, | 108042 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| 104909 | } }, | 108043 | } }, |
| 104910 | }, .{ | 108044 | }, .{ |
| ... | @@ -104916,7 +108050,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104916,7 +108050,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104916 | }, | 108050 | }, |
| 104917 | .extra_temps = .{ | 108051 | .extra_temps = .{ |
| 104918 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 108052 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 104919 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 108053 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 104920 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 108054 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 104921 | .{ .type = .i16, .kind = .mem }, | 108055 | .{ .type = .i16, .kind = .mem }, |
| 104922 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, | 108056 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| ... | @@ -104930,15 +108064,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104930,15 +108064,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104930 | .dst_temps = .{ .mem, .unused }, | 108064 | .dst_temps = .{ .mem, .unused }, |
| 104931 | .clobbers = .{ .eflags = true }, | 108065 | .clobbers = .{ .eflags = true }, |
| 104932 | .each = .{ .once = &.{ | 108066 | .each = .{ .once = &.{ |
| 104933 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 108067 | .{ ._, ._, .lea, .tmp0p, .memad(.src0, .add_unaligned_size, -16), ._, ._ }, |
| 104934 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 108068 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 104935 | .{ .@"0:", .f_, .ld, .lea(.tmp0t), ._, ._, ._ }, | 108069 | .{ .@"0:", .f_, .ld, .lea(.tmp0t), ._, ._, ._ }, |
| 104936 | .{ ._, .fi_p, .stt, .tmp3w, ._, ._, ._ }, | 108070 | .{ ._, .fi_p, .stt, .tmp3w, ._, ._, ._ }, |
| 104937 | .{ ._, ._, .movzx, .tmp4d, .tmp3b, ._, ._ }, | 108071 | .{ ._, ._, .movzx, .tmp4d, .tmp3b, ._, ._ }, |
| 104938 | .{ ._, ._, .mov, .memia(.dst0b, .tmp1, .add_unaligned_size), .tmp4b, ._, ._ }, | 108072 | .{ ._, ._, .mov, .memi(.dst0b, .tmp1), .tmp4b, ._, ._ }, |
| 104939 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 16), ._, ._ }, | 108073 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, -16), ._, ._ }, |
| 104940 | .{ ._, ._, .add, .tmp1p, .si(1), ._, ._ }, | 108074 | .{ ._, ._, .sub, .tmp1d, .si(1), ._, ._ }, |
| 104941 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 108075 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 104942 | } }, | 108076 | } }, |
| 104943 | }, .{ | 108077 | }, .{ |
| 104944 | .required_features = .{ .sse3, .x87, null, null }, | 108078 | .required_features = .{ .sse3, .x87, null, null }, |
| ... | @@ -104949,7 +108083,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104949,7 +108083,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104949 | }, | 108083 | }, |
| 104950 | .extra_temps = .{ | 108084 | .extra_temps = .{ |
| 104951 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 108085 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 104952 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 108086 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 104953 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 108087 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 104954 | .{ .type = .i16, .kind = .mem }, | 108088 | .{ .type = .i16, .kind = .mem }, |
| 104955 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, | 108089 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| ... | @@ -104963,15 +108097,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104963,15 +108097,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104963 | .dst_temps = .{ .mem, .unused }, | 108097 | .dst_temps = .{ .mem, .unused }, |
| 104964 | .clobbers = .{ .eflags = true }, | 108098 | .clobbers = .{ .eflags = true }, |
| 104965 | .each = .{ .once = &.{ | 108099 | .each = .{ .once = &.{ |
| 104966 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 108100 | .{ ._, ._, .lea, .tmp0p, .memad(.src0, .add_unaligned_size, -16), ._, ._ }, |
| 104967 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 108101 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 104968 | .{ .@"0:", .f_, .ld, .lea(.tmp0t), ._, ._, ._ }, | 108102 | .{ .@"0:", .f_, .ld, .lea(.tmp0t), ._, ._, ._ }, |
| 104969 | .{ ._, .fi_p, .stt, .tmp3w, ._, ._, ._ }, | 108103 | .{ ._, .fi_p, .stt, .tmp3w, ._, ._, ._ }, |
| 104970 | .{ ._, ._, .movzx, .tmp4d, .tmp3b, ._, ._ }, | 108104 | .{ ._, ._, .movzx, .tmp4d, .tmp3b, ._, ._ }, |
| 104971 | .{ ._, ._, .mov, .memia(.dst0b, .tmp1, .add_unaligned_size), .tmp4b, ._, ._ }, | 108105 | .{ ._, ._, .mov, .memi(.dst0b, .tmp1), .tmp4b, ._, ._ }, |
| 104972 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 16), ._, ._ }, | 108106 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, -16), ._, ._ }, |
| 104973 | .{ ._, ._c, .in, .tmp1p, ._, ._, ._ }, | 108107 | .{ ._, ._c, .de, .tmp1d, ._, ._, ._ }, |
| 104974 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 108108 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 104975 | } }, | 108109 | } }, |
| 104976 | }, .{ | 108110 | }, .{ |
| 104977 | .required_features = .{ .x87, .slow_incdec, null, null }, | 108111 | .required_features = .{ .x87, .slow_incdec, null, null }, |
| ... | @@ -104982,7 +108116,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104982,7 +108116,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104982 | }, | 108116 | }, |
| 104983 | .extra_temps = .{ | 108117 | .extra_temps = .{ |
| 104984 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 108118 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 104985 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 108119 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 104986 | .{ .type = .u16, .kind = .mem }, | 108120 | .{ .type = .u16, .kind = .mem }, |
| 104987 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, | 108121 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 104988 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 108122 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| ... | @@ -104996,8 +108130,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104996,8 +108130,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104996 | .dst_temps = .{ .mem, .unused }, | 108130 | .dst_temps = .{ .mem, .unused }, |
| 104997 | .clobbers = .{ .eflags = true }, | 108131 | .clobbers = .{ .eflags = true }, |
| 104998 | .each = .{ .once = &.{ | 108132 | .each = .{ .once = &.{ |
| 104999 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 108133 | .{ ._, ._, .lea, .tmp0p, .memad(.src0, .add_unaligned_size, -16), ._, ._ }, |
| 105000 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 108134 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 105001 | .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ }, | 108135 | .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ }, |
| 105002 | .{ ._, ._, .movzx, .tmp3d, .memd(.tmp2b, 1), ._, ._ }, | 108136 | .{ ._, ._, .movzx, .tmp3d, .memd(.tmp2b, 1), ._, ._ }, |
| 105003 | .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_11_00), ._, ._ }, | 108137 | .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| ... | @@ -105006,10 +108140,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105006,10 +108140,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105006 | .{ .@"0:", .f_, .ld, .lea(.tmp0t), ._, ._, ._ }, | 108140 | .{ .@"0:", .f_, .ld, .lea(.tmp0t), ._, ._, ._ }, |
| 105007 | .{ ._, .fi_p, .st, .tmp5w, ._, ._, ._ }, | 108141 | .{ ._, .fi_p, .st, .tmp5w, ._, ._, ._ }, |
| 105008 | .{ ._, ._, .movzx, .tmp3d, .tmp5b, ._, ._ }, | 108142 | .{ ._, ._, .movzx, .tmp3d, .tmp5b, ._, ._ }, |
| 105009 | .{ ._, ._, .mov, .memia(.dst0b, .tmp1, .add_unaligned_size), .tmp3b, ._, ._ }, | 108143 | .{ ._, ._, .mov, .memi(.dst0b, .tmp1), .tmp3b, ._, ._ }, |
| 105010 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 16), ._, ._ }, | 108144 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, -16), ._, ._ }, |
| 105011 | .{ ._, ._, .add, .tmp1p, .si(1), ._, ._ }, | 108145 | .{ ._, ._, .sub, .tmp1d, .si(1), ._, ._ }, |
| 105012 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 108146 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 105013 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, | 108147 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| 105014 | } }, | 108148 | } }, |
| 105015 | }, .{ | 108149 | }, .{ |
| ... | @@ -105021,7 +108155,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105021,7 +108155,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105021 | }, | 108155 | }, |
| 105022 | .extra_temps = .{ | 108156 | .extra_temps = .{ |
| 105023 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 108157 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 105024 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 108158 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 105025 | .{ .type = .u16, .kind = .mem }, | 108159 | .{ .type = .u16, .kind = .mem }, |
| 105026 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, | 108160 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 105027 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 108161 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| ... | @@ -105035,8 +108169,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105035,8 +108169,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105035 | .dst_temps = .{ .mem, .unused }, | 108169 | .dst_temps = .{ .mem, .unused }, |
| 105036 | .clobbers = .{ .eflags = true }, | 108170 | .clobbers = .{ .eflags = true }, |
| 105037 | .each = .{ .once = &.{ | 108171 | .each = .{ .once = &.{ |
| 105038 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 108172 | .{ ._, ._, .lea, .tmp0p, .memad(.src0, .add_unaligned_size, -16), ._, ._ }, |
| 105039 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 108173 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 105040 | .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ }, | 108174 | .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ }, |
| 105041 | .{ ._, ._, .movzx, .tmp3d, .memd(.tmp2b, 1), ._, ._ }, | 108175 | .{ ._, ._, .movzx, .tmp3d, .memd(.tmp2b, 1), ._, ._ }, |
| 105042 | .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_11_00), ._, ._ }, | 108176 | .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| ... | @@ -105045,10 +108179,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105045,10 +108179,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105045 | .{ .@"0:", .f_, .ld, .lea(.tmp0t), ._, ._, ._ }, | 108179 | .{ .@"0:", .f_, .ld, .lea(.tmp0t), ._, ._, ._ }, |
| 105046 | .{ ._, .fi_p, .st, .tmp5w, ._, ._, ._ }, | 108180 | .{ ._, .fi_p, .st, .tmp5w, ._, ._, ._ }, |
| 105047 | .{ ._, ._, .movzx, .tmp3d, .tmp5b, ._, ._ }, | 108181 | .{ ._, ._, .movzx, .tmp3d, .tmp5b, ._, ._ }, |
| 105048 | .{ ._, ._, .mov, .memia(.dst0b, .tmp1, .add_unaligned_size), .tmp3b, ._, ._ }, | 108182 | .{ ._, ._, .mov, .memi(.dst0b, .tmp1), .tmp3b, ._, ._ }, |
| 105049 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 16), ._, ._ }, | 108183 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, -16), ._, ._ }, |
| 105050 | .{ ._, ._c, .in, .tmp1p, ._, ._, ._ }, | 108184 | .{ ._, ._c, .de, .tmp1d, ._, ._, ._ }, |
| 105051 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 108185 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 105052 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, | 108186 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| 105053 | } }, | 108187 | } }, |
| 105054 | }, .{ | 108188 | }, .{ |
| ... | @@ -105117,7 +108251,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105117,7 +108251,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105117 | .{ .src = .{ .to_mem, .none, .none } }, | 108251 | .{ .src = .{ .to_mem, .none, .none } }, |
| 105118 | }, | 108252 | }, |
| 105119 | .extra_temps = .{ | 108253 | .extra_temps = .{ |
| 105120 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 108254 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 105121 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 108255 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 105122 | .unused, | 108256 | .unused, |
| 105123 | .unused, | 108257 | .unused, |
| ... | @@ -105132,11 +108266,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105132,11 +108266,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105132 | .dst_temps = .{ .mem, .unused }, | 108266 | .dst_temps = .{ .mem, .unused }, |
| 105133 | .clobbers = .{ .eflags = true }, | 108267 | .clobbers = .{ .eflags = true }, |
| 105134 | .each = .{ .once = &.{ | 108268 | .each = .{ .once = &.{ |
| 105135 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 108269 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 105136 | .{ .@"0:", .f_, .ld, .memsia(.src0t, .@"8", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 108270 | .{ .@"0:", .f_, .ld, .memsi(.src0t, .@"8", .tmp0), ._, ._, ._ }, |
| 105137 | .{ ._, .fi_p, .stt, .memia(.dst0w, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 108271 | .{ ._, .fi_p, .stt, .memi(.dst0w, .tmp0), ._, ._, ._ }, |
| 105138 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 108272 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 105139 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 108273 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 105140 | } }, | 108274 | } }, |
| 105141 | }, .{ | 108275 | }, .{ |
| 105142 | .required_features = .{ .x87, null, null, null }, | 108276 | .required_features = .{ .x87, null, null, null }, |
| ... | @@ -105146,7 +108280,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105146,7 +108280,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105146 | .{ .src = .{ .to_mem, .none, .none } }, | 108280 | .{ .src = .{ .to_mem, .none, .none } }, |
| 105147 | }, | 108281 | }, |
| 105148 | .extra_temps = .{ | 108282 | .extra_temps = .{ |
| 105149 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 108283 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 105150 | .{ .type = .u16, .kind = .mem }, | 108284 | .{ .type = .u16, .kind = .mem }, |
| 105151 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 108285 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 105152 | .unused, | 108286 | .unused, |
| ... | @@ -105166,11 +108300,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105166,11 +108300,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105166 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, | 108300 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 105167 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, | 108301 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 105168 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp0b, ._, ._ }, | 108302 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp0b, ._, ._ }, |
| 105169 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 108303 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 105170 | .{ .@"0:", .f_, .ld, .memsia(.src0t, .@"8", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 108304 | .{ .@"0:", .f_, .ld, .memsi(.src0t, .@"8", .tmp0), ._, ._, ._ }, |
| 105171 | .{ ._, .fi_p, .st, .memia(.dst0w, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 108305 | .{ ._, .fi_p, .st, .memi(.dst0w, .tmp0), ._, ._, ._ }, |
| 105172 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 108306 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 105173 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 108307 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 105174 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, | 108308 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 105175 | } }, | 108309 | } }, |
| 105176 | }, .{ | 108310 | }, .{ |
| ... | @@ -105181,7 +108315,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105181,7 +108315,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105181 | .{ .src = .{ .to_mem, .none, .none } }, | 108315 | .{ .src = .{ .to_mem, .none, .none } }, |
| 105182 | }, | 108316 | }, |
| 105183 | .extra_temps = .{ | 108317 | .extra_temps = .{ |
| 105184 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 108318 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 105185 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 108319 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 105186 | .{ .type = .i32, .kind = .mem }, | 108320 | .{ .type = .i32, .kind = .mem }, |
| 105187 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, | 108321 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| ... | @@ -105196,13 +108330,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105196,13 +108330,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105196 | .dst_temps = .{ .mem, .unused }, | 108330 | .dst_temps = .{ .mem, .unused }, |
| 105197 | .clobbers = .{ .eflags = true }, | 108331 | .clobbers = .{ .eflags = true }, |
| 105198 | .each = .{ .once = &.{ | 108332 | .each = .{ .once = &.{ |
| 105199 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 108333 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 105200 | .{ .@"0:", .f_, .ld, .memsia(.src0t, .@"8", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 108334 | .{ .@"0:", .f_, .ld, .memsi(.src0t, .@"8", .tmp0), ._, ._, ._ }, |
| 105201 | .{ ._, .fi_p, .stt, .tmp2d, ._, ._, ._ }, | 108335 | .{ ._, .fi_p, .stt, .tmp2d, ._, ._, ._ }, |
| 105202 | .{ ._, ._, .mov, .tmp3d, .tmp2d, ._, ._ }, | 108336 | .{ ._, ._, .mov, .tmp3d, .tmp2d, ._, ._ }, |
| 105203 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3w, ._, ._ }, | 108337 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp3w, ._, ._ }, |
| 105204 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 108338 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 105205 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 108339 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 105206 | } }, | 108340 | } }, |
| 105207 | }, .{ | 108341 | }, .{ |
| 105208 | .required_features = .{ .x87, null, null, null }, | 108342 | .required_features = .{ .x87, null, null, null }, |
| ... | @@ -105212,7 +108346,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105212,7 +108346,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105212 | .{ .src = .{ .to_mem, .none, .none } }, | 108346 | .{ .src = .{ .to_mem, .none, .none } }, |
| 105213 | }, | 108347 | }, |
| 105214 | .extra_temps = .{ | 108348 | .extra_temps = .{ |
| 105215 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 108349 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 105216 | .{ .type = .u16, .kind = .mem }, | 108350 | .{ .type = .u16, .kind = .mem }, |
| 105217 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, | 108351 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| 105218 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 108352 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| ... | @@ -105227,18 +108361,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105227,18 +108361,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105227 | .dst_temps = .{ .mem, .unused }, | 108361 | .dst_temps = .{ .mem, .unused }, |
| 105228 | .clobbers = .{ .eflags = true }, | 108362 | .clobbers = .{ .eflags = true }, |
| 105229 | .each = .{ .once = &.{ | 108363 | .each = .{ .once = &.{ |
| 105230 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 108364 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 105231 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, | 108365 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| 105232 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, | 108366 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, |
| 105233 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, | 108367 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 105234 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, | 108368 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 105235 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, | 108369 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, |
| 105236 | .{ .@"0:", .f_, .ld, .memsia(.src0t, .@"8", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 108370 | .{ .@"0:", .f_, .ld, .memsi(.src0t, .@"8", .tmp0), ._, ._, ._ }, |
| 105237 | .{ ._, .fi_p, .st, .tmp4d, ._, ._, ._ }, | 108371 | .{ ._, .fi_p, .st, .tmp4d, ._, ._, ._ }, |
| 105238 | .{ ._, ._, .mov, .tmp2d, .tmp4d, ._, ._ }, | 108372 | .{ ._, ._, .mov, .tmp2d, .tmp4d, ._, ._ }, |
| 105239 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp2w, ._, ._ }, | 108373 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp2w, ._, ._ }, |
| 105240 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 108374 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 105241 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 108375 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 105242 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, | 108376 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 105243 | } }, | 108377 | } }, |
| 105244 | }, .{ | 108378 | }, .{ |
| ... | @@ -105307,7 +108441,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105307,7 +108441,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105307 | .{ .src = .{ .to_mem, .none, .none } }, | 108441 | .{ .src = .{ .to_mem, .none, .none } }, |
| 105308 | }, | 108442 | }, |
| 105309 | .extra_temps = .{ | 108443 | .extra_temps = .{ |
| 105310 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 108444 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 105311 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 108445 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 105312 | .unused, | 108446 | .unused, |
| 105313 | .unused, | 108447 | .unused, |
| ... | @@ -105322,11 +108456,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105322,11 +108456,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105322 | .dst_temps = .{ .mem, .unused }, | 108456 | .dst_temps = .{ .mem, .unused }, |
| 105323 | .clobbers = .{ .eflags = true }, | 108457 | .clobbers = .{ .eflags = true }, |
| 105324 | .each = .{ .once = &.{ | 108458 | .each = .{ .once = &.{ |
| 105325 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 108459 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 105326 | .{ .@"0:", .f_, .ld, .memsia(.src0t, .@"4", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 108460 | .{ .@"0:", .f_, .ld, .memsi(.src0t, .@"4", .tmp0), ._, ._, ._ }, |
| 105327 | .{ ._, .fi_p, .stt, .memia(.dst0d, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 108461 | .{ ._, .fi_p, .stt, .memi(.dst0d, .tmp0), ._, ._, ._ }, |
| 105328 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 108462 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 105329 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 108463 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 105330 | } }, | 108464 | } }, |
| 105331 | }, .{ | 108465 | }, .{ |
| 105332 | .required_features = .{ .x87, null, null, null }, | 108466 | .required_features = .{ .x87, null, null, null }, |
| ... | @@ -105336,7 +108470,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105336,7 +108470,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105336 | .{ .src = .{ .to_mem, .none, .none } }, | 108470 | .{ .src = .{ .to_mem, .none, .none } }, |
| 105337 | }, | 108471 | }, |
| 105338 | .extra_temps = .{ | 108472 | .extra_temps = .{ |
| 105339 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 108473 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 105340 | .{ .type = .u16, .kind = .mem }, | 108474 | .{ .type = .u16, .kind = .mem }, |
| 105341 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 108475 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 105342 | .unused, | 108476 | .unused, |
| ... | @@ -105356,11 +108490,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105356,11 +108490,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105356 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, | 108490 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 105357 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, | 108491 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 105358 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp0b, ._, ._ }, | 108492 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp0b, ._, ._ }, |
| 105359 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 108493 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 105360 | .{ .@"0:", .f_, .ld, .memsia(.src0t, .@"4", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 108494 | .{ .@"0:", .f_, .ld, .memsi(.src0t, .@"4", .tmp0), ._, ._, ._ }, |
| 105361 | .{ ._, .fi_p, .st, .memia(.dst0d, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 108495 | .{ ._, .fi_p, .st, .memi(.dst0d, .tmp0), ._, ._, ._ }, |
| 105362 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 108496 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 105363 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 108497 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 105364 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, | 108498 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 105365 | } }, | 108499 | } }, |
| 105366 | }, .{ | 108500 | }, .{ |
| ... | @@ -105371,7 +108505,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105371,7 +108505,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105371 | .{ .src = .{ .to_mem, .none, .none } }, | 108505 | .{ .src = .{ .to_mem, .none, .none } }, |
| 105372 | }, | 108506 | }, |
| 105373 | .extra_temps = .{ | 108507 | .extra_temps = .{ |
| 105374 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 108508 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 105375 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 108509 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 105376 | .{ .type = .i64, .kind = .mem }, | 108510 | .{ .type = .i64, .kind = .mem }, |
| 105377 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 108511 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| ... | @@ -105386,13 +108520,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105386,13 +108520,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105386 | .dst_temps = .{ .mem, .unused }, | 108520 | .dst_temps = .{ .mem, .unused }, |
| 105387 | .clobbers = .{ .eflags = true }, | 108521 | .clobbers = .{ .eflags = true }, |
| 105388 | .each = .{ .once = &.{ | 108522 | .each = .{ .once = &.{ |
| 105389 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 108523 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 105390 | .{ .@"0:", .f_, .ld, .memsia(.src0t, .@"4", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 108524 | .{ .@"0:", .f_, .ld, .memsi(.src0t, .@"4", .tmp0), ._, ._, ._ }, |
| 105391 | .{ ._, .fi_p, .stt, .tmp2q, ._, ._, ._ }, | 108525 | .{ ._, .fi_p, .stt, .tmp2q, ._, ._, ._ }, |
| 105392 | .{ ._, ._, .mov, .tmp3d, .tmp2d, ._, ._ }, | 108526 | .{ ._, ._, .mov, .tmp3d, .tmp2d, ._, ._ }, |
| 105393 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3d, ._, ._ }, | 108527 | .{ ._, ._, .mov, .memi(.dst0d, .tmp0), .tmp3d, ._, ._ }, |
| 105394 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 108528 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 105395 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 108529 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 105396 | } }, | 108530 | } }, |
| 105397 | }, .{ | 108531 | }, .{ |
| 105398 | .required_features = .{ .x87, null, null, null }, | 108532 | .required_features = .{ .x87, null, null, null }, |
| ... | @@ -105402,7 +108536,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105402,7 +108536,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105402 | .{ .src = .{ .to_mem, .none, .none } }, | 108536 | .{ .src = .{ .to_mem, .none, .none } }, |
| 105403 | }, | 108537 | }, |
| 105404 | .extra_temps = .{ | 108538 | .extra_temps = .{ |
| 105405 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 108539 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 105406 | .{ .type = .u16, .kind = .mem }, | 108540 | .{ .type = .u16, .kind = .mem }, |
| 105407 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 108541 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 105408 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 108542 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| ... | @@ -105417,18 +108551,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105417,18 +108551,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105417 | .dst_temps = .{ .mem, .unused }, | 108551 | .dst_temps = .{ .mem, .unused }, |
| 105418 | .clobbers = .{ .eflags = true }, | 108552 | .clobbers = .{ .eflags = true }, |
| 105419 | .each = .{ .once = &.{ | 108553 | .each = .{ .once = &.{ |
| 105420 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 108554 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 105421 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, | 108555 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| 105422 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, | 108556 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, |
| 105423 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, | 108557 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 105424 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, | 108558 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 105425 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, | 108559 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, |
| 105426 | .{ .@"0:", .f_, .ld, .memsia(.src0t, .@"4", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 108560 | .{ .@"0:", .f_, .ld, .memsi(.src0t, .@"4", .tmp0), ._, ._, ._ }, |
| 105427 | .{ ._, .fi_p, .st, .tmp4q, ._, ._, ._ }, | 108561 | .{ ._, .fi_p, .st, .tmp4q, ._, ._, ._ }, |
| 105428 | .{ ._, ._, .mov, .tmp2d, .tmp4d, ._, ._ }, | 108562 | .{ ._, ._, .mov, .tmp2d, .tmp4d, ._, ._ }, |
| 105429 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp2d, ._, ._ }, | 108563 | .{ ._, ._, .mov, .memi(.dst0d, .tmp0), .tmp2d, ._, ._ }, |
| 105430 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 108564 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 105431 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 108565 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 105432 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, | 108566 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 105433 | } }, | 108567 | } }, |
| 105434 | }, .{ | 108568 | }, .{ |
| ... | @@ -105490,6 +108624,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105490,6 +108624,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105490 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, | 108624 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 105491 | } }, | 108625 | } }, |
| 105492 | }, .{ | 108626 | }, .{ |
| | 108627 | .required_abi = .gnu, |
| 105493 | .required_features = .{ .@"64bit", .sse3, .x87, null }, | 108628 | .required_features = .{ .@"64bit", .sse3, .x87, null }, |
| 105494 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, | 108629 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 105495 | .dst_constraints = .{ .{ .exact_unsigned_int = 64 }, .any }, | 108630 | .dst_constraints = .{ .{ .exact_unsigned_int = 64 }, .any }, |
| ... | @@ -105526,6 +108661,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105526,6 +108661,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105526 | .{ ._, ._, .@"or", .dst0q, .tmp0q, ._, ._ }, | 108661 | .{ ._, ._, .@"or", .dst0q, .tmp0q, ._, ._ }, |
| 105527 | } }, | 108662 | } }, |
| 105528 | }, .{ | 108663 | }, .{ |
| | 108664 | .required_abi = .gnu, |
| 105529 | .required_features = .{ .@"64bit", .x87, null, null }, | 108665 | .required_features = .{ .@"64bit", .x87, null, null }, |
| 105530 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, | 108666 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 105531 | .dst_constraints = .{ .{ .exact_unsigned_int = 64 }, .any }, | 108667 | .dst_constraints = .{ .{ .exact_unsigned_int = 64 }, .any }, |
| ... | @@ -105567,6 +108703,49 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105567,6 +108703,49 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105567 | .{ ._, ._, .@"and", .dst0q, .tmp4q, ._, ._ }, | 108703 | .{ ._, ._, .@"and", .dst0q, .tmp4q, ._, ._ }, |
| 105568 | .{ ._, ._, .@"or", .dst0q, .tmp5q, ._, ._ }, | 108704 | .{ ._, ._, .@"or", .dst0q, .tmp5q, ._, ._ }, |
| 105569 | } }, | 108705 | } }, |
| | 108706 | }, .{ |
| | 108707 | .required_abi = .msvc, |
| | 108708 | .required_features = .{ .@"64bit", .x87, null, null }, |
| | 108709 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| | 108710 | .dst_constraints = .{ .{ .exact_unsigned_int = 64 }, .any }, |
| | 108711 | .patterns = &.{ |
| | 108712 | .{ .src = .{ .mem, .none, .none } }, |
| | 108713 | .{ .src = .{ .to_x87, .none, .none } }, |
| | 108714 | }, |
| | 108715 | .extra_temps = .{ |
| | 108716 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 108717 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 108718 | .{ .type = .u16, .kind = .mem }, |
| | 108719 | .{ .type = .f32, .kind = .{ .@"0x1p63_mem" = .{} } }, |
| | 108720 | .{ .type = .i64, .kind = .mem }, |
| | 108721 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| | 108722 | .unused, |
| | 108723 | .unused, |
| | 108724 | .unused, |
| | 108725 | .unused, |
| | 108726 | .unused, |
| | 108727 | }, |
| | 108728 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 108729 | .clobbers = .{ .eflags = true }, |
| | 108730 | .each = .{ .once = &.{ |
| | 108731 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| | 108732 | .{ ._, .f_, .ld, .tmp0t, ._, ._, ._ }, |
| | 108733 | .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ }, |
| | 108734 | .{ ._, ._, .movzx, .dst0d, .memd(.tmp2b, 1), ._, ._ }, |
| | 108735 | .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_11_11), ._, ._ }, |
| | 108736 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| | 108737 | .{ ._, ._, .mov, .memd(.tmp2b, 1), .dst0b, ._, ._ }, |
| | 108738 | .{ ._, ._, .lea, .dst0q, .mem(.tmp3), ._, ._ }, |
| | 108739 | .{ ._, .fi_p, .st, .tmp4q, ._, ._, ._ }, |
| | 108740 | .{ ._, .f_, .sub, .lea(.dst0d), ._, ._, ._ }, |
| | 108741 | .{ ._, ._, .mov, .tmp5q, .tmp4q, ._, ._ }, |
| | 108742 | .{ ._, .fi_p, .st, .tmp4q, ._, ._, ._ }, |
| | 108743 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| | 108744 | .{ ._, ._, .mov, .dst0q, .tmp5q, ._, ._ }, |
| | 108745 | .{ ._, ._r, .sa, .dst0q, .ui(63), ._, ._ }, |
| | 108746 | .{ ._, ._, .@"and", .dst0q, .tmp4q, ._, ._ }, |
| | 108747 | .{ ._, ._, .@"or", .dst0q, .tmp5q, ._, ._ }, |
| | 108748 | } }, |
| 105570 | }, .{ | 108749 | }, .{ |
| 105571 | .required_features = .{ .sse3, .x87, null, null }, | 108750 | .required_features = .{ .sse3, .x87, null, null }, |
| 105572 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 108751 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| ... | @@ -105575,7 +108754,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105575,7 +108754,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105575 | .{ .src = .{ .to_mem, .none, .none } }, | 108754 | .{ .src = .{ .to_mem, .none, .none } }, |
| 105576 | }, | 108755 | }, |
| 105577 | .extra_temps = .{ | 108756 | .extra_temps = .{ |
| 105578 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 108757 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 105579 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 108758 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 105580 | .unused, | 108759 | .unused, |
| 105581 | .unused, | 108760 | .unused, |
| ... | @@ -105590,11 +108769,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105590,11 +108769,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105590 | .dst_temps = .{ .mem, .unused }, | 108769 | .dst_temps = .{ .mem, .unused }, |
| 105591 | .clobbers = .{ .eflags = true }, | 108770 | .clobbers = .{ .eflags = true }, |
| 105592 | .each = .{ .once = &.{ | 108771 | .each = .{ .once = &.{ |
| 105593 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 108772 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| 105594 | .{ .@"0:", .f_, .ld, .memsia(.src0t, .@"2", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 108773 | .{ .@"0:", .f_, .ld, .memsi(.src0t, .@"2", .tmp0), ._, ._, ._ }, |
| 105595 | .{ ._, .fi_p, .stt, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 108774 | .{ ._, .fi_p, .stt, .memi(.dst0q, .tmp0), ._, ._, ._ }, |
| 105596 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 108775 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 105597 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 108776 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 105598 | } }, | 108777 | } }, |
| 105599 | }, .{ | 108778 | }, .{ |
| 105600 | .required_features = .{ .x87, null, null, null }, | 108779 | .required_features = .{ .x87, null, null, null }, |
| ... | @@ -105604,7 +108783,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105604,7 +108783,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105604 | .{ .src = .{ .to_mem, .none, .none } }, | 108783 | .{ .src = .{ .to_mem, .none, .none } }, |
| 105605 | }, | 108784 | }, |
| 105606 | .extra_temps = .{ | 108785 | .extra_temps = .{ |
| 105607 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 108786 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 105608 | .{ .type = .u16, .kind = .mem }, | 108787 | .{ .type = .u16, .kind = .mem }, |
| 105609 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 108788 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 105610 | .unused, | 108789 | .unused, |
| ... | @@ -105624,15 +108803,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105624,15 +108803,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105624 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, | 108803 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 105625 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, | 108804 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 105626 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp0b, ._, ._ }, | 108805 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp0b, ._, ._ }, |
| 105627 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 108806 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| 105628 | .{ .@"0:", .f_, .ld, .memsia(.src0t, .@"2", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 108807 | .{ .@"0:", .f_, .ld, .memsi(.src0t, .@"2", .tmp0), ._, ._, ._ }, |
| 105629 | .{ ._, .fi_p, .st, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 108808 | .{ ._, .fi_p, .st, .memi(.dst0q, .tmp0), ._, ._, ._ }, |
| 105630 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 108809 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 105631 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 108810 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 105632 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, | 108811 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 105633 | } }, | 108812 | } }, |
| 105634 | }, .{ | 108813 | }, .{ |
| 105635 | .required_features = .{ .@"64bit", .avx, null, null }, | 108814 | .required_cc_abi = .sysv64, |
| | 108815 | .required_features = .{ .avx, null, null, null }, |
| 105636 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 108816 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 105637 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any }, | 108817 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any }, |
| 105638 | .patterns = &.{ | 108818 | .patterns = &.{ |
| ... | @@ -105640,11 +108820,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105640,11 +108820,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105640 | }, | 108820 | }, |
| 105641 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 108821 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 105642 | .extra_temps = .{ | 108822 | .extra_temps = .{ |
| 105643 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 108823 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 105644 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 108824 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 105645 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 108825 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 105646 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfti" } }, | 108826 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfdi" } }, |
| 105647 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 108827 | .{ .type = .u64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 105648 | .unused, | 108828 | .unused, |
| 105649 | .unused, | 108829 | .unused, |
| 105650 | .unused, | 108830 | .unused, |
| ... | @@ -105655,16 +108835,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105655,16 +108835,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105655 | .dst_temps = .{ .mem, .unused }, | 108835 | .dst_temps = .{ .mem, .unused }, |
| 105656 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 108836 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 105657 | .each = .{ .once = &.{ | 108837 | .each = .{ .once = &.{ |
| 105658 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 108838 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| 105659 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 108839 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memsi(.src0x, .@"2", .tmp0), ._, ._ }, |
| 105660 | .{ ._, .v_dqa, .mov, .tmp2x, .tmp1x, ._, ._ }, | 108840 | .{ ._, .v_dqa, .mov, .tmp2x, .tmp1x, ._, ._ }, |
| 105661 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 108841 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 105662 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp4q, ._, ._ }, | 108842 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp4q, ._, ._ }, |
| 105663 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 108843 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 105664 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 108844 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 105665 | } }, | 108845 | } }, |
| 105666 | }, .{ | 108846 | }, .{ |
| 105667 | .required_features = .{ .@"64bit", .sse2, null, null }, | 108847 | .required_cc_abi = .sysv64, |
| | 108848 | .required_features = .{ .sse2, null, null, null }, |
| 105668 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 108849 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 105669 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any }, | 108850 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any }, |
| 105670 | .patterns = &.{ | 108851 | .patterns = &.{ |
| ... | @@ -105672,11 +108853,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105672,11 +108853,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105672 | }, | 108853 | }, |
| 105673 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 108854 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 105674 | .extra_temps = .{ | 108855 | .extra_temps = .{ |
| 105675 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 108856 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 105676 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 108857 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 105677 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 108858 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 105678 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfti" } }, | 108859 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfdi" } }, |
| 105679 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 108860 | .{ .type = .u64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 105680 | .unused, | 108861 | .unused, |
| 105681 | .unused, | 108862 | .unused, |
| 105682 | .unused, | 108863 | .unused, |
| ... | @@ -105687,16 +108868,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105687,16 +108868,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105687 | .dst_temps = .{ .mem, .unused }, | 108868 | .dst_temps = .{ .mem, .unused }, |
| 105688 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 108869 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 105689 | .each = .{ .once = &.{ | 108870 | .each = .{ .once = &.{ |
| 105690 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 108871 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| 105691 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 108872 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memsi(.src0x, .@"2", .tmp0), ._, ._ }, |
| 105692 | .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ }, | 108873 | .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ }, |
| 105693 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 108874 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 105694 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp4q, ._, ._ }, | 108875 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp4q, ._, ._ }, |
| 105695 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 108876 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 105696 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 108877 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 105697 | } }, | 108878 | } }, |
| 105698 | }, .{ | 108879 | }, .{ |
| 105699 | .required_features = .{ .@"64bit", .sse, null, null }, | 108880 | .required_cc_abi = .sysv64, |
| | 108881 | .required_features = .{ .sse, null, null, null }, |
| 105700 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 108882 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 105701 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any }, | 108883 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any }, |
| 105702 | .patterns = &.{ | 108884 | .patterns = &.{ |
| ... | @@ -105704,11 +108886,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105704,11 +108886,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105704 | }, | 108886 | }, |
| 105705 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 108887 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 105706 | .extra_temps = .{ | 108888 | .extra_temps = .{ |
| 105707 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 108889 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 105708 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 108890 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 105709 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 108891 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 105710 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfti" } }, | 108892 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfdi" } }, |
| 105711 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 108893 | .{ .type = .u64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 105712 | .unused, | 108894 | .unused, |
| 105713 | .unused, | 108895 | .unused, |
| 105714 | .unused, | 108896 | .unused, |
| ... | @@ -105719,16 +108901,48 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105719,16 +108901,48 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105719 | .dst_temps = .{ .mem, .unused }, | 108901 | .dst_temps = .{ .mem, .unused }, |
| 105720 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 108902 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 105721 | .each = .{ .once = &.{ | 108903 | .each = .{ .once = &.{ |
| 105722 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 108904 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| 105723 | .{ .@"0:", ._ps, .mova, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 108905 | .{ .@"0:", ._ps, .mova, .tmp1x, .memsi(.src0x, .@"2", .tmp0), ._, ._ }, |
| 105724 | .{ ._, ._ps, .mova, .tmp2x, .tmp1x, ._, ._ }, | 108906 | .{ ._, ._ps, .mova, .tmp2x, .tmp1x, ._, ._ }, |
| 105725 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 108907 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 105726 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp4q, ._, ._ }, | 108908 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp4q, ._, ._ }, |
| 105727 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 108909 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 105728 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 108910 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 105729 | } }, | 108911 | } }, |
| 105730 | }, .{ | 108912 | }, .{ |
| 105731 | .required_features = .{ .@"64bit", .avx, null, null }, | 108913 | .required_cc_abi = .win64, |
| | 108914 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 108915 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any }, |
| | 108916 | .patterns = &.{ |
| | 108917 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 108918 | }, |
| | 108919 | .call_frame = .{ .alignment = .@"16" }, |
| | 108920 | .extra_temps = .{ |
| | 108921 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 108922 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 108923 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfdi" } }, |
| | 108924 | .{ .type = .u64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 108925 | .unused, |
| | 108926 | .unused, |
| | 108927 | .unused, |
| | 108928 | .unused, |
| | 108929 | .unused, |
| | 108930 | .unused, |
| | 108931 | .unused, |
| | 108932 | }, |
| | 108933 | .dst_temps = .{ .mem, .unused }, |
| | 108934 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 108935 | .each = .{ .once = &.{ |
| | 108936 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| | 108937 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.src0, .@"2", .tmp0), ._, ._ }, |
| | 108938 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 108939 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp3q, ._, ._ }, |
| | 108940 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 108941 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 108942 | } }, |
| | 108943 | }, .{ |
| | 108944 | .required_cc_abi = .sysv64, |
| | 108945 | .required_features = .{ .avx, null, null, null }, |
| 105732 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, | 108946 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 105733 | .dst_constraints = .{ .{ .signed_int = .xword }, .any }, | 108947 | .dst_constraints = .{ .{ .signed_int = .xword }, .any }, |
| 105734 | .patterns = &.{ | 108948 | .patterns = &.{ |
| ... | @@ -105736,7 +108950,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105736,7 +108950,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105736 | }, | 108950 | }, |
| 105737 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 108951 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 105738 | .extra_temps = .{ | 108952 | .extra_temps = .{ |
| 105739 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 108953 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 105740 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 108954 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 105741 | .{ .type = .usize, .kind = .{ .extern_func = "__fixxfti" } }, | 108955 | .{ .type = .usize, .kind = .{ .extern_func = "__fixxfti" } }, |
| 105742 | .unused, | 108956 | .unused, |
| ... | @@ -105748,7 +108962,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105748,7 +108962,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105748 | .unused, | 108962 | .unused, |
| 105749 | .unused, | 108963 | .unused, |
| 105750 | }, | 108964 | }, |
| 105751 | .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused }, | 108965 | .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 105752 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 108966 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 105753 | .each = .{ .once = &.{ | 108967 | .each = .{ .once = &.{ |
| 105754 | .{ ._, .v_dqa, .mov, .tmp0x, .src0x, ._, ._ }, | 108968 | .{ ._, .v_dqa, .mov, .tmp0x, .src0x, ._, ._ }, |
| ... | @@ -105756,7 +108970,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105756,7 +108970,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105756 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 108970 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 105757 | } }, | 108971 | } }, |
| 105758 | }, .{ | 108972 | }, .{ |
| 105759 | .required_features = .{ .@"64bit", .avx, null, null }, | 108973 | .required_cc_abi = .sysv64, |
| | 108974 | .required_features = .{ .avx, null, null, null }, |
| 105760 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, | 108975 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 105761 | .dst_constraints = .{ .{ .unsigned_int = .xword }, .any }, | 108976 | .dst_constraints = .{ .{ .unsigned_int = .xword }, .any }, |
| 105762 | .patterns = &.{ | 108977 | .patterns = &.{ |
| ... | @@ -105764,7 +108979,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105764,7 +108979,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105764 | }, | 108979 | }, |
| 105765 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 108980 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 105766 | .extra_temps = .{ | 108981 | .extra_temps = .{ |
| 105767 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 108982 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 105768 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 108983 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 105769 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfti" } }, | 108984 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfti" } }, |
| 105770 | .unused, | 108985 | .unused, |
| ... | @@ -105776,7 +108991,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105776,7 +108991,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105776 | .unused, | 108991 | .unused, |
| 105777 | .unused, | 108992 | .unused, |
| 105778 | }, | 108993 | }, |
| 105779 | .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused }, | 108994 | .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 105780 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 108995 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 105781 | .each = .{ .once = &.{ | 108996 | .each = .{ .once = &.{ |
| 105782 | .{ ._, .v_dqa, .mov, .tmp0x, .src0x, ._, ._ }, | 108997 | .{ ._, .v_dqa, .mov, .tmp0x, .src0x, ._, ._ }, |
| ... | @@ -105784,7 +108999,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105784,7 +108999,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105784 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 108999 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 105785 | } }, | 109000 | } }, |
| 105786 | }, .{ | 109001 | }, .{ |
| 105787 | .required_features = .{ .@"64bit", .sse2, null, null }, | 109002 | .required_cc_abi = .sysv64, |
| | 109003 | .required_features = .{ .sse2, null, null, null }, |
| 105788 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, | 109004 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 105789 | .dst_constraints = .{ .{ .signed_int = .xword }, .any }, | 109005 | .dst_constraints = .{ .{ .signed_int = .xword }, .any }, |
| 105790 | .patterns = &.{ | 109006 | .patterns = &.{ |
| ... | @@ -105792,7 +109008,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105792,7 +109008,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105792 | }, | 109008 | }, |
| 105793 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 109009 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 105794 | .extra_temps = .{ | 109010 | .extra_temps = .{ |
| 105795 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 109011 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 105796 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 109012 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 105797 | .{ .type = .usize, .kind = .{ .extern_func = "__fixxfti" } }, | 109013 | .{ .type = .usize, .kind = .{ .extern_func = "__fixxfti" } }, |
| 105798 | .unused, | 109014 | .unused, |
| ... | @@ -105804,7 +109020,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105804,7 +109020,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105804 | .unused, | 109020 | .unused, |
| 105805 | .unused, | 109021 | .unused, |
| 105806 | }, | 109022 | }, |
| 105807 | .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused }, | 109023 | .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 105808 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 109024 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 105809 | .each = .{ .once = &.{ | 109025 | .each = .{ .once = &.{ |
| 105810 | .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ }, | 109026 | .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ }, |
| ... | @@ -105812,7 +109028,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105812,7 +109028,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105812 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 109028 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 105813 | } }, | 109029 | } }, |
| 105814 | }, .{ | 109030 | }, .{ |
| 105815 | .required_features = .{ .@"64bit", .sse2, null, null }, | 109031 | .required_cc_abi = .sysv64, |
| | 109032 | .required_features = .{ .sse2, null, null, null }, |
| 105816 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, | 109033 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 105817 | .dst_constraints = .{ .{ .unsigned_int = .xword }, .any }, | 109034 | .dst_constraints = .{ .{ .unsigned_int = .xword }, .any }, |
| 105818 | .patterns = &.{ | 109035 | .patterns = &.{ |
| ... | @@ -105820,7 +109037,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105820,7 +109037,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105820 | }, | 109037 | }, |
| 105821 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 109038 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 105822 | .extra_temps = .{ | 109039 | .extra_temps = .{ |
| 105823 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 109040 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 105824 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 109041 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 105825 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfti" } }, | 109042 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfti" } }, |
| 105826 | .unused, | 109043 | .unused, |
| ... | @@ -105832,7 +109049,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105832,7 +109049,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105832 | .unused, | 109049 | .unused, |
| 105833 | .unused, | 109050 | .unused, |
| 105834 | }, | 109051 | }, |
| 105835 | .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused }, | 109052 | .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 105836 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 109053 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 105837 | .each = .{ .once = &.{ | 109054 | .each = .{ .once = &.{ |
| 105838 | .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ }, | 109055 | .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ }, |
| ... | @@ -105840,7 +109057,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105840,7 +109057,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105840 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 109057 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 105841 | } }, | 109058 | } }, |
| 105842 | }, .{ | 109059 | }, .{ |
| 105843 | .required_features = .{ .@"64bit", .sse, null, null }, | 109060 | .required_cc_abi = .sysv64, |
| | 109061 | .required_features = .{ .sse, null, null, null }, |
| 105844 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, | 109062 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 105845 | .dst_constraints = .{ .{ .signed_int = .xword }, .any }, | 109063 | .dst_constraints = .{ .{ .signed_int = .xword }, .any }, |
| 105846 | .patterns = &.{ | 109064 | .patterns = &.{ |
| ... | @@ -105848,7 +109066,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105848,7 +109066,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105848 | }, | 109066 | }, |
| 105849 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 109067 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 105850 | .extra_temps = .{ | 109068 | .extra_temps = .{ |
| 105851 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 109069 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 105852 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 109070 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 105853 | .{ .type = .usize, .kind = .{ .extern_func = "__fixxfti" } }, | 109071 | .{ .type = .usize, .kind = .{ .extern_func = "__fixxfti" } }, |
| 105854 | .unused, | 109072 | .unused, |
| ... | @@ -105860,7 +109078,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105860,7 +109078,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105860 | .unused, | 109078 | .unused, |
| 105861 | .unused, | 109079 | .unused, |
| 105862 | }, | 109080 | }, |
| 105863 | .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused }, | 109081 | .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 105864 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 109082 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 105865 | .each = .{ .once = &.{ | 109083 | .each = .{ .once = &.{ |
| 105866 | .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ }, | 109084 | .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ }, |
| ... | @@ -105868,7 +109086,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105868,7 +109086,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105868 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 109086 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 105869 | } }, | 109087 | } }, |
| 105870 | }, .{ | 109088 | }, .{ |
| 105871 | .required_features = .{ .@"64bit", .sse, null, null }, | 109089 | .required_cc_abi = .sysv64, |
| | 109090 | .required_features = .{ .sse, null, null, null }, |
| 105872 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, | 109091 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 105873 | .dst_constraints = .{ .{ .unsigned_int = .xword }, .any }, | 109092 | .dst_constraints = .{ .{ .unsigned_int = .xword }, .any }, |
| 105874 | .patterns = &.{ | 109093 | .patterns = &.{ |
| ... | @@ -105876,7 +109095,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105876,7 +109095,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105876 | }, | 109095 | }, |
| 105877 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 109096 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 105878 | .extra_temps = .{ | 109097 | .extra_temps = .{ |
| 105879 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 109098 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 105880 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 109099 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 105881 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfti" } }, | 109100 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfti" } }, |
| 105882 | .unused, | 109101 | .unused, |
| ... | @@ -105888,7 +109107,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105888,7 +109107,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105888 | .unused, | 109107 | .unused, |
| 105889 | .unused, | 109108 | .unused, |
| 105890 | }, | 109109 | }, |
| 105891 | .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused }, | 109110 | .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 105892 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 109111 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 105893 | .each = .{ .once = &.{ | 109112 | .each = .{ .once = &.{ |
| 105894 | .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ }, | 109113 | .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ }, |
| ... | @@ -105896,7 +109115,62 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105896,7 +109115,62 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105896 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 109115 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 105897 | } }, | 109116 | } }, |
| 105898 | }, .{ | 109117 | }, .{ |
| 105899 | .required_features = .{ .@"64bit", .avx, null, null }, | 109118 | .required_cc_abi = .win64, |
| | 109119 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| | 109120 | .dst_constraints = .{ .{ .signed_int = .xword }, .any }, |
| | 109121 | .patterns = &.{ |
| | 109122 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 109123 | }, |
| | 109124 | .call_frame = .{ .alignment = .@"16" }, |
| | 109125 | .extra_temps = .{ |
| | 109126 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 109127 | .{ .type = .usize, .kind = .{ .extern_func = "__fixxfti" } }, |
| | 109128 | .unused, |
| | 109129 | .unused, |
| | 109130 | .unused, |
| | 109131 | .unused, |
| | 109132 | .unused, |
| | 109133 | .unused, |
| | 109134 | .unused, |
| | 109135 | .unused, |
| | 109136 | .unused, |
| | 109137 | }, |
| | 109138 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| | 109139 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 109140 | .each = .{ .once = &.{ |
| | 109141 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| | 109142 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 109143 | } }, |
| | 109144 | }, .{ |
| | 109145 | .required_cc_abi = .win64, |
| | 109146 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| | 109147 | .dst_constraints = .{ .{ .unsigned_int = .xword }, .any }, |
| | 109148 | .patterns = &.{ |
| | 109149 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 109150 | }, |
| | 109151 | .call_frame = .{ .alignment = .@"16" }, |
| | 109152 | .extra_temps = .{ |
| | 109153 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 109154 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfti" } }, |
| | 109155 | .unused, |
| | 109156 | .unused, |
| | 109157 | .unused, |
| | 109158 | .unused, |
| | 109159 | .unused, |
| | 109160 | .unused, |
| | 109161 | .unused, |
| | 109162 | .unused, |
| | 109163 | .unused, |
| | 109164 | }, |
| | 109165 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| | 109166 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 109167 | .each = .{ .once = &.{ |
| | 109168 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| | 109169 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 109170 | } }, |
| | 109171 | }, .{ |
| | 109172 | .required_cc_abi = .sysv64, |
| | 109173 | .required_features = .{ .avx, null, null, null }, |
| 105900 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 109174 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 105901 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, | 109175 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, |
| 105902 | .patterns = &.{ | 109176 | .patterns = &.{ |
| ... | @@ -105904,12 +109178,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105904,12 +109178,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105904 | }, | 109178 | }, |
| 105905 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 109179 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 105906 | .extra_temps = .{ | 109180 | .extra_temps = .{ |
| 105907 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 109181 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 105908 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 109182 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 105909 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 109183 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 105910 | .{ .type = .usize, .kind = .{ .extern_func = "__fixxfti" } }, | 109184 | .{ .type = .usize, .kind = .{ .extern_func = "__fixxfti" } }, |
| 105911 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 109185 | .{ .type = .i128, .kind = .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 105912 | .{ .type = .i64, .kind = .{ .reg = .rdx } }, | 109186 | .unused, |
| 105913 | .unused, | 109187 | .unused, |
| 105914 | .unused, | 109188 | .unused, |
| 105915 | .unused, | 109189 | .unused, |
| ... | @@ -105919,17 +109193,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105919,17 +109193,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105919 | .dst_temps = .{ .mem, .unused }, | 109193 | .dst_temps = .{ .mem, .unused }, |
| 105920 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 109194 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 105921 | .each = .{ .once = &.{ | 109195 | .each = .{ .once = &.{ |
| 105922 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 109196 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 105923 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 109197 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 105924 | .{ ._, .v_dqa, .mov, .tmp2x, .tmp1x, ._, ._ }, | 109198 | .{ ._, .v_dqa, .mov, .tmp2x, .tmp1x, ._, ._ }, |
| 105925 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 109199 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 105926 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp4q, ._, ._ }, | 109200 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp4q0, ._, ._ }, |
| 105927 | .{ ._, ._, .mov, .memiad(.dst0q, .tmp0, .add_unaligned_size, 8), .tmp5q, ._, ._ }, | 109201 | .{ ._, ._, .mov, .memid(.dst0q, .tmp0, 8), .tmp4q1, ._, ._ }, |
| 105928 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 109202 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 105929 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 109203 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 105930 | } }, | 109204 | } }, |
| 105931 | }, .{ | 109205 | }, .{ |
| 105932 | .required_features = .{ .@"64bit", .avx, null, null }, | 109206 | .required_cc_abi = .sysv64, |
| | 109207 | .required_features = .{ .avx, null, null, null }, |
| 105933 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 109208 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 105934 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, | 109209 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, |
| 105935 | .patterns = &.{ | 109210 | .patterns = &.{ |
| ... | @@ -105937,12 +109212,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105937,12 +109212,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105937 | }, | 109212 | }, |
| 105938 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 109213 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 105939 | .extra_temps = .{ | 109214 | .extra_temps = .{ |
| 105940 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 109215 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 105941 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 109216 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 105942 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 109217 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 105943 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfti" } }, | 109218 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfti" } }, |
| 105944 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 109219 | .{ .type = .u128, .kind = .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 105945 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, | 109220 | .unused, |
| 105946 | .unused, | 109221 | .unused, |
| 105947 | .unused, | 109222 | .unused, |
| 105948 | .unused, | 109223 | .unused, |
| ... | @@ -105952,17 +109227,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105952,17 +109227,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105952 | .dst_temps = .{ .mem, .unused }, | 109227 | .dst_temps = .{ .mem, .unused }, |
| 105953 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 109228 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 105954 | .each = .{ .once = &.{ | 109229 | .each = .{ .once = &.{ |
| 105955 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 109230 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 105956 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 109231 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 105957 | .{ ._, .v_dqa, .mov, .tmp2x, .tmp1x, ._, ._ }, | 109232 | .{ ._, .v_dqa, .mov, .tmp2x, .tmp1x, ._, ._ }, |
| 105958 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 109233 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 105959 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp4q, ._, ._ }, | 109234 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp4q0, ._, ._ }, |
| 105960 | .{ ._, ._, .mov, .memiad(.dst0q, .tmp0, .add_unaligned_size, 8), .tmp5q, ._, ._ }, | 109235 | .{ ._, ._, .mov, .memid(.dst0q, .tmp0, 8), .tmp4q1, ._, ._ }, |
| 105961 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 109236 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 105962 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 109237 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 105963 | } }, | 109238 | } }, |
| 105964 | }, .{ | 109239 | }, .{ |
| 105965 | .required_features = .{ .@"64bit", .sse2, null, null }, | 109240 | .required_cc_abi = .sysv64, |
| | 109241 | .required_features = .{ .sse2, null, null, null }, |
| 105966 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 109242 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 105967 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, | 109243 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, |
| 105968 | .patterns = &.{ | 109244 | .patterns = &.{ |
| ... | @@ -105970,12 +109246,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105970,12 +109246,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105970 | }, | 109246 | }, |
| 105971 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 109247 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 105972 | .extra_temps = .{ | 109248 | .extra_temps = .{ |
| 105973 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 109249 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 105974 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 109250 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 105975 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 109251 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 105976 | .{ .type = .usize, .kind = .{ .extern_func = "__fixxfti" } }, | 109252 | .{ .type = .usize, .kind = .{ .extern_func = "__fixxfti" } }, |
| 105977 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 109253 | .{ .type = .i128, .kind = .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 105978 | .{ .type = .i64, .kind = .{ .reg = .rdx } }, | 109254 | .unused, |
| 105979 | .unused, | 109255 | .unused, |
| 105980 | .unused, | 109256 | .unused, |
| 105981 | .unused, | 109257 | .unused, |
| ... | @@ -105985,17 +109261,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -105985,17 +109261,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 105985 | .dst_temps = .{ .mem, .unused }, | 109261 | .dst_temps = .{ .mem, .unused }, |
| 105986 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 109262 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 105987 | .each = .{ .once = &.{ | 109263 | .each = .{ .once = &.{ |
| 105988 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 109264 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 105989 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 109265 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 105990 | .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ }, | 109266 | .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ }, |
| 105991 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 109267 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 105992 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp4q, ._, ._ }, | 109268 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp4q0, ._, ._ }, |
| 105993 | .{ ._, ._, .mov, .memiad(.dst0q, .tmp0, .add_unaligned_size, 8), .tmp5q, ._, ._ }, | 109269 | .{ ._, ._, .mov, .memid(.dst0q, .tmp0, 8), .tmp4q1, ._, ._ }, |
| 105994 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 109270 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 105995 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 109271 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 105996 | } }, | 109272 | } }, |
| 105997 | }, .{ | 109273 | }, .{ |
| 105998 | .required_features = .{ .@"64bit", .sse2, null, null }, | 109274 | .required_cc_abi = .sysv64, |
| | 109275 | .required_features = .{ .sse2, null, null, null }, |
| 105999 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 109276 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 106000 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, | 109277 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, |
| 106001 | .patterns = &.{ | 109278 | .patterns = &.{ |
| ... | @@ -106003,12 +109280,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106003,12 +109280,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106003 | }, | 109280 | }, |
| 106004 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 109281 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 106005 | .extra_temps = .{ | 109282 | .extra_temps = .{ |
| 106006 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 109283 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 106007 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 109284 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106008 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 109285 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 106009 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfti" } }, | 109286 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfti" } }, |
| 106010 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 109287 | .{ .type = .u128, .kind = .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106011 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, | 109288 | .unused, |
| 106012 | .unused, | 109289 | .unused, |
| 106013 | .unused, | 109290 | .unused, |
| 106014 | .unused, | 109291 | .unused, |
| ... | @@ -106018,17 +109295,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106018,17 +109295,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106018 | .dst_temps = .{ .mem, .unused }, | 109295 | .dst_temps = .{ .mem, .unused }, |
| 106019 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 109296 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 106020 | .each = .{ .once = &.{ | 109297 | .each = .{ .once = &.{ |
| 106021 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 109298 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 106022 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 109299 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 106023 | .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ }, | 109300 | .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ }, |
| 106024 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 109301 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 106025 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp4q, ._, ._ }, | 109302 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp4q0, ._, ._ }, |
| 106026 | .{ ._, ._, .mov, .memiad(.dst0q, .tmp0, .add_unaligned_size, 8), .tmp5q, ._, ._ }, | 109303 | .{ ._, ._, .mov, .memid(.dst0q, .tmp0, 8), .tmp4q1, ._, ._ }, |
| 106027 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 109304 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 106028 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 109305 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 106029 | } }, | 109306 | } }, |
| 106030 | }, .{ | 109307 | }, .{ |
| 106031 | .required_features = .{ .@"64bit", .sse, null, null }, | 109308 | .required_cc_abi = .sysv64, |
| | 109309 | .required_features = .{ .sse, null, null, null }, |
| 106032 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 109310 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 106033 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, | 109311 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, |
| 106034 | .patterns = &.{ | 109312 | .patterns = &.{ |
| ... | @@ -106036,12 +109314,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106036,12 +109314,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106036 | }, | 109314 | }, |
| 106037 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 109315 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 106038 | .extra_temps = .{ | 109316 | .extra_temps = .{ |
| 106039 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 109317 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 106040 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 109318 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106041 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 109319 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 106042 | .{ .type = .usize, .kind = .{ .extern_func = "__fixxfti" } }, | 109320 | .{ .type = .usize, .kind = .{ .extern_func = "__fixxfti" } }, |
| 106043 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 109321 | .{ .type = .i128, .kind = .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106044 | .{ .type = .i64, .kind = .{ .reg = .rdx } }, | 109322 | .unused, |
| 106045 | .unused, | 109323 | .unused, |
| 106046 | .unused, | 109324 | .unused, |
| 106047 | .unused, | 109325 | .unused, |
| ... | @@ -106051,17 +109329,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106051,17 +109329,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106051 | .dst_temps = .{ .mem, .unused }, | 109329 | .dst_temps = .{ .mem, .unused }, |
| 106052 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 109330 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 106053 | .each = .{ .once = &.{ | 109331 | .each = .{ .once = &.{ |
| 106054 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 109332 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 106055 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 109333 | .{ .@"0:", ._ps, .mova, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 106056 | .{ ._, ._ps, .mova, .tmp2x, .tmp1x, ._, ._ }, | 109334 | .{ ._, ._ps, .mova, .tmp2x, .tmp1x, ._, ._ }, |
| 106057 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 109335 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 106058 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp4q, ._, ._ }, | 109336 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp4q0, ._, ._ }, |
| 106059 | .{ ._, ._, .mov, .memiad(.dst0q, .tmp0, .add_unaligned_size, 8), .tmp5q, ._, ._ }, | 109337 | .{ ._, ._, .mov, .memid(.dst0q, .tmp0, 8), .tmp4q1, ._, ._ }, |
| 106060 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 109338 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 106061 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 109339 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 106062 | } }, | 109340 | } }, |
| 106063 | }, .{ | 109341 | }, .{ |
| 106064 | .required_features = .{ .@"64bit", .sse, null, null }, | 109342 | .required_cc_abi = .sysv64, |
| | 109343 | .required_features = .{ .sse, null, null, null }, |
| 106065 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 109344 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 106066 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, | 109345 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, |
| 106067 | .patterns = &.{ | 109346 | .patterns = &.{ |
| ... | @@ -106069,12 +109348,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106069,12 +109348,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106069 | }, | 109348 | }, |
| 106070 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 109349 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 106071 | .extra_temps = .{ | 109350 | .extra_temps = .{ |
| 106072 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 109351 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 106073 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 109352 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106074 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 109353 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 106075 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfti" } }, | 109354 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfti" } }, |
| 106076 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 109355 | .{ .type = .u128, .kind = .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106077 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, | 109356 | .unused, |
| 106078 | .unused, | 109357 | .unused, |
| 106079 | .unused, | 109358 | .unused, |
| 106080 | .unused, | 109359 | .unused, |
| ... | @@ -106084,17 +109363,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106084,17 +109363,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106084 | .dst_temps = .{ .mem, .unused }, | 109363 | .dst_temps = .{ .mem, .unused }, |
| 106085 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 109364 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 106086 | .each = .{ .once = &.{ | 109365 | .each = .{ .once = &.{ |
| 106087 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 109366 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 106088 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 109367 | .{ .@"0:", ._ps, .mova, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 106089 | .{ ._, ._ps, .mova, .tmp2x, .tmp1x, ._, ._ }, | 109368 | .{ ._, ._ps, .mova, .tmp2x, .tmp1x, ._, ._ }, |
| 106090 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 109369 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 106091 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp4q, ._, ._ }, | 109370 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp4q0, ._, ._ }, |
| 106092 | .{ ._, ._, .mov, .memiad(.dst0q, .tmp0, .add_unaligned_size, 8), .tmp5q, ._, ._ }, | 109371 | .{ ._, ._, .mov, .memid(.dst0q, .tmp0, 8), .tmp4q1, ._, ._ }, |
| 106093 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 109372 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 106094 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 109373 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 106095 | } }, | 109374 | } }, |
| 106096 | }, .{ | 109375 | }, .{ |
| 106097 | .required_features = .{ .@"64bit", .avx, null, null }, | 109376 | .required_cc_abi = .sysv64, |
| | 109377 | .required_features = .{ .avx, null, null, null }, |
| 106098 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, | 109378 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 106099 | .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any }, | 109379 | .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any }, |
| 106100 | .patterns = &.{ | 109380 | .patterns = &.{ |
| ... | @@ -106102,9 +109382,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106102,9 +109382,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106102 | }, | 109382 | }, |
| 106103 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 109383 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 106104 | .extra_temps = .{ | 109384 | .extra_temps = .{ |
| 106105 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 109385 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106106 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 109386 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 106107 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 109387 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 106108 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 109388 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 106109 | .{ .type = .usize, .kind = .{ .extern_func = "__fixxfei" } }, | 109389 | .{ .type = .usize, .kind = .{ .extern_func = "__fixxfei" } }, |
| 106110 | .unused, | 109390 | .unused, |
| ... | @@ -106124,7 +109404,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106124,7 +109404,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106124 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 109404 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 106125 | } }, | 109405 | } }, |
| 106126 | }, .{ | 109406 | }, .{ |
| 106127 | .required_features = .{ .@"64bit", .avx, null, null }, | 109407 | .required_cc_abi = .sysv64, |
| | 109408 | .required_features = .{ .avx, null, null, null }, |
| 106128 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, | 109409 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 106129 | .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any }, | 109410 | .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any }, |
| 106130 | .patterns = &.{ | 109411 | .patterns = &.{ |
| ... | @@ -106132,9 +109413,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106132,9 +109413,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106132 | }, | 109413 | }, |
| 106133 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 109414 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 106134 | .extra_temps = .{ | 109415 | .extra_temps = .{ |
| 106135 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 109416 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106136 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 109417 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 106137 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 109418 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 106138 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 109419 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 106139 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfei" } }, | 109420 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfei" } }, |
| 106140 | .unused, | 109421 | .unused, |
| ... | @@ -106154,7 +109435,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106154,7 +109435,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106154 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 109435 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 106155 | } }, | 109436 | } }, |
| 106156 | }, .{ | 109437 | }, .{ |
| 106157 | .required_features = .{ .@"64bit", .sse2, null, null }, | 109438 | .required_cc_abi = .sysv64, |
| | 109439 | .required_features = .{ .sse2, null, null, null }, |
| 106158 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, | 109440 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 106159 | .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any }, | 109441 | .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any }, |
| 106160 | .patterns = &.{ | 109442 | .patterns = &.{ |
| ... | @@ -106162,9 +109444,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106162,9 +109444,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106162 | }, | 109444 | }, |
| 106163 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 109445 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 106164 | .extra_temps = .{ | 109446 | .extra_temps = .{ |
| 106165 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 109447 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106166 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 109448 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 106167 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 109449 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 106168 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 109450 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 106169 | .{ .type = .usize, .kind = .{ .extern_func = "__fixxfei" } }, | 109451 | .{ .type = .usize, .kind = .{ .extern_func = "__fixxfei" } }, |
| 106170 | .unused, | 109452 | .unused, |
| ... | @@ -106184,7 +109466,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106184,7 +109466,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106184 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 109466 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 106185 | } }, | 109467 | } }, |
| 106186 | }, .{ | 109468 | }, .{ |
| 106187 | .required_features = .{ .@"64bit", .sse2, null, null }, | 109469 | .required_cc_abi = .sysv64, |
| | 109470 | .required_features = .{ .sse2, null, null, null }, |
| 106188 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, | 109471 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 106189 | .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any }, | 109472 | .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any }, |
| 106190 | .patterns = &.{ | 109473 | .patterns = &.{ |
| ... | @@ -106192,9 +109475,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106192,9 +109475,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106192 | }, | 109475 | }, |
| 106193 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 109476 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 106194 | .extra_temps = .{ | 109477 | .extra_temps = .{ |
| 106195 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 109478 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106196 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 109479 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 106197 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 109480 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 106198 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 109481 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 106199 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfei" } }, | 109482 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfei" } }, |
| 106200 | .unused, | 109483 | .unused, |
| ... | @@ -106214,7 +109497,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106214,7 +109497,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106214 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 109497 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 106215 | } }, | 109498 | } }, |
| 106216 | }, .{ | 109499 | }, .{ |
| 106217 | .required_features = .{ .@"64bit", .sse, null, null }, | 109500 | .required_cc_abi = .sysv64, |
| | 109501 | .required_features = .{ .sse, null, null, null }, |
| 106218 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, | 109502 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 106219 | .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any }, | 109503 | .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any }, |
| 106220 | .patterns = &.{ | 109504 | .patterns = &.{ |
| ... | @@ -106222,9 +109506,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106222,9 +109506,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106222 | }, | 109506 | }, |
| 106223 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 109507 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 106224 | .extra_temps = .{ | 109508 | .extra_temps = .{ |
| 106225 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 109509 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106226 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 109510 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 106227 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 109511 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 106228 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 109512 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 106229 | .{ .type = .usize, .kind = .{ .extern_func = "__fixxfei" } }, | 109513 | .{ .type = .usize, .kind = .{ .extern_func = "__fixxfei" } }, |
| 106230 | .unused, | 109514 | .unused, |
| ... | @@ -106244,7 +109528,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106244,7 +109528,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106244 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 109528 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 106245 | } }, | 109529 | } }, |
| 106246 | }, .{ | 109530 | }, .{ |
| 106247 | .required_features = .{ .@"64bit", .sse, null, null }, | 109531 | .required_cc_abi = .sysv64, |
| | 109532 | .required_features = .{ .sse, null, null, null }, |
| 106248 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, | 109533 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 106249 | .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any }, | 109534 | .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any }, |
| 106250 | .patterns = &.{ | 109535 | .patterns = &.{ |
| ... | @@ -106252,9 +109537,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106252,9 +109537,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106252 | }, | 109537 | }, |
| 106253 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 109538 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 106254 | .extra_temps = .{ | 109539 | .extra_temps = .{ |
| 106255 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 109540 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106256 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 109541 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 106257 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 109542 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 106258 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 109543 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 106259 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfei" } }, | 109544 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfei" } }, |
| 106260 | .unused, | 109545 | .unused, |
| ... | @@ -106274,7 +109559,66 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106274,7 +109559,66 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106274 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 109559 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 106275 | } }, | 109560 | } }, |
| 106276 | }, .{ | 109561 | }, .{ |
| 106277 | .required_features = .{ .@"64bit", .avx, null, null }, | 109562 | .required_cc_abi = .win64, |
| | 109563 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| | 109564 | .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any }, |
| | 109565 | .patterns = &.{ |
| | 109566 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 109567 | }, |
| | 109568 | .call_frame = .{ .alignment = .@"16" }, |
| | 109569 | .extra_temps = .{ |
| | 109570 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 109571 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 109572 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| | 109573 | .{ .type = .usize, .kind = .{ .extern_func = "__fixxfei" } }, |
| | 109574 | .unused, |
| | 109575 | .unused, |
| | 109576 | .unused, |
| | 109577 | .unused, |
| | 109578 | .unused, |
| | 109579 | .unused, |
| | 109580 | .unused, |
| | 109581 | }, |
| | 109582 | .dst_temps = .{ .mem, .unused }, |
| | 109583 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 109584 | .each = .{ .once = &.{ |
| | 109585 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| | 109586 | .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| | 109587 | .{ ._, ._, .lea, .tmp2p, .mem(.src0), ._, ._ }, |
| | 109588 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 109589 | } }, |
| | 109590 | }, .{ |
| | 109591 | .required_cc_abi = .win64, |
| | 109592 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| | 109593 | .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any }, |
| | 109594 | .patterns = &.{ |
| | 109595 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 109596 | }, |
| | 109597 | .call_frame = .{ .alignment = .@"16" }, |
| | 109598 | .extra_temps = .{ |
| | 109599 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 109600 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 109601 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| | 109602 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfei" } }, |
| | 109603 | .unused, |
| | 109604 | .unused, |
| | 109605 | .unused, |
| | 109606 | .unused, |
| | 109607 | .unused, |
| | 109608 | .unused, |
| | 109609 | .unused, |
| | 109610 | }, |
| | 109611 | .dst_temps = .{ .mem, .unused }, |
| | 109612 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 109613 | .each = .{ .once = &.{ |
| | 109614 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| | 109615 | .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| | 109616 | .{ ._, ._, .lea, .tmp2p, .mem(.src0), ._, ._ }, |
| | 109617 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 109618 | } }, |
| | 109619 | }, .{ |
| | 109620 | .required_cc_abi = .sysv64, |
| | 109621 | .required_features = .{ .avx, null, null, null }, |
| 106278 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 109622 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 106279 | .dst_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any }, | 109623 | .dst_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any }, |
| 106280 | .patterns = &.{ | 109624 | .patterns = &.{ |
| ... | @@ -106282,11 +109626,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106282,11 +109626,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106282 | }, | 109626 | }, |
| 106283 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 109627 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 106284 | .extra_temps = .{ | 109628 | .extra_temps = .{ |
| 106285 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 109629 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 106286 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 109630 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 106287 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 109631 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106288 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 109632 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 106289 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 109633 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 106290 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 109634 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 106291 | .{ .type = .usize, .kind = .{ .extern_func = "__fixxfei" } }, | 109635 | .{ .type = .usize, .kind = .{ .extern_func = "__fixxfei" } }, |
| 106292 | .unused, | 109636 | .unused, |
| ... | @@ -106297,19 +109641,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106297,19 +109641,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106297 | .dst_temps = .{ .mem, .unused }, | 109641 | .dst_temps = .{ .mem, .unused }, |
| 106298 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 109642 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 106299 | .each = .{ .once = &.{ | 109643 | .each = .{ .once = &.{ |
| 106300 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 109644 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 106301 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 109645 | .{ ._, ._, .lea, .tmp1p, .mema(.dst0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 106302 | .{ .@"0:", .v_dqa, .mov, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 109646 | .{ .@"0:", .v_dqa, .mov, .tmp4x, .memi(.src0x, .tmp0), ._, ._ }, |
| 106303 | .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ }, | 109647 | .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| 106304 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, | 109648 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| 106305 | .{ ._, .v_dqa, .mov, .tmp5x, .tmp4x, ._, ._ }, | 109649 | .{ ._, .v_dqa, .mov, .tmp5x, .tmp4x, ._, ._ }, |
| 106306 | .{ ._, ._, .call, .tmp6d, ._, ._, ._ }, | 109650 | .{ ._, ._, .call, .tmp6d, ._, ._, ._ }, |
| 106307 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ }, | 109651 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .sub_dst0_elem_size), ._, ._ }, |
| 106308 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 109652 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 106309 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 109653 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 106310 | } }, | 109654 | } }, |
| 106311 | }, .{ | 109655 | }, .{ |
| 106312 | .required_features = .{ .@"64bit", .avx, null, null }, | 109656 | .required_cc_abi = .sysv64, |
| | 109657 | .required_features = .{ .avx, null, null, null }, |
| 106313 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 109658 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 106314 | .dst_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any }, | 109659 | .dst_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any }, |
| 106315 | .patterns = &.{ | 109660 | .patterns = &.{ |
| ... | @@ -106317,11 +109662,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106317,11 +109662,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106317 | }, | 109662 | }, |
| 106318 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 109663 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 106319 | .extra_temps = .{ | 109664 | .extra_temps = .{ |
| 106320 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 109665 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 106321 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 109666 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 106322 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 109667 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106323 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 109668 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 106324 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 109669 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 106325 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 109670 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 106326 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfei" } }, | 109671 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfei" } }, |
| 106327 | .unused, | 109672 | .unused, |
| ... | @@ -106332,19 +109677,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106332,19 +109677,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106332 | .dst_temps = .{ .mem, .unused }, | 109677 | .dst_temps = .{ .mem, .unused }, |
| 106333 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 109678 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 106334 | .each = .{ .once = &.{ | 109679 | .each = .{ .once = &.{ |
| 106335 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 109680 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 106336 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 109681 | .{ ._, ._, .lea, .tmp1p, .mema(.dst0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 106337 | .{ .@"0:", .v_dqa, .mov, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 109682 | .{ .@"0:", .v_dqa, .mov, .tmp4x, .memi(.src0x, .tmp0), ._, ._ }, |
| 106338 | .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ }, | 109683 | .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| 106339 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, | 109684 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| 106340 | .{ ._, .v_dqa, .mov, .tmp5x, .tmp4x, ._, ._ }, | 109685 | .{ ._, .v_dqa, .mov, .tmp5x, .tmp4x, ._, ._ }, |
| 106341 | .{ ._, ._, .call, .tmp6d, ._, ._, ._ }, | 109686 | .{ ._, ._, .call, .tmp6d, ._, ._, ._ }, |
| 106342 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ }, | 109687 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .sub_dst0_elem_size), ._, ._ }, |
| 106343 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 109688 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 106344 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 109689 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 106345 | } }, | 109690 | } }, |
| 106346 | }, .{ | 109691 | }, .{ |
| 106347 | .required_features = .{ .@"64bit", .sse2, null, null }, | 109692 | .required_cc_abi = .sysv64, |
| | 109693 | .required_features = .{ .sse2, null, null, null }, |
| 106348 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 109694 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 106349 | .dst_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any }, | 109695 | .dst_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any }, |
| 106350 | .patterns = &.{ | 109696 | .patterns = &.{ |
| ... | @@ -106352,11 +109698,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106352,11 +109698,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106352 | }, | 109698 | }, |
| 106353 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 109699 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 106354 | .extra_temps = .{ | 109700 | .extra_temps = .{ |
| 106355 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 109701 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 106356 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 109702 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 106357 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 109703 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106358 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 109704 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 106359 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 109705 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 106360 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 109706 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 106361 | .{ .type = .usize, .kind = .{ .extern_func = "__fixxfei" } }, | 109707 | .{ .type = .usize, .kind = .{ .extern_func = "__fixxfei" } }, |
| 106362 | .unused, | 109708 | .unused, |
| ... | @@ -106367,19 +109713,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106367,19 +109713,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106367 | .dst_temps = .{ .mem, .unused }, | 109713 | .dst_temps = .{ .mem, .unused }, |
| 106368 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 109714 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 106369 | .each = .{ .once = &.{ | 109715 | .each = .{ .once = &.{ |
| 106370 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 109716 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 106371 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 109717 | .{ ._, ._, .lea, .tmp1p, .mema(.dst0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 106372 | .{ .@"0:", ._dqa, .mov, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 109718 | .{ .@"0:", ._dqa, .mov, .tmp4x, .memi(.src0x, .tmp0), ._, ._ }, |
| 106373 | .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ }, | 109719 | .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| 106374 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, | 109720 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| 106375 | .{ ._, ._dqa, .mov, .tmp5x, .tmp4x, ._, ._ }, | 109721 | .{ ._, ._dqa, .mov, .tmp5x, .tmp4x, ._, ._ }, |
| 106376 | .{ ._, ._, .call, .tmp6d, ._, ._, ._ }, | 109722 | .{ ._, ._, .call, .tmp6d, ._, ._, ._ }, |
| 106377 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ }, | 109723 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .sub_dst0_elem_size), ._, ._ }, |
| 106378 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 109724 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 106379 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 109725 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 106380 | } }, | 109726 | } }, |
| 106381 | }, .{ | 109727 | }, .{ |
| 106382 | .required_features = .{ .@"64bit", .sse2, null, null }, | 109728 | .required_cc_abi = .sysv64, |
| | 109729 | .required_features = .{ .sse2, null, null, null }, |
| 106383 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 109730 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 106384 | .dst_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any }, | 109731 | .dst_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any }, |
| 106385 | .patterns = &.{ | 109732 | .patterns = &.{ |
| ... | @@ -106387,11 +109734,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106387,11 +109734,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106387 | }, | 109734 | }, |
| 106388 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 109735 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 106389 | .extra_temps = .{ | 109736 | .extra_temps = .{ |
| 106390 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 109737 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 106391 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 109738 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 106392 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 109739 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106393 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 109740 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 106394 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 109741 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 106395 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 109742 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 106396 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfei" } }, | 109743 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfei" } }, |
| 106397 | .unused, | 109744 | .unused, |
| ... | @@ -106402,19 +109749,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106402,19 +109749,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106402 | .dst_temps = .{ .mem, .unused }, | 109749 | .dst_temps = .{ .mem, .unused }, |
| 106403 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 109750 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 106404 | .each = .{ .once = &.{ | 109751 | .each = .{ .once = &.{ |
| 106405 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 109752 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 106406 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 109753 | .{ ._, ._, .lea, .tmp1p, .mema(.dst0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 106407 | .{ .@"0:", ._dqa, .mov, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 109754 | .{ .@"0:", ._dqa, .mov, .tmp4x, .memi(.src0x, .tmp0), ._, ._ }, |
| 106408 | .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ }, | 109755 | .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| 106409 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, | 109756 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| 106410 | .{ ._, ._dqa, .mov, .tmp5x, .tmp4x, ._, ._ }, | 109757 | .{ ._, ._dqa, .mov, .tmp5x, .tmp4x, ._, ._ }, |
| 106411 | .{ ._, ._, .call, .tmp6d, ._, ._, ._ }, | 109758 | .{ ._, ._, .call, .tmp6d, ._, ._, ._ }, |
| 106412 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ }, | 109759 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .sub_dst0_elem_size), ._, ._ }, |
| 106413 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 109760 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 106414 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 109761 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 106415 | } }, | 109762 | } }, |
| 106416 | }, .{ | 109763 | }, .{ |
| 106417 | .required_features = .{ .@"64bit", .sse, null, null }, | 109764 | .required_cc_abi = .sysv64, |
| | 109765 | .required_features = .{ .sse, null, null, null }, |
| 106418 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 109766 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 106419 | .dst_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any }, | 109767 | .dst_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any }, |
| 106420 | .patterns = &.{ | 109768 | .patterns = &.{ |
| ... | @@ -106422,11 +109770,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106422,11 +109770,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106422 | }, | 109770 | }, |
| 106423 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 109771 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 106424 | .extra_temps = .{ | 109772 | .extra_temps = .{ |
| 106425 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 109773 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 106426 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 109774 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 106427 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 109775 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106428 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 109776 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 106429 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 109777 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 106430 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 109778 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 106431 | .{ .type = .usize, .kind = .{ .extern_func = "__fixxfei" } }, | 109779 | .{ .type = .usize, .kind = .{ .extern_func = "__fixxfei" } }, |
| 106432 | .unused, | 109780 | .unused, |
| ... | @@ -106437,19 +109785,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106437,19 +109785,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106437 | .dst_temps = .{ .mem, .unused }, | 109785 | .dst_temps = .{ .mem, .unused }, |
| 106438 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 109786 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 106439 | .each = .{ .once = &.{ | 109787 | .each = .{ .once = &.{ |
| 106440 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 109788 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 106441 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 109789 | .{ ._, ._, .lea, .tmp1p, .mema(.dst0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 106442 | .{ .@"0:", ._ps, .mova, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 109790 | .{ .@"0:", ._ps, .mova, .tmp4x, .memi(.src0x, .tmp0), ._, ._ }, |
| 106443 | .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ }, | 109791 | .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| 106444 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, | 109792 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| 106445 | .{ ._, ._ps, .mova, .tmp5x, .tmp4x, ._, ._ }, | 109793 | .{ ._, ._ps, .mova, .tmp5x, .tmp4x, ._, ._ }, |
| 106446 | .{ ._, ._, .call, .tmp6d, ._, ._, ._ }, | 109794 | .{ ._, ._, .call, .tmp6d, ._, ._, ._ }, |
| 106447 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ }, | 109795 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .sub_dst0_elem_size), ._, ._ }, |
| 106448 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 109796 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 106449 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 109797 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 106450 | } }, | 109798 | } }, |
| 106451 | }, .{ | 109799 | }, .{ |
| 106452 | .required_features = .{ .@"64bit", .sse, null, null }, | 109800 | .required_cc_abi = .sysv64, |
| | 109801 | .required_features = .{ .sse, null, null, null }, |
| 106453 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 109802 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 106454 | .dst_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any }, | 109803 | .dst_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any }, |
| 106455 | .patterns = &.{ | 109804 | .patterns = &.{ |
| ... | @@ -106457,11 +109806,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106457,11 +109806,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106457 | }, | 109806 | }, |
| 106458 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | 109807 | .call_frame = .{ .size = 16, .alignment = .@"16" }, |
| 106459 | .extra_temps = .{ | 109808 | .extra_temps = .{ |
| 106460 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 109809 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 106461 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 109810 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 106462 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 109811 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106463 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 109812 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 106464 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 109813 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 106465 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 109814 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 106466 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfei" } }, | 109815 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfei" } }, |
| 106467 | .unused, | 109816 | .unused, |
| ... | @@ -106472,16 +109821,84 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106472,16 +109821,84 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106472 | .dst_temps = .{ .mem, .unused }, | 109821 | .dst_temps = .{ .mem, .unused }, |
| 106473 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 109822 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 106474 | .each = .{ .once = &.{ | 109823 | .each = .{ .once = &.{ |
| 106475 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 109824 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 106476 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 109825 | .{ ._, ._, .lea, .tmp1p, .mema(.dst0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 106477 | .{ .@"0:", ._ps, .mova, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 109826 | .{ .@"0:", ._ps, .mova, .tmp4x, .memi(.src0x, .tmp0), ._, ._ }, |
| 106478 | .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ }, | 109827 | .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| 106479 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, | 109828 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| 106480 | .{ ._, ._ps, .mova, .tmp5x, .tmp4x, ._, ._ }, | 109829 | .{ ._, ._ps, .mova, .tmp5x, .tmp4x, ._, ._ }, |
| 106481 | .{ ._, ._, .call, .tmp6d, ._, ._, ._ }, | 109830 | .{ ._, ._, .call, .tmp6d, ._, ._, ._ }, |
| 106482 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ }, | 109831 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .sub_dst0_elem_size), ._, ._ }, |
| 106483 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 109832 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 106484 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 109833 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 109834 | } }, |
| | 109835 | }, .{ |
| | 109836 | .required_cc_abi = .win64, |
| | 109837 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 109838 | .dst_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any }, |
| | 109839 | .patterns = &.{ |
| | 109840 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 109841 | }, |
| | 109842 | .call_frame = .{ .alignment = .@"16" }, |
| | 109843 | .extra_temps = .{ |
| | 109844 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 109845 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 109846 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 109847 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 109848 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| | 109849 | .{ .type = .usize, .kind = .{ .extern_func = "__fixxfei" } }, |
| | 109850 | .unused, |
| | 109851 | .unused, |
| | 109852 | .unused, |
| | 109853 | .unused, |
| | 109854 | .unused, |
| | 109855 | }, |
| | 109856 | .dst_temps = .{ .mem, .unused }, |
| | 109857 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 109858 | .each = .{ .once = &.{ |
| | 109859 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 109860 | .{ ._, ._, .lea, .tmp1p, .mema(.dst0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| | 109861 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| | 109862 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| | 109863 | .{ ._, ._, .lea, .tmp4p, .memi(.src0, .tmp0), ._, ._ }, |
| | 109864 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| | 109865 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .sub_dst0_elem_size), ._, ._ }, |
| | 109866 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 109867 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 109868 | } }, |
| | 109869 | }, .{ |
| | 109870 | .required_cc_abi = .win64, |
| | 109871 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 109872 | .dst_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any }, |
| | 109873 | .patterns = &.{ |
| | 109874 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 109875 | }, |
| | 109876 | .call_frame = .{ .alignment = .@"16" }, |
| | 109877 | .extra_temps = .{ |
| | 109878 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 109879 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 109880 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 109881 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 109882 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| | 109883 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunsxfei" } }, |
| | 109884 | .unused, |
| | 109885 | .unused, |
| | 109886 | .unused, |
| | 109887 | .unused, |
| | 109888 | .unused, |
| | 109889 | }, |
| | 109890 | .dst_temps = .{ .mem, .unused }, |
| | 109891 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 109892 | .each = .{ .once = &.{ |
| | 109893 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 109894 | .{ ._, ._, .lea, .tmp1p, .mema(.dst0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| | 109895 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| | 109896 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| | 109897 | .{ ._, ._, .lea, .tmp4p, .memi(.src0, .tmp0), ._, ._ }, |
| | 109898 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| | 109899 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .sub_dst0_elem_size), ._, ._ }, |
| | 109900 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 109901 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 106485 | } }, | 109902 | } }, |
| 106486 | }, .{ | 109903 | }, .{ |
| 106487 | .required_features = .{ .avx, .slow_incdec, null, null }, | 109904 | .required_features = .{ .avx, .slow_incdec, null, null }, |
| ... | @@ -106493,10 +109910,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106493,10 +109910,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106493 | .call_frame = .{ .alignment = .@"16" }, | 109910 | .call_frame = .{ .alignment = .@"16" }, |
| 106494 | .extra_temps = .{ | 109911 | .extra_temps = .{ |
| 106495 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 109912 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 106496 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 109913 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 106497 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 109914 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106498 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfsi" } }, | 109915 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfsi" } }, |
| 106499 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 109916 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106500 | .unused, | 109917 | .unused, |
| 106501 | .unused, | 109918 | .unused, |
| 106502 | .unused, | 109919 | .unused, |
| ... | @@ -106507,14 +109924,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106507,14 +109924,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106507 | .dst_temps = .{ .mem, .unused }, | 109924 | .dst_temps = .{ .mem, .unused }, |
| 106508 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 109925 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 106509 | .each = .{ .once = &.{ | 109926 | .each = .{ .once = &.{ |
| 106510 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 109927 | .{ ._, ._, .lea, .tmp0p, .memad(.src0, .add_unaligned_size, -16), ._, ._ }, |
| 106511 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 109928 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 106512 | .{ .@"0:", .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, | 109929 | .{ .@"0:", .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| 106513 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 109930 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 106514 | .{ ._, ._, .mov, .memia(.dst0b, .tmp1, .add_unaligned_size), .tmp4b, ._, ._ }, | 109931 | .{ ._, ._, .mov, .memi(.dst0b, .tmp1), .tmp4b, ._, ._ }, |
| 106515 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 16), ._, ._ }, | 109932 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, -16), ._, ._ }, |
| 106516 | .{ ._, ._, .add, .tmp1p, .si(1), ._, ._ }, | 109933 | .{ ._, ._, .sub, .tmp1d, .si(1), ._, ._ }, |
| 106517 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 109934 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 106518 | } }, | 109935 | } }, |
| 106519 | }, .{ | 109936 | }, .{ |
| 106520 | .required_features = .{ .avx, null, null, null }, | 109937 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -106526,10 +109943,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106526,10 +109943,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106526 | .call_frame = .{ .alignment = .@"16" }, | 109943 | .call_frame = .{ .alignment = .@"16" }, |
| 106527 | .extra_temps = .{ | 109944 | .extra_temps = .{ |
| 106528 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 109945 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 106529 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 109946 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 106530 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 109947 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106531 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfsi" } }, | 109948 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfsi" } }, |
| 106532 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 109949 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106533 | .unused, | 109950 | .unused, |
| 106534 | .unused, | 109951 | .unused, |
| 106535 | .unused, | 109952 | .unused, |
| ... | @@ -106540,14 +109957,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106540,14 +109957,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106540 | .dst_temps = .{ .mem, .unused }, | 109957 | .dst_temps = .{ .mem, .unused }, |
| 106541 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 109958 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 106542 | .each = .{ .once = &.{ | 109959 | .each = .{ .once = &.{ |
| 106543 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 109960 | .{ ._, ._, .lea, .tmp0p, .memad(.src0, .add_unaligned_size, -16), ._, ._ }, |
| 106544 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 109961 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 106545 | .{ .@"0:", .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, | 109962 | .{ .@"0:", .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| 106546 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 109963 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 106547 | .{ ._, ._, .mov, .memia(.dst0b, .tmp1, .add_unaligned_size), .tmp4b, ._, ._ }, | 109964 | .{ ._, ._, .mov, .memi(.dst0b, .tmp1), .tmp4b, ._, ._ }, |
| 106548 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 16), ._, ._ }, | 109965 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, -16), ._, ._ }, |
| 106549 | .{ ._, ._c, .in, .tmp1p, ._, ._, ._ }, | 109966 | .{ ._, ._c, .de, .tmp1d, ._, ._, ._ }, |
| 106550 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 109967 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 106551 | } }, | 109968 | } }, |
| 106552 | }, .{ | 109969 | }, .{ |
| 106553 | .required_features = .{ .sse2, .slow_incdec, null, null }, | 109970 | .required_features = .{ .sse2, .slow_incdec, null, null }, |
| ... | @@ -106559,10 +109976,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106559,10 +109976,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106559 | .call_frame = .{ .alignment = .@"16" }, | 109976 | .call_frame = .{ .alignment = .@"16" }, |
| 106560 | .extra_temps = .{ | 109977 | .extra_temps = .{ |
| 106561 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 109978 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 106562 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 109979 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 106563 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 109980 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106564 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfsi" } }, | 109981 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfsi" } }, |
| 106565 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 109982 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106566 | .unused, | 109983 | .unused, |
| 106567 | .unused, | 109984 | .unused, |
| 106568 | .unused, | 109985 | .unused, |
| ... | @@ -106573,14 +109990,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106573,14 +109990,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106573 | .dst_temps = .{ .mem, .unused }, | 109990 | .dst_temps = .{ .mem, .unused }, |
| 106574 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 109991 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 106575 | .each = .{ .once = &.{ | 109992 | .each = .{ .once = &.{ |
| 106576 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 109993 | .{ ._, ._, .lea, .tmp0p, .memad(.src0, .add_unaligned_size, -16), ._, ._ }, |
| 106577 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 109994 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 106578 | .{ .@"0:", ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, | 109995 | .{ .@"0:", ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| 106579 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 109996 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 106580 | .{ ._, ._, .mov, .memia(.dst0b, .tmp1, .add_unaligned_size), .tmp4b, ._, ._ }, | 109997 | .{ ._, ._, .mov, .memi(.dst0b, .tmp1), .tmp4b, ._, ._ }, |
| 106581 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 16), ._, ._ }, | 109998 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, -16), ._, ._ }, |
| 106582 | .{ ._, ._, .add, .tmp1p, .si(1), ._, ._ }, | 109999 | .{ ._, ._, .sub, .tmp1d, .si(1), ._, ._ }, |
| 106583 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 110000 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 106584 | } }, | 110001 | } }, |
| 106585 | }, .{ | 110002 | }, .{ |
| 106586 | .required_features = .{ .sse2, null, null, null }, | 110003 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -106592,10 +110009,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106592,10 +110009,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106592 | .call_frame = .{ .alignment = .@"16" }, | 110009 | .call_frame = .{ .alignment = .@"16" }, |
| 106593 | .extra_temps = .{ | 110010 | .extra_temps = .{ |
| 106594 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 110011 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 106595 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 110012 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 106596 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 110013 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106597 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfsi" } }, | 110014 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfsi" } }, |
| 106598 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 110015 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106599 | .unused, | 110016 | .unused, |
| 106600 | .unused, | 110017 | .unused, |
| 106601 | .unused, | 110018 | .unused, |
| ... | @@ -106606,14 +110023,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106606,14 +110023,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106606 | .dst_temps = .{ .mem, .unused }, | 110023 | .dst_temps = .{ .mem, .unused }, |
| 106607 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 110024 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 106608 | .each = .{ .once = &.{ | 110025 | .each = .{ .once = &.{ |
| 106609 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 110026 | .{ ._, ._, .lea, .tmp0p, .memad(.src0, .add_unaligned_size, -16), ._, ._ }, |
| 106610 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 110027 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 106611 | .{ .@"0:", ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, | 110028 | .{ .@"0:", ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| 106612 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 110029 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 106613 | .{ ._, ._, .mov, .memia(.dst0b, .tmp1, .add_unaligned_size), .tmp4b, ._, ._ }, | 110030 | .{ ._, ._, .mov, .memi(.dst0b, .tmp1), .tmp4b, ._, ._ }, |
| 106614 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 16), ._, ._ }, | 110031 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, -16), ._, ._ }, |
| 106615 | .{ ._, ._c, .in, .tmp1p, ._, ._, ._ }, | 110032 | .{ ._, ._c, .de, .tmp1d, ._, ._, ._ }, |
| 106616 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 110033 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 106617 | } }, | 110034 | } }, |
| 106618 | }, .{ | 110035 | }, .{ |
| 106619 | .required_features = .{ .sse, .slow_incdec, null, null }, | 110036 | .required_features = .{ .sse, .slow_incdec, null, null }, |
| ... | @@ -106625,10 +110042,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106625,10 +110042,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106625 | .call_frame = .{ .alignment = .@"16" }, | 110042 | .call_frame = .{ .alignment = .@"16" }, |
| 106626 | .extra_temps = .{ | 110043 | .extra_temps = .{ |
| 106627 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 110044 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 106628 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 110045 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 106629 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 110046 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106630 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfsi" } }, | 110047 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfsi" } }, |
| 106631 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 110048 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106632 | .unused, | 110049 | .unused, |
| 106633 | .unused, | 110050 | .unused, |
| 106634 | .unused, | 110051 | .unused, |
| ... | @@ -106639,14 +110056,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106639,14 +110056,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106639 | .dst_temps = .{ .mem, .unused }, | 110056 | .dst_temps = .{ .mem, .unused }, |
| 106640 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 110057 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 106641 | .each = .{ .once = &.{ | 110058 | .each = .{ .once = &.{ |
| 106642 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 110059 | .{ ._, ._, .lea, .tmp0p, .memad(.src0, .add_unaligned_size, -16), ._, ._ }, |
| 106643 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 110060 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 106644 | .{ .@"0:", ._ps, .mova, .tmp2x, .lea(.tmp0x), ._, ._ }, | 110061 | .{ .@"0:", ._ps, .mova, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| 106645 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 110062 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 106646 | .{ ._, ._, .mov, .memia(.dst0b, .tmp1, .add_unaligned_size), .tmp4b, ._, ._ }, | 110063 | .{ ._, ._, .mov, .memi(.dst0b, .tmp1), .tmp4b, ._, ._ }, |
| 106647 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 16), ._, ._ }, | 110064 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, -16), ._, ._ }, |
| 106648 | .{ ._, ._, .add, .tmp1p, .si(1), ._, ._ }, | 110065 | .{ ._, ._, .sub, .tmp1d, .si(1), ._, ._ }, |
| 106649 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 110066 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 106650 | } }, | 110067 | } }, |
| 106651 | }, .{ | 110068 | }, .{ |
| 106652 | .required_features = .{ .sse, null, null, null }, | 110069 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -106658,10 +110075,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106658,10 +110075,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106658 | .call_frame = .{ .alignment = .@"16" }, | 110075 | .call_frame = .{ .alignment = .@"16" }, |
| 106659 | .extra_temps = .{ | 110076 | .extra_temps = .{ |
| 106660 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 110077 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 106661 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 110078 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 106662 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 110079 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106663 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfsi" } }, | 110080 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfsi" } }, |
| 106664 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 110081 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106665 | .unused, | 110082 | .unused, |
| 106666 | .unused, | 110083 | .unused, |
| 106667 | .unused, | 110084 | .unused, |
| ... | @@ -106672,14 +110089,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106672,14 +110089,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106672 | .dst_temps = .{ .mem, .unused }, | 110089 | .dst_temps = .{ .mem, .unused }, |
| 106673 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 110090 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 106674 | .each = .{ .once = &.{ | 110091 | .each = .{ .once = &.{ |
| 106675 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 110092 | .{ ._, ._, .lea, .tmp0p, .memad(.src0, .add_unaligned_size, -16), ._, ._ }, |
| 106676 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 110093 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .dst0, .add_unaligned_size), ._, ._ }, |
| 106677 | .{ .@"0:", ._ps, .mova, .tmp2x, .lea(.tmp0x), ._, ._ }, | 110094 | .{ .@"0:", ._ps, .mova, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| 106678 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 110095 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 106679 | .{ ._, ._, .mov, .memia(.dst0b, .tmp1, .add_unaligned_size), .tmp4b, ._, ._ }, | 110096 | .{ ._, ._, .mov, .memi(.dst0b, .tmp1), .tmp4b, ._, ._ }, |
| 106680 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 16), ._, ._ }, | 110097 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, -16), ._, ._ }, |
| 106681 | .{ ._, ._c, .in, .tmp1p, ._, ._, ._ }, | 110098 | .{ ._, ._c, .de, .tmp1d, ._, ._, ._ }, |
| 106682 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 110099 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 106683 | } }, | 110100 | } }, |
| 106684 | }, .{ | 110101 | }, .{ |
| 106685 | .required_features = .{ .avx, null, null, null }, | 110102 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -106690,10 +110107,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106690,10 +110107,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106690 | }, | 110107 | }, |
| 106691 | .call_frame = .{ .alignment = .@"16" }, | 110108 | .call_frame = .{ .alignment = .@"16" }, |
| 106692 | .extra_temps = .{ | 110109 | .extra_temps = .{ |
| 106693 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 110110 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 106694 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 110111 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106695 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfsi" } }, | 110112 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfsi" } }, |
| 106696 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 110113 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106697 | .unused, | 110114 | .unused, |
| 106698 | .unused, | 110115 | .unused, |
| 106699 | .unused, | 110116 | .unused, |
| ... | @@ -106705,12 +110122,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106705,12 +110122,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106705 | .dst_temps = .{ .mem, .unused }, | 110122 | .dst_temps = .{ .mem, .unused }, |
| 106706 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 110123 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 106707 | .each = .{ .once = &.{ | 110124 | .each = .{ .once = &.{ |
| 106708 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 110125 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 106709 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memsia(.src0x, .@"8", .tmp0, .add_unaligned_size), ._, ._ }, | 110126 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memsi(.src0x, .@"8", .tmp0), ._, ._ }, |
| 106710 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 110127 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 106711 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3w, ._, ._ }, | 110128 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp3w, ._, ._ }, |
| 106712 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 110129 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 106713 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 110130 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 106714 | } }, | 110131 | } }, |
| 106715 | }, .{ | 110132 | }, .{ |
| 106716 | .required_features = .{ .sse2, null, null, null }, | 110133 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -106721,10 +110138,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106721,10 +110138,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106721 | }, | 110138 | }, |
| 106722 | .call_frame = .{ .alignment = .@"16" }, | 110139 | .call_frame = .{ .alignment = .@"16" }, |
| 106723 | .extra_temps = .{ | 110140 | .extra_temps = .{ |
| 106724 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 110141 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 106725 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 110142 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106726 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfsi" } }, | 110143 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfsi" } }, |
| 106727 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 110144 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106728 | .unused, | 110145 | .unused, |
| 106729 | .unused, | 110146 | .unused, |
| 106730 | .unused, | 110147 | .unused, |
| ... | @@ -106736,12 +110153,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106736,12 +110153,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106736 | .dst_temps = .{ .mem, .unused }, | 110153 | .dst_temps = .{ .mem, .unused }, |
| 106737 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 110154 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 106738 | .each = .{ .once = &.{ | 110155 | .each = .{ .once = &.{ |
| 106739 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 110156 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 106740 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memsia(.src0x, .@"8", .tmp0, .add_unaligned_size), ._, ._ }, | 110157 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memsi(.src0x, .@"8", .tmp0), ._, ._ }, |
| 106741 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 110158 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 106742 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3w, ._, ._ }, | 110159 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp3w, ._, ._ }, |
| 106743 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 110160 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 106744 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 110161 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 106745 | } }, | 110162 | } }, |
| 106746 | }, .{ | 110163 | }, .{ |
| 106747 | .required_features = .{ .sse, null, null, null }, | 110164 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -106752,10 +110169,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106752,10 +110169,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106752 | }, | 110169 | }, |
| 106753 | .call_frame = .{ .alignment = .@"16" }, | 110170 | .call_frame = .{ .alignment = .@"16" }, |
| 106754 | .extra_temps = .{ | 110171 | .extra_temps = .{ |
| 106755 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 110172 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 106756 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 110173 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106757 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfsi" } }, | 110174 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfsi" } }, |
| 106758 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 110175 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106759 | .unused, | 110176 | .unused, |
| 106760 | .unused, | 110177 | .unused, |
| 106761 | .unused, | 110178 | .unused, |
| ... | @@ -106767,19 +110184,19 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106767,19 +110184,19 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106767 | .dst_temps = .{ .mem, .unused }, | 110184 | .dst_temps = .{ .mem, .unused }, |
| 106768 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 110185 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 106769 | .each = .{ .once = &.{ | 110186 | .each = .{ .once = &.{ |
| 106770 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 110187 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 106771 | .{ .@"0:", ._ps, .mova, .tmp1x, .memsia(.src0x, .@"8", .tmp0, .add_unaligned_size), ._, ._ }, | 110188 | .{ .@"0:", ._ps, .mova, .tmp1x, .memsi(.src0x, .@"8", .tmp0), ._, ._ }, |
| 106772 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 110189 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 106773 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3w, ._, ._ }, | 110190 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp3w, ._, ._ }, |
| 106774 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 110191 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 106775 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 110192 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 106776 | } }, | 110193 | } }, |
| 106777 | }, .{ | 110194 | }, .{ |
| 106778 | .required_features = .{ .sse, null, null, null }, | 110195 | .required_features = .{ .sse, null, null, null }, |
| 106779 | .src_constraints = .{ .{ .float = .xword }, .any, .any }, | 110196 | .src_constraints = .{ .{ .float = .xword }, .any, .any }, |
| 106780 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, | 110197 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| 106781 | .patterns = &.{ | 110198 | .patterns = &.{ |
| 106782 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 110199 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 106783 | }, | 110200 | }, |
| 106784 | .call_frame = .{ .alignment = .@"16" }, | 110201 | .call_frame = .{ .alignment = .@"16" }, |
| 106785 | .extra_temps = .{ | 110202 | .extra_temps = .{ |
| ... | @@ -106795,7 +110212,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106795,7 +110212,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106795 | .unused, | 110212 | .unused, |
| 106796 | .unused, | 110213 | .unused, |
| 106797 | }, | 110214 | }, |
| 106798 | .dst_temps = .{ .{ .reg = .eax }, .unused }, | 110215 | .dst_temps = .{ .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 106799 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 110216 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 106800 | .each = .{ .once = &.{ | 110217 | .each = .{ .once = &.{ |
| 106801 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 110218 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| ... | @@ -106805,7 +110222,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106805,7 +110222,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106805 | .src_constraints = .{ .{ .float = .xword }, .any, .any }, | 110222 | .src_constraints = .{ .{ .float = .xword }, .any, .any }, |
| 106806 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, | 110223 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| 106807 | .patterns = &.{ | 110224 | .patterns = &.{ |
| 106808 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 110225 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 106809 | }, | 110226 | }, |
| 106810 | .call_frame = .{ .alignment = .@"16" }, | 110227 | .call_frame = .{ .alignment = .@"16" }, |
| 106811 | .extra_temps = .{ | 110228 | .extra_temps = .{ |
| ... | @@ -106821,7 +110238,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106821,7 +110238,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106821 | .unused, | 110238 | .unused, |
| 106822 | .unused, | 110239 | .unused, |
| 106823 | }, | 110240 | }, |
| 106824 | .dst_temps = .{ .{ .reg = .eax }, .unused }, | 110241 | .dst_temps = .{ .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 106825 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 110242 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 106826 | .each = .{ .once = &.{ | 110243 | .each = .{ .once = &.{ |
| 106827 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 110244 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| ... | @@ -106835,10 +110252,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106835,10 +110252,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106835 | }, | 110252 | }, |
| 106836 | .call_frame = .{ .alignment = .@"16" }, | 110253 | .call_frame = .{ .alignment = .@"16" }, |
| 106837 | .extra_temps = .{ | 110254 | .extra_temps = .{ |
| 106838 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 110255 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 106839 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 110256 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106840 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfsi" } }, | 110257 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfsi" } }, |
| 106841 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 110258 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106842 | .unused, | 110259 | .unused, |
| 106843 | .unused, | 110260 | .unused, |
| 106844 | .unused, | 110261 | .unused, |
| ... | @@ -106850,12 +110267,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106850,12 +110267,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106850 | .dst_temps = .{ .mem, .unused }, | 110267 | .dst_temps = .{ .mem, .unused }, |
| 106851 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 110268 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 106852 | .each = .{ .once = &.{ | 110269 | .each = .{ .once = &.{ |
| 106853 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 110270 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 106854 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memsia(.src0x, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 110271 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memsi(.src0x, .@"4", .tmp0), ._, ._ }, |
| 106855 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 110272 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 106856 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3d, ._, ._ }, | 110273 | .{ ._, ._, .mov, .memi(.dst0d, .tmp0), .tmp3d, ._, ._ }, |
| 106857 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 110274 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 106858 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 110275 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 106859 | } }, | 110276 | } }, |
| 106860 | }, .{ | 110277 | }, .{ |
| 106861 | .required_features = .{ .avx, null, null, null }, | 110278 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -106866,10 +110283,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106866,10 +110283,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106866 | }, | 110283 | }, |
| 106867 | .call_frame = .{ .alignment = .@"16" }, | 110284 | .call_frame = .{ .alignment = .@"16" }, |
| 106868 | .extra_temps = .{ | 110285 | .extra_temps = .{ |
| 106869 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 110286 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 106870 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 110287 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106871 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunstfsi" } }, | 110288 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunstfsi" } }, |
| 106872 | .{ .type = .u32, .kind = .{ .reg = .eax } }, | 110289 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106873 | .unused, | 110290 | .unused, |
| 106874 | .unused, | 110291 | .unused, |
| 106875 | .unused, | 110292 | .unused, |
| ... | @@ -106881,12 +110298,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106881,12 +110298,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106881 | .dst_temps = .{ .mem, .unused }, | 110298 | .dst_temps = .{ .mem, .unused }, |
| 106882 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 110299 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 106883 | .each = .{ .once = &.{ | 110300 | .each = .{ .once = &.{ |
| 106884 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 110301 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 106885 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memsia(.src0x, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 110302 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memsi(.src0x, .@"4", .tmp0), ._, ._ }, |
| 106886 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 110303 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 106887 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3d, ._, ._ }, | 110304 | .{ ._, ._, .mov, .memi(.dst0d, .tmp0), .tmp3d, ._, ._ }, |
| 106888 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 110305 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 106889 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 110306 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 106890 | } }, | 110307 | } }, |
| 106891 | }, .{ | 110308 | }, .{ |
| 106892 | .required_features = .{ .sse2, null, null, null }, | 110309 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -106897,10 +110314,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106897,10 +110314,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106897 | }, | 110314 | }, |
| 106898 | .call_frame = .{ .alignment = .@"16" }, | 110315 | .call_frame = .{ .alignment = .@"16" }, |
| 106899 | .extra_temps = .{ | 110316 | .extra_temps = .{ |
| 106900 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 110317 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 106901 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 110318 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106902 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfsi" } }, | 110319 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfsi" } }, |
| 106903 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 110320 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106904 | .unused, | 110321 | .unused, |
| 106905 | .unused, | 110322 | .unused, |
| 106906 | .unused, | 110323 | .unused, |
| ... | @@ -106912,12 +110329,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106912,12 +110329,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106912 | .dst_temps = .{ .mem, .unused }, | 110329 | .dst_temps = .{ .mem, .unused }, |
| 106913 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 110330 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 106914 | .each = .{ .once = &.{ | 110331 | .each = .{ .once = &.{ |
| 106915 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 110332 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 106916 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memsia(.src0x, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 110333 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memsi(.src0x, .@"4", .tmp0), ._, ._ }, |
| 106917 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 110334 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 106918 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3d, ._, ._ }, | 110335 | .{ ._, ._, .mov, .memi(.dst0d, .tmp0), .tmp3d, ._, ._ }, |
| 106919 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 110336 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 106920 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 110337 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 106921 | } }, | 110338 | } }, |
| 106922 | }, .{ | 110339 | }, .{ |
| 106923 | .required_features = .{ .sse2, null, null, null }, | 110340 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -106928,10 +110345,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106928,10 +110345,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106928 | }, | 110345 | }, |
| 106929 | .call_frame = .{ .alignment = .@"16" }, | 110346 | .call_frame = .{ .alignment = .@"16" }, |
| 106930 | .extra_temps = .{ | 110347 | .extra_temps = .{ |
| 106931 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 110348 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 106932 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 110349 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106933 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunstfsi" } }, | 110350 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunstfsi" } }, |
| 106934 | .{ .type = .u32, .kind = .{ .reg = .eax } }, | 110351 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106935 | .unused, | 110352 | .unused, |
| 106936 | .unused, | 110353 | .unused, |
| 106937 | .unused, | 110354 | .unused, |
| ... | @@ -106943,12 +110360,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106943,12 +110360,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106943 | .dst_temps = .{ .mem, .unused }, | 110360 | .dst_temps = .{ .mem, .unused }, |
| 106944 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 110361 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 106945 | .each = .{ .once = &.{ | 110362 | .each = .{ .once = &.{ |
| 106946 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 110363 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 106947 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memsia(.src0x, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 110364 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memsi(.src0x, .@"4", .tmp0), ._, ._ }, |
| 106948 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 110365 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 106949 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3d, ._, ._ }, | 110366 | .{ ._, ._, .mov, .memi(.dst0d, .tmp0), .tmp3d, ._, ._ }, |
| 106950 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 110367 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 106951 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 110368 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 106952 | } }, | 110369 | } }, |
| 106953 | }, .{ | 110370 | }, .{ |
| 106954 | .required_features = .{ .sse, null, null, null }, | 110371 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -106959,10 +110376,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106959,10 +110376,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106959 | }, | 110376 | }, |
| 106960 | .call_frame = .{ .alignment = .@"16" }, | 110377 | .call_frame = .{ .alignment = .@"16" }, |
| 106961 | .extra_temps = .{ | 110378 | .extra_temps = .{ |
| 106962 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 110379 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 106963 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 110380 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106964 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfsi" } }, | 110381 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfsi" } }, |
| 106965 | .{ .type = .i32, .kind = .{ .reg = .eax } }, | 110382 | .{ .type = .i32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106966 | .unused, | 110383 | .unused, |
| 106967 | .unused, | 110384 | .unused, |
| 106968 | .unused, | 110385 | .unused, |
| ... | @@ -106974,12 +110391,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106974,12 +110391,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106974 | .dst_temps = .{ .mem, .unused }, | 110391 | .dst_temps = .{ .mem, .unused }, |
| 106975 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 110392 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 106976 | .each = .{ .once = &.{ | 110393 | .each = .{ .once = &.{ |
| 106977 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 110394 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 106978 | .{ .@"0:", ._ps, .mova, .tmp1x, .memsia(.src0x, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 110395 | .{ .@"0:", ._ps, .mova, .tmp1x, .memsi(.src0x, .@"4", .tmp0), ._, ._ }, |
| 106979 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 110396 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 106980 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3d, ._, ._ }, | 110397 | .{ ._, ._, .mov, .memi(.dst0d, .tmp0), .tmp3d, ._, ._ }, |
| 106981 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 110398 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 106982 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 110399 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 106983 | } }, | 110400 | } }, |
| 106984 | }, .{ | 110401 | }, .{ |
| 106985 | .required_features = .{ .sse, null, null, null }, | 110402 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -106990,10 +110407,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -106990,10 +110407,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 106990 | }, | 110407 | }, |
| 106991 | .call_frame = .{ .alignment = .@"16" }, | 110408 | .call_frame = .{ .alignment = .@"16" }, |
| 106992 | .extra_temps = .{ | 110409 | .extra_temps = .{ |
| 106993 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 110410 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 106994 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 110411 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106995 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunstfsi" } }, | 110412 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunstfsi" } }, |
| 106996 | .{ .type = .u32, .kind = .{ .reg = .eax } }, | 110413 | .{ .type = .u32, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 106997 | .unused, | 110414 | .unused, |
| 106998 | .unused, | 110415 | .unused, |
| 106999 | .unused, | 110416 | .unused, |
| ... | @@ -107005,19 +110422,19 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107005,19 +110422,19 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107005 | .dst_temps = .{ .mem, .unused }, | 110422 | .dst_temps = .{ .mem, .unused }, |
| 107006 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 110423 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 107007 | .each = .{ .once = &.{ | 110424 | .each = .{ .once = &.{ |
| 107008 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 110425 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 107009 | .{ .@"0:", ._ps, .mova, .tmp1x, .memsia(.src0x, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 110426 | .{ .@"0:", ._ps, .mova, .tmp1x, .memsi(.src0x, .@"4", .tmp0), ._, ._ }, |
| 107010 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 110427 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 107011 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3d, ._, ._ }, | 110428 | .{ ._, ._, .mov, .memi(.dst0d, .tmp0), .tmp3d, ._, ._ }, |
| 107012 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 110429 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 107013 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 110430 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 107014 | } }, | 110431 | } }, |
| 107015 | }, .{ | 110432 | }, .{ |
| 107016 | .required_features = .{ .@"64bit", .sse, null, null }, | 110433 | .required_features = .{ .@"64bit", .sse, null, null }, |
| 107017 | .src_constraints = .{ .{ .float = .xword }, .any, .any }, | 110434 | .src_constraints = .{ .{ .float = .xword }, .any, .any }, |
| 107018 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, | 110435 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| 107019 | .patterns = &.{ | 110436 | .patterns = &.{ |
| 107020 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 110437 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 107021 | }, | 110438 | }, |
| 107022 | .call_frame = .{ .alignment = .@"16" }, | 110439 | .call_frame = .{ .alignment = .@"16" }, |
| 107023 | .extra_temps = .{ | 110440 | .extra_temps = .{ |
| ... | @@ -107033,7 +110450,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107033,7 +110450,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107033 | .unused, | 110450 | .unused, |
| 107034 | .unused, | 110451 | .unused, |
| 107035 | }, | 110452 | }, |
| 107036 | .dst_temps = .{ .{ .reg = .rax }, .unused }, | 110453 | .dst_temps = .{ .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 107037 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 110454 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 107038 | .each = .{ .once = &.{ | 110455 | .each = .{ .once = &.{ |
| 107039 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 110456 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| ... | @@ -107043,7 +110460,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107043,7 +110460,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107043 | .src_constraints = .{ .{ .float = .xword }, .any, .any }, | 110460 | .src_constraints = .{ .{ .float = .xword }, .any, .any }, |
| 107044 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, | 110461 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| 107045 | .patterns = &.{ | 110462 | .patterns = &.{ |
| 107046 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 110463 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 107047 | }, | 110464 | }, |
| 107048 | .call_frame = .{ .alignment = .@"16" }, | 110465 | .call_frame = .{ .alignment = .@"16" }, |
| 107049 | .extra_temps = .{ | 110466 | .extra_temps = .{ |
| ... | @@ -107059,7 +110476,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107059,7 +110476,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107059 | .unused, | 110476 | .unused, |
| 107060 | .unused, | 110477 | .unused, |
| 107061 | }, | 110478 | }, |
| 107062 | .dst_temps = .{ .{ .reg = .rax }, .unused }, | 110479 | .dst_temps = .{ .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 107063 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 110480 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 107064 | .each = .{ .once = &.{ | 110481 | .each = .{ .once = &.{ |
| 107065 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 110482 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| ... | @@ -107073,10 +110490,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107073,10 +110490,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107073 | }, | 110490 | }, |
| 107074 | .call_frame = .{ .alignment = .@"16" }, | 110491 | .call_frame = .{ .alignment = .@"16" }, |
| 107075 | .extra_temps = .{ | 110492 | .extra_temps = .{ |
| 107076 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 110493 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 107077 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 110494 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107078 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfdi" } }, | 110495 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfdi" } }, |
| 107079 | .{ .type = .i64, .kind = .{ .reg = .rax } }, | 110496 | .{ .type = .i64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107080 | .unused, | 110497 | .unused, |
| 107081 | .unused, | 110498 | .unused, |
| 107082 | .unused, | 110499 | .unused, |
| ... | @@ -107088,12 +110505,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107088,12 +110505,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107088 | .dst_temps = .{ .mem, .unused }, | 110505 | .dst_temps = .{ .mem, .unused }, |
| 107089 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 110506 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 107090 | .each = .{ .once = &.{ | 110507 | .each = .{ .once = &.{ |
| 107091 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 110508 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| 107092 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 110509 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memsi(.src0x, .@"2", .tmp0), ._, ._ }, |
| 107093 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 110510 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 107094 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 110511 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp3q, ._, ._ }, |
| 107095 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 110512 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 107096 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 110513 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 107097 | } }, | 110514 | } }, |
| 107098 | }, .{ | 110515 | }, .{ |
| 107099 | .required_features = .{ .@"64bit", .avx, null, null }, | 110516 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | @@ -107104,10 +110521,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107104,10 +110521,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107104 | }, | 110521 | }, |
| 107105 | .call_frame = .{ .alignment = .@"16" }, | 110522 | .call_frame = .{ .alignment = .@"16" }, |
| 107106 | .extra_temps = .{ | 110523 | .extra_temps = .{ |
| 107107 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 110524 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 107108 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 110525 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107109 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunstfdi" } }, | 110526 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunstfdi" } }, |
| 107110 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 110527 | .{ .type = .u64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107111 | .unused, | 110528 | .unused, |
| 107112 | .unused, | 110529 | .unused, |
| 107113 | .unused, | 110530 | .unused, |
| ... | @@ -107119,12 +110536,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107119,12 +110536,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107119 | .dst_temps = .{ .mem, .unused }, | 110536 | .dst_temps = .{ .mem, .unused }, |
| 107120 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 110537 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 107121 | .each = .{ .once = &.{ | 110538 | .each = .{ .once = &.{ |
| 107122 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 110539 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| 107123 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 110540 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memsi(.src0x, .@"2", .tmp0), ._, ._ }, |
| 107124 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 110541 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 107125 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 110542 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp3q, ._, ._ }, |
| 107126 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 110543 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 107127 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 110544 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 107128 | } }, | 110545 | } }, |
| 107129 | }, .{ | 110546 | }, .{ |
| 107130 | .required_features = .{ .@"64bit", .sse2, null, null }, | 110547 | .required_features = .{ .@"64bit", .sse2, null, null }, |
| ... | @@ -107135,10 +110552,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107135,10 +110552,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107135 | }, | 110552 | }, |
| 107136 | .call_frame = .{ .alignment = .@"16" }, | 110553 | .call_frame = .{ .alignment = .@"16" }, |
| 107137 | .extra_temps = .{ | 110554 | .extra_temps = .{ |
| 107138 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 110555 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 107139 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 110556 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107140 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfdi" } }, | 110557 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfdi" } }, |
| 107141 | .{ .type = .i64, .kind = .{ .reg = .rax } }, | 110558 | .{ .type = .i64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107142 | .unused, | 110559 | .unused, |
| 107143 | .unused, | 110560 | .unused, |
| 107144 | .unused, | 110561 | .unused, |
| ... | @@ -107150,12 +110567,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107150,12 +110567,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107150 | .dst_temps = .{ .mem, .unused }, | 110567 | .dst_temps = .{ .mem, .unused }, |
| 107151 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 110568 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 107152 | .each = .{ .once = &.{ | 110569 | .each = .{ .once = &.{ |
| 107153 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 110570 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| 107154 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 110571 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memsi(.src0x, .@"2", .tmp0), ._, ._ }, |
| 107155 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 110572 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 107156 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 110573 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp3q, ._, ._ }, |
| 107157 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 110574 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 107158 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 110575 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 107159 | } }, | 110576 | } }, |
| 107160 | }, .{ | 110577 | }, .{ |
| 107161 | .required_features = .{ .@"64bit", .sse2, null, null }, | 110578 | .required_features = .{ .@"64bit", .sse2, null, null }, |
| ... | @@ -107166,10 +110583,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107166,10 +110583,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107166 | }, | 110583 | }, |
| 107167 | .call_frame = .{ .alignment = .@"16" }, | 110584 | .call_frame = .{ .alignment = .@"16" }, |
| 107168 | .extra_temps = .{ | 110585 | .extra_temps = .{ |
| 107169 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 110586 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 107170 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 110587 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107171 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunstfdi" } }, | 110588 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunstfdi" } }, |
| 107172 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 110589 | .{ .type = .u64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107173 | .unused, | 110590 | .unused, |
| 107174 | .unused, | 110591 | .unused, |
| 107175 | .unused, | 110592 | .unused, |
| ... | @@ -107181,12 +110598,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107181,12 +110598,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107181 | .dst_temps = .{ .mem, .unused }, | 110598 | .dst_temps = .{ .mem, .unused }, |
| 107182 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 110599 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 107183 | .each = .{ .once = &.{ | 110600 | .each = .{ .once = &.{ |
| 107184 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 110601 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| 107185 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 110602 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memsi(.src0x, .@"2", .tmp0), ._, ._ }, |
| 107186 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 110603 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 107187 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 110604 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp3q, ._, ._ }, |
| 107188 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 110605 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 107189 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 110606 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 107190 | } }, | 110607 | } }, |
| 107191 | }, .{ | 110608 | }, .{ |
| 107192 | .required_features = .{ .@"64bit", .sse, null, null }, | 110609 | .required_features = .{ .@"64bit", .sse, null, null }, |
| ... | @@ -107197,10 +110614,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107197,10 +110614,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107197 | }, | 110614 | }, |
| 107198 | .call_frame = .{ .alignment = .@"16" }, | 110615 | .call_frame = .{ .alignment = .@"16" }, |
| 107199 | .extra_temps = .{ | 110616 | .extra_temps = .{ |
| 107200 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 110617 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 107201 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 110618 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107202 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfdi" } }, | 110619 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfdi" } }, |
| 107203 | .{ .type = .i64, .kind = .{ .reg = .rax } }, | 110620 | .{ .type = .i64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107204 | .unused, | 110621 | .unused, |
| 107205 | .unused, | 110622 | .unused, |
| 107206 | .unused, | 110623 | .unused, |
| ... | @@ -107212,12 +110629,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107212,12 +110629,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107212 | .dst_temps = .{ .mem, .unused }, | 110629 | .dst_temps = .{ .mem, .unused }, |
| 107213 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 110630 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 107214 | .each = .{ .once = &.{ | 110631 | .each = .{ .once = &.{ |
| 107215 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 110632 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| 107216 | .{ .@"0:", ._ps, .mova, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 110633 | .{ .@"0:", ._ps, .mova, .tmp1x, .memsi(.src0x, .@"2", .tmp0), ._, ._ }, |
| 107217 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 110634 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 107218 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 110635 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp3q, ._, ._ }, |
| 107219 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 110636 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 107220 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 110637 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 107221 | } }, | 110638 | } }, |
| 107222 | }, .{ | 110639 | }, .{ |
| 107223 | .required_features = .{ .@"64bit", .sse, null, null }, | 110640 | .required_features = .{ .@"64bit", .sse, null, null }, |
| ... | @@ -107228,10 +110645,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107228,10 +110645,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107228 | }, | 110645 | }, |
| 107229 | .call_frame = .{ .alignment = .@"16" }, | 110646 | .call_frame = .{ .alignment = .@"16" }, |
| 107230 | .extra_temps = .{ | 110647 | .extra_temps = .{ |
| 107231 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 110648 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 107232 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 110649 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107233 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunstfdi" } }, | 110650 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunstfdi" } }, |
| 107234 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 110651 | .{ .type = .u64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107235 | .unused, | 110652 | .unused, |
| 107236 | .unused, | 110653 | .unused, |
| 107237 | .unused, | 110654 | .unused, |
| ... | @@ -107243,19 +110660,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107243,19 +110660,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107243 | .dst_temps = .{ .mem, .unused }, | 110660 | .dst_temps = .{ .mem, .unused }, |
| 107244 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 110661 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 107245 | .each = .{ .once = &.{ | 110662 | .each = .{ .once = &.{ |
| 107246 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 110663 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| 107247 | .{ .@"0:", ._ps, .mova, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 110664 | .{ .@"0:", ._ps, .mova, .tmp1x, .memsi(.src0x, .@"2", .tmp0), ._, ._ }, |
| 107248 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 110665 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 107249 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 110666 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp3q, ._, ._ }, |
| 107250 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 110667 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 107251 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 110668 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 107252 | } }, | 110669 | } }, |
| 107253 | }, .{ | 110670 | }, .{ |
| 107254 | .required_features = .{ .@"64bit", .sse, null, null }, | 110671 | .required_cc_abi = .sysv64, |
| | 110672 | .required_features = .{ .sse, null, null, null }, |
| 107255 | .src_constraints = .{ .{ .float = .xword }, .any, .any }, | 110673 | .src_constraints = .{ .{ .float = .xword }, .any, .any }, |
| 107256 | .dst_constraints = .{ .{ .signed_int = .xword }, .any }, | 110674 | .dst_constraints = .{ .{ .signed_int = .xword }, .any }, |
| 107257 | .patterns = &.{ | 110675 | .patterns = &.{ |
| 107258 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 110676 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 107259 | }, | 110677 | }, |
| 107260 | .call_frame = .{ .alignment = .@"16" }, | 110678 | .call_frame = .{ .alignment = .@"16" }, |
| 107261 | .extra_temps = .{ | 110679 | .extra_temps = .{ |
| ... | @@ -107271,17 +110689,45 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107271,17 +110689,45 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107271 | .unused, | 110689 | .unused, |
| 107272 | .unused, | 110690 | .unused, |
| 107273 | }, | 110691 | }, |
| 107274 | .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused }, | 110692 | .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 107275 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 110693 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 107276 | .each = .{ .once = &.{ | 110694 | .each = .{ .once = &.{ |
| 107277 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 110695 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 107278 | } }, | 110696 | } }, |
| 107279 | }, .{ | 110697 | }, .{ |
| 107280 | .required_features = .{ .@"64bit", .sse, null, null }, | 110698 | .required_cc_abi = .win64, |
| | 110699 | .required_features = .{ .sse, null, null, null }, |
| | 110700 | .src_constraints = .{ .{ .float = .xword }, .any, .any }, |
| | 110701 | .dst_constraints = .{ .{ .signed_int = .xword }, .any }, |
| | 110702 | .patterns = &.{ |
| | 110703 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| | 110704 | }, |
| | 110705 | .call_frame = .{ .alignment = .@"16" }, |
| | 110706 | .extra_temps = .{ |
| | 110707 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfti" } }, |
| | 110708 | .unused, |
| | 110709 | .unused, |
| | 110710 | .unused, |
| | 110711 | .unused, |
| | 110712 | .unused, |
| | 110713 | .unused, |
| | 110714 | .unused, |
| | 110715 | .unused, |
| | 110716 | .unused, |
| | 110717 | .unused, |
| | 110718 | }, |
| | 110719 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| | 110720 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 110721 | .each = .{ .once = &.{ |
| | 110722 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| | 110723 | } }, |
| | 110724 | }, .{ |
| | 110725 | .required_cc_abi = .sysv64, |
| | 110726 | .required_features = .{ .sse, null, null, null }, |
| 107281 | .src_constraints = .{ .{ .float = .xword }, .any, .any }, | 110727 | .src_constraints = .{ .{ .float = .xword }, .any, .any }, |
| 107282 | .dst_constraints = .{ .{ .unsigned_int = .xword }, .any }, | 110728 | .dst_constraints = .{ .{ .unsigned_int = .xword }, .any }, |
| 107283 | .patterns = &.{ | 110729 | .patterns = &.{ |
| 107284 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 110730 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 107285 | }, | 110731 | }, |
| 107286 | .call_frame = .{ .alignment = .@"16" }, | 110732 | .call_frame = .{ .alignment = .@"16" }, |
| 107287 | .extra_temps = .{ | 110733 | .extra_temps = .{ |
| ... | @@ -107297,13 +110743,41 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107297,13 +110743,41 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107297 | .unused, | 110743 | .unused, |
| 107298 | .unused, | 110744 | .unused, |
| 107299 | }, | 110745 | }, |
| 107300 | .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused }, | 110746 | .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 107301 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 110747 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 107302 | .each = .{ .once = &.{ | 110748 | .each = .{ .once = &.{ |
| 107303 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 110749 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 107304 | } }, | 110750 | } }, |
| 107305 | }, .{ | 110751 | }, .{ |
| 107306 | .required_features = .{ .@"64bit", .avx, null, null }, | 110752 | .required_cc_abi = .win64, |
| | 110753 | .required_features = .{ .sse, null, null, null }, |
| | 110754 | .src_constraints = .{ .{ .float = .xword }, .any, .any }, |
| | 110755 | .dst_constraints = .{ .{ .unsigned_int = .xword }, .any }, |
| | 110756 | .patterns = &.{ |
| | 110757 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| | 110758 | }, |
| | 110759 | .call_frame = .{ .alignment = .@"16" }, |
| | 110760 | .extra_temps = .{ |
| | 110761 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunstfti" } }, |
| | 110762 | .unused, |
| | 110763 | .unused, |
| | 110764 | .unused, |
| | 110765 | .unused, |
| | 110766 | .unused, |
| | 110767 | .unused, |
| | 110768 | .unused, |
| | 110769 | .unused, |
| | 110770 | .unused, |
| | 110771 | .unused, |
| | 110772 | }, |
| | 110773 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| | 110774 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 110775 | .each = .{ .once = &.{ |
| | 110776 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| | 110777 | } }, |
| | 110778 | }, .{ |
| | 110779 | .required_cc_abi = .sysv64, |
| | 110780 | .required_features = .{ .avx, null, null, null }, |
| 107307 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, | 110781 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 107308 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, | 110782 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, |
| 107309 | .patterns = &.{ | 110783 | .patterns = &.{ |
| ... | @@ -107311,11 +110785,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107311,11 +110785,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107311 | }, | 110785 | }, |
| 107312 | .call_frame = .{ .alignment = .@"16" }, | 110786 | .call_frame = .{ .alignment = .@"16" }, |
| 107313 | .extra_temps = .{ | 110787 | .extra_temps = .{ |
| 107314 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 110788 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 107315 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 110789 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107316 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfti" } }, | 110790 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfti" } }, |
| 107317 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 110791 | .{ .type = .i128, .kind = .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107318 | .{ .type = .i64, .kind = .{ .reg = .rdx } }, | 110792 | .unused, |
| 107319 | .unused, | 110793 | .unused, |
| 107320 | .unused, | 110794 | .unused, |
| 107321 | .unused, | 110795 | .unused, |
| ... | @@ -107326,16 +110800,49 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107326,16 +110800,49 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107326 | .dst_temps = .{ .mem, .unused }, | 110800 | .dst_temps = .{ .mem, .unused }, |
| 107327 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 110801 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 107328 | .each = .{ .once = &.{ | 110802 | .each = .{ .once = &.{ |
| 107329 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 110803 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 107330 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 110804 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 107331 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 110805 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 107332 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 110806 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp3q0, ._, ._ }, |
| 107333 | .{ ._, ._, .mov, .memiad(.dst0q, .tmp0, .add_unaligned_size, 8), .tmp4q, ._, ._ }, | 110807 | .{ ._, ._, .mov, .memid(.dst0q, .tmp0, 8), .tmp3q1, ._, ._ }, |
| 107334 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 110808 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 107335 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 110809 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 107336 | } }, | 110810 | } }, |
| 107337 | }, .{ | 110811 | }, .{ |
| 107338 | .required_features = .{ .@"64bit", .avx, null, null }, | 110812 | .required_cc_abi = .win64, |
| | 110813 | .required_features = .{ .avx, null, null, null }, |
| | 110814 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 110815 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, |
| | 110816 | .patterns = &.{ |
| | 110817 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 110818 | }, |
| | 110819 | .call_frame = .{ .alignment = .@"16" }, |
| | 110820 | .extra_temps = .{ |
| | 110821 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 110822 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 110823 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfti" } }, |
| | 110824 | .unused, |
| | 110825 | .unused, |
| | 110826 | .unused, |
| | 110827 | .unused, |
| | 110828 | .unused, |
| | 110829 | .unused, |
| | 110830 | .unused, |
| | 110831 | .unused, |
| | 110832 | }, |
| | 110833 | .dst_temps = .{ .mem, .unused }, |
| | 110834 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 110835 | .each = .{ .once = &.{ |
| | 110836 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 110837 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 110838 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 110839 | .{ ._, .v_dqa, .mov, .memi(.dst0x, .tmp0), .tmp1x, ._, ._ }, |
| | 110840 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 110841 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 110842 | } }, |
| | 110843 | }, .{ |
| | 110844 | .required_cc_abi = .sysv64, |
| | 110845 | .required_features = .{ .avx, null, null, null }, |
| 107339 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, | 110846 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 107340 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, | 110847 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, |
| 107341 | .patterns = &.{ | 110848 | .patterns = &.{ |
| ... | @@ -107343,11 +110850,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107343,11 +110850,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107343 | }, | 110850 | }, |
| 107344 | .call_frame = .{ .alignment = .@"16" }, | 110851 | .call_frame = .{ .alignment = .@"16" }, |
| 107345 | .extra_temps = .{ | 110852 | .extra_temps = .{ |
| 107346 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 110853 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 107347 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 110854 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107348 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunstfti" } }, | 110855 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunstfti" } }, |
| 107349 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 110856 | .{ .type = .u128, .kind = .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107350 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, | 110857 | .unused, |
| 107351 | .unused, | 110858 | .unused, |
| 107352 | .unused, | 110859 | .unused, |
| 107353 | .unused, | 110860 | .unused, |
| ... | @@ -107358,16 +110865,49 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107358,16 +110865,49 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107358 | .dst_temps = .{ .mem, .unused }, | 110865 | .dst_temps = .{ .mem, .unused }, |
| 107359 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 110866 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 107360 | .each = .{ .once = &.{ | 110867 | .each = .{ .once = &.{ |
| 107361 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 110868 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 107362 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 110869 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 107363 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 110870 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 107364 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 110871 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp3q0, ._, ._ }, |
| 107365 | .{ ._, ._, .mov, .memiad(.dst0q, .tmp0, .add_unaligned_size, 8), .tmp4q, ._, ._ }, | 110872 | .{ ._, ._, .mov, .memid(.dst0q, .tmp0, 8), .tmp3q1, ._, ._ }, |
| 107366 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 110873 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 107367 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 110874 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 107368 | } }, | 110875 | } }, |
| 107369 | }, .{ | 110876 | }, .{ |
| 107370 | .required_features = .{ .@"64bit", .sse2, null, null }, | 110877 | .required_cc_abi = .win64, |
| | 110878 | .required_features = .{ .avx, null, null, null }, |
| | 110879 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 110880 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, |
| | 110881 | .patterns = &.{ |
| | 110882 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 110883 | }, |
| | 110884 | .call_frame = .{ .alignment = .@"16" }, |
| | 110885 | .extra_temps = .{ |
| | 110886 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 110887 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 110888 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunstfti" } }, |
| | 110889 | .unused, |
| | 110890 | .unused, |
| | 110891 | .unused, |
| | 110892 | .unused, |
| | 110893 | .unused, |
| | 110894 | .unused, |
| | 110895 | .unused, |
| | 110896 | .unused, |
| | 110897 | }, |
| | 110898 | .dst_temps = .{ .mem, .unused }, |
| | 110899 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 110900 | .each = .{ .once = &.{ |
| | 110901 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 110902 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 110903 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 110904 | .{ ._, .v_dqa, .mov, .memi(.dst0x, .tmp0), .tmp1x, ._, ._ }, |
| | 110905 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 110906 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 110907 | } }, |
| | 110908 | }, .{ |
| | 110909 | .required_cc_abi = .sysv64, |
| | 110910 | .required_features = .{ .sse2, null, null, null }, |
| 107371 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, | 110911 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 107372 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, | 110912 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, |
| 107373 | .patterns = &.{ | 110913 | .patterns = &.{ |
| ... | @@ -107375,11 +110915,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107375,11 +110915,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107375 | }, | 110915 | }, |
| 107376 | .call_frame = .{ .alignment = .@"16" }, | 110916 | .call_frame = .{ .alignment = .@"16" }, |
| 107377 | .extra_temps = .{ | 110917 | .extra_temps = .{ |
| 107378 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 110918 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 107379 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 110919 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107380 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfti" } }, | 110920 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfti" } }, |
| 107381 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 110921 | .{ .type = .i128, .kind = .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107382 | .{ .type = .i64, .kind = .{ .reg = .rdx } }, | 110922 | .unused, |
| 107383 | .unused, | 110923 | .unused, |
| 107384 | .unused, | 110924 | .unused, |
| 107385 | .unused, | 110925 | .unused, |
| ... | @@ -107390,16 +110930,49 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107390,16 +110930,49 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107390 | .dst_temps = .{ .mem, .unused }, | 110930 | .dst_temps = .{ .mem, .unused }, |
| 107391 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 110931 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 107392 | .each = .{ .once = &.{ | 110932 | .each = .{ .once = &.{ |
| 107393 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 110933 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 107394 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 110934 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 107395 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 110935 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 107396 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 110936 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp3q0, ._, ._ }, |
| 107397 | .{ ._, ._, .mov, .memiad(.dst0q, .tmp0, .add_unaligned_size, 8), .tmp4q, ._, ._ }, | 110937 | .{ ._, ._, .mov, .memid(.dst0q, .tmp0, 8), .tmp3q1, ._, ._ }, |
| 107398 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 110938 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 107399 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 110939 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 107400 | } }, | 110940 | } }, |
| 107401 | }, .{ | 110941 | }, .{ |
| 107402 | .required_features = .{ .@"64bit", .sse2, null, null }, | 110942 | .required_cc_abi = .win64, |
| | 110943 | .required_features = .{ .sse2, null, null, null }, |
| | 110944 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 110945 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, |
| | 110946 | .patterns = &.{ |
| | 110947 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 110948 | }, |
| | 110949 | .call_frame = .{ .alignment = .@"16" }, |
| | 110950 | .extra_temps = .{ |
| | 110951 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 110952 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 110953 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfti" } }, |
| | 110954 | .unused, |
| | 110955 | .unused, |
| | 110956 | .unused, |
| | 110957 | .unused, |
| | 110958 | .unused, |
| | 110959 | .unused, |
| | 110960 | .unused, |
| | 110961 | .unused, |
| | 110962 | }, |
| | 110963 | .dst_temps = .{ .mem, .unused }, |
| | 110964 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 110965 | .each = .{ .once = &.{ |
| | 110966 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 110967 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 110968 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 110969 | .{ ._, ._dqa, .mov, .memi(.dst0x, .tmp0), .tmp1x, ._, ._ }, |
| | 110970 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 110971 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 110972 | } }, |
| | 110973 | }, .{ |
| | 110974 | .required_cc_abi = .sysv64, |
| | 110975 | .required_features = .{ .sse2, null, null, null }, |
| 107403 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, | 110976 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 107404 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, | 110977 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, |
| 107405 | .patterns = &.{ | 110978 | .patterns = &.{ |
| ... | @@ -107407,11 +110980,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107407,11 +110980,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107407 | }, | 110980 | }, |
| 107408 | .call_frame = .{ .alignment = .@"16" }, | 110981 | .call_frame = .{ .alignment = .@"16" }, |
| 107409 | .extra_temps = .{ | 110982 | .extra_temps = .{ |
| 107410 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 110983 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 107411 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 110984 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107412 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunstfti" } }, | 110985 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunstfti" } }, |
| 107413 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 110986 | .{ .type = .u128, .kind = .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107414 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, | 110987 | .unused, |
| 107415 | .unused, | 110988 | .unused, |
| 107416 | .unused, | 110989 | .unused, |
| 107417 | .unused, | 110990 | .unused, |
| ... | @@ -107422,16 +110995,49 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107422,16 +110995,49 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107422 | .dst_temps = .{ .mem, .unused }, | 110995 | .dst_temps = .{ .mem, .unused }, |
| 107423 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 110996 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 107424 | .each = .{ .once = &.{ | 110997 | .each = .{ .once = &.{ |
| 107425 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 110998 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 107426 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 110999 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 107427 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 111000 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 107428 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 111001 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp3q0, ._, ._ }, |
| 107429 | .{ ._, ._, .mov, .memiad(.dst0q, .tmp0, .add_unaligned_size, 8), .tmp4q, ._, ._ }, | 111002 | .{ ._, ._, .mov, .memid(.dst0q, .tmp0, 8), .tmp3q1, ._, ._ }, |
| 107430 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 111003 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 107431 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 111004 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 107432 | } }, | 111005 | } }, |
| 107433 | }, .{ | 111006 | }, .{ |
| 107434 | .required_features = .{ .@"64bit", .sse, null, null }, | 111007 | .required_cc_abi = .win64, |
| | 111008 | .required_features = .{ .sse2, null, null, null }, |
| | 111009 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 111010 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, |
| | 111011 | .patterns = &.{ |
| | 111012 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 111013 | }, |
| | 111014 | .call_frame = .{ .alignment = .@"16" }, |
| | 111015 | .extra_temps = .{ |
| | 111016 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 111017 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 111018 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunstfti" } }, |
| | 111019 | .unused, |
| | 111020 | .unused, |
| | 111021 | .unused, |
| | 111022 | .unused, |
| | 111023 | .unused, |
| | 111024 | .unused, |
| | 111025 | .unused, |
| | 111026 | .unused, |
| | 111027 | }, |
| | 111028 | .dst_temps = .{ .mem, .unused }, |
| | 111029 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 111030 | .each = .{ .once = &.{ |
| | 111031 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 111032 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 111033 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 111034 | .{ ._, ._dqa, .mov, .memi(.dst0x, .tmp0), .tmp1x, ._, ._ }, |
| | 111035 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 111036 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 111037 | } }, |
| | 111038 | }, .{ |
| | 111039 | .required_cc_abi = .sysv64, |
| | 111040 | .required_features = .{ .sse, null, null, null }, |
| 107435 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, | 111041 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 107436 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, | 111042 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, |
| 107437 | .patterns = &.{ | 111043 | .patterns = &.{ |
| ... | @@ -107439,11 +111045,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107439,11 +111045,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107439 | }, | 111045 | }, |
| 107440 | .call_frame = .{ .alignment = .@"16" }, | 111046 | .call_frame = .{ .alignment = .@"16" }, |
| 107441 | .extra_temps = .{ | 111047 | .extra_temps = .{ |
| 107442 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 111048 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 107443 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 111049 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107444 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfti" } }, | 111050 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfti" } }, |
| 107445 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 111051 | .{ .type = .i128, .kind = .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107446 | .{ .type = .i64, .kind = .{ .reg = .rdx } }, | 111052 | .unused, |
| 107447 | .unused, | 111053 | .unused, |
| 107448 | .unused, | 111054 | .unused, |
| 107449 | .unused, | 111055 | .unused, |
| ... | @@ -107454,16 +111060,49 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107454,16 +111060,49 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107454 | .dst_temps = .{ .mem, .unused }, | 111060 | .dst_temps = .{ .mem, .unused }, |
| 107455 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 111061 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 107456 | .each = .{ .once = &.{ | 111062 | .each = .{ .once = &.{ |
| 107457 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 111063 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 107458 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 111064 | .{ .@"0:", ._ps, .mova, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 107459 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 111065 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 107460 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 111066 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp3q0, ._, ._ }, |
| 107461 | .{ ._, ._, .mov, .memiad(.dst0q, .tmp0, .add_unaligned_size, 8), .tmp4q, ._, ._ }, | 111067 | .{ ._, ._, .mov, .memid(.dst0q, .tmp0, 8), .tmp3q1, ._, ._ }, |
| 107462 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 111068 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 107463 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 111069 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 107464 | } }, | 111070 | } }, |
| 107465 | }, .{ | 111071 | }, .{ |
| 107466 | .required_features = .{ .@"64bit", .sse, null, null }, | 111072 | .required_cc_abi = .win64, |
| | 111073 | .required_features = .{ .sse, null, null, null }, |
| | 111074 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 111075 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any }, |
| | 111076 | .patterns = &.{ |
| | 111077 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 111078 | }, |
| | 111079 | .call_frame = .{ .alignment = .@"16" }, |
| | 111080 | .extra_temps = .{ |
| | 111081 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 111082 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 111083 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfti" } }, |
| | 111084 | .unused, |
| | 111085 | .unused, |
| | 111086 | .unused, |
| | 111087 | .unused, |
| | 111088 | .unused, |
| | 111089 | .unused, |
| | 111090 | .unused, |
| | 111091 | .unused, |
| | 111092 | }, |
| | 111093 | .dst_temps = .{ .mem, .unused }, |
| | 111094 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 111095 | .each = .{ .once = &.{ |
| | 111096 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 111097 | .{ .@"0:", ._ps, .mova, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 111098 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 111099 | .{ ._, ._ps, .mova, .memi(.dst0x, .tmp0), .tmp1x, ._, ._ }, |
| | 111100 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 111101 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 111102 | } }, |
| | 111103 | }, .{ |
| | 111104 | .required_cc_abi = .sysv64, |
| | 111105 | .required_features = .{ .sse, null, null, null }, |
| 107467 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, | 111106 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 107468 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, | 111107 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, |
| 107469 | .patterns = &.{ | 111108 | .patterns = &.{ |
| ... | @@ -107471,11 +111110,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107471,11 +111110,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107471 | }, | 111110 | }, |
| 107472 | .call_frame = .{ .alignment = .@"16" }, | 111111 | .call_frame = .{ .alignment = .@"16" }, |
| 107473 | .extra_temps = .{ | 111112 | .extra_temps = .{ |
| 107474 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 111113 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 107475 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 111114 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107476 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunstfti" } }, | 111115 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunstfti" } }, |
| 107477 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | 111116 | .{ .type = .u128, .kind = .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107478 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, | 111117 | .unused, |
| 107479 | .unused, | 111118 | .unused, |
| 107480 | .unused, | 111119 | .unused, |
| 107481 | .unused, | 111120 | .unused, |
| ... | @@ -107486,25 +111125,57 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107486,25 +111125,57 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107486 | .dst_temps = .{ .mem, .unused }, | 111125 | .dst_temps = .{ .mem, .unused }, |
| 107487 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 111126 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 107488 | .each = .{ .once = &.{ | 111127 | .each = .{ .once = &.{ |
| 107489 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 111128 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 107490 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 111129 | .{ .@"0:", ._ps, .mova, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 107491 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 111130 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 107492 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3q, ._, ._ }, | 111131 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp3q0, ._, ._ }, |
| 107493 | .{ ._, ._, .mov, .memiad(.dst0q, .tmp0, .add_unaligned_size, 8), .tmp4q, ._, ._ }, | 111132 | .{ ._, ._, .mov, .memid(.dst0q, .tmp0, 8), .tmp3q1, ._, ._ }, |
| 107494 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 111133 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 107495 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 111134 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 111135 | } }, |
| | 111136 | }, .{ |
| | 111137 | .required_cc_abi = .win64, |
| | 111138 | .required_features = .{ .sse, null, null, null }, |
| | 111139 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 111140 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any }, |
| | 111141 | .patterns = &.{ |
| | 111142 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 111143 | }, |
| | 111144 | .call_frame = .{ .alignment = .@"16" }, |
| | 111145 | .extra_temps = .{ |
| | 111146 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 111147 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 111148 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunstfti" } }, |
| | 111149 | .unused, |
| | 111150 | .unused, |
| | 111151 | .unused, |
| | 111152 | .unused, |
| | 111153 | .unused, |
| | 111154 | .unused, |
| | 111155 | .unused, |
| | 111156 | .unused, |
| | 111157 | }, |
| | 111158 | .dst_temps = .{ .mem, .unused }, |
| | 111159 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 111160 | .each = .{ .once = &.{ |
| | 111161 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 111162 | .{ .@"0:", ._ps, .mova, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 111163 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 111164 | .{ ._, ._ps, .mova, .memi(.dst0x, .tmp0), .tmp1x, ._, ._ }, |
| | 111165 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 111166 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 107496 | } }, | 111167 | } }, |
| 107497 | }, .{ | 111168 | }, .{ |
| 107498 | .required_features = .{ .@"64bit", .sse, null, null }, | 111169 | .required_features = .{ .@"64bit", .sse, null, null }, |
| 107499 | .src_constraints = .{ .{ .float = .xword }, .any, .any }, | 111170 | .src_constraints = .{ .{ .float = .xword }, .any, .any }, |
| 107500 | .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any }, | 111171 | .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any }, |
| 107501 | .patterns = &.{ | 111172 | .patterns = &.{ |
| 107502 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 111173 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } }, .none, .none } }, |
| 107503 | }, | 111174 | }, |
| 107504 | .call_frame = .{ .alignment = .@"16" }, | 111175 | .call_frame = .{ .alignment = .@"16" }, |
| 107505 | .extra_temps = .{ | 111176 | .extra_temps = .{ |
| 107506 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 111177 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107507 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 111178 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 107508 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfei" } }, | 111179 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfei" } }, |
| 107509 | .unused, | 111180 | .unused, |
| 107510 | .unused, | 111181 | .unused, |
| ... | @@ -107527,12 +111198,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107527,12 +111198,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107527 | .src_constraints = .{ .{ .float = .xword }, .any, .any }, | 111198 | .src_constraints = .{ .{ .float = .xword }, .any, .any }, |
| 107528 | .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any }, | 111199 | .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any }, |
| 107529 | .patterns = &.{ | 111200 | .patterns = &.{ |
| 107530 | .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } }, | 111201 | .{ .src = .{ .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } }, .none, .none } }, |
| 107531 | }, | 111202 | }, |
| 107532 | .call_frame = .{ .alignment = .@"16" }, | 111203 | .call_frame = .{ .alignment = .@"16" }, |
| 107533 | .extra_temps = .{ | 111204 | .extra_temps = .{ |
| 107534 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 111205 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107535 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 111206 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 107536 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunstfei" } }, | 111207 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunstfei" } }, |
| 107537 | .unused, | 111208 | .unused, |
| 107538 | .unused, | 111209 | .unused, |
| ... | @@ -107559,11 +111230,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107559,11 +111230,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107559 | }, | 111230 | }, |
| 107560 | .call_frame = .{ .alignment = .@"16" }, | 111231 | .call_frame = .{ .alignment = .@"16" }, |
| 107561 | .extra_temps = .{ | 111232 | .extra_temps = .{ |
| 107562 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 111233 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 107563 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 111234 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 107564 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 111235 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107565 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 111236 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 107566 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 111237 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 107567 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfei" } }, | 111238 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfei" } }, |
| 107568 | .unused, | 111239 | .unused, |
| 107569 | .unused, | 111240 | .unused, |
| ... | @@ -107574,15 +111245,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107574,15 +111245,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107574 | .dst_temps = .{ .mem, .unused }, | 111245 | .dst_temps = .{ .mem, .unused }, |
| 107575 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 111246 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 107576 | .each = .{ .once = &.{ | 111247 | .each = .{ .once = &.{ |
| 107577 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 111248 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 107578 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 111249 | .{ ._, ._, .lea, .tmp1p, .mema(.dst0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 107579 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, | 111250 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| 107580 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, | 111251 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| 107581 | .{ ._, .v_dqa, .mov, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 111252 | .{ ._, .v_dqa, .mov, .tmp4x, .memi(.src0x, .tmp0), ._, ._ }, |
| 107582 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, | 111253 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| 107583 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ }, | 111254 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .sub_dst0_elem_size), ._, ._ }, |
| 107584 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 111255 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 107585 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 111256 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 107586 | } }, | 111257 | } }, |
| 107587 | }, .{ | 111258 | }, .{ |
| 107588 | .required_features = .{ .@"64bit", .avx, null, null }, | 111259 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | @@ -107593,11 +111264,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107593,11 +111264,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107593 | }, | 111264 | }, |
| 107594 | .call_frame = .{ .alignment = .@"16" }, | 111265 | .call_frame = .{ .alignment = .@"16" }, |
| 107595 | .extra_temps = .{ | 111266 | .extra_temps = .{ |
| 107596 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 111267 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 107597 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 111268 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 107598 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 111269 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107599 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 111270 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 107600 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 111271 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 107601 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunstfei" } }, | 111272 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunstfei" } }, |
| 107602 | .unused, | 111273 | .unused, |
| 107603 | .unused, | 111274 | .unused, |
| ... | @@ -107608,15 +111279,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107608,15 +111279,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107608 | .dst_temps = .{ .mem, .unused }, | 111279 | .dst_temps = .{ .mem, .unused }, |
| 107609 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 111280 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 107610 | .each = .{ .once = &.{ | 111281 | .each = .{ .once = &.{ |
| 107611 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 111282 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 107612 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 111283 | .{ ._, ._, .lea, .tmp1p, .mema(.dst0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 107613 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, | 111284 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| 107614 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, | 111285 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| 107615 | .{ ._, .v_dqa, .mov, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 111286 | .{ ._, .v_dqa, .mov, .tmp4x, .memi(.src0x, .tmp0), ._, ._ }, |
| 107616 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, | 111287 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| 107617 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ }, | 111288 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .sub_dst0_elem_size), ._, ._ }, |
| 107618 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 111289 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 107619 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 111290 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 107620 | } }, | 111291 | } }, |
| 107621 | }, .{ | 111292 | }, .{ |
| 107622 | .required_features = .{ .@"64bit", .sse2, null, null }, | 111293 | .required_features = .{ .@"64bit", .sse2, null, null }, |
| ... | @@ -107627,11 +111298,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107627,11 +111298,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107627 | }, | 111298 | }, |
| 107628 | .call_frame = .{ .alignment = .@"16" }, | 111299 | .call_frame = .{ .alignment = .@"16" }, |
| 107629 | .extra_temps = .{ | 111300 | .extra_temps = .{ |
| 107630 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 111301 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 107631 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 111302 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 107632 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 111303 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107633 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 111304 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 107634 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 111305 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 107635 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfei" } }, | 111306 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfei" } }, |
| 107636 | .unused, | 111307 | .unused, |
| 107637 | .unused, | 111308 | .unused, |
| ... | @@ -107642,15 +111313,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107642,15 +111313,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107642 | .dst_temps = .{ .mem, .unused }, | 111313 | .dst_temps = .{ .mem, .unused }, |
| 107643 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 111314 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 107644 | .each = .{ .once = &.{ | 111315 | .each = .{ .once = &.{ |
| 107645 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 111316 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 107646 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 111317 | .{ ._, ._, .lea, .tmp1p, .mema(.dst0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 107647 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, | 111318 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| 107648 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, | 111319 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| 107649 | .{ ._, ._dqa, .mov, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 111320 | .{ ._, ._dqa, .mov, .tmp4x, .memi(.src0x, .tmp0), ._, ._ }, |
| 107650 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, | 111321 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| 107651 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ }, | 111322 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .sub_dst0_elem_size), ._, ._ }, |
| 107652 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 111323 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 107653 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 111324 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 107654 | } }, | 111325 | } }, |
| 107655 | }, .{ | 111326 | }, .{ |
| 107656 | .required_features = .{ .@"64bit", .sse2, null, null }, | 111327 | .required_features = .{ .@"64bit", .sse2, null, null }, |
| ... | @@ -107661,11 +111332,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107661,11 +111332,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107661 | }, | 111332 | }, |
| 107662 | .call_frame = .{ .alignment = .@"16" }, | 111333 | .call_frame = .{ .alignment = .@"16" }, |
| 107663 | .extra_temps = .{ | 111334 | .extra_temps = .{ |
| 107664 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 111335 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 107665 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 111336 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 107666 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 111337 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107667 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 111338 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 107668 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 111339 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 107669 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunstfei" } }, | 111340 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunstfei" } }, |
| 107670 | .unused, | 111341 | .unused, |
| 107671 | .unused, | 111342 | .unused, |
| ... | @@ -107676,15 +111347,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107676,15 +111347,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107676 | .dst_temps = .{ .mem, .unused }, | 111347 | .dst_temps = .{ .mem, .unused }, |
| 107677 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 111348 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 107678 | .each = .{ .once = &.{ | 111349 | .each = .{ .once = &.{ |
| 107679 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 111350 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 107680 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 111351 | .{ ._, ._, .lea, .tmp1p, .mema(.dst0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 107681 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, | 111352 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| 107682 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, | 111353 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| 107683 | .{ ._, ._dqa, .mov, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 111354 | .{ ._, ._dqa, .mov, .tmp4x, .memi(.src0x, .tmp0), ._, ._ }, |
| 107684 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, | 111355 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| 107685 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ }, | 111356 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .sub_dst0_elem_size), ._, ._ }, |
| 107686 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 111357 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 107687 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 111358 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 107688 | } }, | 111359 | } }, |
| 107689 | }, .{ | 111360 | }, .{ |
| 107690 | .required_features = .{ .@"64bit", .sse, null, null }, | 111361 | .required_features = .{ .@"64bit", .sse, null, null }, |
| ... | @@ -107695,11 +111366,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107695,11 +111366,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107695 | }, | 111366 | }, |
| 107696 | .call_frame = .{ .alignment = .@"16" }, | 111367 | .call_frame = .{ .alignment = .@"16" }, |
| 107697 | .extra_temps = .{ | 111368 | .extra_temps = .{ |
| 107698 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 111369 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 107699 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 111370 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 107700 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 111371 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107701 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 111372 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 107702 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 111373 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 107703 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfei" } }, | 111374 | .{ .type = .usize, .kind = .{ .extern_func = "__fixtfei" } }, |
| 107704 | .unused, | 111375 | .unused, |
| 107705 | .unused, | 111376 | .unused, |
| ... | @@ -107710,15 +111381,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107710,15 +111381,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107710 | .dst_temps = .{ .mem, .unused }, | 111381 | .dst_temps = .{ .mem, .unused }, |
| 107711 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 111382 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 107712 | .each = .{ .once = &.{ | 111383 | .each = .{ .once = &.{ |
| 107713 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 111384 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 107714 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 111385 | .{ ._, ._, .lea, .tmp1p, .mema(.dst0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 107715 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, | 111386 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| 107716 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, | 111387 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| 107717 | .{ ._, ._ps, .mova, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 111388 | .{ ._, ._ps, .mova, .tmp4x, .memi(.src0x, .tmp0), ._, ._ }, |
| 107718 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, | 111389 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| 107719 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ }, | 111390 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .sub_dst0_elem_size), ._, ._ }, |
| 107720 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 111391 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 107721 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 111392 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 107722 | } }, | 111393 | } }, |
| 107723 | }, .{ | 111394 | }, .{ |
| 107724 | .required_features = .{ .@"64bit", .sse, null, null }, | 111395 | .required_features = .{ .@"64bit", .sse, null, null }, |
| ... | @@ -107729,11 +111400,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107729,11 +111400,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107729 | }, | 111400 | }, |
| 107730 | .call_frame = .{ .alignment = .@"16" }, | 111401 | .call_frame = .{ .alignment = .@"16" }, |
| 107731 | .extra_temps = .{ | 111402 | .extra_temps = .{ |
| 107732 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 111403 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 107733 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 111404 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 107734 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 111405 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 107735 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 111406 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 107736 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 111407 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 2 } } }, |
| 107737 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunstfei" } }, | 111408 | .{ .type = .usize, .kind = .{ .extern_func = "__fixunstfei" } }, |
| 107738 | .unused, | 111409 | .unused, |
| 107739 | .unused, | 111410 | .unused, |
| ... | @@ -107744,15 +111415,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107744,15 +111415,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107744 | .dst_temps = .{ .mem, .unused }, | 111415 | .dst_temps = .{ .mem, .unused }, |
| 107745 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 111416 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 107746 | .each = .{ .once = &.{ | 111417 | .each = .{ .once = &.{ |
| 107747 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 111418 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 107748 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 111419 | .{ ._, ._, .lea, .tmp1p, .mema(.dst0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 107749 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, | 111420 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| 107750 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, | 111421 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ }, |
| 107751 | .{ ._, ._ps, .mova, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 111422 | .{ ._, ._ps, .mova, .tmp4x, .memi(.src0x, .tmp0), ._, ._ }, |
| 107752 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, | 111423 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| 107753 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ }, | 111424 | .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .sub_dst0_elem_size), ._, ._ }, |
| 107754 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 111425 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 107755 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 111426 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 107756 | } }, | 111427 | } }, |
| 107757 | } }) catch |err| switch (err) { | 111428 | } }) catch |err| switch (err) { |
| 107758 | error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{ | 111429 | error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{ |
| ... | @@ -107767,7 +111438,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107767,7 +111438,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107767 | }, | 111438 | }, |
| 107768 | .int_from_float_safe => unreachable, | 111439 | .int_from_float_safe => unreachable, |
| 107769 | .int_from_float_optimized_safe => unreachable, | 111440 | .int_from_float_optimized_safe => unreachable, |
| 107770 | .float_from_int => |air_tag| if (use_old) try cg.airFloatFromInt(inst) else { | 111441 | .float_from_int => |air_tag| { |
| 107771 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 111442 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 107772 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); | 111443 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); |
| 107773 | var res: [1]Temp = undefined; | 111444 | var res: [1]Temp = undefined; |
| ... | @@ -107980,7 +111651,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107980,7 +111651,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107980 | .src_constraints = .{ .{ .signed_int = .byte }, .any, .any }, | 111651 | .src_constraints = .{ .{ .signed_int = .byte }, .any, .any }, |
| 107981 | .dst_constraints = .{ .{ .float = .word }, .any }, | 111652 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| 107982 | .patterns = &.{ | 111653 | .patterns = &.{ |
| 107983 | .{ .src = .{ .{ .to_reg = .dil }, .none, .none } }, | 111654 | .{ .src = .{ .{ .to_param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 107984 | }, | 111655 | }, |
| 107985 | .call_frame = .{ .alignment = .@"16" }, | 111656 | .call_frame = .{ .alignment = .@"16" }, |
| 107986 | .extra_temps = .{ | 111657 | .extra_temps = .{ |
| ... | @@ -107996,7 +111667,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -107996,7 +111667,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 107996 | .unused, | 111667 | .unused, |
| 107997 | .unused, | 111668 | .unused, |
| 107998 | }, | 111669 | }, |
| 107999 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 111670 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 108000 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 111671 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 108001 | .each = .{ .once = &.{ | 111672 | .each = .{ .once = &.{ |
| 108002 | .{ ._, ._, .movsx, .src0d, .src0b, ._, ._ }, | 111673 | .{ ._, ._, .movsx, .src0d, .src0b, ._, ._ }, |
| ... | @@ -108007,7 +111678,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108007,7 +111678,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108007 | .src_constraints = .{ .{ .unsigned_int = .byte }, .any, .any }, | 111678 | .src_constraints = .{ .{ .unsigned_int = .byte }, .any, .any }, |
| 108008 | .dst_constraints = .{ .{ .float = .word }, .any }, | 111679 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| 108009 | .patterns = &.{ | 111680 | .patterns = &.{ |
| 108010 | .{ .src = .{ .{ .to_reg = .dil }, .none, .none } }, | 111681 | .{ .src = .{ .{ .to_param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 108011 | }, | 111682 | }, |
| 108012 | .call_frame = .{ .alignment = .@"16" }, | 111683 | .call_frame = .{ .alignment = .@"16" }, |
| 108013 | .extra_temps = .{ | 111684 | .extra_temps = .{ |
| ... | @@ -108023,7 +111694,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108023,7 +111694,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108023 | .unused, | 111694 | .unused, |
| 108024 | .unused, | 111695 | .unused, |
| 108025 | }, | 111696 | }, |
| 108026 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 111697 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 108027 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 111698 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 108028 | .each = .{ .once = &.{ | 111699 | .each = .{ .once = &.{ |
| 108029 | .{ ._, ._, .movzx, .src0d, .src0b, ._, ._ }, | 111700 | .{ ._, ._, .movzx, .src0d, .src0b, ._, ._ }, |
| ... | @@ -108034,7 +111705,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108034,7 +111705,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108034 | .src_constraints = .{ .{ .signed_int = .word }, .any, .any }, | 111705 | .src_constraints = .{ .{ .signed_int = .word }, .any, .any }, |
| 108035 | .dst_constraints = .{ .{ .float = .word }, .any }, | 111706 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| 108036 | .patterns = &.{ | 111707 | .patterns = &.{ |
| 108037 | .{ .src = .{ .{ .to_reg = .di }, .none, .none } }, | 111708 | .{ .src = .{ .{ .to_param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 108038 | }, | 111709 | }, |
| 108039 | .call_frame = .{ .alignment = .@"16" }, | 111710 | .call_frame = .{ .alignment = .@"16" }, |
| 108040 | .extra_temps = .{ | 111711 | .extra_temps = .{ |
| ... | @@ -108050,7 +111721,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108050,7 +111721,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108050 | .unused, | 111721 | .unused, |
| 108051 | .unused, | 111722 | .unused, |
| 108052 | }, | 111723 | }, |
| 108053 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 111724 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 108054 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 111725 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 108055 | .each = .{ .once = &.{ | 111726 | .each = .{ .once = &.{ |
| 108056 | .{ ._, ._, .movsx, .src0d, .src0w, ._, ._ }, | 111727 | .{ ._, ._, .movsx, .src0d, .src0w, ._, ._ }, |
| ... | @@ -108061,7 +111732,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108061,7 +111732,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108061 | .src_constraints = .{ .{ .unsigned_int = .word }, .any, .any }, | 111732 | .src_constraints = .{ .{ .unsigned_int = .word }, .any, .any }, |
| 108062 | .dst_constraints = .{ .{ .float = .word }, .any }, | 111733 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| 108063 | .patterns = &.{ | 111734 | .patterns = &.{ |
| 108064 | .{ .src = .{ .{ .to_reg = .di }, .none, .none } }, | 111735 | .{ .src = .{ .{ .to_param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 108065 | }, | 111736 | }, |
| 108066 | .call_frame = .{ .alignment = .@"16" }, | 111737 | .call_frame = .{ .alignment = .@"16" }, |
| 108067 | .extra_temps = .{ | 111738 | .extra_temps = .{ |
| ... | @@ -108077,7 +111748,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108077,7 +111748,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108077 | .unused, | 111748 | .unused, |
| 108078 | .unused, | 111749 | .unused, |
| 108079 | }, | 111750 | }, |
| 108080 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 111751 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 108081 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 111752 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 108082 | .each = .{ .once = &.{ | 111753 | .each = .{ .once = &.{ |
| 108083 | .{ ._, ._, .movzx, .src0d, .src0w, ._, ._ }, | 111754 | .{ ._, ._, .movzx, .src0d, .src0w, ._, ._ }, |
| ... | @@ -108088,7 +111759,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108088,7 +111759,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108088 | .src_constraints = .{ .{ .signed_int = .dword }, .any, .any }, | 111759 | .src_constraints = .{ .{ .signed_int = .dword }, .any, .any }, |
| 108089 | .dst_constraints = .{ .{ .float = .word }, .any }, | 111760 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| 108090 | .patterns = &.{ | 111761 | .patterns = &.{ |
| 108091 | .{ .src = .{ .{ .to_reg = .edi }, .none, .none } }, | 111762 | .{ .src = .{ .{ .to_param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 108092 | }, | 111763 | }, |
| 108093 | .call_frame = .{ .alignment = .@"16" }, | 111764 | .call_frame = .{ .alignment = .@"16" }, |
| 108094 | .extra_temps = .{ | 111765 | .extra_temps = .{ |
| ... | @@ -108104,7 +111775,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108104,7 +111775,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108104 | .unused, | 111775 | .unused, |
| 108105 | .unused, | 111776 | .unused, |
| 108106 | }, | 111777 | }, |
| 108107 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 111778 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 108108 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 111779 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 108109 | .each = .{ .once = &.{ | 111780 | .each = .{ .once = &.{ |
| 108110 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 111781 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| ... | @@ -108114,7 +111785,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108114,7 +111785,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108114 | .src_constraints = .{ .{ .unsigned_int = .dword }, .any, .any }, | 111785 | .src_constraints = .{ .{ .unsigned_int = .dword }, .any, .any }, |
| 108115 | .dst_constraints = .{ .{ .float = .word }, .any }, | 111786 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| 108116 | .patterns = &.{ | 111787 | .patterns = &.{ |
| 108117 | .{ .src = .{ .{ .to_reg = .edi }, .none, .none } }, | 111788 | .{ .src = .{ .{ .to_param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 108118 | }, | 111789 | }, |
| 108119 | .call_frame = .{ .alignment = .@"16" }, | 111790 | .call_frame = .{ .alignment = .@"16" }, |
| 108120 | .extra_temps = .{ | 111791 | .extra_temps = .{ |
| ... | @@ -108130,7 +111801,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108130,7 +111801,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108130 | .unused, | 111801 | .unused, |
| 108131 | .unused, | 111802 | .unused, |
| 108132 | }, | 111803 | }, |
| 108133 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 111804 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 108134 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 111805 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 108135 | .each = .{ .once = &.{ | 111806 | .each = .{ .once = &.{ |
| 108136 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 111807 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| ... | @@ -108140,7 +111811,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108140,7 +111811,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108140 | .src_constraints = .{ .{ .signed_int = .qword }, .any, .any }, | 111811 | .src_constraints = .{ .{ .signed_int = .qword }, .any, .any }, |
| 108141 | .dst_constraints = .{ .{ .float = .word }, .any }, | 111812 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| 108142 | .patterns = &.{ | 111813 | .patterns = &.{ |
| 108143 | .{ .src = .{ .{ .to_reg = .rdi }, .none, .none } }, | 111814 | .{ .src = .{ .{ .to_param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 108144 | }, | 111815 | }, |
| 108145 | .call_frame = .{ .alignment = .@"16" }, | 111816 | .call_frame = .{ .alignment = .@"16" }, |
| 108146 | .extra_temps = .{ | 111817 | .extra_temps = .{ |
| ... | @@ -108156,7 +111827,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108156,7 +111827,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108156 | .unused, | 111827 | .unused, |
| 108157 | .unused, | 111828 | .unused, |
| 108158 | }, | 111829 | }, |
| 108159 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 111830 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 108160 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 111831 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 108161 | .each = .{ .once = &.{ | 111832 | .each = .{ .once = &.{ |
| 108162 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 111833 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| ... | @@ -108166,7 +111837,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108166,7 +111837,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108166 | .src_constraints = .{ .{ .unsigned_int = .qword }, .any, .any }, | 111837 | .src_constraints = .{ .{ .unsigned_int = .qword }, .any, .any }, |
| 108167 | .dst_constraints = .{ .{ .float = .word }, .any }, | 111838 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| 108168 | .patterns = &.{ | 111839 | .patterns = &.{ |
| 108169 | .{ .src = .{ .{ .to_reg = .rdi }, .none, .none } }, | 111840 | .{ .src = .{ .{ .to_param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 108170 | }, | 111841 | }, |
| 108171 | .call_frame = .{ .alignment = .@"16" }, | 111842 | .call_frame = .{ .alignment = .@"16" }, |
| 108172 | .extra_temps = .{ | 111843 | .extra_temps = .{ |
| ... | @@ -108182,17 +111853,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108182,17 +111853,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108182 | .unused, | 111853 | .unused, |
| 108183 | .unused, | 111854 | .unused, |
| 108184 | }, | 111855 | }, |
| 108185 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 111856 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 108186 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 111857 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 108187 | .each = .{ .once = &.{ | 111858 | .each = .{ .once = &.{ |
| 108188 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 111859 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 108189 | } }, | 111860 | } }, |
| 108190 | }, .{ | 111861 | }, .{ |
| 108191 | .required_features = .{ .@"64bit", .sse, null, null }, | 111862 | .required_cc_abi = .sysv64, |
| | 111863 | .required_features = .{ .sse, null, null, null }, |
| 108192 | .src_constraints = .{ .{ .signed_int = .xword }, .any, .any }, | 111864 | .src_constraints = .{ .{ .signed_int = .xword }, .any, .any }, |
| 108193 | .dst_constraints = .{ .{ .float = .word }, .any }, | 111865 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| 108194 | .patterns = &.{ | 111866 | .patterns = &.{ |
| 108195 | .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } }, | 111867 | .{ .src = .{ .{ .to_param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 108196 | }, | 111868 | }, |
| 108197 | .call_frame = .{ .alignment = .@"16" }, | 111869 | .call_frame = .{ .alignment = .@"16" }, |
| 108198 | .extra_temps = .{ | 111870 | .extra_temps = .{ |
| ... | @@ -108208,17 +111880,46 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108208,17 +111880,46 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108208 | .unused, | 111880 | .unused, |
| 108209 | .unused, | 111881 | .unused, |
| 108210 | }, | 111882 | }, |
| 108211 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 111883 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 108212 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 111884 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 108213 | .each = .{ .once = &.{ | 111885 | .each = .{ .once = &.{ |
| 108214 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 111886 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 108215 | } }, | 111887 | } }, |
| 108216 | }, .{ | 111888 | }, .{ |
| 108217 | .required_features = .{ .@"64bit", .sse, null, null }, | 111889 | .required_cc_abi = .win64, |
| | 111890 | .required_features = .{ .sse, null, null, null }, |
| | 111891 | .src_constraints = .{ .{ .signed_int = .xword }, .any, .any }, |
| | 111892 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 111893 | .patterns = &.{ |
| | 111894 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 111895 | }, |
| | 111896 | .call_frame = .{ .alignment = .@"16" }, |
| | 111897 | .extra_temps = .{ |
| | 111898 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 111899 | .{ .type = .usize, .kind = .{ .extern_func = "__floattihf" } }, |
| | 111900 | .unused, |
| | 111901 | .unused, |
| | 111902 | .unused, |
| | 111903 | .unused, |
| | 111904 | .unused, |
| | 111905 | .unused, |
| | 111906 | .unused, |
| | 111907 | .unused, |
| | 111908 | .unused, |
| | 111909 | }, |
| | 111910 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| | 111911 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 111912 | .each = .{ .once = &.{ |
| | 111913 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| | 111914 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 111915 | } }, |
| | 111916 | }, .{ |
| | 111917 | .required_cc_abi = .sysv64, |
| | 111918 | .required_features = .{ .sse, null, null, null }, |
| 108218 | .src_constraints = .{ .{ .unsigned_int = .xword }, .any, .any }, | 111919 | .src_constraints = .{ .{ .unsigned_int = .xword }, .any, .any }, |
| 108219 | .dst_constraints = .{ .{ .float = .word }, .any }, | 111920 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| 108220 | .patterns = &.{ | 111921 | .patterns = &.{ |
| 108221 | .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } }, | 111922 | .{ .src = .{ .{ .to_param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 108222 | }, | 111923 | }, |
| 108223 | .call_frame = .{ .alignment = .@"16" }, | 111924 | .call_frame = .{ .alignment = .@"16" }, |
| 108224 | .extra_temps = .{ | 111925 | .extra_temps = .{ |
| ... | @@ -108234,11 +111935,39 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108234,11 +111935,39 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108234 | .unused, | 111935 | .unused, |
| 108235 | .unused, | 111936 | .unused, |
| 108236 | }, | 111937 | }, |
| 108237 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 111938 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 108238 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 111939 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 108239 | .each = .{ .once = &.{ | 111940 | .each = .{ .once = &.{ |
| 108240 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 111941 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 108241 | } }, | 111942 | } }, |
| | 111943 | }, .{ |
| | 111944 | .required_cc_abi = .win64, |
| | 111945 | .required_features = .{ .sse, null, null, null }, |
| | 111946 | .src_constraints = .{ .{ .unsigned_int = .xword }, .any, .any }, |
| | 111947 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 111948 | .patterns = &.{ |
| | 111949 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 111950 | }, |
| | 111951 | .call_frame = .{ .alignment = .@"16" }, |
| | 111952 | .extra_temps = .{ |
| | 111953 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 111954 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntihf" } }, |
| | 111955 | .unused, |
| | 111956 | .unused, |
| | 111957 | .unused, |
| | 111958 | .unused, |
| | 111959 | .unused, |
| | 111960 | .unused, |
| | 111961 | .unused, |
| | 111962 | .unused, |
| | 111963 | .unused, |
| | 111964 | }, |
| | 111965 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| | 111966 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 111967 | .each = .{ .once = &.{ |
| | 111968 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| | 111969 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 111970 | } }, |
| 108242 | }, .{ | 111971 | }, .{ |
| 108243 | .required_features = .{ .@"64bit", .sse, null, null }, | 111972 | .required_features = .{ .@"64bit", .sse, null, null }, |
| 108244 | .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any }, | 111973 | .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| ... | @@ -108248,8 +111977,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108248,8 +111977,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108248 | }, | 111977 | }, |
| 108249 | .call_frame = .{ .alignment = .@"16" }, | 111978 | .call_frame = .{ .alignment = .@"16" }, |
| 108250 | .extra_temps = .{ | 111979 | .extra_temps = .{ |
| 108251 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 111980 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108252 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 111981 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 108253 | .{ .type = .usize, .kind = .{ .extern_func = "__floateihf" } }, | 111982 | .{ .type = .usize, .kind = .{ .extern_func = "__floateihf" } }, |
| 108254 | .unused, | 111983 | .unused, |
| 108255 | .unused, | 111984 | .unused, |
| ... | @@ -108260,7 +111989,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108260,7 +111989,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108260 | .unused, | 111989 | .unused, |
| 108261 | .unused, | 111990 | .unused, |
| 108262 | }, | 111991 | }, |
| 108263 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 111992 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 108264 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 111993 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 108265 | .each = .{ .once = &.{ | 111994 | .each = .{ .once = &.{ |
| 108266 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 111995 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| ... | @@ -108276,8 +112005,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108276,8 +112005,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108276 | }, | 112005 | }, |
| 108277 | .call_frame = .{ .alignment = .@"16" }, | 112006 | .call_frame = .{ .alignment = .@"16" }, |
| 108278 | .extra_temps = .{ | 112007 | .extra_temps = .{ |
| 108279 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 112008 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108280 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 112009 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 108281 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneihf" } }, | 112010 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneihf" } }, |
| 108282 | .unused, | 112011 | .unused, |
| 108283 | .unused, | 112012 | .unused, |
| ... | @@ -108288,7 +112017,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108288,7 +112017,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108288 | .unused, | 112017 | .unused, |
| 108289 | .unused, | 112018 | .unused, |
| 108290 | }, | 112019 | }, |
| 108291 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 112020 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 108292 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 112021 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 108293 | .each = .{ .once = &.{ | 112022 | .each = .{ .once = &.{ |
| 108294 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 112023 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| ... | @@ -108359,7 +112088,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108359,7 +112088,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108359 | .{ .src = .{ .to_mem, .none, .none } }, | 112088 | .{ .src = .{ .to_mem, .none, .none } }, |
| 108360 | }, | 112089 | }, |
| 108361 | .extra_temps = .{ | 112090 | .extra_temps = .{ |
| 108362 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 112091 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 108363 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, | 112092 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| 108364 | .unused, | 112093 | .unused, |
| 108365 | .unused, | 112094 | .unused, |
| ... | @@ -108374,12 +112103,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108374,12 +112103,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108374 | .dst_temps = .{ .mem, .unused }, | 112103 | .dst_temps = .{ .mem, .unused }, |
| 108375 | .clobbers = .{ .eflags = true }, | 112104 | .clobbers = .{ .eflags = true }, |
| 108376 | .each = .{ .once = &.{ | 112105 | .each = .{ .once = &.{ |
| 108377 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 112106 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ }, |
| 108378 | .{ .@"0:", .vp_d, .movsxb, .tmp1y, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 112107 | .{ .@"0:", .vp_d, .movsxb, .tmp1y, .memi(.src0q, .tmp0), ._, ._ }, |
| 108379 | .{ ._, .v_ps, .cvtdq2, .tmp1y, .tmp1y, ._, ._ }, | 112108 | .{ ._, .v_ps, .cvtdq2, .tmp1y, .tmp1y, ._, ._ }, |
| 108380 | .{ ._, .v_, .cvtps2ph, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ }, | 112109 | .{ ._, .v_, .cvtps2ph, .memsi(.dst0x, .@"2", .tmp0), .tmp1y, .rm(.{}), ._ }, |
| 108381 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 112110 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 108382 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 112111 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 108383 | } }, | 112112 | } }, |
| 108384 | }, .{ | 112113 | }, .{ |
| 108385 | .required_features = .{ .f16c, null, null, null }, | 112114 | .required_features = .{ .f16c, null, null, null }, |
| ... | @@ -108389,7 +112118,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108389,7 +112118,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108389 | .{ .src = .{ .to_mem, .none, .none } }, | 112118 | .{ .src = .{ .to_mem, .none, .none } }, |
| 108390 | }, | 112119 | }, |
| 108391 | .extra_temps = .{ | 112120 | .extra_temps = .{ |
| 108392 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 112121 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 108393 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 112122 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 108394 | .unused, | 112123 | .unused, |
| 108395 | .unused, | 112124 | .unused, |
| ... | @@ -108404,12 +112133,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108404,12 +112133,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108404 | .dst_temps = .{ .mem, .unused }, | 112133 | .dst_temps = .{ .mem, .unused }, |
| 108405 | .clobbers = .{ .eflags = true }, | 112134 | .clobbers = .{ .eflags = true }, |
| 108406 | .each = .{ .once = &.{ | 112135 | .each = .{ .once = &.{ |
| 108407 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 112136 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_size), ._, ._ }, |
| 108408 | .{ .@"0:", .vp_d, .movsxb, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 112137 | .{ .@"0:", .vp_d, .movsxb, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 108409 | .{ ._, .v_ps, .cvtdq2, .tmp1x, .tmp1x, ._, ._ }, | 112138 | .{ ._, .v_ps, .cvtdq2, .tmp1x, .tmp1x, ._, ._ }, |
| 108410 | .{ ._, .v_, .cvtps2ph, .memsia(.dst0q, .@"2", .tmp0, .add_unaligned_size), .tmp1x, .rm(.{}), ._ }, | 112139 | .{ ._, .v_, .cvtps2ph, .memsi(.dst0q, .@"2", .tmp0), .tmp1x, .rm(.{}), ._ }, |
| 108411 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 112140 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 108412 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 112141 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 108413 | } }, | 112142 | } }, |
| 108414 | }, .{ | 112143 | }, .{ |
| 108415 | .required_features = .{ .f16c, .avx2, null, null }, | 112144 | .required_features = .{ .f16c, .avx2, null, null }, |
| ... | @@ -108419,7 +112148,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108419,7 +112148,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108419 | .{ .src = .{ .to_mem, .none, .none } }, | 112148 | .{ .src = .{ .to_mem, .none, .none } }, |
| 108420 | }, | 112149 | }, |
| 108421 | .extra_temps = .{ | 112150 | .extra_temps = .{ |
| 108422 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 112151 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 108423 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, | 112152 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| 108424 | .unused, | 112153 | .unused, |
| 108425 | .unused, | 112154 | .unused, |
| ... | @@ -108434,12 +112163,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108434,12 +112163,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108434 | .dst_temps = .{ .mem, .unused }, | 112163 | .dst_temps = .{ .mem, .unused }, |
| 108435 | .clobbers = .{ .eflags = true }, | 112164 | .clobbers = .{ .eflags = true }, |
| 108436 | .each = .{ .once = &.{ | 112165 | .each = .{ .once = &.{ |
| 108437 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 112166 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ }, |
| 108438 | .{ .@"0:", .vp_d, .movzxb, .tmp1y, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 112167 | .{ .@"0:", .vp_d, .movzxb, .tmp1y, .memi(.src0q, .tmp0), ._, ._ }, |
| 108439 | .{ ._, .v_ps, .cvtdq2, .tmp1y, .tmp1y, ._, ._ }, | 112168 | .{ ._, .v_ps, .cvtdq2, .tmp1y, .tmp1y, ._, ._ }, |
| 108440 | .{ ._, .v_, .cvtps2ph, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ }, | 112169 | .{ ._, .v_, .cvtps2ph, .memsi(.dst0x, .@"2", .tmp0), .tmp1y, .rm(.{}), ._ }, |
| 108441 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 112170 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 108442 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 112171 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 108443 | } }, | 112172 | } }, |
| 108444 | }, .{ | 112173 | }, .{ |
| 108445 | .required_features = .{ .f16c, null, null, null }, | 112174 | .required_features = .{ .f16c, null, null, null }, |
| ... | @@ -108449,7 +112178,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108449,7 +112178,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108449 | .{ .src = .{ .to_mem, .none, .none } }, | 112178 | .{ .src = .{ .to_mem, .none, .none } }, |
| 108450 | }, | 112179 | }, |
| 108451 | .extra_temps = .{ | 112180 | .extra_temps = .{ |
| 108452 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 112181 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 108453 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 112182 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 108454 | .unused, | 112183 | .unused, |
| 108455 | .unused, | 112184 | .unused, |
| ... | @@ -108464,12 +112193,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108464,12 +112193,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108464 | .dst_temps = .{ .mem, .unused }, | 112193 | .dst_temps = .{ .mem, .unused }, |
| 108465 | .clobbers = .{ .eflags = true }, | 112194 | .clobbers = .{ .eflags = true }, |
| 108466 | .each = .{ .once = &.{ | 112195 | .each = .{ .once = &.{ |
| 108467 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 112196 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_size), ._, ._ }, |
| 108468 | .{ .@"0:", .vp_d, .movzxb, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 112197 | .{ .@"0:", .vp_d, .movzxb, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 108469 | .{ ._, .v_ps, .cvtdq2, .tmp1x, .tmp1x, ._, ._ }, | 112198 | .{ ._, .v_ps, .cvtdq2, .tmp1x, .tmp1x, ._, ._ }, |
| 108470 | .{ ._, .v_, .cvtps2ph, .memsia(.dst0q, .@"2", .tmp0, .add_unaligned_size), .tmp1x, .rm(.{}), ._ }, | 112199 | .{ ._, .v_, .cvtps2ph, .memsi(.dst0q, .@"2", .tmp0), .tmp1x, .rm(.{}), ._ }, |
| 108471 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 112200 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 108472 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 112201 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 108473 | } }, | 112202 | } }, |
| 108474 | }, .{ | 112203 | }, .{ |
| 108475 | .required_features = .{ .avx, .slow_incdec, null, null }, | 112204 | .required_features = .{ .avx, .slow_incdec, null, null }, |
| ... | @@ -108480,10 +112209,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108480,10 +112209,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108480 | }, | 112209 | }, |
| 108481 | .call_frame = .{ .alignment = .@"16" }, | 112210 | .call_frame = .{ .alignment = .@"16" }, |
| 108482 | .extra_temps = .{ | 112211 | .extra_temps = .{ |
| 108483 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 112212 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 108484 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 112213 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108485 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, | 112214 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, |
| 108486 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 112215 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108487 | .unused, | 112216 | .unused, |
| 108488 | .unused, | 112217 | .unused, |
| 108489 | .unused, | 112218 | .unused, |
| ... | @@ -108495,12 +112224,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108495,12 +112224,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108495 | .dst_temps = .{ .mem, .unused }, | 112224 | .dst_temps = .{ .mem, .unused }, |
| 108496 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 112225 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 108497 | .each = .{ .once = &.{ | 112226 | .each = .{ .once = &.{ |
| 108498 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 112227 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 108499 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 112228 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 108500 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 112229 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 108501 | .{ ._, .vp_w, .extr, .memsia(.dst0w, .@"2", .tmp0, .add_unaligned_size), .tmp3x, .ui(0), ._ }, | 112230 | .{ ._, .vp_w, .extr, .memsi(.dst0w, .@"2", .tmp0), .tmp3x, .ui(0), ._ }, |
| 108502 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 112231 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 108503 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 112232 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 108504 | } }, | 112233 | } }, |
| 108505 | }, .{ | 112234 | }, .{ |
| 108506 | .required_features = .{ .avx, null, null, null }, | 112235 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -108511,10 +112240,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108511,10 +112240,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108511 | }, | 112240 | }, |
| 108512 | .call_frame = .{ .alignment = .@"16" }, | 112241 | .call_frame = .{ .alignment = .@"16" }, |
| 108513 | .extra_temps = .{ | 112242 | .extra_temps = .{ |
| 108514 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 112243 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 108515 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 112244 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108516 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, | 112245 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, |
| 108517 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 112246 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108518 | .unused, | 112247 | .unused, |
| 108519 | .unused, | 112248 | .unused, |
| 108520 | .unused, | 112249 | .unused, |
| ... | @@ -108526,12 +112255,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108526,12 +112255,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108526 | .dst_temps = .{ .mem, .unused }, | 112255 | .dst_temps = .{ .mem, .unused }, |
| 108527 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 112256 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 108528 | .each = .{ .once = &.{ | 112257 | .each = .{ .once = &.{ |
| 108529 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 112258 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 108530 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 112259 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 108531 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 112260 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 108532 | .{ ._, .vp_w, .extr, .memsia(.dst0w, .@"2", .tmp0, .add_unaligned_size), .tmp3x, .ui(0), ._ }, | 112261 | .{ ._, .vp_w, .extr, .memsi(.dst0w, .@"2", .tmp0), .tmp3x, .ui(0), ._ }, |
| 108533 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 112262 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 108534 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 112263 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 108535 | } }, | 112264 | } }, |
| 108536 | }, .{ | 112265 | }, .{ |
| 108537 | .required_features = .{ .sse4_1, .slow_incdec, null, null }, | 112266 | .required_features = .{ .sse4_1, .slow_incdec, null, null }, |
| ... | @@ -108542,10 +112271,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108542,10 +112271,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108542 | }, | 112271 | }, |
| 108543 | .call_frame = .{ .alignment = .@"16" }, | 112272 | .call_frame = .{ .alignment = .@"16" }, |
| 108544 | .extra_temps = .{ | 112273 | .extra_temps = .{ |
| 108545 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 112274 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 108546 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 112275 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108547 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, | 112276 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, |
| 108548 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 112277 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108549 | .unused, | 112278 | .unused, |
| 108550 | .unused, | 112279 | .unused, |
| 108551 | .unused, | 112280 | .unused, |
| ... | @@ -108557,12 +112286,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108557,12 +112286,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108557 | .dst_temps = .{ .mem, .unused }, | 112286 | .dst_temps = .{ .mem, .unused }, |
| 108558 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 112287 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 108559 | .each = .{ .once = &.{ | 112288 | .each = .{ .once = &.{ |
| 108560 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 112289 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 108561 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 112290 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 108562 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 112291 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 108563 | .{ ._, .p_w, .extr, .memsia(.dst0w, .@"2", .tmp0, .add_unaligned_size), .tmp3x, .ui(0), ._ }, | 112292 | .{ ._, .p_w, .extr, .memsi(.dst0w, .@"2", .tmp0), .tmp3x, .ui(0), ._ }, |
| 108564 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 112293 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 108565 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 112294 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 108566 | } }, | 112295 | } }, |
| 108567 | }, .{ | 112296 | }, .{ |
| 108568 | .required_features = .{ .sse4_1, null, null, null }, | 112297 | .required_features = .{ .sse4_1, null, null, null }, |
| ... | @@ -108573,10 +112302,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108573,10 +112302,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108573 | }, | 112302 | }, |
| 108574 | .call_frame = .{ .alignment = .@"16" }, | 112303 | .call_frame = .{ .alignment = .@"16" }, |
| 108575 | .extra_temps = .{ | 112304 | .extra_temps = .{ |
| 108576 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 112305 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 108577 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 112306 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108578 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, | 112307 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, |
| 108579 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 112308 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108580 | .unused, | 112309 | .unused, |
| 108581 | .unused, | 112310 | .unused, |
| 108582 | .unused, | 112311 | .unused, |
| ... | @@ -108588,12 +112317,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108588,12 +112317,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108588 | .dst_temps = .{ .mem, .unused }, | 112317 | .dst_temps = .{ .mem, .unused }, |
| 108589 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 112318 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 108590 | .each = .{ .once = &.{ | 112319 | .each = .{ .once = &.{ |
| 108591 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 112320 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 108592 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 112321 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 108593 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 112322 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 108594 | .{ ._, .p_w, .extr, .memsia(.dst0w, .@"2", .tmp0, .add_unaligned_size), .tmp3x, .ui(0), ._ }, | 112323 | .{ ._, .p_w, .extr, .memsi(.dst0w, .@"2", .tmp0), .tmp3x, .ui(0), ._ }, |
| 108595 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 112324 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 108596 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 112325 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 108597 | } }, | 112326 | } }, |
| 108598 | }, .{ | 112327 | }, .{ |
| 108599 | .required_features = .{ .sse2, .slow_incdec, null, null }, | 112328 | .required_features = .{ .sse2, .slow_incdec, null, null }, |
| ... | @@ -108604,10 +112333,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108604,10 +112333,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108604 | }, | 112333 | }, |
| 108605 | .call_frame = .{ .alignment = .@"16" }, | 112334 | .call_frame = .{ .alignment = .@"16" }, |
| 108606 | .extra_temps = .{ | 112335 | .extra_temps = .{ |
| 108607 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 112336 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 108608 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 112337 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108609 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, | 112338 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, |
| 108610 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 112339 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108611 | .unused, | 112340 | .unused, |
| 108612 | .unused, | 112341 | .unused, |
| 108613 | .unused, | 112342 | .unused, |
| ... | @@ -108619,13 +112348,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108619,13 +112348,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108619 | .dst_temps = .{ .mem, .unused }, | 112348 | .dst_temps = .{ .mem, .unused }, |
| 108620 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 112349 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 108621 | .each = .{ .once = &.{ | 112350 | .each = .{ .once = &.{ |
| 108622 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 112351 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 108623 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 112352 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 108624 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 112353 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 108625 | .{ ._, .p_w, .extr, .tmp1d, .tmp3x, .ui(0), ._ }, | 112354 | .{ ._, .p_w, .extr, .tmp1d, .tmp3x, .ui(0), ._ }, |
| 108626 | .{ ._, ._, .mov, .memsia(.dst0w, .@"2", .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | 112355 | .{ ._, ._, .mov, .memsi(.dst0w, .@"2", .tmp0), .tmp1w, ._, ._ }, |
| 108627 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 112356 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 108628 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 112357 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 108629 | } }, | 112358 | } }, |
| 108630 | }, .{ | 112359 | }, .{ |
| 108631 | .required_features = .{ .sse2, null, null, null }, | 112360 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -108636,10 +112365,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108636,10 +112365,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108636 | }, | 112365 | }, |
| 108637 | .call_frame = .{ .alignment = .@"16" }, | 112366 | .call_frame = .{ .alignment = .@"16" }, |
| 108638 | .extra_temps = .{ | 112367 | .extra_temps = .{ |
| 108639 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 112368 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 108640 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 112369 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108641 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, | 112370 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, |
| 108642 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 112371 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108643 | .unused, | 112372 | .unused, |
| 108644 | .unused, | 112373 | .unused, |
| 108645 | .unused, | 112374 | .unused, |
| ... | @@ -108651,13 +112380,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108651,13 +112380,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108651 | .dst_temps = .{ .mem, .unused }, | 112380 | .dst_temps = .{ .mem, .unused }, |
| 108652 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 112381 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 108653 | .each = .{ .once = &.{ | 112382 | .each = .{ .once = &.{ |
| 108654 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 112383 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 108655 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 112384 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 108656 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 112385 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 108657 | .{ ._, .p_w, .extr, .tmp1d, .tmp3x, .ui(0), ._ }, | 112386 | .{ ._, .p_w, .extr, .tmp1d, .tmp3x, .ui(0), ._ }, |
| 108658 | .{ ._, ._, .mov, .memsia(.dst0w, .@"2", .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | 112387 | .{ ._, ._, .mov, .memsi(.dst0w, .@"2", .tmp0), .tmp1w, ._, ._ }, |
| 108659 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 112388 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 108660 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 112389 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 108661 | } }, | 112390 | } }, |
| 108662 | }, .{ | 112391 | }, .{ |
| 108663 | .required_features = .{ .sse, .slow_incdec, null, null }, | 112392 | .required_features = .{ .sse, .slow_incdec, null, null }, |
| ... | @@ -108668,10 +112397,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108668,10 +112397,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108668 | }, | 112397 | }, |
| 108669 | .call_frame = .{ .alignment = .@"16" }, | 112398 | .call_frame = .{ .alignment = .@"16" }, |
| 108670 | .extra_temps = .{ | 112399 | .extra_temps = .{ |
| 108671 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 112400 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 108672 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 112401 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108673 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, | 112402 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, |
| 108674 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 112403 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108675 | .{ .type = .f32, .kind = .mem }, | 112404 | .{ .type = .f32, .kind = .mem }, |
| 108676 | .unused, | 112405 | .unused, |
| 108677 | .unused, | 112406 | .unused, |
| ... | @@ -108683,14 +112412,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108683,14 +112412,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108683 | .dst_temps = .{ .mem, .unused }, | 112412 | .dst_temps = .{ .mem, .unused }, |
| 108684 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 112413 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 108685 | .each = .{ .once = &.{ | 112414 | .each = .{ .once = &.{ |
| 108686 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 112415 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 108687 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 112416 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 108688 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 112417 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 108689 | .{ ._, ._ss, .mov, .tmp4d, .tmp3d, ._, ._ }, | 112418 | .{ ._, ._ss, .mov, .tmp4d, .tmp3d, ._, ._ }, |
| 108690 | .{ ._, ._, .mov, .tmp1d, .tmp4d, ._, ._ }, | 112419 | .{ ._, ._, .mov, .tmp1d, .tmp4d, ._, ._ }, |
| 108691 | .{ ._, ._, .mov, .memsia(.dst0w, .@"2", .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | 112420 | .{ ._, ._, .mov, .memsi(.dst0w, .@"2", .tmp0), .tmp1w, ._, ._ }, |
| 108692 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 112421 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 108693 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 112422 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 108694 | } }, | 112423 | } }, |
| 108695 | }, .{ | 112424 | }, .{ |
| 108696 | .required_features = .{ .sse, null, null, null }, | 112425 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -108701,10 +112430,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108701,10 +112430,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108701 | }, | 112430 | }, |
| 108702 | .call_frame = .{ .alignment = .@"16" }, | 112431 | .call_frame = .{ .alignment = .@"16" }, |
| 108703 | .extra_temps = .{ | 112432 | .extra_temps = .{ |
| 108704 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 112433 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 108705 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 112434 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108706 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, | 112435 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, |
| 108707 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 112436 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108708 | .{ .type = .f32, .kind = .mem }, | 112437 | .{ .type = .f32, .kind = .mem }, |
| 108709 | .unused, | 112438 | .unused, |
| 108710 | .unused, | 112439 | .unused, |
| ... | @@ -108716,14 +112445,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108716,14 +112445,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108716 | .dst_temps = .{ .mem, .unused }, | 112445 | .dst_temps = .{ .mem, .unused }, |
| 108717 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 112446 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 108718 | .each = .{ .once = &.{ | 112447 | .each = .{ .once = &.{ |
| 108719 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 112448 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 108720 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 112449 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 108721 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 112450 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 108722 | .{ ._, ._ss, .mov, .tmp4d, .tmp3d, ._, ._ }, | 112451 | .{ ._, ._ss, .mov, .tmp4d, .tmp3d, ._, ._ }, |
| 108723 | .{ ._, ._, .mov, .tmp1d, .tmp4d, ._, ._ }, | 112452 | .{ ._, ._, .mov, .tmp1d, .tmp4d, ._, ._ }, |
| 108724 | .{ ._, ._, .mov, .memsia(.dst0w, .@"2", .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | 112453 | .{ ._, ._, .mov, .memsi(.dst0w, .@"2", .tmp0), .tmp1w, ._, ._ }, |
| 108725 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 112454 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 108726 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 112455 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 108727 | } }, | 112456 | } }, |
| 108728 | }, .{ | 112457 | }, .{ |
| 108729 | .required_features = .{ .avx, .slow_incdec, null, null }, | 112458 | .required_features = .{ .avx, .slow_incdec, null, null }, |
| ... | @@ -108734,10 +112463,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108734,10 +112463,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108734 | }, | 112463 | }, |
| 108735 | .call_frame = .{ .alignment = .@"16" }, | 112464 | .call_frame = .{ .alignment = .@"16" }, |
| 108736 | .extra_temps = .{ | 112465 | .extra_temps = .{ |
| 108737 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 112466 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 108738 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 112467 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108739 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, | 112468 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, |
| 108740 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 112469 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108741 | .unused, | 112470 | .unused, |
| 108742 | .unused, | 112471 | .unused, |
| 108743 | .unused, | 112472 | .unused, |
| ... | @@ -108749,12 +112478,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108749,12 +112478,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108749 | .dst_temps = .{ .mem, .unused }, | 112478 | .dst_temps = .{ .mem, .unused }, |
| 108750 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 112479 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 108751 | .each = .{ .once = &.{ | 112480 | .each = .{ .once = &.{ |
| 108752 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 112481 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 108753 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 112482 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 108754 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 112483 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 108755 | .{ ._, .vp_w, .extr, .memsia(.dst0w, .@"2", .tmp0, .add_unaligned_size), .tmp3x, .ui(0), ._ }, | 112484 | .{ ._, .vp_w, .extr, .memsi(.dst0w, .@"2", .tmp0), .tmp3x, .ui(0), ._ }, |
| 108756 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 112485 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 108757 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 112486 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 108758 | } }, | 112487 | } }, |
| 108759 | }, .{ | 112488 | }, .{ |
| 108760 | .required_features = .{ .avx, null, null, null }, | 112489 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -108765,10 +112494,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108765,10 +112494,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108765 | }, | 112494 | }, |
| 108766 | .call_frame = .{ .alignment = .@"16" }, | 112495 | .call_frame = .{ .alignment = .@"16" }, |
| 108767 | .extra_temps = .{ | 112496 | .extra_temps = .{ |
| 108768 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 112497 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 108769 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 112498 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108770 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, | 112499 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, |
| 108771 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 112500 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108772 | .unused, | 112501 | .unused, |
| 108773 | .unused, | 112502 | .unused, |
| 108774 | .unused, | 112503 | .unused, |
| ... | @@ -108780,12 +112509,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108780,12 +112509,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108780 | .dst_temps = .{ .mem, .unused }, | 112509 | .dst_temps = .{ .mem, .unused }, |
| 108781 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 112510 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 108782 | .each = .{ .once = &.{ | 112511 | .each = .{ .once = &.{ |
| 108783 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 112512 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 108784 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 112513 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 108785 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 112514 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 108786 | .{ ._, .vp_w, .extr, .memsia(.dst0w, .@"2", .tmp0, .add_unaligned_size), .tmp3x, .ui(0), ._ }, | 112515 | .{ ._, .vp_w, .extr, .memsi(.dst0w, .@"2", .tmp0), .tmp3x, .ui(0), ._ }, |
| 108787 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 112516 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 108788 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 112517 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 108789 | } }, | 112518 | } }, |
| 108790 | }, .{ | 112519 | }, .{ |
| 108791 | .required_features = .{ .sse4_1, .slow_incdec, null, null }, | 112520 | .required_features = .{ .sse4_1, .slow_incdec, null, null }, |
| ... | @@ -108796,10 +112525,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108796,10 +112525,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108796 | }, | 112525 | }, |
| 108797 | .call_frame = .{ .alignment = .@"16" }, | 112526 | .call_frame = .{ .alignment = .@"16" }, |
| 108798 | .extra_temps = .{ | 112527 | .extra_temps = .{ |
| 108799 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 112528 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 108800 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 112529 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108801 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, | 112530 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, |
| 108802 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 112531 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108803 | .unused, | 112532 | .unused, |
| 108804 | .unused, | 112533 | .unused, |
| 108805 | .unused, | 112534 | .unused, |
| ... | @@ -108811,12 +112540,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108811,12 +112540,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108811 | .dst_temps = .{ .mem, .unused }, | 112540 | .dst_temps = .{ .mem, .unused }, |
| 108812 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 112541 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 108813 | .each = .{ .once = &.{ | 112542 | .each = .{ .once = &.{ |
| 108814 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 112543 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 108815 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 112544 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 108816 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 112545 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 108817 | .{ ._, .p_w, .extr, .memsia(.dst0w, .@"2", .tmp0, .add_unaligned_size), .tmp3x, .ui(0), ._ }, | 112546 | .{ ._, .p_w, .extr, .memsi(.dst0w, .@"2", .tmp0), .tmp3x, .ui(0), ._ }, |
| 108818 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 112547 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 108819 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 112548 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 108820 | } }, | 112549 | } }, |
| 108821 | }, .{ | 112550 | }, .{ |
| 108822 | .required_features = .{ .sse4_1, null, null, null }, | 112551 | .required_features = .{ .sse4_1, null, null, null }, |
| ... | @@ -108827,10 +112556,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108827,10 +112556,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108827 | }, | 112556 | }, |
| 108828 | .call_frame = .{ .alignment = .@"16" }, | 112557 | .call_frame = .{ .alignment = .@"16" }, |
| 108829 | .extra_temps = .{ | 112558 | .extra_temps = .{ |
| 108830 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 112559 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 108831 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 112560 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108832 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, | 112561 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, |
| 108833 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 112562 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108834 | .unused, | 112563 | .unused, |
| 108835 | .unused, | 112564 | .unused, |
| 108836 | .unused, | 112565 | .unused, |
| ... | @@ -108842,12 +112571,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108842,12 +112571,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108842 | .dst_temps = .{ .mem, .unused }, | 112571 | .dst_temps = .{ .mem, .unused }, |
| 108843 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 112572 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 108844 | .each = .{ .once = &.{ | 112573 | .each = .{ .once = &.{ |
| 108845 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 112574 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 108846 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 112575 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 108847 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 112576 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 108848 | .{ ._, .p_w, .extr, .memsia(.dst0w, .@"2", .tmp0, .add_unaligned_size), .tmp3x, .ui(0), ._ }, | 112577 | .{ ._, .p_w, .extr, .memsi(.dst0w, .@"2", .tmp0), .tmp3x, .ui(0), ._ }, |
| 108849 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 112578 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 108850 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 112579 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 108851 | } }, | 112580 | } }, |
| 108852 | }, .{ | 112581 | }, .{ |
| 108853 | .required_features = .{ .sse2, .slow_incdec, null, null }, | 112582 | .required_features = .{ .sse2, .slow_incdec, null, null }, |
| ... | @@ -108858,10 +112587,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108858,10 +112587,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108858 | }, | 112587 | }, |
| 108859 | .call_frame = .{ .alignment = .@"16" }, | 112588 | .call_frame = .{ .alignment = .@"16" }, |
| 108860 | .extra_temps = .{ | 112589 | .extra_temps = .{ |
| 108861 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 112590 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 108862 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 112591 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108863 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, | 112592 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, |
| 108864 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 112593 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108865 | .unused, | 112594 | .unused, |
| 108866 | .unused, | 112595 | .unused, |
| 108867 | .unused, | 112596 | .unused, |
| ... | @@ -108873,13 +112602,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108873,13 +112602,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108873 | .dst_temps = .{ .mem, .unused }, | 112602 | .dst_temps = .{ .mem, .unused }, |
| 108874 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 112603 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 108875 | .each = .{ .once = &.{ | 112604 | .each = .{ .once = &.{ |
| 108876 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 112605 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 108877 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 112606 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 108878 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 112607 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 108879 | .{ ._, .p_w, .extr, .tmp1d, .tmp3x, .ui(0), ._ }, | 112608 | .{ ._, .p_w, .extr, .tmp1d, .tmp3x, .ui(0), ._ }, |
| 108880 | .{ ._, ._, .mov, .memsia(.dst0w, .@"2", .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | 112609 | .{ ._, ._, .mov, .memsi(.dst0w, .@"2", .tmp0), .tmp1w, ._, ._ }, |
| 108881 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 112610 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 108882 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 112611 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 108883 | } }, | 112612 | } }, |
| 108884 | }, .{ | 112613 | }, .{ |
| 108885 | .required_features = .{ .sse2, null, null, null }, | 112614 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -108890,10 +112619,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108890,10 +112619,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108890 | }, | 112619 | }, |
| 108891 | .call_frame = .{ .alignment = .@"16" }, | 112620 | .call_frame = .{ .alignment = .@"16" }, |
| 108892 | .extra_temps = .{ | 112621 | .extra_temps = .{ |
| 108893 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 112622 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 108894 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 112623 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108895 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, | 112624 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, |
| 108896 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 112625 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108897 | .unused, | 112626 | .unused, |
| 108898 | .unused, | 112627 | .unused, |
| 108899 | .unused, | 112628 | .unused, |
| ... | @@ -108905,13 +112634,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108905,13 +112634,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108905 | .dst_temps = .{ .mem, .unused }, | 112634 | .dst_temps = .{ .mem, .unused }, |
| 108906 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 112635 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 108907 | .each = .{ .once = &.{ | 112636 | .each = .{ .once = &.{ |
| 108908 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 112637 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 108909 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 112638 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 108910 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 112639 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 108911 | .{ ._, .p_w, .extr, .tmp1d, .tmp3x, .ui(0), ._ }, | 112640 | .{ ._, .p_w, .extr, .tmp1d, .tmp3x, .ui(0), ._ }, |
| 108912 | .{ ._, ._, .mov, .memsia(.dst0w, .@"2", .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | 112641 | .{ ._, ._, .mov, .memsi(.dst0w, .@"2", .tmp0), .tmp1w, ._, ._ }, |
| 108913 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 112642 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 108914 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 112643 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 108915 | } }, | 112644 | } }, |
| 108916 | }, .{ | 112645 | }, .{ |
| 108917 | .required_features = .{ .sse, .slow_incdec, null, null }, | 112646 | .required_features = .{ .sse, .slow_incdec, null, null }, |
| ... | @@ -108922,10 +112651,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108922,10 +112651,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108922 | }, | 112651 | }, |
| 108923 | .call_frame = .{ .alignment = .@"16" }, | 112652 | .call_frame = .{ .alignment = .@"16" }, |
| 108924 | .extra_temps = .{ | 112653 | .extra_temps = .{ |
| 108925 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 112654 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 108926 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 112655 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108927 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, | 112656 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, |
| 108928 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 112657 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108929 | .{ .type = .f32, .kind = .mem }, | 112658 | .{ .type = .f32, .kind = .mem }, |
| 108930 | .unused, | 112659 | .unused, |
| 108931 | .unused, | 112660 | .unused, |
| ... | @@ -108937,14 +112666,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108937,14 +112666,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108937 | .dst_temps = .{ .mem, .unused }, | 112666 | .dst_temps = .{ .mem, .unused }, |
| 108938 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 112667 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 108939 | .each = .{ .once = &.{ | 112668 | .each = .{ .once = &.{ |
| 108940 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 112669 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 108941 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 112670 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 108942 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 112671 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 108943 | .{ ._, ._ss, .mov, .tmp4d, .tmp3d, ._, ._ }, | 112672 | .{ ._, ._ss, .mov, .tmp4d, .tmp3d, ._, ._ }, |
| 108944 | .{ ._, ._, .mov, .tmp1d, .tmp4d, ._, ._ }, | 112673 | .{ ._, ._, .mov, .tmp1d, .tmp4d, ._, ._ }, |
| 108945 | .{ ._, ._, .mov, .memsia(.dst0w, .@"2", .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | 112674 | .{ ._, ._, .mov, .memsi(.dst0w, .@"2", .tmp0), .tmp1w, ._, ._ }, |
| 108946 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 112675 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 108947 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 112676 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 108948 | } }, | 112677 | } }, |
| 108949 | }, .{ | 112678 | }, .{ |
| 108950 | .required_features = .{ .sse, null, null, null }, | 112679 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -108955,10 +112684,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108955,10 +112684,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108955 | }, | 112684 | }, |
| 108956 | .call_frame = .{ .alignment = .@"16" }, | 112685 | .call_frame = .{ .alignment = .@"16" }, |
| 108957 | .extra_temps = .{ | 112686 | .extra_temps = .{ |
| 108958 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 112687 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 108959 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 112688 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108960 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, | 112689 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, |
| 108961 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 112690 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 108962 | .{ .type = .f32, .kind = .mem }, | 112691 | .{ .type = .f32, .kind = .mem }, |
| 108963 | .unused, | 112692 | .unused, |
| 108964 | .unused, | 112693 | .unused, |
| ... | @@ -108970,14 +112699,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -108970,14 +112699,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 108970 | .dst_temps = .{ .mem, .unused }, | 112699 | .dst_temps = .{ .mem, .unused }, |
| 108971 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 112700 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 108972 | .each = .{ .once = &.{ | 112701 | .each = .{ .once = &.{ |
| 108973 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 112702 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 108974 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 112703 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 108975 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 112704 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 108976 | .{ ._, ._ss, .mov, .tmp4d, .tmp3d, ._, ._ }, | 112705 | .{ ._, ._ss, .mov, .tmp4d, .tmp3d, ._, ._ }, |
| 108977 | .{ ._, ._, .mov, .tmp1d, .tmp4d, ._, ._ }, | 112706 | .{ ._, ._, .mov, .tmp1d, .tmp4d, ._, ._ }, |
| 108978 | .{ ._, ._, .mov, .memsia(.dst0w, .@"2", .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | 112707 | .{ ._, ._, .mov, .memsi(.dst0w, .@"2", .tmp0), .tmp1w, ._, ._ }, |
| 108979 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 112708 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 108980 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 112709 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 108981 | } }, | 112710 | } }, |
| 108982 | }, .{ | 112711 | }, .{ |
| 108983 | .required_features = .{ .f16c, null, null, null }, | 112712 | .required_features = .{ .f16c, null, null, null }, |
| ... | @@ -109043,7 +112772,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109043,7 +112772,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109043 | .{ .src = .{ .to_mem, .none, .none } }, | 112772 | .{ .src = .{ .to_mem, .none, .none } }, |
| 109044 | }, | 112773 | }, |
| 109045 | .extra_temps = .{ | 112774 | .extra_temps = .{ |
| 109046 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 112775 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 109047 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, | 112776 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| 109048 | .unused, | 112777 | .unused, |
| 109049 | .unused, | 112778 | .unused, |
| ... | @@ -109058,12 +112787,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109058,12 +112787,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109058 | .dst_temps = .{ .mem, .unused }, | 112787 | .dst_temps = .{ .mem, .unused }, |
| 109059 | .clobbers = .{ .eflags = true }, | 112788 | .clobbers = .{ .eflags = true }, |
| 109060 | .each = .{ .once = &.{ | 112789 | .each = .{ .once = &.{ |
| 109061 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 112790 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ }, |
| 109062 | .{ .@"0:", .vp_d, .movsxw, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 112791 | .{ .@"0:", .vp_d, .movsxw, .tmp1y, .memi(.src0x, .tmp0), ._, ._ }, |
| 109063 | .{ ._, .v_ps, .cvtdq2, .tmp1y, .tmp1y, ._, ._ }, | 112792 | .{ ._, .v_ps, .cvtdq2, .tmp1y, .tmp1y, ._, ._ }, |
| 109064 | .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ }, | 112793 | .{ ._, .v_, .cvtps2ph, .memi(.dst0x, .tmp0), .tmp1y, .rm(.{}), ._ }, |
| 109065 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 112794 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 109066 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 112795 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 109067 | } }, | 112796 | } }, |
| 109068 | }, .{ | 112797 | }, .{ |
| 109069 | .required_features = .{ .f16c, null, null, null }, | 112798 | .required_features = .{ .f16c, null, null, null }, |
| ... | @@ -109073,7 +112802,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109073,7 +112802,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109073 | .{ .src = .{ .to_mem, .none, .none } }, | 112802 | .{ .src = .{ .to_mem, .none, .none } }, |
| 109074 | }, | 112803 | }, |
| 109075 | .extra_temps = .{ | 112804 | .extra_temps = .{ |
| 109076 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 112805 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 109077 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 112806 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 109078 | .unused, | 112807 | .unused, |
| 109079 | .unused, | 112808 | .unused, |
| ... | @@ -109088,12 +112817,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109088,12 +112817,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109088 | .dst_temps = .{ .mem, .unused }, | 112817 | .dst_temps = .{ .mem, .unused }, |
| 109089 | .clobbers = .{ .eflags = true }, | 112818 | .clobbers = .{ .eflags = true }, |
| 109090 | .each = .{ .once = &.{ | 112819 | .each = .{ .once = &.{ |
| 109091 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 112820 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ }, |
| 109092 | .{ .@"0:", .vp_d, .movsxw, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 112821 | .{ .@"0:", .vp_d, .movsxw, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 109093 | .{ ._, .v_ps, .cvtdq2, .tmp1x, .tmp1x, ._, ._ }, | 112822 | .{ ._, .v_ps, .cvtdq2, .tmp1x, .tmp1x, ._, ._ }, |
| 109094 | .{ ._, .v_, .cvtps2ph, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, .rm(.{}), ._ }, | 112823 | .{ ._, .v_, .cvtps2ph, .memi(.dst0q, .tmp0), .tmp1x, .rm(.{}), ._ }, |
| 109095 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 112824 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 109096 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 112825 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 109097 | } }, | 112826 | } }, |
| 109098 | }, .{ | 112827 | }, .{ |
| 109099 | .required_features = .{ .f16c, .avx2, null, null }, | 112828 | .required_features = .{ .f16c, .avx2, null, null }, |
| ... | @@ -109103,7 +112832,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109103,7 +112832,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109103 | .{ .src = .{ .to_mem, .none, .none } }, | 112832 | .{ .src = .{ .to_mem, .none, .none } }, |
| 109104 | }, | 112833 | }, |
| 109105 | .extra_temps = .{ | 112834 | .extra_temps = .{ |
| 109106 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 112835 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 109107 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, | 112836 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| 109108 | .unused, | 112837 | .unused, |
| 109109 | .unused, | 112838 | .unused, |
| ... | @@ -109118,12 +112847,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109118,12 +112847,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109118 | .dst_temps = .{ .mem, .unused }, | 112847 | .dst_temps = .{ .mem, .unused }, |
| 109119 | .clobbers = .{ .eflags = true }, | 112848 | .clobbers = .{ .eflags = true }, |
| 109120 | .each = .{ .once = &.{ | 112849 | .each = .{ .once = &.{ |
| 109121 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 112850 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ }, |
| 109122 | .{ .@"0:", .vp_d, .movzxw, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 112851 | .{ .@"0:", .vp_d, .movzxw, .tmp1y, .memi(.src0x, .tmp0), ._, ._ }, |
| 109123 | .{ ._, .v_ps, .cvtdq2, .tmp1y, .tmp1y, ._, ._ }, | 112852 | .{ ._, .v_ps, .cvtdq2, .tmp1y, .tmp1y, ._, ._ }, |
| 109124 | .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ }, | 112853 | .{ ._, .v_, .cvtps2ph, .memi(.dst0x, .tmp0), .tmp1y, .rm(.{}), ._ }, |
| 109125 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 112854 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 109126 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 112855 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 109127 | } }, | 112856 | } }, |
| 109128 | }, .{ | 112857 | }, .{ |
| 109129 | .required_features = .{ .f16c, null, null, null }, | 112858 | .required_features = .{ .f16c, null, null, null }, |
| ... | @@ -109133,7 +112862,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109133,7 +112862,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109133 | .{ .src = .{ .to_mem, .none, .none } }, | 112862 | .{ .src = .{ .to_mem, .none, .none } }, |
| 109134 | }, | 112863 | }, |
| 109135 | .extra_temps = .{ | 112864 | .extra_temps = .{ |
| 109136 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 112865 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 109137 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 112866 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 109138 | .unused, | 112867 | .unused, |
| 109139 | .unused, | 112868 | .unused, |
| ... | @@ -109148,12 +112877,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109148,12 +112877,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109148 | .dst_temps = .{ .mem, .unused }, | 112877 | .dst_temps = .{ .mem, .unused }, |
| 109149 | .clobbers = .{ .eflags = true }, | 112878 | .clobbers = .{ .eflags = true }, |
| 109150 | .each = .{ .once = &.{ | 112879 | .each = .{ .once = &.{ |
| 109151 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 112880 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ }, |
| 109152 | .{ .@"0:", .vp_d, .movzxw, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 112881 | .{ .@"0:", .vp_d, .movzxw, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 109153 | .{ ._, .v_ps, .cvtdq2, .tmp1x, .tmp1x, ._, ._ }, | 112882 | .{ ._, .v_ps, .cvtdq2, .tmp1x, .tmp1x, ._, ._ }, |
| 109154 | .{ ._, .v_, .cvtps2ph, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, .rm(.{}), ._ }, | 112883 | .{ ._, .v_, .cvtps2ph, .memi(.dst0q, .tmp0), .tmp1x, .rm(.{}), ._ }, |
| 109155 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 112884 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 109156 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 112885 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 109157 | } }, | 112886 | } }, |
| 109158 | }, .{ | 112887 | }, .{ |
| 109159 | .required_features = .{ .avx, null, null, null }, | 112888 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -109164,10 +112893,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109164,10 +112893,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109164 | }, | 112893 | }, |
| 109165 | .call_frame = .{ .alignment = .@"16" }, | 112894 | .call_frame = .{ .alignment = .@"16" }, |
| 109166 | .extra_temps = .{ | 112895 | .extra_temps = .{ |
| 109167 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 112896 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 109168 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 112897 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109169 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, | 112898 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, |
| 109170 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 112899 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109171 | .unused, | 112900 | .unused, |
| 109172 | .unused, | 112901 | .unused, |
| 109173 | .unused, | 112902 | .unused, |
| ... | @@ -109179,12 +112908,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109179,12 +112908,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109179 | .dst_temps = .{ .mem, .unused }, | 112908 | .dst_temps = .{ .mem, .unused }, |
| 109180 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 112909 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 109181 | .each = .{ .once = &.{ | 112910 | .each = .{ .once = &.{ |
| 109182 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 112911 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 109183 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 112912 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 109184 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 112913 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 109185 | .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3x, .ui(0), ._ }, | 112914 | .{ ._, .vp_w, .extr, .memi(.dst0w, .tmp0), .tmp3x, .ui(0), ._ }, |
| 109186 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 112915 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 109187 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 112916 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 109188 | } }, | 112917 | } }, |
| 109189 | }, .{ | 112918 | }, .{ |
| 109190 | .required_features = .{ .sse4_1, null, null, null }, | 112919 | .required_features = .{ .sse4_1, null, null, null }, |
| ... | @@ -109195,10 +112924,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109195,10 +112924,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109195 | }, | 112924 | }, |
| 109196 | .call_frame = .{ .alignment = .@"16" }, | 112925 | .call_frame = .{ .alignment = .@"16" }, |
| 109197 | .extra_temps = .{ | 112926 | .extra_temps = .{ |
| 109198 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 112927 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 109199 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 112928 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109200 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, | 112929 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, |
| 109201 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 112930 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109202 | .unused, | 112931 | .unused, |
| 109203 | .unused, | 112932 | .unused, |
| 109204 | .unused, | 112933 | .unused, |
| ... | @@ -109210,12 +112939,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109210,12 +112939,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109210 | .dst_temps = .{ .mem, .unused }, | 112939 | .dst_temps = .{ .mem, .unused }, |
| 109211 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 112940 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 109212 | .each = .{ .once = &.{ | 112941 | .each = .{ .once = &.{ |
| 109213 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 112942 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 109214 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 112943 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 109215 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 112944 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 109216 | .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3x, .ui(0), ._ }, | 112945 | .{ ._, .p_w, .extr, .memi(.dst0w, .tmp0), .tmp3x, .ui(0), ._ }, |
| 109217 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 112946 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 109218 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 112947 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 109219 | } }, | 112948 | } }, |
| 109220 | }, .{ | 112949 | }, .{ |
| 109221 | .required_features = .{ .sse2, null, null, null }, | 112950 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -109226,10 +112955,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109226,10 +112955,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109226 | }, | 112955 | }, |
| 109227 | .call_frame = .{ .alignment = .@"16" }, | 112956 | .call_frame = .{ .alignment = .@"16" }, |
| 109228 | .extra_temps = .{ | 112957 | .extra_temps = .{ |
| 109229 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 112958 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 109230 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 112959 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109231 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, | 112960 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, |
| 109232 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 112961 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109233 | .unused, | 112962 | .unused, |
| 109234 | .unused, | 112963 | .unused, |
| 109235 | .unused, | 112964 | .unused, |
| ... | @@ -109241,13 +112970,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109241,13 +112970,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109241 | .dst_temps = .{ .mem, .unused }, | 112970 | .dst_temps = .{ .mem, .unused }, |
| 109242 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 112971 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 109243 | .each = .{ .once = &.{ | 112972 | .each = .{ .once = &.{ |
| 109244 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 112973 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 109245 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 112974 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 109246 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 112975 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 109247 | .{ ._, .p_w, .extr, .tmp1d, .tmp3x, .ui(0), ._ }, | 112976 | .{ ._, .p_w, .extr, .tmp1d, .tmp3x, .ui(0), ._ }, |
| 109248 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | 112977 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp1w, ._, ._ }, |
| 109249 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 112978 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 109250 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 112979 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 109251 | } }, | 112980 | } }, |
| 109252 | }, .{ | 112981 | }, .{ |
| 109253 | .required_features = .{ .sse, null, null, null }, | 112982 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -109258,10 +112987,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109258,10 +112987,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109258 | }, | 112987 | }, |
| 109259 | .call_frame = .{ .alignment = .@"16" }, | 112988 | .call_frame = .{ .alignment = .@"16" }, |
| 109260 | .extra_temps = .{ | 112989 | .extra_temps = .{ |
| 109261 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 112990 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 109262 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 112991 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109263 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, | 112992 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, |
| 109264 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 112993 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109265 | .{ .type = .f32, .kind = .mem }, | 112994 | .{ .type = .f32, .kind = .mem }, |
| 109266 | .unused, | 112995 | .unused, |
| 109267 | .unused, | 112996 | .unused, |
| ... | @@ -109273,14 +113002,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109273,14 +113002,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109273 | .dst_temps = .{ .mem, .unused }, | 113002 | .dst_temps = .{ .mem, .unused }, |
| 109274 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 113003 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 109275 | .each = .{ .once = &.{ | 113004 | .each = .{ .once = &.{ |
| 109276 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 113005 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 109277 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 113006 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 109278 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 113007 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 109279 | .{ ._, ._ss, .mov, .tmp4d, .tmp3d, ._, ._ }, | 113008 | .{ ._, ._ss, .mov, .tmp4d, .tmp3d, ._, ._ }, |
| 109280 | .{ ._, ._, .mov, .tmp1d, .tmp4d, ._, ._ }, | 113009 | .{ ._, ._, .mov, .tmp1d, .tmp4d, ._, ._ }, |
| 109281 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | 113010 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp1w, ._, ._ }, |
| 109282 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 113011 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 109283 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 113012 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 109284 | } }, | 113013 | } }, |
| 109285 | }, .{ | 113014 | }, .{ |
| 109286 | .required_features = .{ .avx, null, null, null }, | 113015 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -109291,10 +113020,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109291,10 +113020,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109291 | }, | 113020 | }, |
| 109292 | .call_frame = .{ .alignment = .@"16" }, | 113021 | .call_frame = .{ .alignment = .@"16" }, |
| 109293 | .extra_temps = .{ | 113022 | .extra_temps = .{ |
| 109294 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 113023 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 109295 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 113024 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109296 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, | 113025 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, |
| 109297 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 113026 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109298 | .unused, | 113027 | .unused, |
| 109299 | .unused, | 113028 | .unused, |
| 109300 | .unused, | 113029 | .unused, |
| ... | @@ -109306,12 +113035,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109306,12 +113035,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109306 | .dst_temps = .{ .mem, .unused }, | 113035 | .dst_temps = .{ .mem, .unused }, |
| 109307 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 113036 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 109308 | .each = .{ .once = &.{ | 113037 | .each = .{ .once = &.{ |
| 109309 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 113038 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 109310 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 113039 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 109311 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 113040 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 109312 | .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3x, .ui(0), ._ }, | 113041 | .{ ._, .vp_w, .extr, .memi(.dst0w, .tmp0), .tmp3x, .ui(0), ._ }, |
| 109313 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 113042 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 109314 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 113043 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 109315 | } }, | 113044 | } }, |
| 109316 | }, .{ | 113045 | }, .{ |
| 109317 | .required_features = .{ .sse4_1, null, null, null }, | 113046 | .required_features = .{ .sse4_1, null, null, null }, |
| ... | @@ -109322,10 +113051,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109322,10 +113051,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109322 | }, | 113051 | }, |
| 109323 | .call_frame = .{ .alignment = .@"16" }, | 113052 | .call_frame = .{ .alignment = .@"16" }, |
| 109324 | .extra_temps = .{ | 113053 | .extra_temps = .{ |
| 109325 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 113054 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 109326 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 113055 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109327 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, | 113056 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, |
| 109328 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 113057 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109329 | .unused, | 113058 | .unused, |
| 109330 | .unused, | 113059 | .unused, |
| 109331 | .unused, | 113060 | .unused, |
| ... | @@ -109337,12 +113066,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109337,12 +113066,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109337 | .dst_temps = .{ .mem, .unused }, | 113066 | .dst_temps = .{ .mem, .unused }, |
| 109338 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 113067 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 109339 | .each = .{ .once = &.{ | 113068 | .each = .{ .once = &.{ |
| 109340 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 113069 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 109341 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 113070 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 109342 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 113071 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 109343 | .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3x, .ui(0), ._ }, | 113072 | .{ ._, .p_w, .extr, .memi(.dst0w, .tmp0), .tmp3x, .ui(0), ._ }, |
| 109344 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 113073 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 109345 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 113074 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 109346 | } }, | 113075 | } }, |
| 109347 | }, .{ | 113076 | }, .{ |
| 109348 | .required_features = .{ .sse2, null, null, null }, | 113077 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -109353,10 +113082,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109353,10 +113082,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109353 | }, | 113082 | }, |
| 109354 | .call_frame = .{ .alignment = .@"16" }, | 113083 | .call_frame = .{ .alignment = .@"16" }, |
| 109355 | .extra_temps = .{ | 113084 | .extra_temps = .{ |
| 109356 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 113085 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 109357 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 113086 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109358 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, | 113087 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, |
| 109359 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 113088 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109360 | .unused, | 113089 | .unused, |
| 109361 | .unused, | 113090 | .unused, |
| 109362 | .unused, | 113091 | .unused, |
| ... | @@ -109368,13 +113097,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109368,13 +113097,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109368 | .dst_temps = .{ .mem, .unused }, | 113097 | .dst_temps = .{ .mem, .unused }, |
| 109369 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 113098 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 109370 | .each = .{ .once = &.{ | 113099 | .each = .{ .once = &.{ |
| 109371 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 113100 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 109372 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 113101 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 109373 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 113102 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 109374 | .{ ._, .p_w, .extr, .tmp1d, .tmp3x, .ui(0), ._ }, | 113103 | .{ ._, .p_w, .extr, .tmp1d, .tmp3x, .ui(0), ._ }, |
| 109375 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | 113104 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp1w, ._, ._ }, |
| 109376 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 113105 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 109377 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 113106 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 109378 | } }, | 113107 | } }, |
| 109379 | }, .{ | 113108 | }, .{ |
| 109380 | .required_features = .{ .sse, null, null, null }, | 113109 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -109385,10 +113114,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109385,10 +113114,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109385 | }, | 113114 | }, |
| 109386 | .call_frame = .{ .alignment = .@"16" }, | 113115 | .call_frame = .{ .alignment = .@"16" }, |
| 109387 | .extra_temps = .{ | 113116 | .extra_temps = .{ |
| 109388 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 113117 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 109389 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 113118 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109390 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, | 113119 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, |
| 109391 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 113120 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109392 | .{ .type = .f32, .kind = .mem }, | 113121 | .{ .type = .f32, .kind = .mem }, |
| 109393 | .unused, | 113122 | .unused, |
| 109394 | .unused, | 113123 | .unused, |
| ... | @@ -109400,14 +113129,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109400,14 +113129,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109400 | .dst_temps = .{ .mem, .unused }, | 113129 | .dst_temps = .{ .mem, .unused }, |
| 109401 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 113130 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 109402 | .each = .{ .once = &.{ | 113131 | .each = .{ .once = &.{ |
| 109403 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 113132 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 109404 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 113133 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 109405 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 113134 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 109406 | .{ ._, ._ss, .mov, .tmp4d, .tmp3d, ._, ._ }, | 113135 | .{ ._, ._ss, .mov, .tmp4d, .tmp3d, ._, ._ }, |
| 109407 | .{ ._, ._, .mov, .tmp1d, .tmp4d, ._, ._ }, | 113136 | .{ ._, ._, .mov, .tmp1d, .tmp4d, ._, ._ }, |
| 109408 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | 113137 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp1w, ._, ._ }, |
| 109409 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 113138 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 109410 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 113139 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 109411 | } }, | 113140 | } }, |
| 109412 | }, .{ | 113141 | }, .{ |
| 109413 | .required_features = .{ .f16c, null, null, null }, | 113142 | .required_features = .{ .f16c, null, null, null }, |
| ... | @@ -109443,7 +113172,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109443,7 +113172,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109443 | .{ .src = .{ .to_mem, .none, .none } }, | 113172 | .{ .src = .{ .to_mem, .none, .none } }, |
| 109444 | }, | 113173 | }, |
| 109445 | .extra_temps = .{ | 113174 | .extra_temps = .{ |
| 109446 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 113175 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 109447 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, | 113176 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| 109448 | .unused, | 113177 | .unused, |
| 109449 | .unused, | 113178 | .unused, |
| ... | @@ -109458,11 +113187,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109458,11 +113187,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109458 | .dst_temps = .{ .mem, .unused }, | 113187 | .dst_temps = .{ .mem, .unused }, |
| 109459 | .clobbers = .{ .eflags = true }, | 113188 | .clobbers = .{ .eflags = true }, |
| 109460 | .each = .{ .once = &.{ | 113189 | .each = .{ .once = &.{ |
| 109461 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 113190 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .dst0, .add_size), ._, ._ }, |
| 109462 | .{ .@"0:", .v_ps, .cvtdq2, .tmp1y, .memsia(.src0y, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 113191 | .{ .@"0:", .v_ps, .cvtdq2, .tmp1y, .memsi(.src0y, .@"2", .tmp0), ._, ._ }, |
| 109463 | .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ }, | 113192 | .{ ._, .v_, .cvtps2ph, .memi(.dst0x, .tmp0), .tmp1y, .rm(.{}), ._ }, |
| 109464 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 113193 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 109465 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 113194 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 109466 | } }, | 113195 | } }, |
| 109467 | }, .{ | 113196 | }, .{ |
| 109468 | .required_features = .{ .f16c, null, null, null }, | 113197 | .required_features = .{ .f16c, null, null, null }, |
| ... | @@ -109472,7 +113201,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109472,7 +113201,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109472 | .{ .src = .{ .to_mem, .none, .none } }, | 113201 | .{ .src = .{ .to_mem, .none, .none } }, |
| 109473 | }, | 113202 | }, |
| 109474 | .extra_temps = .{ | 113203 | .extra_temps = .{ |
| 109475 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 113204 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 109476 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 113205 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 109477 | .unused, | 113206 | .unused, |
| 109478 | .unused, | 113207 | .unused, |
| ... | @@ -109487,11 +113216,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109487,11 +113216,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109487 | .dst_temps = .{ .mem, .unused }, | 113216 | .dst_temps = .{ .mem, .unused }, |
| 109488 | .clobbers = .{ .eflags = true }, | 113217 | .clobbers = .{ .eflags = true }, |
| 109489 | .each = .{ .once = &.{ | 113218 | .each = .{ .once = &.{ |
| 109490 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 113219 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_size), ._, ._ }, |
| 109491 | .{ .@"0:", .v_ps, .cvtdq2, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 113220 | .{ .@"0:", .v_ps, .cvtdq2, .tmp1x, .memsi(.src0x, .@"2", .tmp0), ._, ._ }, |
| 109492 | .{ ._, .v_, .cvtps2ph, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, .rm(.{}), ._ }, | 113221 | .{ ._, .v_, .cvtps2ph, .memi(.dst0q, .tmp0), .tmp1x, .rm(.{}), ._ }, |
| 109493 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 113222 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 109494 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 113223 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 109495 | } }, | 113224 | } }, |
| 109496 | }, .{ | 113225 | }, .{ |
| 109497 | .required_features = .{ .avx, null, null, null }, | 113226 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -109502,10 +113231,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109502,10 +113231,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109502 | }, | 113231 | }, |
| 109503 | .call_frame = .{ .alignment = .@"16" }, | 113232 | .call_frame = .{ .alignment = .@"16" }, |
| 109504 | .extra_temps = .{ | 113233 | .extra_temps = .{ |
| 109505 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 113234 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 109506 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 113235 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109507 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, | 113236 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, |
| 109508 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 113237 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109509 | .unused, | 113238 | .unused, |
| 109510 | .unused, | 113239 | .unused, |
| 109511 | .unused, | 113240 | .unused, |
| ... | @@ -109517,12 +113246,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109517,12 +113246,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109517 | .dst_temps = .{ .mem, .unused }, | 113246 | .dst_temps = .{ .mem, .unused }, |
| 109518 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 113247 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 109519 | .each = .{ .once = &.{ | 113248 | .each = .{ .once = &.{ |
| 109520 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 113249 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 109521 | .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 113250 | .{ .@"0:", ._, .mov, .tmp1d, .memsi(.src0d, .@"2", .tmp0), ._, ._ }, |
| 109522 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 113251 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 109523 | .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3x, .ui(0), ._ }, | 113252 | .{ ._, .vp_w, .extr, .memi(.dst0w, .tmp0), .tmp3x, .ui(0), ._ }, |
| 109524 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 113253 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 109525 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 113254 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 109526 | } }, | 113255 | } }, |
| 109527 | }, .{ | 113256 | }, .{ |
| 109528 | .required_features = .{ .sse4_1, null, null, null }, | 113257 | .required_features = .{ .sse4_1, null, null, null }, |
| ... | @@ -109533,10 +113262,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109533,10 +113262,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109533 | }, | 113262 | }, |
| 109534 | .call_frame = .{ .alignment = .@"16" }, | 113263 | .call_frame = .{ .alignment = .@"16" }, |
| 109535 | .extra_temps = .{ | 113264 | .extra_temps = .{ |
| 109536 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 113265 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 109537 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 113266 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109538 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, | 113267 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, |
| 109539 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 113268 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109540 | .unused, | 113269 | .unused, |
| 109541 | .unused, | 113270 | .unused, |
| 109542 | .unused, | 113271 | .unused, |
| ... | @@ -109548,12 +113277,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109548,12 +113277,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109548 | .dst_temps = .{ .mem, .unused }, | 113277 | .dst_temps = .{ .mem, .unused }, |
| 109549 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 113278 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 109550 | .each = .{ .once = &.{ | 113279 | .each = .{ .once = &.{ |
| 109551 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 113280 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 109552 | .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 113281 | .{ .@"0:", ._, .mov, .tmp1d, .memsi(.src0d, .@"2", .tmp0), ._, ._ }, |
| 109553 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 113282 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 109554 | .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3x, .ui(0), ._ }, | 113283 | .{ ._, .p_w, .extr, .memi(.dst0w, .tmp0), .tmp3x, .ui(0), ._ }, |
| 109555 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 113284 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 109556 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 113285 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 109557 | } }, | 113286 | } }, |
| 109558 | }, .{ | 113287 | }, .{ |
| 109559 | .required_features = .{ .sse2, null, null, null }, | 113288 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -109564,10 +113293,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109564,10 +113293,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109564 | }, | 113293 | }, |
| 109565 | .call_frame = .{ .alignment = .@"16" }, | 113294 | .call_frame = .{ .alignment = .@"16" }, |
| 109566 | .extra_temps = .{ | 113295 | .extra_temps = .{ |
| 109567 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 113296 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 109568 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 113297 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109569 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, | 113298 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, |
| 109570 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 113299 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109571 | .unused, | 113300 | .unused, |
| 109572 | .unused, | 113301 | .unused, |
| 109573 | .unused, | 113302 | .unused, |
| ... | @@ -109579,13 +113308,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109579,13 +113308,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109579 | .dst_temps = .{ .mem, .unused }, | 113308 | .dst_temps = .{ .mem, .unused }, |
| 109580 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 113309 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 109581 | .each = .{ .once = &.{ | 113310 | .each = .{ .once = &.{ |
| 109582 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 113311 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 109583 | .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 113312 | .{ .@"0:", ._, .mov, .tmp1d, .memsi(.src0d, .@"2", .tmp0), ._, ._ }, |
| 109584 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 113313 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 109585 | .{ ._, .p_w, .extr, .tmp1d, .tmp3x, .ui(0), ._ }, | 113314 | .{ ._, .p_w, .extr, .tmp1d, .tmp3x, .ui(0), ._ }, |
| 109586 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | 113315 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp1w, ._, ._ }, |
| 109587 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 113316 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 109588 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 113317 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 109589 | } }, | 113318 | } }, |
| 109590 | }, .{ | 113319 | }, .{ |
| 109591 | .required_features = .{ .sse, null, null, null }, | 113320 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -109596,10 +113325,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109596,10 +113325,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109596 | }, | 113325 | }, |
| 109597 | .call_frame = .{ .alignment = .@"16" }, | 113326 | .call_frame = .{ .alignment = .@"16" }, |
| 109598 | .extra_temps = .{ | 113327 | .extra_temps = .{ |
| 109599 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 113328 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 109600 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 113329 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109601 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, | 113330 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsihf" } }, |
| 109602 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 113331 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109603 | .{ .type = .f32, .kind = .mem }, | 113332 | .{ .type = .f32, .kind = .mem }, |
| 109604 | .unused, | 113333 | .unused, |
| 109605 | .unused, | 113334 | .unused, |
| ... | @@ -109611,14 +113340,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109611,14 +113340,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109611 | .dst_temps = .{ .mem, .unused }, | 113340 | .dst_temps = .{ .mem, .unused }, |
| 109612 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 113341 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 109613 | .each = .{ .once = &.{ | 113342 | .each = .{ .once = &.{ |
| 109614 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 113343 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 109615 | .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 113344 | .{ .@"0:", ._, .mov, .tmp1d, .memsi(.src0d, .@"2", .tmp0), ._, ._ }, |
| 109616 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 113345 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 109617 | .{ ._, ._ss, .mov, .tmp4d, .tmp3d, ._, ._ }, | 113346 | .{ ._, ._ss, .mov, .tmp4d, .tmp3d, ._, ._ }, |
| 109618 | .{ ._, ._, .mov, .tmp1d, .tmp4d, ._, ._ }, | 113347 | .{ ._, ._, .mov, .tmp1d, .tmp4d, ._, ._ }, |
| 109619 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | 113348 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp1w, ._, ._ }, |
| 109620 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 113349 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 109621 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 113350 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 109622 | } }, | 113351 | } }, |
| 109623 | }, .{ | 113352 | }, .{ |
| 109624 | .required_features = .{ .avx, null, null, null }, | 113353 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -109629,10 +113358,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109629,10 +113358,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109629 | }, | 113358 | }, |
| 109630 | .call_frame = .{ .alignment = .@"16" }, | 113359 | .call_frame = .{ .alignment = .@"16" }, |
| 109631 | .extra_temps = .{ | 113360 | .extra_temps = .{ |
| 109632 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 113361 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 109633 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 113362 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109634 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, | 113363 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, |
| 109635 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 113364 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109636 | .unused, | 113365 | .unused, |
| 109637 | .unused, | 113366 | .unused, |
| 109638 | .unused, | 113367 | .unused, |
| ... | @@ -109644,12 +113373,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109644,12 +113373,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109644 | .dst_temps = .{ .mem, .unused }, | 113373 | .dst_temps = .{ .mem, .unused }, |
| 109645 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 113374 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 109646 | .each = .{ .once = &.{ | 113375 | .each = .{ .once = &.{ |
| 109647 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 113376 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 109648 | .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 113377 | .{ .@"0:", ._, .mov, .tmp1d, .memsi(.src0d, .@"2", .tmp0), ._, ._ }, |
| 109649 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 113378 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 109650 | .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3x, .ui(0), ._ }, | 113379 | .{ ._, .vp_w, .extr, .memi(.dst0w, .tmp0), .tmp3x, .ui(0), ._ }, |
| 109651 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 113380 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 109652 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 113381 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 109653 | } }, | 113382 | } }, |
| 109654 | }, .{ | 113383 | }, .{ |
| 109655 | .required_features = .{ .sse4_1, null, null, null }, | 113384 | .required_features = .{ .sse4_1, null, null, null }, |
| ... | @@ -109660,10 +113389,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109660,10 +113389,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109660 | }, | 113389 | }, |
| 109661 | .call_frame = .{ .alignment = .@"16" }, | 113390 | .call_frame = .{ .alignment = .@"16" }, |
| 109662 | .extra_temps = .{ | 113391 | .extra_temps = .{ |
| 109663 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 113392 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 109664 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 113393 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109665 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, | 113394 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, |
| 109666 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 113395 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109667 | .unused, | 113396 | .unused, |
| 109668 | .unused, | 113397 | .unused, |
| 109669 | .unused, | 113398 | .unused, |
| ... | @@ -109675,12 +113404,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109675,12 +113404,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109675 | .dst_temps = .{ .mem, .unused }, | 113404 | .dst_temps = .{ .mem, .unused }, |
| 109676 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 113405 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 109677 | .each = .{ .once = &.{ | 113406 | .each = .{ .once = &.{ |
| 109678 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 113407 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 109679 | .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 113408 | .{ .@"0:", ._, .mov, .tmp1d, .memsi(.src0d, .@"2", .tmp0), ._, ._ }, |
| 109680 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 113409 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 109681 | .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3x, .ui(0), ._ }, | 113410 | .{ ._, .p_w, .extr, .memi(.dst0w, .tmp0), .tmp3x, .ui(0), ._ }, |
| 109682 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 113411 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 109683 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 113412 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 109684 | } }, | 113413 | } }, |
| 109685 | }, .{ | 113414 | }, .{ |
| 109686 | .required_features = .{ .sse2, null, null, null }, | 113415 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -109691,10 +113420,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109691,10 +113420,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109691 | }, | 113420 | }, |
| 109692 | .call_frame = .{ .alignment = .@"16" }, | 113421 | .call_frame = .{ .alignment = .@"16" }, |
| 109693 | .extra_temps = .{ | 113422 | .extra_temps = .{ |
| 109694 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 113423 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 109695 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 113424 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109696 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, | 113425 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, |
| 109697 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 113426 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109698 | .unused, | 113427 | .unused, |
| 109699 | .unused, | 113428 | .unused, |
| 109700 | .unused, | 113429 | .unused, |
| ... | @@ -109706,13 +113435,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109706,13 +113435,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109706 | .dst_temps = .{ .mem, .unused }, | 113435 | .dst_temps = .{ .mem, .unused }, |
| 109707 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 113436 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 109708 | .each = .{ .once = &.{ | 113437 | .each = .{ .once = &.{ |
| 109709 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 113438 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 109710 | .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 113439 | .{ .@"0:", ._, .mov, .tmp1d, .memsi(.src0d, .@"2", .tmp0), ._, ._ }, |
| 109711 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 113440 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 109712 | .{ ._, .p_w, .extr, .tmp1d, .tmp3x, .ui(0), ._ }, | 113441 | .{ ._, .p_w, .extr, .tmp1d, .tmp3x, .ui(0), ._ }, |
| 109713 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | 113442 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp1w, ._, ._ }, |
| 109714 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 113443 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 109715 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 113444 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 109716 | } }, | 113445 | } }, |
| 109717 | }, .{ | 113446 | }, .{ |
| 109718 | .required_features = .{ .sse, null, null, null }, | 113447 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -109723,10 +113452,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109723,10 +113452,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109723 | }, | 113452 | }, |
| 109724 | .call_frame = .{ .alignment = .@"16" }, | 113453 | .call_frame = .{ .alignment = .@"16" }, |
| 109725 | .extra_temps = .{ | 113454 | .extra_temps = .{ |
| 109726 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 113455 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 109727 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 113456 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109728 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, | 113457 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsihf" } }, |
| 109729 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 113458 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109730 | .{ .type = .f32, .kind = .mem }, | 113459 | .{ .type = .f32, .kind = .mem }, |
| 109731 | .unused, | 113460 | .unused, |
| 109732 | .unused, | 113461 | .unused, |
| ... | @@ -109738,14 +113467,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109738,14 +113467,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109738 | .dst_temps = .{ .mem, .unused }, | 113467 | .dst_temps = .{ .mem, .unused }, |
| 109739 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 113468 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 109740 | .each = .{ .once = &.{ | 113469 | .each = .{ .once = &.{ |
| 109741 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 113470 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 109742 | .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 113471 | .{ .@"0:", ._, .mov, .tmp1d, .memsi(.src0d, .@"2", .tmp0), ._, ._ }, |
| 109743 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 113472 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 109744 | .{ ._, ._ss, .mov, .tmp4d, .tmp3d, ._, ._ }, | 113473 | .{ ._, ._ss, .mov, .tmp4d, .tmp3d, ._, ._ }, |
| 109745 | .{ ._, ._, .mov, .tmp1d, .tmp4d, ._, ._ }, | 113474 | .{ ._, ._, .mov, .tmp1d, .tmp4d, ._, ._ }, |
| 109746 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | 113475 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp1w, ._, ._ }, |
| 109747 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 113476 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 109748 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 113477 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 109749 | } }, | 113478 | } }, |
| 109750 | }, .{ | 113479 | }, .{ |
| 109751 | .required_features = .{ .@"64bit", .f16c, null, null }, | 113480 | .required_features = .{ .@"64bit", .f16c, null, null }, |
| ... | @@ -109755,7 +113484,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109755,7 +113484,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109755 | .{ .src = .{ .to_mem, .none, .none } }, | 113484 | .{ .src = .{ .to_mem, .none, .none } }, |
| 109756 | }, | 113485 | }, |
| 109757 | .extra_temps = .{ | 113486 | .extra_temps = .{ |
| 109758 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 113487 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 109759 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, | 113488 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 109760 | .unused, | 113489 | .unused, |
| 109761 | .unused, | 113490 | .unused, |
| ... | @@ -109770,13 +113499,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109770,13 +113499,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109770 | .dst_temps = .{ .mem, .unused }, | 113499 | .dst_temps = .{ .mem, .unused }, |
| 109771 | .clobbers = .{ .eflags = true }, | 113500 | .clobbers = .{ .eflags = true }, |
| 109772 | .each = .{ .once = &.{ | 113501 | .each = .{ .once = &.{ |
| 109773 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 113502 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 109774 | .{ .@"0:", .v_ps, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, | 113503 | .{ .@"0:", .v_ps, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| 109775 | .{ ._, .v_ss, .cvtsi2, .tmp1x, .tmp1x, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._ }, | 113504 | .{ ._, .v_ss, .cvtsi2, .tmp1x, .tmp1x, .memsi(.src0q, .@"4", .tmp0), ._ }, |
| 109776 | .{ ._, .v_, .cvtps2ph, .tmp1q, .tmp1x, .rm(.{}), ._ }, | 113505 | .{ ._, .v_, .cvtps2ph, .tmp1q, .tmp1x, .rm(.{}), ._ }, |
| 109777 | .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, | 113506 | .{ ._, .vp_w, .extr, .memi(.dst0w, .tmp0), .tmp1x, .ui(0), ._ }, |
| 109778 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 113507 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 109779 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 113508 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 109780 | } }, | 113509 | } }, |
| 109781 | }, .{ | 113510 | }, .{ |
| 109782 | .required_features = .{ .@"64bit", .avx, null, null }, | 113511 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | @@ -109787,10 +113516,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109787,10 +113516,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109787 | }, | 113516 | }, |
| 109788 | .call_frame = .{ .alignment = .@"16" }, | 113517 | .call_frame = .{ .alignment = .@"16" }, |
| 109789 | .extra_temps = .{ | 113518 | .extra_temps = .{ |
| 109790 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 113519 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 109791 | .{ .type = .i64, .kind = .{ .reg = .rdi } }, | 113520 | .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109792 | .{ .type = .usize, .kind = .{ .extern_func = "__floatdihf" } }, | 113521 | .{ .type = .usize, .kind = .{ .extern_func = "__floatdihf" } }, |
| 109793 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 113522 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109794 | .unused, | 113523 | .unused, |
| 109795 | .unused, | 113524 | .unused, |
| 109796 | .unused, | 113525 | .unused, |
| ... | @@ -109802,12 +113531,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109802,12 +113531,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109802 | .dst_temps = .{ .mem, .unused }, | 113531 | .dst_temps = .{ .mem, .unused }, |
| 109803 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 113532 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 109804 | .each = .{ .once = &.{ | 113533 | .each = .{ .once = &.{ |
| 109805 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 113534 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 109806 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 113535 | .{ .@"0:", ._, .mov, .tmp1q, .memsi(.src0q, .@"4", .tmp0), ._, ._ }, |
| 109807 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 113536 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 109808 | .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3x, .ui(0), ._ }, | 113537 | .{ ._, .vp_w, .extr, .memi(.dst0w, .tmp0), .tmp3x, .ui(0), ._ }, |
| 109809 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 113538 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 109810 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 113539 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 109811 | } }, | 113540 | } }, |
| 109812 | }, .{ | 113541 | }, .{ |
| 109813 | .required_features = .{ .@"64bit", .sse4_1, null, null }, | 113542 | .required_features = .{ .@"64bit", .sse4_1, null, null }, |
| ... | @@ -109818,10 +113547,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109818,10 +113547,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109818 | }, | 113547 | }, |
| 109819 | .call_frame = .{ .alignment = .@"16" }, | 113548 | .call_frame = .{ .alignment = .@"16" }, |
| 109820 | .extra_temps = .{ | 113549 | .extra_temps = .{ |
| 109821 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 113550 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 109822 | .{ .type = .i64, .kind = .{ .reg = .rdi } }, | 113551 | .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109823 | .{ .type = .usize, .kind = .{ .extern_func = "__floatdihf" } }, | 113552 | .{ .type = .usize, .kind = .{ .extern_func = "__floatdihf" } }, |
| 109824 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 113553 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109825 | .unused, | 113554 | .unused, |
| 109826 | .unused, | 113555 | .unused, |
| 109827 | .unused, | 113556 | .unused, |
| ... | @@ -109833,12 +113562,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109833,12 +113562,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109833 | .dst_temps = .{ .mem, .unused }, | 113562 | .dst_temps = .{ .mem, .unused }, |
| 109834 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 113563 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 109835 | .each = .{ .once = &.{ | 113564 | .each = .{ .once = &.{ |
| 109836 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 113565 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 109837 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 113566 | .{ .@"0:", ._, .mov, .tmp1q, .memsi(.src0q, .@"4", .tmp0), ._, ._ }, |
| 109838 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 113567 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 109839 | .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3x, .ui(0), ._ }, | 113568 | .{ ._, .p_w, .extr, .memi(.dst0w, .tmp0), .tmp3x, .ui(0), ._ }, |
| 109840 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 113569 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 109841 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 113570 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 109842 | } }, | 113571 | } }, |
| 109843 | }, .{ | 113572 | }, .{ |
| 109844 | .required_features = .{ .@"64bit", .sse2, null, null }, | 113573 | .required_features = .{ .@"64bit", .sse2, null, null }, |
| ... | @@ -109849,10 +113578,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109849,10 +113578,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109849 | }, | 113578 | }, |
| 109850 | .call_frame = .{ .alignment = .@"16" }, | 113579 | .call_frame = .{ .alignment = .@"16" }, |
| 109851 | .extra_temps = .{ | 113580 | .extra_temps = .{ |
| 109852 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 113581 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 109853 | .{ .type = .i64, .kind = .{ .reg = .rdi } }, | 113582 | .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109854 | .{ .type = .usize, .kind = .{ .extern_func = "__floatdihf" } }, | 113583 | .{ .type = .usize, .kind = .{ .extern_func = "__floatdihf" } }, |
| 109855 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 113584 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109856 | .unused, | 113585 | .unused, |
| 109857 | .unused, | 113586 | .unused, |
| 109858 | .unused, | 113587 | .unused, |
| ... | @@ -109864,13 +113593,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109864,13 +113593,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109864 | .dst_temps = .{ .mem, .unused }, | 113593 | .dst_temps = .{ .mem, .unused }, |
| 109865 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 113594 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 109866 | .each = .{ .once = &.{ | 113595 | .each = .{ .once = &.{ |
| 109867 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 113596 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 109868 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 113597 | .{ .@"0:", ._, .mov, .tmp1q, .memsi(.src0q, .@"4", .tmp0), ._, ._ }, |
| 109869 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 113598 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 109870 | .{ ._, .p_w, .extr, .tmp1d, .tmp3x, .ui(0), ._ }, | 113599 | .{ ._, .p_w, .extr, .tmp1d, .tmp3x, .ui(0), ._ }, |
| 109871 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | 113600 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp1w, ._, ._ }, |
| 109872 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 113601 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 109873 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 113602 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 109874 | } }, | 113603 | } }, |
| 109875 | }, .{ | 113604 | }, .{ |
| 109876 | .required_features = .{ .@"64bit", .sse, null, null }, | 113605 | .required_features = .{ .@"64bit", .sse, null, null }, |
| ... | @@ -109881,10 +113610,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109881,10 +113610,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109881 | }, | 113610 | }, |
| 109882 | .call_frame = .{ .alignment = .@"16" }, | 113611 | .call_frame = .{ .alignment = .@"16" }, |
| 109883 | .extra_temps = .{ | 113612 | .extra_temps = .{ |
| 109884 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 113613 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 109885 | .{ .type = .i64, .kind = .{ .reg = .rdi } }, | 113614 | .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109886 | .{ .type = .usize, .kind = .{ .extern_func = "__floatdihf" } }, | 113615 | .{ .type = .usize, .kind = .{ .extern_func = "__floatdihf" } }, |
| 109887 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 113616 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109888 | .{ .type = .f32, .kind = .mem }, | 113617 | .{ .type = .f32, .kind = .mem }, |
| 109889 | .unused, | 113618 | .unused, |
| 109890 | .unused, | 113619 | .unused, |
| ... | @@ -109896,14 +113625,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109896,14 +113625,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109896 | .dst_temps = .{ .mem, .unused }, | 113625 | .dst_temps = .{ .mem, .unused }, |
| 109897 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 113626 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 109898 | .each = .{ .once = &.{ | 113627 | .each = .{ .once = &.{ |
| 109899 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 113628 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 109900 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 113629 | .{ .@"0:", ._, .mov, .tmp1q, .memsi(.src0q, .@"4", .tmp0), ._, ._ }, |
| 109901 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 113630 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 109902 | .{ ._, ._ss, .mov, .tmp4d, .tmp3d, ._, ._ }, | 113631 | .{ ._, ._ss, .mov, .tmp4d, .tmp3d, ._, ._ }, |
| 109903 | .{ ._, ._, .mov, .tmp1d, .tmp4d, ._, ._ }, | 113632 | .{ ._, ._, .mov, .tmp1d, .tmp4d, ._, ._ }, |
| 109904 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | 113633 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp1w, ._, ._ }, |
| 109905 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 113634 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 109906 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 113635 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 109907 | } }, | 113636 | } }, |
| 109908 | }, .{ | 113637 | }, .{ |
| 109909 | .required_features = .{ .@"64bit", .avx, null, null }, | 113638 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | @@ -109914,10 +113643,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109914,10 +113643,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109914 | }, | 113643 | }, |
| 109915 | .call_frame = .{ .alignment = .@"16" }, | 113644 | .call_frame = .{ .alignment = .@"16" }, |
| 109916 | .extra_temps = .{ | 113645 | .extra_temps = .{ |
| 109917 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 113646 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 109918 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 113647 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109919 | .{ .type = .usize, .kind = .{ .extern_func = "__floatundihf" } }, | 113648 | .{ .type = .usize, .kind = .{ .extern_func = "__floatundihf" } }, |
| 109920 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 113649 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109921 | .unused, | 113650 | .unused, |
| 109922 | .unused, | 113651 | .unused, |
| 109923 | .unused, | 113652 | .unused, |
| ... | @@ -109929,12 +113658,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109929,12 +113658,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109929 | .dst_temps = .{ .mem, .unused }, | 113658 | .dst_temps = .{ .mem, .unused }, |
| 109930 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 113659 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 109931 | .each = .{ .once = &.{ | 113660 | .each = .{ .once = &.{ |
| 109932 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 113661 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 109933 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 113662 | .{ .@"0:", ._, .mov, .tmp1q, .memsi(.src0q, .@"4", .tmp0), ._, ._ }, |
| 109934 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 113663 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 109935 | .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3x, .ui(0), ._ }, | 113664 | .{ ._, .vp_w, .extr, .memi(.dst0w, .tmp0), .tmp3x, .ui(0), ._ }, |
| 109936 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 113665 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 109937 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 113666 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 109938 | } }, | 113667 | } }, |
| 109939 | }, .{ | 113668 | }, .{ |
| 109940 | .required_features = .{ .@"64bit", .sse4_1, null, null }, | 113669 | .required_features = .{ .@"64bit", .sse4_1, null, null }, |
| ... | @@ -109945,10 +113674,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109945,10 +113674,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109945 | }, | 113674 | }, |
| 109946 | .call_frame = .{ .alignment = .@"16" }, | 113675 | .call_frame = .{ .alignment = .@"16" }, |
| 109947 | .extra_temps = .{ | 113676 | .extra_temps = .{ |
| 109948 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 113677 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 109949 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 113678 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109950 | .{ .type = .usize, .kind = .{ .extern_func = "__floatundihf" } }, | 113679 | .{ .type = .usize, .kind = .{ .extern_func = "__floatundihf" } }, |
| 109951 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 113680 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109952 | .unused, | 113681 | .unused, |
| 109953 | .unused, | 113682 | .unused, |
| 109954 | .unused, | 113683 | .unused, |
| ... | @@ -109960,12 +113689,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109960,12 +113689,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109960 | .dst_temps = .{ .mem, .unused }, | 113689 | .dst_temps = .{ .mem, .unused }, |
| 109961 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 113690 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 109962 | .each = .{ .once = &.{ | 113691 | .each = .{ .once = &.{ |
| 109963 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 113692 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 109964 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 113693 | .{ .@"0:", ._, .mov, .tmp1q, .memsi(.src0q, .@"4", .tmp0), ._, ._ }, |
| 109965 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 113694 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 109966 | .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3x, .ui(0), ._ }, | 113695 | .{ ._, .p_w, .extr, .memi(.dst0w, .tmp0), .tmp3x, .ui(0), ._ }, |
| 109967 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 113696 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 109968 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 113697 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 109969 | } }, | 113698 | } }, |
| 109970 | }, .{ | 113699 | }, .{ |
| 109971 | .required_features = .{ .@"64bit", .sse2, null, null }, | 113700 | .required_features = .{ .@"64bit", .sse2, null, null }, |
| ... | @@ -109976,10 +113705,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109976,10 +113705,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109976 | }, | 113705 | }, |
| 109977 | .call_frame = .{ .alignment = .@"16" }, | 113706 | .call_frame = .{ .alignment = .@"16" }, |
| 109978 | .extra_temps = .{ | 113707 | .extra_temps = .{ |
| 109979 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 113708 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 109980 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 113709 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109981 | .{ .type = .usize, .kind = .{ .extern_func = "__floatundihf" } }, | 113710 | .{ .type = .usize, .kind = .{ .extern_func = "__floatundihf" } }, |
| 109982 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 113711 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 109983 | .unused, | 113712 | .unused, |
| 109984 | .unused, | 113713 | .unused, |
| 109985 | .unused, | 113714 | .unused, |
| ... | @@ -109991,13 +113720,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -109991,13 +113720,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 109991 | .dst_temps = .{ .mem, .unused }, | 113720 | .dst_temps = .{ .mem, .unused }, |
| 109992 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 113721 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 109993 | .each = .{ .once = &.{ | 113722 | .each = .{ .once = &.{ |
| 109994 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 113723 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 109995 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 113724 | .{ .@"0:", ._, .mov, .tmp1q, .memsi(.src0q, .@"4", .tmp0), ._, ._ }, |
| 109996 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 113725 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 109997 | .{ ._, .p_w, .extr, .tmp1d, .tmp3x, .ui(0), ._ }, | 113726 | .{ ._, .p_w, .extr, .tmp1d, .tmp3x, .ui(0), ._ }, |
| 109998 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | 113727 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp1w, ._, ._ }, |
| 109999 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 113728 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 110000 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 113729 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 110001 | } }, | 113730 | } }, |
| 110002 | }, .{ | 113731 | }, .{ |
| 110003 | .required_features = .{ .@"64bit", .sse, null, null }, | 113732 | .required_features = .{ .@"64bit", .sse, null, null }, |
| ... | @@ -110008,10 +113737,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110008,10 +113737,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110008 | }, | 113737 | }, |
| 110009 | .call_frame = .{ .alignment = .@"16" }, | 113738 | .call_frame = .{ .alignment = .@"16" }, |
| 110010 | .extra_temps = .{ | 113739 | .extra_temps = .{ |
| 110011 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 113740 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 110012 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 113741 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 110013 | .{ .type = .usize, .kind = .{ .extern_func = "__floatundihf" } }, | 113742 | .{ .type = .usize, .kind = .{ .extern_func = "__floatundihf" } }, |
| 110014 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 113743 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 110015 | .{ .type = .f32, .kind = .mem }, | 113744 | .{ .type = .f32, .kind = .mem }, |
| 110016 | .unused, | 113745 | .unused, |
| 110017 | .unused, | 113746 | .unused, |
| ... | @@ -110023,17 +113752,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110023,17 +113752,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110023 | .dst_temps = .{ .mem, .unused }, | 113752 | .dst_temps = .{ .mem, .unused }, |
| 110024 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 113753 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 110025 | .each = .{ .once = &.{ | 113754 | .each = .{ .once = &.{ |
| 110026 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 113755 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 110027 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 113756 | .{ .@"0:", ._, .mov, .tmp1q, .memsi(.src0q, .@"4", .tmp0), ._, ._ }, |
| 110028 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 113757 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 110029 | .{ ._, ._ss, .mov, .tmp4d, .tmp3d, ._, ._ }, | 113758 | .{ ._, ._ss, .mov, .tmp4d, .tmp3d, ._, ._ }, |
| 110030 | .{ ._, ._, .mov, .tmp1d, .tmp4d, ._, ._ }, | 113759 | .{ ._, ._, .mov, .tmp1d, .tmp4d, ._, ._ }, |
| 110031 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | 113760 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp1w, ._, ._ }, |
| 110032 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 113761 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 110033 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 113762 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 110034 | } }, | 113763 | } }, |
| 110035 | }, .{ | 113764 | }, .{ |
| 110036 | .required_features = .{ .@"64bit", .avx, null, null }, | 113765 | .required_cc_abi = .sysv64, |
| | 113766 | .required_features = .{ .avx, null, null, null }, |
| 110037 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 113767 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 110038 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, | 113768 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| 110039 | .patterns = &.{ | 113769 | .patterns = &.{ |
| ... | @@ -110041,11 +113771,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110041,11 +113771,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110041 | }, | 113771 | }, |
| 110042 | .call_frame = .{ .alignment = .@"16" }, | 113772 | .call_frame = .{ .alignment = .@"16" }, |
| 110043 | .extra_temps = .{ | 113773 | .extra_temps = .{ |
| 110044 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 113774 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 110045 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 113775 | .{ .type = .i128, .kind = .{ .param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 110046 | .{ .type = .i64, .kind = .{ .reg = .rsi } }, | | |
| 110047 | .{ .type = .usize, .kind = .{ .extern_func = "__floattihf" } }, | 113776 | .{ .type = .usize, .kind = .{ .extern_func = "__floattihf" } }, |
| 110048 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 113777 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 113778 | .unused, |
| 110049 | .unused, | 113779 | .unused, |
| 110050 | .unused, | 113780 | .unused, |
| 110051 | .unused, | 113781 | .unused, |
| ... | @@ -110056,16 +113786,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110056,16 +113786,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110056 | .dst_temps = .{ .mem, .unused }, | 113786 | .dst_temps = .{ .mem, .unused }, |
| 110057 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 113787 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 110058 | .each = .{ .once = &.{ | 113788 | .each = .{ .once = &.{ |
| 110059 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 113789 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 110060 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"8", .tmp0, .add_unaligned_size), ._, ._ }, | 113790 | .{ .@"0:", ._, .mov, .tmp1q0, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 110061 | .{ ._, ._, .mov, .tmp2q, .memsiad(.src0q, .@"8", .tmp0, .add_unaligned_size, 8), ._, ._ }, | 113791 | .{ ._, ._, .mov, .tmp1q1, .memsid(.src0q, .@"8", .tmp0, 8), ._, ._ }, |
| 110062 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 113792 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 110063 | .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp4x, .ui(0), ._ }, | 113793 | .{ ._, .vp_w, .extr, .memi(.dst0w, .tmp0), .tmp3x, .ui(0), ._ }, |
| 110064 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 113794 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 110065 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 113795 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 110066 | } }, | 113796 | } }, |
| 110067 | }, .{ | 113797 | }, .{ |
| 110068 | .required_features = .{ .@"64bit", .sse4_1, null, null }, | 113798 | .required_cc_abi = .win64, |
| | 113799 | .required_features = .{ .avx, null, null, null }, |
| 110069 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 113800 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 110070 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, | 113801 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| 110071 | .patterns = &.{ | 113802 | .patterns = &.{ |
| ... | @@ -110073,11 +113804,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110073,11 +113804,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110073 | }, | 113804 | }, |
| 110074 | .call_frame = .{ .alignment = .@"16" }, | 113805 | .call_frame = .{ .alignment = .@"16" }, |
| 110075 | .extra_temps = .{ | 113806 | .extra_temps = .{ |
| 110076 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 113807 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 110077 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 113808 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 110078 | .{ .type = .i64, .kind = .{ .reg = .rsi } }, | | |
| 110079 | .{ .type = .usize, .kind = .{ .extern_func = "__floattihf" } }, | 113809 | .{ .type = .usize, .kind = .{ .extern_func = "__floattihf" } }, |
| 110080 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 113810 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 113811 | .unused, |
| 110081 | .unused, | 113812 | .unused, |
| 110082 | .unused, | 113813 | .unused, |
| 110083 | .unused, | 113814 | .unused, |
| ... | @@ -110088,16 +113819,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110088,16 +113819,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110088 | .dst_temps = .{ .mem, .unused }, | 113819 | .dst_temps = .{ .mem, .unused }, |
| 110089 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 113820 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 110090 | .each = .{ .once = &.{ | 113821 | .each = .{ .once = &.{ |
| 110091 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 113822 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 110092 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"8", .tmp0, .add_unaligned_size), ._, ._ }, | 113823 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.src0, .@"8", .tmp0), ._, ._ }, |
| 110093 | .{ ._, ._, .mov, .tmp2q, .memsiad(.src0q, .@"8", .tmp0, .add_unaligned_size, 8), ._, ._ }, | 113824 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 110094 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 113825 | .{ ._, .vp_w, .extr, .memi(.dst0w, .tmp0), .tmp3x, .ui(0), ._ }, |
| 110095 | .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp4x, .ui(0), ._ }, | 113826 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 110096 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 113827 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 110097 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | | |
| 110098 | } }, | 113828 | } }, |
| 110099 | }, .{ | 113829 | }, .{ |
| 110100 | .required_features = .{ .@"64bit", .sse2, null, null }, | 113830 | .required_cc_abi = .sysv64, |
| | 113831 | .required_features = .{ .sse4_1, null, null, null }, |
| 110101 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 113832 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 110102 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, | 113833 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| 110103 | .patterns = &.{ | 113834 | .patterns = &.{ |
| ... | @@ -110105,11 +113836,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110105,11 +113836,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110105 | }, | 113836 | }, |
| 110106 | .call_frame = .{ .alignment = .@"16" }, | 113837 | .call_frame = .{ .alignment = .@"16" }, |
| 110107 | .extra_temps = .{ | 113838 | .extra_temps = .{ |
| 110108 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 113839 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 110109 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 113840 | .{ .type = .i128, .kind = .{ .param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 110110 | .{ .type = .i64, .kind = .{ .reg = .rsi } }, | | |
| 110111 | .{ .type = .usize, .kind = .{ .extern_func = "__floattihf" } }, | 113841 | .{ .type = .usize, .kind = .{ .extern_func = "__floattihf" } }, |
| 110112 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 113842 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 113843 | .unused, |
| 110113 | .unused, | 113844 | .unused, |
| 110114 | .unused, | 113845 | .unused, |
| 110115 | .unused, | 113846 | .unused, |
| ... | @@ -110120,17 +113851,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110120,17 +113851,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110120 | .dst_temps = .{ .mem, .unused }, | 113851 | .dst_temps = .{ .mem, .unused }, |
| 110121 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 113852 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 110122 | .each = .{ .once = &.{ | 113853 | .each = .{ .once = &.{ |
| 110123 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 113854 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 110124 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"8", .tmp0, .add_unaligned_size), ._, ._ }, | 113855 | .{ .@"0:", ._, .mov, .tmp1q0, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 110125 | .{ ._, ._, .mov, .tmp2q, .memsiad(.src0q, .@"8", .tmp0, .add_unaligned_size, 8), ._, ._ }, | 113856 | .{ ._, ._, .mov, .tmp1q1, .memsid(.src0q, .@"8", .tmp0, 8), ._, ._ }, |
| 110126 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 113857 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 110127 | .{ ._, .p_w, .extr, .tmp1d, .tmp4x, .ui(0), ._ }, | 113858 | .{ ._, .p_w, .extr, .memi(.dst0w, .tmp0), .tmp3x, .ui(0), ._ }, |
| 110128 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | 113859 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 110129 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 113860 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 110130 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | | |
| 110131 | } }, | 113861 | } }, |
| 110132 | }, .{ | 113862 | }, .{ |
| 110133 | .required_features = .{ .@"64bit", .sse, null, null }, | 113863 | .required_cc_abi = .win64, |
| | 113864 | .required_features = .{ .sse4_1, null, null, null }, |
| 110134 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 113865 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 110135 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, | 113866 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| 110136 | .patterns = &.{ | 113867 | .patterns = &.{ |
| ... | @@ -110138,33 +113869,167 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110138,33 +113869,167 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110138 | }, | 113869 | }, |
| 110139 | .call_frame = .{ .alignment = .@"16" }, | 113870 | .call_frame = .{ .alignment = .@"16" }, |
| 110140 | .extra_temps = .{ | 113871 | .extra_temps = .{ |
| 110141 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 113872 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 110142 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 113873 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 110143 | .{ .type = .i64, .kind = .{ .reg = .rsi } }, | 113874 | .{ .type = .usize, .kind = .{ .extern_func = "__floattihf" } }, |
| | 113875 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 113876 | .unused, |
| | 113877 | .unused, |
| | 113878 | .unused, |
| | 113879 | .unused, |
| | 113880 | .unused, |
| | 113881 | .unused, |
| | 113882 | .unused, |
| | 113883 | }, |
| | 113884 | .dst_temps = .{ .mem, .unused }, |
| | 113885 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 113886 | .each = .{ .once = &.{ |
| | 113887 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| | 113888 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.src0, .@"8", .tmp0), ._, ._ }, |
| | 113889 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 113890 | .{ ._, .p_w, .extr, .memi(.dst0w, .tmp0), .tmp3x, .ui(0), ._ }, |
| | 113891 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 113892 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 113893 | } }, |
| | 113894 | }, .{ |
| | 113895 | .required_cc_abi = .sysv64, |
| | 113896 | .required_features = .{ .sse2, null, null, null }, |
| | 113897 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 113898 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| | 113899 | .patterns = &.{ |
| | 113900 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 113901 | }, |
| | 113902 | .call_frame = .{ .alignment = .@"16" }, |
| | 113903 | .extra_temps = .{ |
| | 113904 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 113905 | .{ .type = .i128, .kind = .{ .param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 110144 | .{ .type = .usize, .kind = .{ .extern_func = "__floattihf" } }, | 113906 | .{ .type = .usize, .kind = .{ .extern_func = "__floattihf" } }, |
| 110145 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 113907 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 113908 | .unused, |
| | 113909 | .unused, |
| | 113910 | .unused, |
| | 113911 | .unused, |
| | 113912 | .unused, |
| | 113913 | .unused, |
| | 113914 | .unused, |
| | 113915 | }, |
| | 113916 | .dst_temps = .{ .mem, .unused }, |
| | 113917 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 113918 | .each = .{ .once = &.{ |
| | 113919 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| | 113920 | .{ .@"0:", ._, .mov, .tmp1q0, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 113921 | .{ ._, ._, .mov, .tmp1q1, .memsid(.src0q, .@"8", .tmp0, 8), ._, ._ }, |
| | 113922 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 113923 | .{ ._, .p_w, .extr, .tmp1d0, .tmp3x, .ui(0), ._ }, |
| | 113924 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp1w0, ._, ._ }, |
| | 113925 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 113926 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 113927 | } }, |
| | 113928 | }, .{ |
| | 113929 | .required_cc_abi = .win64, |
| | 113930 | .required_features = .{ .sse2, null, null, null }, |
| | 113931 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 113932 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| | 113933 | .patterns = &.{ |
| | 113934 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 113935 | }, |
| | 113936 | .call_frame = .{ .alignment = .@"16" }, |
| | 113937 | .extra_temps = .{ |
| | 113938 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 113939 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 113940 | .{ .type = .usize, .kind = .{ .extern_func = "__floattihf" } }, |
| | 113941 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 113942 | .unused, |
| | 113943 | .unused, |
| | 113944 | .unused, |
| | 113945 | .unused, |
| | 113946 | .unused, |
| | 113947 | .unused, |
| | 113948 | .unused, |
| | 113949 | }, |
| | 113950 | .dst_temps = .{ .mem, .unused }, |
| | 113951 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 113952 | .each = .{ .once = &.{ |
| | 113953 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| | 113954 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.src0, .@"8", .tmp0), ._, ._ }, |
| | 113955 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 113956 | .{ ._, .p_w, .extr, .tmp1d, .tmp3x, .ui(0), ._ }, |
| | 113957 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp1w, ._, ._ }, |
| | 113958 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 113959 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 113960 | } }, |
| | 113961 | }, .{ |
| | 113962 | .required_cc_abi = .sysv64, |
| | 113963 | .required_features = .{ .sse, null, null, null }, |
| | 113964 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 113965 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| | 113966 | .patterns = &.{ |
| | 113967 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 113968 | }, |
| | 113969 | .call_frame = .{ .alignment = .@"16" }, |
| | 113970 | .extra_temps = .{ |
| | 113971 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 113972 | .{ .type = .i128, .kind = .{ .param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 113973 | .{ .type = .usize, .kind = .{ .extern_func = "__floattihf" } }, |
| | 113974 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 110146 | .{ .type = .f32, .kind = .mem }, | 113975 | .{ .type = .f32, .kind = .mem }, |
| 110147 | .unused, | 113976 | .unused, |
| 110148 | .unused, | 113977 | .unused, |
| 110149 | .unused, | 113978 | .unused, |
| 110150 | .unused, | 113979 | .unused, |
| 110151 | .unused, | 113980 | .unused, |
| | 113981 | .unused, |
| 110152 | }, | 113982 | }, |
| 110153 | .dst_temps = .{ .mem, .unused }, | 113983 | .dst_temps = .{ .mem, .unused }, |
| 110154 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 113984 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 110155 | .each = .{ .once = &.{ | 113985 | .each = .{ .once = &.{ |
| 110156 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 113986 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 110157 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"8", .tmp0, .add_unaligned_size), ._, ._ }, | 113987 | .{ .@"0:", ._, .mov, .tmp1q0, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 110158 | .{ ._, ._, .mov, .tmp2q, .memsiad(.src0q, .@"8", .tmp0, .add_unaligned_size, 8), ._, ._ }, | 113988 | .{ ._, ._, .mov, .tmp1q1, .memsid(.src0q, .@"8", .tmp0, 8), ._, ._ }, |
| 110159 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 113989 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 110160 | .{ ._, ._ss, .mov, .tmp5d, .tmp4d, ._, ._ }, | 113990 | .{ ._, ._ss, .mov, .mem(.tmp4d), .tmp3x, ._, ._ }, |
| 110161 | .{ ._, ._, .mov, .tmp1d, .tmp5d, ._, ._ }, | 113991 | .{ ._, ._, .mov, .tmp1d0, .mem(.tmp4d), ._, ._ }, |
| 110162 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | 113992 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp1w0, ._, ._ }, |
| 110163 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 113993 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 110164 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 113994 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 110165 | } }, | 113995 | } }, |
| 110166 | }, .{ | 113996 | }, .{ |
| 110167 | .required_features = .{ .@"64bit", .avx, null, null }, | 113997 | .required_cc_abi = .win64, |
| | 113998 | .required_features = .{ .sse, null, null, null }, |
| | 113999 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 114000 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| | 114001 | .patterns = &.{ |
| | 114002 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 114003 | }, |
| | 114004 | .call_frame = .{ .alignment = .@"16" }, |
| | 114005 | .extra_temps = .{ |
| | 114006 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 114007 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 114008 | .{ .type = .usize, .kind = .{ .extern_func = "__floattihf" } }, |
| | 114009 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 114010 | .{ .type = .f32, .kind = .mem }, |
| | 114011 | .unused, |
| | 114012 | .unused, |
| | 114013 | .unused, |
| | 114014 | .unused, |
| | 114015 | .unused, |
| | 114016 | .unused, |
| | 114017 | }, |
| | 114018 | .dst_temps = .{ .mem, .unused }, |
| | 114019 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 114020 | .each = .{ .once = &.{ |
| | 114021 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| | 114022 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.src0, .@"8", .tmp0), ._, ._ }, |
| | 114023 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 114024 | .{ ._, ._ss, .mov, .mem(.tmp4d), .tmp3x, ._, ._ }, |
| | 114025 | .{ ._, ._, .mov, .tmp1d, .mem(.tmp4d), ._, ._ }, |
| | 114026 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp1w, ._, ._ }, |
| | 114027 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 114028 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 114029 | } }, |
| | 114030 | }, .{ |
| | 114031 | .required_cc_abi = .sysv64, |
| | 114032 | .required_features = .{ .avx, null, null, null }, |
| 110168 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 114033 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 110169 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, | 114034 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| 110170 | .patterns = &.{ | 114035 | .patterns = &.{ |
| ... | @@ -110172,11 +114037,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110172,11 +114037,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110172 | }, | 114037 | }, |
| 110173 | .call_frame = .{ .alignment = .@"16" }, | 114038 | .call_frame = .{ .alignment = .@"16" }, |
| 110174 | .extra_temps = .{ | 114039 | .extra_temps = .{ |
| 110175 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 114040 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 110176 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 114041 | .{ .type = .u128, .kind = .{ .param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 110177 | .{ .type = .u64, .kind = .{ .reg = .rsi } }, | | |
| 110178 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntihf" } }, | 114042 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntihf" } }, |
| 110179 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 114043 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 114044 | .unused, |
| 110180 | .unused, | 114045 | .unused, |
| 110181 | .unused, | 114046 | .unused, |
| 110182 | .unused, | 114047 | .unused, |
| ... | @@ -110187,16 +114052,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110187,16 +114052,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110187 | .dst_temps = .{ .mem, .unused }, | 114052 | .dst_temps = .{ .mem, .unused }, |
| 110188 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 114053 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 110189 | .each = .{ .once = &.{ | 114054 | .each = .{ .once = &.{ |
| 110190 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 114055 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 110191 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"8", .tmp0, .add_unaligned_size), ._, ._ }, | 114056 | .{ .@"0:", ._, .mov, .tmp1q0, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 110192 | .{ ._, ._, .mov, .tmp2q, .memsiad(.src0q, .@"8", .tmp0, .add_unaligned_size, 8), ._, ._ }, | 114057 | .{ ._, ._, .mov, .tmp1q1, .memsid(.src0q, .@"8", .tmp0, 8), ._, ._ }, |
| 110193 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 114058 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 110194 | .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp4x, .ui(0), ._ }, | 114059 | .{ ._, .vp_w, .extr, .memi(.dst0w, .tmp0), .tmp3x, .ui(0), ._ }, |
| 110195 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 114060 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 110196 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 114061 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 110197 | } }, | 114062 | } }, |
| 110198 | }, .{ | 114063 | }, .{ |
| 110199 | .required_features = .{ .@"64bit", .sse4_1, null, null }, | 114064 | .required_cc_abi = .win64, |
| | 114065 | .required_features = .{ .avx, null, null, null }, |
| 110200 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 114066 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 110201 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, | 114067 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| 110202 | .patterns = &.{ | 114068 | .patterns = &.{ |
| ... | @@ -110204,11 +114070,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110204,11 +114070,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110204 | }, | 114070 | }, |
| 110205 | .call_frame = .{ .alignment = .@"16" }, | 114071 | .call_frame = .{ .alignment = .@"16" }, |
| 110206 | .extra_temps = .{ | 114072 | .extra_temps = .{ |
| 110207 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 114073 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 110208 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 114074 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 110209 | .{ .type = .u64, .kind = .{ .reg = .rsi } }, | | |
| 110210 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntihf" } }, | 114075 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntihf" } }, |
| 110211 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 114076 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 114077 | .unused, |
| 110212 | .unused, | 114078 | .unused, |
| 110213 | .unused, | 114079 | .unused, |
| 110214 | .unused, | 114080 | .unused, |
| ... | @@ -110219,16 +114085,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110219,16 +114085,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110219 | .dst_temps = .{ .mem, .unused }, | 114085 | .dst_temps = .{ .mem, .unused }, |
| 110220 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 114086 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 110221 | .each = .{ .once = &.{ | 114087 | .each = .{ .once = &.{ |
| 110222 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 114088 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 110223 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"8", .tmp0, .add_unaligned_size), ._, ._ }, | 114089 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.src0, .@"8", .tmp0), ._, ._ }, |
| 110224 | .{ ._, ._, .mov, .tmp2q, .memsiad(.src0q, .@"8", .tmp0, .add_unaligned_size, 8), ._, ._ }, | 114090 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 110225 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 114091 | .{ ._, .vp_w, .extr, .memi(.dst0w, .tmp0), .tmp3x, .ui(0), ._ }, |
| 110226 | .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp4x, .ui(0), ._ }, | 114092 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 110227 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 114093 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 110228 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | | |
| 110229 | } }, | 114094 | } }, |
| 110230 | }, .{ | 114095 | }, .{ |
| 110231 | .required_features = .{ .@"64bit", .sse2, null, null }, | 114096 | .required_cc_abi = .sysv64, |
| | 114097 | .required_features = .{ .sse4_1, null, null, null }, |
| 110232 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 114098 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 110233 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, | 114099 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| 110234 | .patterns = &.{ | 114100 | .patterns = &.{ |
| ... | @@ -110236,11 +114102,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110236,11 +114102,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110236 | }, | 114102 | }, |
| 110237 | .call_frame = .{ .alignment = .@"16" }, | 114103 | .call_frame = .{ .alignment = .@"16" }, |
| 110238 | .extra_temps = .{ | 114104 | .extra_temps = .{ |
| 110239 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 114105 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 110240 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 114106 | .{ .type = .u128, .kind = .{ .param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 110241 | .{ .type = .u64, .kind = .{ .reg = .rsi } }, | | |
| 110242 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntihf" } }, | 114107 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntihf" } }, |
| 110243 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 114108 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 114109 | .unused, |
| 110244 | .unused, | 114110 | .unused, |
| 110245 | .unused, | 114111 | .unused, |
| 110246 | .unused, | 114112 | .unused, |
| ... | @@ -110251,17 +114117,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110251,17 +114117,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110251 | .dst_temps = .{ .mem, .unused }, | 114117 | .dst_temps = .{ .mem, .unused }, |
| 110252 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 114118 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 110253 | .each = .{ .once = &.{ | 114119 | .each = .{ .once = &.{ |
| 110254 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 114120 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 110255 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"8", .tmp0, .add_unaligned_size), ._, ._ }, | 114121 | .{ .@"0:", ._, .mov, .tmp1q0, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 110256 | .{ ._, ._, .mov, .tmp2q, .memsiad(.src0q, .@"8", .tmp0, .add_unaligned_size, 8), ._, ._ }, | 114122 | .{ ._, ._, .mov, .tmp1q1, .memsid(.src0q, .@"8", .tmp0, 8), ._, ._ }, |
| 110257 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 114123 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 110258 | .{ ._, .p_w, .extr, .tmp1d, .tmp4x, .ui(0), ._ }, | 114124 | .{ ._, .p_w, .extr, .memi(.dst0w, .tmp0), .tmp3x, .ui(0), ._ }, |
| 110259 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | 114125 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 110260 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 114126 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 110261 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | | |
| 110262 | } }, | 114127 | } }, |
| 110263 | }, .{ | 114128 | }, .{ |
| 110264 | .required_features = .{ .@"64bit", .sse, null, null }, | 114129 | .required_cc_abi = .win64, |
| | 114130 | .required_features = .{ .sse4_1, null, null, null }, |
| 110265 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 114131 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 110266 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, | 114132 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| 110267 | .patterns = &.{ | 114133 | .patterns = &.{ |
| ... | @@ -110269,30 +114135,163 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110269,30 +114135,163 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110269 | }, | 114135 | }, |
| 110270 | .call_frame = .{ .alignment = .@"16" }, | 114136 | .call_frame = .{ .alignment = .@"16" }, |
| 110271 | .extra_temps = .{ | 114137 | .extra_temps = .{ |
| 110272 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 114138 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 110273 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 114139 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 110274 | .{ .type = .u64, .kind = .{ .reg = .rsi } }, | | |
| 110275 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntihf" } }, | 114140 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntihf" } }, |
| 110276 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 114141 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 114142 | .unused, |
| | 114143 | .unused, |
| | 114144 | .unused, |
| | 114145 | .unused, |
| | 114146 | .unused, |
| | 114147 | .unused, |
| | 114148 | .unused, |
| | 114149 | }, |
| | 114150 | .dst_temps = .{ .mem, .unused }, |
| | 114151 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 114152 | .each = .{ .once = &.{ |
| | 114153 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| | 114154 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.src0, .@"8", .tmp0), ._, ._ }, |
| | 114155 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 114156 | .{ ._, .p_w, .extr, .memi(.dst0w, .tmp0), .tmp3x, .ui(0), ._ }, |
| | 114157 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 114158 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 114159 | } }, |
| | 114160 | }, .{ |
| | 114161 | .required_cc_abi = .sysv64, |
| | 114162 | .required_features = .{ .sse2, null, null, null }, |
| | 114163 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 114164 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| | 114165 | .patterns = &.{ |
| | 114166 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 114167 | }, |
| | 114168 | .call_frame = .{ .alignment = .@"16" }, |
| | 114169 | .extra_temps = .{ |
| | 114170 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 114171 | .{ .type = .u128, .kind = .{ .param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 114172 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntihf" } }, |
| | 114173 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 114174 | .unused, |
| | 114175 | .unused, |
| | 114176 | .unused, |
| | 114177 | .unused, |
| | 114178 | .unused, |
| | 114179 | .unused, |
| | 114180 | .unused, |
| | 114181 | }, |
| | 114182 | .dst_temps = .{ .mem, .unused }, |
| | 114183 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 114184 | .each = .{ .once = &.{ |
| | 114185 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| | 114186 | .{ .@"0:", ._, .mov, .tmp1q0, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 114187 | .{ ._, ._, .mov, .tmp1q1, .memsid(.src0q, .@"8", .tmp0, 8), ._, ._ }, |
| | 114188 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 114189 | .{ ._, .p_w, .extr, .tmp1d0, .tmp3x, .ui(0), ._ }, |
| | 114190 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp1w0, ._, ._ }, |
| | 114191 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 114192 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 114193 | } }, |
| | 114194 | }, .{ |
| | 114195 | .required_cc_abi = .win64, |
| | 114196 | .required_features = .{ .sse2, null, null, null }, |
| | 114197 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 114198 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| | 114199 | .patterns = &.{ |
| | 114200 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 114201 | }, |
| | 114202 | .call_frame = .{ .alignment = .@"16" }, |
| | 114203 | .extra_temps = .{ |
| | 114204 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 114205 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 114206 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntihf" } }, |
| | 114207 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 114208 | .unused, |
| | 114209 | .unused, |
| | 114210 | .unused, |
| | 114211 | .unused, |
| | 114212 | .unused, |
| | 114213 | .unused, |
| | 114214 | .unused, |
| | 114215 | }, |
| | 114216 | .dst_temps = .{ .mem, .unused }, |
| | 114217 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 114218 | .each = .{ .once = &.{ |
| | 114219 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| | 114220 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.src0, .@"8", .tmp0), ._, ._ }, |
| | 114221 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 114222 | .{ ._, .p_w, .extr, .tmp1d, .tmp3x, .ui(0), ._ }, |
| | 114223 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp1w, ._, ._ }, |
| | 114224 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 114225 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 114226 | } }, |
| | 114227 | }, .{ |
| | 114228 | .required_cc_abi = .sysv64, |
| | 114229 | .required_features = .{ .sse, null, null, null }, |
| | 114230 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 114231 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| | 114232 | .patterns = &.{ |
| | 114233 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 114234 | }, |
| | 114235 | .call_frame = .{ .alignment = .@"16" }, |
| | 114236 | .extra_temps = .{ |
| | 114237 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 114238 | .{ .type = .u128, .kind = .{ .param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 114239 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntihf" } }, |
| | 114240 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 110277 | .{ .type = .f32, .kind = .mem }, | 114241 | .{ .type = .f32, .kind = .mem }, |
| 110278 | .unused, | 114242 | .unused, |
| 110279 | .unused, | 114243 | .unused, |
| 110280 | .unused, | 114244 | .unused, |
| 110281 | .unused, | 114245 | .unused, |
| 110282 | .unused, | 114246 | .unused, |
| | 114247 | .unused, |
| 110283 | }, | 114248 | }, |
| 110284 | .dst_temps = .{ .mem, .unused }, | 114249 | .dst_temps = .{ .mem, .unused }, |
| 110285 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 114250 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 110286 | .each = .{ .once = &.{ | 114251 | .each = .{ .once = &.{ |
| 110287 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 114252 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 110288 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"8", .tmp0, .add_unaligned_size), ._, ._ }, | 114253 | .{ .@"0:", ._, .mov, .tmp1q0, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 110289 | .{ ._, ._, .mov, .tmp2q, .memsiad(.src0q, .@"8", .tmp0, .add_unaligned_size, 8), ._, ._ }, | 114254 | .{ ._, ._, .mov, .tmp1q1, .memsid(.src0q, .@"8", .tmp0, 8), ._, ._ }, |
| 110290 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 114255 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 110291 | .{ ._, ._ss, .mov, .tmp5d, .tmp4d, ._, ._ }, | 114256 | .{ ._, ._ss, .mov, .mem(.tmp4d), .tmp3x, ._, ._ }, |
| 110292 | .{ ._, ._, .mov, .tmp1d, .tmp5d, ._, ._ }, | 114257 | .{ ._, ._, .mov, .tmp1d0, .mem(.tmp4d), ._, ._ }, |
| 110293 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | 114258 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp1w0, ._, ._ }, |
| 110294 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 114259 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 110295 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 114260 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 114261 | } }, |
| | 114262 | }, .{ |
| | 114263 | .required_cc_abi = .win64, |
| | 114264 | .required_features = .{ .sse, null, null, null }, |
| | 114265 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 114266 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any }, |
| | 114267 | .patterns = &.{ |
| | 114268 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 114269 | }, |
| | 114270 | .call_frame = .{ .alignment = .@"16" }, |
| | 114271 | .extra_temps = .{ |
| | 114272 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 114273 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 114274 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntihf" } }, |
| | 114275 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 114276 | .{ .type = .f32, .kind = .mem }, |
| | 114277 | .unused, |
| | 114278 | .unused, |
| | 114279 | .unused, |
| | 114280 | .unused, |
| | 114281 | .unused, |
| | 114282 | .unused, |
| | 114283 | }, |
| | 114284 | .dst_temps = .{ .mem, .unused }, |
| | 114285 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 114286 | .each = .{ .once = &.{ |
| | 114287 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| | 114288 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.src0, .@"8", .tmp0), ._, ._ }, |
| | 114289 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 114290 | .{ ._, ._ss, .mov, .mem(.tmp4d), .tmp3x, ._, ._ }, |
| | 114291 | .{ ._, ._, .mov, .tmp1d, .mem(.tmp4d), ._, ._ }, |
| | 114292 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp1w, ._, ._ }, |
| | 114293 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 114294 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 110296 | } }, | 114295 | } }, |
| 110297 | }, .{ | 114296 | }, .{ |
| 110298 | .required_features = .{ .@"64bit", .avx, null, null }, | 114297 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | @@ -110304,11 +114303,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110304,11 +114303,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110304 | .call_frame = .{ .alignment = .@"16" }, | 114303 | .call_frame = .{ .alignment = .@"16" }, |
| 110305 | .extra_temps = .{ | 114304 | .extra_temps = .{ |
| 110306 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 114305 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 110307 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 114306 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 110308 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 114307 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 110309 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 114308 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 110310 | .{ .type = .usize, .kind = .{ .extern_func = "__floateihf" } }, | 114309 | .{ .type = .usize, .kind = .{ .extern_func = "__floateihf" } }, |
| 110311 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 114310 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 110312 | .unused, | 114311 | .unused, |
| 110313 | .unused, | 114312 | .unused, |
| 110314 | .unused, | 114313 | .unused, |
| ... | @@ -110318,15 +114317,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110318,15 +114317,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110318 | .dst_temps = .{ .mem, .unused }, | 114317 | .dst_temps = .{ .mem, .unused }, |
| 110319 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 114318 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 110320 | .each = .{ .once = &.{ | 114319 | .each = .{ .once = &.{ |
| 110321 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 114320 | .{ ._, ._, .lea, .tmp0p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 110322 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 114321 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 110323 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, | 114322 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, |
| 110324 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, | 114323 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, |
| 110325 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 114324 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 110326 | .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp1, .add_unaligned_size), .tmp5x, .ui(0), ._ }, | 114325 | .{ ._, .vp_w, .extr, .memi(.dst0w, .tmp1), .tmp5x, .ui(0), ._ }, |
| 110327 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ }, | 114326 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .sub_src0_elem_size), ._, ._ }, |
| 110328 | .{ ._, ._, .add, .tmp1p, .si(2), ._, ._ }, | 114327 | .{ ._, ._, .sub, .tmp1d, .si(2), ._, ._ }, |
| 110329 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 114328 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 110330 | } }, | 114329 | } }, |
| 110331 | }, .{ | 114330 | }, .{ |
| 110332 | .required_features = .{ .@"64bit", .sse4_1, null, null }, | 114331 | .required_features = .{ .@"64bit", .sse4_1, null, null }, |
| ... | @@ -110338,11 +114337,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110338,11 +114337,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110338 | .call_frame = .{ .alignment = .@"16" }, | 114337 | .call_frame = .{ .alignment = .@"16" }, |
| 110339 | .extra_temps = .{ | 114338 | .extra_temps = .{ |
| 110340 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 114339 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 110341 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 114340 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 110342 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 114341 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 110343 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 114342 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 110344 | .{ .type = .usize, .kind = .{ .extern_func = "__floateihf" } }, | 114343 | .{ .type = .usize, .kind = .{ .extern_func = "__floateihf" } }, |
| 110345 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 114344 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 110346 | .unused, | 114345 | .unused, |
| 110347 | .unused, | 114346 | .unused, |
| 110348 | .unused, | 114347 | .unused, |
| ... | @@ -110352,15 +114351,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110352,15 +114351,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110352 | .dst_temps = .{ .mem, .unused }, | 114351 | .dst_temps = .{ .mem, .unused }, |
| 110353 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 114352 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 110354 | .each = .{ .once = &.{ | 114353 | .each = .{ .once = &.{ |
| 110355 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 114354 | .{ ._, ._, .lea, .tmp0p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 110356 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 114355 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 110357 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, | 114356 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, |
| 110358 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, | 114357 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, |
| 110359 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 114358 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 110360 | .{ ._, .p_w, .extr, .memia(.dst0w, .tmp1, .add_unaligned_size), .tmp5x, .ui(0), ._ }, | 114359 | .{ ._, .p_w, .extr, .memi(.dst0w, .tmp1), .tmp5x, .ui(0), ._ }, |
| 110361 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ }, | 114360 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .sub_src0_elem_size), ._, ._ }, |
| 110362 | .{ ._, ._, .add, .tmp1p, .si(2), ._, ._ }, | 114361 | .{ ._, ._, .sub, .tmp1d, .si(2), ._, ._ }, |
| 110363 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 114362 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 110364 | } }, | 114363 | } }, |
| 110365 | }, .{ | 114364 | }, .{ |
| 110366 | .required_features = .{ .@"64bit", .sse2, null, null }, | 114365 | .required_features = .{ .@"64bit", .sse2, null, null }, |
| ... | @@ -110372,11 +114371,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110372,11 +114371,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110372 | .call_frame = .{ .alignment = .@"16" }, | 114371 | .call_frame = .{ .alignment = .@"16" }, |
| 110373 | .extra_temps = .{ | 114372 | .extra_temps = .{ |
| 110374 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 114373 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 110375 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 114374 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 110376 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 114375 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 110377 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 114376 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 110378 | .{ .type = .usize, .kind = .{ .extern_func = "__floateihf" } }, | 114377 | .{ .type = .usize, .kind = .{ .extern_func = "__floateihf" } }, |
| 110379 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 114378 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 110380 | .unused, | 114379 | .unused, |
| 110381 | .unused, | 114380 | .unused, |
| 110382 | .unused, | 114381 | .unused, |
| ... | @@ -110386,16 +114385,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110386,16 +114385,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110386 | .dst_temps = .{ .mem, .unused }, | 114385 | .dst_temps = .{ .mem, .unused }, |
| 110387 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 114386 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 110388 | .each = .{ .once = &.{ | 114387 | .each = .{ .once = &.{ |
| 110389 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 114388 | .{ ._, ._, .lea, .tmp0p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 110390 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 114389 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 110391 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, | 114390 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, |
| 110392 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, | 114391 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, |
| 110393 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 114392 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 110394 | .{ ._, .p_w, .extr, .tmp2d, .tmp5x, .ui(0), ._ }, | 114393 | .{ ._, .p_w, .extr, .tmp2d, .tmp5x, .ui(0), ._ }, |
| 110395 | .{ ._, ._, .mov, .memia(.dst0w, .tmp1, .add_unaligned_size), .tmp2w, ._, ._ }, | 114394 | .{ ._, ._, .mov, .memi(.dst0w, .tmp1), .tmp2w, ._, ._ }, |
| 110396 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ }, | 114395 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .sub_src0_elem_size), ._, ._ }, |
| 110397 | .{ ._, ._, .add, .tmp1p, .si(2), ._, ._ }, | 114396 | .{ ._, ._, .sub, .tmp1d, .si(2), ._, ._ }, |
| 110398 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 114397 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 110399 | } }, | 114398 | } }, |
| 110400 | }, .{ | 114399 | }, .{ |
| 110401 | .required_features = .{ .@"64bit", .sse, null, null }, | 114400 | .required_features = .{ .@"64bit", .sse, null, null }, |
| ... | @@ -110407,11 +114406,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110407,11 +114406,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110407 | .call_frame = .{ .alignment = .@"16" }, | 114406 | .call_frame = .{ .alignment = .@"16" }, |
| 110408 | .extra_temps = .{ | 114407 | .extra_temps = .{ |
| 110409 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 114408 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 110410 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 114409 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 110411 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 114410 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 110412 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 114411 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 110413 | .{ .type = .usize, .kind = .{ .extern_func = "__floateihf" } }, | 114412 | .{ .type = .usize, .kind = .{ .extern_func = "__floateihf" } }, |
| 110414 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 114413 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 110415 | .{ .type = .f32, .kind = .mem }, | 114414 | .{ .type = .f32, .kind = .mem }, |
| 110416 | .unused, | 114415 | .unused, |
| 110417 | .unused, | 114416 | .unused, |
| ... | @@ -110421,17 +114420,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110421,17 +114420,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110421 | .dst_temps = .{ .mem, .unused }, | 114420 | .dst_temps = .{ .mem, .unused }, |
| 110422 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 114421 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 110423 | .each = .{ .once = &.{ | 114422 | .each = .{ .once = &.{ |
| 110424 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 114423 | .{ ._, ._, .lea, .tmp0p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 110425 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 114424 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 110426 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, | 114425 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, |
| 110427 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, | 114426 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, |
| 110428 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 114427 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 110429 | .{ ._, ._ss, .mov, .tmp6d, .tmp5d, ._, ._ }, | 114428 | .{ ._, ._ss, .mov, .tmp6d, .tmp5d, ._, ._ }, |
| 110430 | .{ ._, ._, .mov, .tmp2d, .tmp6d, ._, ._ }, | 114429 | .{ ._, ._, .mov, .tmp2d, .tmp6d, ._, ._ }, |
| 110431 | .{ ._, ._, .mov, .memia(.dst0w, .tmp1, .add_unaligned_size), .tmp2w, ._, ._ }, | 114430 | .{ ._, ._, .mov, .memi(.dst0w, .tmp1), .tmp2w, ._, ._ }, |
| 110432 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ }, | 114431 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .sub_src0_elem_size), ._, ._ }, |
| 110433 | .{ ._, ._, .add, .tmp1p, .si(2), ._, ._ }, | 114432 | .{ ._, ._, .sub, .tmp1d, .si(2), ._, ._ }, |
| 110434 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 114433 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 110435 | } }, | 114434 | } }, |
| 110436 | }, .{ | 114435 | }, .{ |
| 110437 | .required_features = .{ .@"64bit", .avx, null, null }, | 114436 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | @@ -110443,11 +114442,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110443,11 +114442,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110443 | .call_frame = .{ .alignment = .@"16" }, | 114442 | .call_frame = .{ .alignment = .@"16" }, |
| 110444 | .extra_temps = .{ | 114443 | .extra_temps = .{ |
| 110445 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 114444 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 110446 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 114445 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 110447 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 114446 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 110448 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 114447 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 110449 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneihf" } }, | 114448 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneihf" } }, |
| 110450 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 114449 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 110451 | .unused, | 114450 | .unused, |
| 110452 | .unused, | 114451 | .unused, |
| 110453 | .unused, | 114452 | .unused, |
| ... | @@ -110457,15 +114456,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110457,15 +114456,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110457 | .dst_temps = .{ .mem, .unused }, | 114456 | .dst_temps = .{ .mem, .unused }, |
| 110458 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 114457 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 110459 | .each = .{ .once = &.{ | 114458 | .each = .{ .once = &.{ |
| 110460 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 114459 | .{ ._, ._, .lea, .tmp0p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 110461 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 114460 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 110462 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, | 114461 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, |
| 110463 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, | 114462 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, |
| 110464 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 114463 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 110465 | .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp1, .add_unaligned_size), .tmp5x, .ui(0), ._ }, | 114464 | .{ ._, .vp_w, .extr, .memi(.dst0w, .tmp1), .tmp5x, .ui(0), ._ }, |
| 110466 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ }, | 114465 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .sub_src0_elem_size), ._, ._ }, |
| 110467 | .{ ._, ._, .add, .tmp1p, .si(2), ._, ._ }, | 114466 | .{ ._, ._, .sub, .tmp1d, .si(2), ._, ._ }, |
| 110468 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 114467 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 110469 | } }, | 114468 | } }, |
| 110470 | }, .{ | 114469 | }, .{ |
| 110471 | .required_features = .{ .@"64bit", .sse4_1, null, null }, | 114470 | .required_features = .{ .@"64bit", .sse4_1, null, null }, |
| ... | @@ -110477,11 +114476,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110477,11 +114476,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110477 | .call_frame = .{ .alignment = .@"16" }, | 114476 | .call_frame = .{ .alignment = .@"16" }, |
| 110478 | .extra_temps = .{ | 114477 | .extra_temps = .{ |
| 110479 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 114478 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 110480 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 114479 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 110481 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 114480 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 110482 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 114481 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 110483 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneihf" } }, | 114482 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneihf" } }, |
| 110484 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 114483 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 110485 | .unused, | 114484 | .unused, |
| 110486 | .unused, | 114485 | .unused, |
| 110487 | .unused, | 114486 | .unused, |
| ... | @@ -110491,15 +114490,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110491,15 +114490,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110491 | .dst_temps = .{ .mem, .unused }, | 114490 | .dst_temps = .{ .mem, .unused }, |
| 110492 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 114491 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 110493 | .each = .{ .once = &.{ | 114492 | .each = .{ .once = &.{ |
| 110494 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 114493 | .{ ._, ._, .lea, .tmp0p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 110495 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 114494 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 110496 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, | 114495 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, |
| 110497 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, | 114496 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, |
| 110498 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 114497 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 110499 | .{ ._, .p_w, .extr, .memia(.dst0w, .tmp1, .add_unaligned_size), .tmp5x, .ui(0), ._ }, | 114498 | .{ ._, .p_w, .extr, .memi(.dst0w, .tmp1), .tmp5x, .ui(0), ._ }, |
| 110500 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ }, | 114499 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .sub_src0_elem_size), ._, ._ }, |
| 110501 | .{ ._, ._, .add, .tmp1p, .si(2), ._, ._ }, | 114500 | .{ ._, ._, .sub, .tmp1d, .si(2), ._, ._ }, |
| 110502 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 114501 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 110503 | } }, | 114502 | } }, |
| 110504 | }, .{ | 114503 | }, .{ |
| 110505 | .required_features = .{ .@"64bit", .sse2, null, null }, | 114504 | .required_features = .{ .@"64bit", .sse2, null, null }, |
| ... | @@ -110511,11 +114510,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110511,11 +114510,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110511 | .call_frame = .{ .alignment = .@"16" }, | 114510 | .call_frame = .{ .alignment = .@"16" }, |
| 110512 | .extra_temps = .{ | 114511 | .extra_temps = .{ |
| 110513 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 114512 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 110514 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 114513 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 110515 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 114514 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 110516 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 114515 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 110517 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneihf" } }, | 114516 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneihf" } }, |
| 110518 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 114517 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 110519 | .unused, | 114518 | .unused, |
| 110520 | .unused, | 114519 | .unused, |
| 110521 | .unused, | 114520 | .unused, |
| ... | @@ -110525,16 +114524,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110525,16 +114524,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110525 | .dst_temps = .{ .mem, .unused }, | 114524 | .dst_temps = .{ .mem, .unused }, |
| 110526 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 114525 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 110527 | .each = .{ .once = &.{ | 114526 | .each = .{ .once = &.{ |
| 110528 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 114527 | .{ ._, ._, .lea, .tmp0p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 110529 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 114528 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 110530 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, | 114529 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, |
| 110531 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, | 114530 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, |
| 110532 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 114531 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 110533 | .{ ._, .p_w, .extr, .tmp2d, .tmp5x, .ui(0), ._ }, | 114532 | .{ ._, .p_w, .extr, .tmp2d, .tmp5x, .ui(0), ._ }, |
| 110534 | .{ ._, ._, .mov, .memia(.dst0w, .tmp1, .add_unaligned_size), .tmp2w, ._, ._ }, | 114533 | .{ ._, ._, .mov, .memi(.dst0w, .tmp1), .tmp2w, ._, ._ }, |
| 110535 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ }, | 114534 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .sub_src0_elem_size), ._, ._ }, |
| 110536 | .{ ._, ._, .add, .tmp1p, .si(2), ._, ._ }, | 114535 | .{ ._, ._, .sub, .tmp1d, .si(2), ._, ._ }, |
| 110537 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 114536 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 110538 | } }, | 114537 | } }, |
| 110539 | }, .{ | 114538 | }, .{ |
| 110540 | .required_features = .{ .@"64bit", .sse, null, null }, | 114539 | .required_features = .{ .@"64bit", .sse, null, null }, |
| ... | @@ -110546,11 +114545,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110546,11 +114545,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110546 | .call_frame = .{ .alignment = .@"16" }, | 114545 | .call_frame = .{ .alignment = .@"16" }, |
| 110547 | .extra_temps = .{ | 114546 | .extra_temps = .{ |
| 110548 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 114547 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 110549 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 114548 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 110550 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 114549 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 110551 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 114550 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 110552 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneihf" } }, | 114551 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneihf" } }, |
| 110553 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 114552 | .{ .type = .f16, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 110554 | .{ .type = .f32, .kind = .mem }, | 114553 | .{ .type = .f32, .kind = .mem }, |
| 110555 | .unused, | 114554 | .unused, |
| 110556 | .unused, | 114555 | .unused, |
| ... | @@ -110560,17 +114559,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110560,17 +114559,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110560 | .dst_temps = .{ .mem, .unused }, | 114559 | .dst_temps = .{ .mem, .unused }, |
| 110561 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 114560 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 110562 | .each = .{ .once = &.{ | 114561 | .each = .{ .once = &.{ |
| 110563 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 114562 | .{ ._, ._, .lea, .tmp0p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 110564 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 114563 | .{ ._, ._, .mov, .tmp1d, .sia(-2, .dst0, .add_unaligned_size), ._, ._ }, |
| 110565 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, | 114564 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, |
| 110566 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, | 114565 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, |
| 110567 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 114566 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 110568 | .{ ._, ._ss, .mov, .tmp6d, .tmp5d, ._, ._ }, | 114567 | .{ ._, ._ss, .mov, .tmp6d, .tmp5d, ._, ._ }, |
| 110569 | .{ ._, ._, .mov, .tmp2d, .tmp6d, ._, ._ }, | 114568 | .{ ._, ._, .mov, .tmp2d, .tmp6d, ._, ._ }, |
| 110570 | .{ ._, ._, .mov, .memia(.dst0w, .tmp1, .add_unaligned_size), .tmp2w, ._, ._ }, | 114569 | .{ ._, ._, .mov, .memi(.dst0w, .tmp1), .tmp2w, ._, ._ }, |
| 110571 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ }, | 114570 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .sub_src0_elem_size), ._, ._ }, |
| 110572 | .{ ._, ._, .add, .tmp1p, .si(2), ._, ._ }, | 114571 | .{ ._, ._, .sub, .tmp1d, .si(2), ._, ._ }, |
| 110573 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 114572 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 110574 | } }, | 114573 | } }, |
| 110575 | }, .{ | 114574 | }, .{ |
| 110576 | .required_features = .{ .avx, null, null, null }, | 114575 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -110965,11 +114964,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110965,11 +114964,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110965 | .{ .@"1:", ._ss, .cvtsi2, .dst0x, .src0q, ._, ._ }, | 114964 | .{ .@"1:", ._ss, .cvtsi2, .dst0x, .src0q, ._, ._ }, |
| 110966 | } }, | 114965 | } }, |
| 110967 | }, .{ | 114966 | }, .{ |
| 110968 | .required_features = .{ .@"64bit", .sse, null, null }, | 114967 | .required_cc_abi = .sysv64, |
| | 114968 | .required_features = .{ .sse, null, null, null }, |
| 110969 | .src_constraints = .{ .{ .signed_int = .xword }, .any, .any }, | 114969 | .src_constraints = .{ .{ .signed_int = .xword }, .any, .any }, |
| 110970 | .dst_constraints = .{ .{ .float = .dword }, .any }, | 114970 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| 110971 | .patterns = &.{ | 114971 | .patterns = &.{ |
| 110972 | .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } }, | 114972 | .{ .src = .{ .{ .to_param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 110973 | }, | 114973 | }, |
| 110974 | .call_frame = .{ .alignment = .@"16" }, | 114974 | .call_frame = .{ .alignment = .@"16" }, |
| 110975 | .extra_temps = .{ | 114975 | .extra_temps = .{ |
| ... | @@ -110985,17 +114985,46 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -110985,17 +114985,46 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 110985 | .unused, | 114985 | .unused, |
| 110986 | .unused, | 114986 | .unused, |
| 110987 | }, | 114987 | }, |
| 110988 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 114988 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 110989 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 114989 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 110990 | .each = .{ .once = &.{ | 114990 | .each = .{ .once = &.{ |
| 110991 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 114991 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 110992 | } }, | 114992 | } }, |
| 110993 | }, .{ | 114993 | }, .{ |
| 110994 | .required_features = .{ .@"64bit", .sse, null, null }, | 114994 | .required_cc_abi = .win64, |
| | 114995 | .required_features = .{ .sse, null, null, null }, |
| | 114996 | .src_constraints = .{ .{ .signed_int = .xword }, .any, .any }, |
| | 114997 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 114998 | .patterns = &.{ |
| | 114999 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 115000 | }, |
| | 115001 | .call_frame = .{ .alignment = .@"16" }, |
| | 115002 | .extra_temps = .{ |
| | 115003 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 115004 | .{ .type = .usize, .kind = .{ .extern_func = "__floattisf" } }, |
| | 115005 | .unused, |
| | 115006 | .unused, |
| | 115007 | .unused, |
| | 115008 | .unused, |
| | 115009 | .unused, |
| | 115010 | .unused, |
| | 115011 | .unused, |
| | 115012 | .unused, |
| | 115013 | .unused, |
| | 115014 | }, |
| | 115015 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| | 115016 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 115017 | .each = .{ .once = &.{ |
| | 115018 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| | 115019 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 115020 | } }, |
| | 115021 | }, .{ |
| | 115022 | .required_cc_abi = .sysv64, |
| | 115023 | .required_features = .{ .sse, null, null, null }, |
| 110995 | .src_constraints = .{ .{ .unsigned_int = .xword }, .any, .any }, | 115024 | .src_constraints = .{ .{ .unsigned_int = .xword }, .any, .any }, |
| 110996 | .dst_constraints = .{ .{ .float = .dword }, .any }, | 115025 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| 110997 | .patterns = &.{ | 115026 | .patterns = &.{ |
| 110998 | .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } }, | 115027 | .{ .src = .{ .{ .to_param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 110999 | }, | 115028 | }, |
| 111000 | .call_frame = .{ .alignment = .@"16" }, | 115029 | .call_frame = .{ .alignment = .@"16" }, |
| 111001 | .extra_temps = .{ | 115030 | .extra_temps = .{ |
| ... | @@ -111011,11 +115040,39 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111011,11 +115040,39 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111011 | .unused, | 115040 | .unused, |
| 111012 | .unused, | 115041 | .unused, |
| 111013 | }, | 115042 | }, |
| 111014 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 115043 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 111015 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 115044 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 111016 | .each = .{ .once = &.{ | 115045 | .each = .{ .once = &.{ |
| 111017 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 115046 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 111018 | } }, | 115047 | } }, |
| | 115048 | }, .{ |
| | 115049 | .required_cc_abi = .win64, |
| | 115050 | .required_features = .{ .sse, null, null, null }, |
| | 115051 | .src_constraints = .{ .{ .unsigned_int = .xword }, .any, .any }, |
| | 115052 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 115053 | .patterns = &.{ |
| | 115054 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 115055 | }, |
| | 115056 | .call_frame = .{ .alignment = .@"16" }, |
| | 115057 | .extra_temps = .{ |
| | 115058 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 115059 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntisf" } }, |
| | 115060 | .unused, |
| | 115061 | .unused, |
| | 115062 | .unused, |
| | 115063 | .unused, |
| | 115064 | .unused, |
| | 115065 | .unused, |
| | 115066 | .unused, |
| | 115067 | .unused, |
| | 115068 | .unused, |
| | 115069 | }, |
| | 115070 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| | 115071 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 115072 | .each = .{ .once = &.{ |
| | 115073 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| | 115074 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 115075 | } }, |
| 111019 | }, .{ | 115076 | }, .{ |
| 111020 | .required_features = .{ .@"64bit", .sse, null, null }, | 115077 | .required_features = .{ .@"64bit", .sse, null, null }, |
| 111021 | .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any }, | 115078 | .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| ... | @@ -111025,8 +115082,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111025,8 +115082,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111025 | }, | 115082 | }, |
| 111026 | .call_frame = .{ .alignment = .@"16" }, | 115083 | .call_frame = .{ .alignment = .@"16" }, |
| 111027 | .extra_temps = .{ | 115084 | .extra_temps = .{ |
| 111028 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 115085 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 111029 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 115086 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 111030 | .{ .type = .usize, .kind = .{ .extern_func = "__floateisf" } }, | 115087 | .{ .type = .usize, .kind = .{ .extern_func = "__floateisf" } }, |
| 111031 | .unused, | 115088 | .unused, |
| 111032 | .unused, | 115089 | .unused, |
| ... | @@ -111037,7 +115094,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111037,7 +115094,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111037 | .unused, | 115094 | .unused, |
| 111038 | .unused, | 115095 | .unused, |
| 111039 | }, | 115096 | }, |
| 111040 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 115097 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 111041 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 115098 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 111042 | .each = .{ .once = &.{ | 115099 | .each = .{ .once = &.{ |
| 111043 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 115100 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| ... | @@ -111053,8 +115110,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111053,8 +115110,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111053 | }, | 115110 | }, |
| 111054 | .call_frame = .{ .alignment = .@"16" }, | 115111 | .call_frame = .{ .alignment = .@"16" }, |
| 111055 | .extra_temps = .{ | 115112 | .extra_temps = .{ |
| 111056 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 115113 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 111057 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 115114 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 111058 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneisf" } }, | 115115 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneisf" } }, |
| 111059 | .unused, | 115116 | .unused, |
| 111060 | .unused, | 115117 | .unused, |
| ... | @@ -111065,7 +115122,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111065,7 +115122,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111065 | .unused, | 115122 | .unused, |
| 111066 | .unused, | 115123 | .unused, |
| 111067 | }, | 115124 | }, |
| 111068 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 115125 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 111069 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 115126 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 111070 | .each = .{ .once = &.{ | 115127 | .each = .{ .once = &.{ |
| 111071 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 115128 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| ... | @@ -111158,7 +115215,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111158,7 +115215,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111158 | .{ .src = .{ .to_mem, .none, .none } }, | 115215 | .{ .src = .{ .to_mem, .none, .none } }, |
| 111159 | }, | 115216 | }, |
| 111160 | .extra_temps = .{ | 115217 | .extra_temps = .{ |
| 111161 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 115218 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 111162 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, | 115219 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| 111163 | .unused, | 115220 | .unused, |
| 111164 | .unused, | 115221 | .unused, |
| ... | @@ -111173,12 +115230,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111173,12 +115230,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111173 | .dst_temps = .{ .mem, .unused }, | 115230 | .dst_temps = .{ .mem, .unused }, |
| 111174 | .clobbers = .{ .eflags = true }, | 115231 | .clobbers = .{ .eflags = true }, |
| 111175 | .each = .{ .once = &.{ | 115232 | .each = .{ .once = &.{ |
| 111176 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 115233 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ }, |
| 111177 | .{ .@"0:", .vp_d, .movsxb, .tmp1y, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 115234 | .{ .@"0:", .vp_d, .movsxb, .tmp1y, .memi(.src0q, .tmp0), ._, ._ }, |
| 111178 | .{ ._, .v_ps, .cvtdq2, .tmp1y, .tmp1y, ._, ._ }, | 115235 | .{ ._, .v_ps, .cvtdq2, .tmp1y, .tmp1y, ._, ._ }, |
| 111179 | .{ ._, .v_ps, .mova, .memsia(.dst0y, .@"4", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, | 115236 | .{ ._, .v_ps, .mova, .memsi(.dst0y, .@"4", .tmp0), .tmp1y, ._, ._ }, |
| 111180 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 115237 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 111181 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 115238 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 111182 | } }, | 115239 | } }, |
| 111183 | }, .{ | 115240 | }, .{ |
| 111184 | .required_features = .{ .avx, null, null, null }, | 115241 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -111188,7 +115245,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111188,7 +115245,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111188 | .{ .src = .{ .to_mem, .none, .none } }, | 115245 | .{ .src = .{ .to_mem, .none, .none } }, |
| 111189 | }, | 115246 | }, |
| 111190 | .extra_temps = .{ | 115247 | .extra_temps = .{ |
| 111191 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 115248 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 111192 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 115249 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 111193 | .unused, | 115250 | .unused, |
| 111194 | .unused, | 115251 | .unused, |
| ... | @@ -111203,12 +115260,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111203,12 +115260,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111203 | .dst_temps = .{ .mem, .unused }, | 115260 | .dst_temps = .{ .mem, .unused }, |
| 111204 | .clobbers = .{ .eflags = true }, | 115261 | .clobbers = .{ .eflags = true }, |
| 111205 | .each = .{ .once = &.{ | 115262 | .each = .{ .once = &.{ |
| 111206 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 115263 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_size), ._, ._ }, |
| 111207 | .{ .@"0:", .vp_d, .movsxb, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 115264 | .{ .@"0:", .vp_d, .movsxb, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 111208 | .{ ._, .v_ps, .cvtdq2, .tmp1x, .tmp1x, ._, ._ }, | 115265 | .{ ._, .v_ps, .cvtdq2, .tmp1x, .tmp1x, ._, ._ }, |
| 111209 | .{ ._, .v_ps, .mova, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 115266 | .{ ._, .v_ps, .mova, .memsi(.dst0x, .@"4", .tmp0), .tmp1x, ._, ._ }, |
| 111210 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 115267 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 111211 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 115268 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 111212 | } }, | 115269 | } }, |
| 111213 | }, .{ | 115270 | }, .{ |
| 111214 | .required_features = .{ .sse4_1, null, null, null }, | 115271 | .required_features = .{ .sse4_1, null, null, null }, |
| ... | @@ -111218,7 +115275,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111218,7 +115275,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111218 | .{ .src = .{ .to_mem, .none, .none } }, | 115275 | .{ .src = .{ .to_mem, .none, .none } }, |
| 111219 | }, | 115276 | }, |
| 111220 | .extra_temps = .{ | 115277 | .extra_temps = .{ |
| 111221 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 115278 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 111222 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 115279 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 111223 | .unused, | 115280 | .unused, |
| 111224 | .unused, | 115281 | .unused, |
| ... | @@ -111233,12 +115290,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111233,12 +115290,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111233 | .dst_temps = .{ .mem, .unused }, | 115290 | .dst_temps = .{ .mem, .unused }, |
| 111234 | .clobbers = .{ .eflags = true }, | 115291 | .clobbers = .{ .eflags = true }, |
| 111235 | .each = .{ .once = &.{ | 115292 | .each = .{ .once = &.{ |
| 111236 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 115293 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_size), ._, ._ }, |
| 111237 | .{ .@"0:", .p_d, .movsxb, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 115294 | .{ .@"0:", .p_d, .movsxb, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 111238 | .{ ._, ._ps, .cvtdq2, .tmp1x, .tmp1x, ._, ._ }, | 115295 | .{ ._, ._ps, .cvtdq2, .tmp1x, .tmp1x, ._, ._ }, |
| 111239 | .{ ._, ._ps, .mova, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 115296 | .{ ._, ._ps, .mova, .memsi(.dst0x, .@"4", .tmp0), .tmp1x, ._, ._ }, |
| 111240 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 115297 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 111241 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 115298 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 111242 | } }, | 115299 | } }, |
| 111243 | }, .{ | 115300 | }, .{ |
| 111244 | .required_features = .{ .avx2, null, null, null }, | 115301 | .required_features = .{ .avx2, null, null, null }, |
| ... | @@ -111248,7 +115305,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111248,7 +115305,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111248 | .{ .src = .{ .to_mem, .none, .none } }, | 115305 | .{ .src = .{ .to_mem, .none, .none } }, |
| 111249 | }, | 115306 | }, |
| 111250 | .extra_temps = .{ | 115307 | .extra_temps = .{ |
| 111251 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 115308 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 111252 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, | 115309 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| 111253 | .unused, | 115310 | .unused, |
| 111254 | .unused, | 115311 | .unused, |
| ... | @@ -111263,12 +115320,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111263,12 +115320,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111263 | .dst_temps = .{ .mem, .unused }, | 115320 | .dst_temps = .{ .mem, .unused }, |
| 111264 | .clobbers = .{ .eflags = true }, | 115321 | .clobbers = .{ .eflags = true }, |
| 111265 | .each = .{ .once = &.{ | 115322 | .each = .{ .once = &.{ |
| 111266 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 115323 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ }, |
| 111267 | .{ .@"0:", .vp_d, .movzxb, .tmp1y, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 115324 | .{ .@"0:", .vp_d, .movzxb, .tmp1y, .memi(.src0q, .tmp0), ._, ._ }, |
| 111268 | .{ ._, .v_ps, .cvtdq2, .tmp1y, .tmp1y, ._, ._ }, | 115325 | .{ ._, .v_ps, .cvtdq2, .tmp1y, .tmp1y, ._, ._ }, |
| 111269 | .{ ._, .v_ps, .mova, .memsia(.dst0y, .@"4", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, | 115326 | .{ ._, .v_ps, .mova, .memsi(.dst0y, .@"4", .tmp0), .tmp1y, ._, ._ }, |
| 111270 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 115327 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 111271 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 115328 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 111272 | } }, | 115329 | } }, |
| 111273 | }, .{ | 115330 | }, .{ |
| 111274 | .required_features = .{ .avx, null, null, null }, | 115331 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -111278,7 +115335,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111278,7 +115335,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111278 | .{ .src = .{ .to_mem, .none, .none } }, | 115335 | .{ .src = .{ .to_mem, .none, .none } }, |
| 111279 | }, | 115336 | }, |
| 111280 | .extra_temps = .{ | 115337 | .extra_temps = .{ |
| 111281 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 115338 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 111282 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 115339 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 111283 | .unused, | 115340 | .unused, |
| 111284 | .unused, | 115341 | .unused, |
| ... | @@ -111293,12 +115350,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111293,12 +115350,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111293 | .dst_temps = .{ .mem, .unused }, | 115350 | .dst_temps = .{ .mem, .unused }, |
| 111294 | .clobbers = .{ .eflags = true }, | 115351 | .clobbers = .{ .eflags = true }, |
| 111295 | .each = .{ .once = &.{ | 115352 | .each = .{ .once = &.{ |
| 111296 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 115353 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_size), ._, ._ }, |
| 111297 | .{ .@"0:", .vp_d, .movzxb, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 115354 | .{ .@"0:", .vp_d, .movzxb, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 111298 | .{ ._, .v_ps, .cvtdq2, .tmp1x, .tmp1x, ._, ._ }, | 115355 | .{ ._, .v_ps, .cvtdq2, .tmp1x, .tmp1x, ._, ._ }, |
| 111299 | .{ ._, .v_ps, .mova, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 115356 | .{ ._, .v_ps, .mova, .memsi(.dst0x, .@"4", .tmp0), .tmp1x, ._, ._ }, |
| 111300 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 115357 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 111301 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 115358 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 111302 | } }, | 115359 | } }, |
| 111303 | }, .{ | 115360 | }, .{ |
| 111304 | .required_features = .{ .sse4_1, null, null, null }, | 115361 | .required_features = .{ .sse4_1, null, null, null }, |
| ... | @@ -111308,7 +115365,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111308,7 +115365,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111308 | .{ .src = .{ .to_mem, .none, .none } }, | 115365 | .{ .src = .{ .to_mem, .none, .none } }, |
| 111309 | }, | 115366 | }, |
| 111310 | .extra_temps = .{ | 115367 | .extra_temps = .{ |
| 111311 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 115368 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 111312 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 115369 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 111313 | .unused, | 115370 | .unused, |
| 111314 | .unused, | 115371 | .unused, |
| ... | @@ -111323,12 +115380,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111323,12 +115380,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111323 | .dst_temps = .{ .mem, .unused }, | 115380 | .dst_temps = .{ .mem, .unused }, |
| 111324 | .clobbers = .{ .eflags = true }, | 115381 | .clobbers = .{ .eflags = true }, |
| 111325 | .each = .{ .once = &.{ | 115382 | .each = .{ .once = &.{ |
| 111326 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 115383 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_size), ._, ._ }, |
| 111327 | .{ .@"0:", .p_d, .movzxb, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 115384 | .{ .@"0:", .p_d, .movzxb, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 111328 | .{ ._, ._ps, .cvtdq2, .tmp1x, .tmp1x, ._, ._ }, | 115385 | .{ ._, ._ps, .cvtdq2, .tmp1x, .tmp1x, ._, ._ }, |
| 111329 | .{ ._, ._ps, .mova, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 115386 | .{ ._, ._ps, .mova, .memsi(.dst0x, .@"4", .tmp0), .tmp1x, ._, ._ }, |
| 111330 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 115387 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 111331 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 115388 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 111332 | } }, | 115389 | } }, |
| 111333 | }, .{ | 115390 | }, .{ |
| 111334 | .required_features = .{ .avx, .slow_incdec, null, null }, | 115391 | .required_features = .{ .avx, .slow_incdec, null, null }, |
| ... | @@ -111339,10 +115396,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111339,10 +115396,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111339 | }, | 115396 | }, |
| 111340 | .call_frame = .{ .alignment = .@"16" }, | 115397 | .call_frame = .{ .alignment = .@"16" }, |
| 111341 | .extra_temps = .{ | 115398 | .extra_temps = .{ |
| 111342 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 115399 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 111343 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 115400 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 111344 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsisf" } }, | 115401 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsisf" } }, |
| 111345 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 115402 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 111346 | .unused, | 115403 | .unused, |
| 111347 | .unused, | 115404 | .unused, |
| 111348 | .unused, | 115405 | .unused, |
| ... | @@ -111354,12 +115411,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111354,12 +115411,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111354 | .dst_temps = .{ .mem, .unused }, | 115411 | .dst_temps = .{ .mem, .unused }, |
| 111355 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 115412 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 111356 | .each = .{ .once = &.{ | 115413 | .each = .{ .once = &.{ |
| 111357 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 115414 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 111358 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 115415 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 111359 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 115416 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 111360 | .{ ._, .v_ss, .mov, .memsia(.dst0d, .@"4", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 115417 | .{ ._, .v_ss, .mov, .memsi(.dst0d, .@"4", .tmp0), .tmp3x, ._, ._ }, |
| 111361 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 115418 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 111362 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 115419 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 111363 | } }, | 115420 | } }, |
| 111364 | }, .{ | 115421 | }, .{ |
| 111365 | .required_features = .{ .avx, null, null, null }, | 115422 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -111370,10 +115427,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111370,10 +115427,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111370 | }, | 115427 | }, |
| 111371 | .call_frame = .{ .alignment = .@"16" }, | 115428 | .call_frame = .{ .alignment = .@"16" }, |
| 111372 | .extra_temps = .{ | 115429 | .extra_temps = .{ |
| 111373 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 115430 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 111374 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 115431 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 111375 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsisf" } }, | 115432 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsisf" } }, |
| 111376 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 115433 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 111377 | .unused, | 115434 | .unused, |
| 111378 | .unused, | 115435 | .unused, |
| 111379 | .unused, | 115436 | .unused, |
| ... | @@ -111385,12 +115442,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111385,12 +115442,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111385 | .dst_temps = .{ .mem, .unused }, | 115442 | .dst_temps = .{ .mem, .unused }, |
| 111386 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 115443 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 111387 | .each = .{ .once = &.{ | 115444 | .each = .{ .once = &.{ |
| 111388 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 115445 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 111389 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 115446 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 111390 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 115447 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 111391 | .{ ._, .v_ss, .mov, .memsia(.dst0d, .@"4", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 115448 | .{ ._, .v_ss, .mov, .memsi(.dst0d, .@"4", .tmp0), .tmp3x, ._, ._ }, |
| 111392 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 115449 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 111393 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 115450 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 111394 | } }, | 115451 | } }, |
| 111395 | }, .{ | 115452 | }, .{ |
| 111396 | .required_features = .{ .sse, .slow_incdec, null, null }, | 115453 | .required_features = .{ .sse, .slow_incdec, null, null }, |
| ... | @@ -111401,10 +115458,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111401,10 +115458,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111401 | }, | 115458 | }, |
| 111402 | .call_frame = .{ .alignment = .@"16" }, | 115459 | .call_frame = .{ .alignment = .@"16" }, |
| 111403 | .extra_temps = .{ | 115460 | .extra_temps = .{ |
| 111404 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 115461 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 111405 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 115462 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 111406 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsisf" } }, | 115463 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsisf" } }, |
| 111407 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 115464 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 111408 | .unused, | 115465 | .unused, |
| 111409 | .unused, | 115466 | .unused, |
| 111410 | .unused, | 115467 | .unused, |
| ... | @@ -111416,12 +115473,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111416,12 +115473,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111416 | .dst_temps = .{ .mem, .unused }, | 115473 | .dst_temps = .{ .mem, .unused }, |
| 111417 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 115474 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 111418 | .each = .{ .once = &.{ | 115475 | .each = .{ .once = &.{ |
| 111419 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 115476 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 111420 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 115477 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 111421 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 115478 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 111422 | .{ ._, ._ss, .mov, .memsia(.dst0d, .@"4", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 115479 | .{ ._, ._ss, .mov, .memsi(.dst0d, .@"4", .tmp0), .tmp3x, ._, ._ }, |
| 111423 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 115480 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 111424 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 115481 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 111425 | } }, | 115482 | } }, |
| 111426 | }, .{ | 115483 | }, .{ |
| 111427 | .required_features = .{ .sse, null, null, null }, | 115484 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -111432,10 +115489,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111432,10 +115489,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111432 | }, | 115489 | }, |
| 111433 | .call_frame = .{ .alignment = .@"16" }, | 115490 | .call_frame = .{ .alignment = .@"16" }, |
| 111434 | .extra_temps = .{ | 115491 | .extra_temps = .{ |
| 111435 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 115492 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 111436 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 115493 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 111437 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsisf" } }, | 115494 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsisf" } }, |
| 111438 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 115495 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 111439 | .unused, | 115496 | .unused, |
| 111440 | .unused, | 115497 | .unused, |
| 111441 | .unused, | 115498 | .unused, |
| ... | @@ -111447,12 +115504,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111447,12 +115504,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111447 | .dst_temps = .{ .mem, .unused }, | 115504 | .dst_temps = .{ .mem, .unused }, |
| 111448 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 115505 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 111449 | .each = .{ .once = &.{ | 115506 | .each = .{ .once = &.{ |
| 111450 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 115507 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 111451 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 115508 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 111452 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 115509 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 111453 | .{ ._, ._ss, .mov, .memsia(.dst0d, .@"4", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 115510 | .{ ._, ._ss, .mov, .memsi(.dst0d, .@"4", .tmp0), .tmp3x, ._, ._ }, |
| 111454 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 115511 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 111455 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 115512 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 111456 | } }, | 115513 | } }, |
| 111457 | }, .{ | 115514 | }, .{ |
| 111458 | .required_features = .{ .avx, .slow_incdec, null, null }, | 115515 | .required_features = .{ .avx, .slow_incdec, null, null }, |
| ... | @@ -111463,10 +115520,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111463,10 +115520,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111463 | }, | 115520 | }, |
| 111464 | .call_frame = .{ .alignment = .@"16" }, | 115521 | .call_frame = .{ .alignment = .@"16" }, |
| 111465 | .extra_temps = .{ | 115522 | .extra_temps = .{ |
| 111466 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 115523 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 111467 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 115524 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 111468 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsisf" } }, | 115525 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsisf" } }, |
| 111469 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 115526 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 111470 | .unused, | 115527 | .unused, |
| 111471 | .unused, | 115528 | .unused, |
| 111472 | .unused, | 115529 | .unused, |
| ... | @@ -111478,12 +115535,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111478,12 +115535,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111478 | .dst_temps = .{ .mem, .unused }, | 115535 | .dst_temps = .{ .mem, .unused }, |
| 111479 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 115536 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 111480 | .each = .{ .once = &.{ | 115537 | .each = .{ .once = &.{ |
| 111481 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 115538 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 111482 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 115539 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 111483 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 115540 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 111484 | .{ ._, .v_ss, .mov, .memsia(.dst0d, .@"4", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 115541 | .{ ._, .v_ss, .mov, .memsi(.dst0d, .@"4", .tmp0), .tmp3x, ._, ._ }, |
| 111485 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 115542 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 111486 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 115543 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 111487 | } }, | 115544 | } }, |
| 111488 | }, .{ | 115545 | }, .{ |
| 111489 | .required_features = .{ .avx, null, null, null }, | 115546 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -111494,10 +115551,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111494,10 +115551,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111494 | }, | 115551 | }, |
| 111495 | .call_frame = .{ .alignment = .@"16" }, | 115552 | .call_frame = .{ .alignment = .@"16" }, |
| 111496 | .extra_temps = .{ | 115553 | .extra_temps = .{ |
| 111497 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 115554 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 111498 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 115555 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 111499 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsisf" } }, | 115556 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsisf" } }, |
| 111500 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 115557 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 111501 | .unused, | 115558 | .unused, |
| 111502 | .unused, | 115559 | .unused, |
| 111503 | .unused, | 115560 | .unused, |
| ... | @@ -111509,12 +115566,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111509,12 +115566,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111509 | .dst_temps = .{ .mem, .unused }, | 115566 | .dst_temps = .{ .mem, .unused }, |
| 111510 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 115567 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 111511 | .each = .{ .once = &.{ | 115568 | .each = .{ .once = &.{ |
| 111512 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 115569 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 111513 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 115570 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 111514 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 115571 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 111515 | .{ ._, .v_ss, .mov, .memsia(.dst0d, .@"4", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 115572 | .{ ._, .v_ss, .mov, .memsi(.dst0d, .@"4", .tmp0), .tmp3x, ._, ._ }, |
| 111516 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 115573 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 111517 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 115574 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 111518 | } }, | 115575 | } }, |
| 111519 | }, .{ | 115576 | }, .{ |
| 111520 | .required_features = .{ .sse, .slow_incdec, null, null }, | 115577 | .required_features = .{ .sse, .slow_incdec, null, null }, |
| ... | @@ -111525,10 +115582,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111525,10 +115582,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111525 | }, | 115582 | }, |
| 111526 | .call_frame = .{ .alignment = .@"16" }, | 115583 | .call_frame = .{ .alignment = .@"16" }, |
| 111527 | .extra_temps = .{ | 115584 | .extra_temps = .{ |
| 111528 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 115585 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 111529 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 115586 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 111530 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsisf" } }, | 115587 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsisf" } }, |
| 111531 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 115588 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 111532 | .unused, | 115589 | .unused, |
| 111533 | .unused, | 115590 | .unused, |
| 111534 | .unused, | 115591 | .unused, |
| ... | @@ -111540,12 +115597,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111540,12 +115597,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111540 | .dst_temps = .{ .mem, .unused }, | 115597 | .dst_temps = .{ .mem, .unused }, |
| 111541 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 115598 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 111542 | .each = .{ .once = &.{ | 115599 | .each = .{ .once = &.{ |
| 111543 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 115600 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 111544 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 115601 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 111545 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 115602 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 111546 | .{ ._, ._ss, .mov, .memsia(.dst0d, .@"4", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 115603 | .{ ._, ._ss, .mov, .memsi(.dst0d, .@"4", .tmp0), .tmp3x, ._, ._ }, |
| 111547 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 115604 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 111548 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 115605 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 111549 | } }, | 115606 | } }, |
| 111550 | }, .{ | 115607 | }, .{ |
| 111551 | .required_features = .{ .sse, null, null, null }, | 115608 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -111556,10 +115613,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111556,10 +115613,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111556 | }, | 115613 | }, |
| 111557 | .call_frame = .{ .alignment = .@"16" }, | 115614 | .call_frame = .{ .alignment = .@"16" }, |
| 111558 | .extra_temps = .{ | 115615 | .extra_temps = .{ |
| 111559 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 115616 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 111560 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 115617 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 111561 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsisf" } }, | 115618 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsisf" } }, |
| 111562 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 115619 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 111563 | .unused, | 115620 | .unused, |
| 111564 | .unused, | 115621 | .unused, |
| 111565 | .unused, | 115622 | .unused, |
| ... | @@ -111571,12 +115628,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111571,12 +115628,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111571 | .dst_temps = .{ .mem, .unused }, | 115628 | .dst_temps = .{ .mem, .unused }, |
| 111572 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 115629 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 111573 | .each = .{ .once = &.{ | 115630 | .each = .{ .once = &.{ |
| 111574 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 115631 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 111575 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 115632 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 111576 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 115633 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 111577 | .{ ._, ._ss, .mov, .memsia(.dst0d, .@"4", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 115634 | .{ ._, ._ss, .mov, .memsi(.dst0d, .@"4", .tmp0), .tmp3x, ._, ._ }, |
| 111578 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 115635 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 111579 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 115636 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 111580 | } }, | 115637 | } }, |
| 111581 | }, .{ | 115638 | }, .{ |
| 111582 | .required_features = .{ .avx, null, null, null }, | 115639 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -111664,7 +115721,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111664,7 +115721,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111664 | .{ .src = .{ .to_mem, .none, .none } }, | 115721 | .{ .src = .{ .to_mem, .none, .none } }, |
| 111665 | }, | 115722 | }, |
| 111666 | .extra_temps = .{ | 115723 | .extra_temps = .{ |
| 111667 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 115724 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 111668 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, | 115725 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| 111669 | .unused, | 115726 | .unused, |
| 111670 | .unused, | 115727 | .unused, |
| ... | @@ -111679,12 +115736,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111679,12 +115736,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111679 | .dst_temps = .{ .mem, .unused }, | 115736 | .dst_temps = .{ .mem, .unused }, |
| 111680 | .clobbers = .{ .eflags = true }, | 115737 | .clobbers = .{ .eflags = true }, |
| 111681 | .each = .{ .once = &.{ | 115738 | .each = .{ .once = &.{ |
| 111682 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 115739 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ }, |
| 111683 | .{ .@"0:", .vp_d, .movsxw, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 115740 | .{ .@"0:", .vp_d, .movsxw, .tmp1y, .memi(.src0x, .tmp0), ._, ._ }, |
| 111684 | .{ ._, .v_ps, .cvtdq2, .tmp1y, .tmp1y, ._, ._ }, | 115741 | .{ ._, .v_ps, .cvtdq2, .tmp1y, .tmp1y, ._, ._ }, |
| 111685 | .{ ._, .v_ps, .mova, .memsia(.dst0y, .@"2", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, | 115742 | .{ ._, .v_ps, .mova, .memsi(.dst0y, .@"2", .tmp0), .tmp1y, ._, ._ }, |
| 111686 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 115743 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 111687 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 115744 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 111688 | } }, | 115745 | } }, |
| 111689 | }, .{ | 115746 | }, .{ |
| 111690 | .required_features = .{ .avx, null, null, null }, | 115747 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -111694,7 +115751,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111694,7 +115751,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111694 | .{ .src = .{ .to_mem, .none, .none } }, | 115751 | .{ .src = .{ .to_mem, .none, .none } }, |
| 111695 | }, | 115752 | }, |
| 111696 | .extra_temps = .{ | 115753 | .extra_temps = .{ |
| 111697 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 115754 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 111698 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 115755 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 111699 | .unused, | 115756 | .unused, |
| 111700 | .unused, | 115757 | .unused, |
| ... | @@ -111709,12 +115766,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111709,12 +115766,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111709 | .dst_temps = .{ .mem, .unused }, | 115766 | .dst_temps = .{ .mem, .unused }, |
| 111710 | .clobbers = .{ .eflags = true }, | 115767 | .clobbers = .{ .eflags = true }, |
| 111711 | .each = .{ .once = &.{ | 115768 | .each = .{ .once = &.{ |
| 111712 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 115769 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ }, |
| 111713 | .{ .@"0:", .vp_d, .movsxw, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 115770 | .{ .@"0:", .vp_d, .movsxw, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 111714 | .{ ._, .v_ps, .cvtdq2, .tmp1x, .tmp1x, ._, ._ }, | 115771 | .{ ._, .v_ps, .cvtdq2, .tmp1x, .tmp1x, ._, ._ }, |
| 111715 | .{ ._, .v_ps, .mova, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 115772 | .{ ._, .v_ps, .mova, .memsi(.dst0x, .@"2", .tmp0), .tmp1x, ._, ._ }, |
| 111716 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 115773 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 111717 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 115774 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 111718 | } }, | 115775 | } }, |
| 111719 | }, .{ | 115776 | }, .{ |
| 111720 | .required_features = .{ .sse4_1, null, null, null }, | 115777 | .required_features = .{ .sse4_1, null, null, null }, |
| ... | @@ -111724,7 +115781,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111724,7 +115781,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111724 | .{ .src = .{ .to_mem, .none, .none } }, | 115781 | .{ .src = .{ .to_mem, .none, .none } }, |
| 111725 | }, | 115782 | }, |
| 111726 | .extra_temps = .{ | 115783 | .extra_temps = .{ |
| 111727 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 115784 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 111728 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 115785 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 111729 | .unused, | 115786 | .unused, |
| 111730 | .unused, | 115787 | .unused, |
| ... | @@ -111739,12 +115796,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111739,12 +115796,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111739 | .dst_temps = .{ .mem, .unused }, | 115796 | .dst_temps = .{ .mem, .unused }, |
| 111740 | .clobbers = .{ .eflags = true }, | 115797 | .clobbers = .{ .eflags = true }, |
| 111741 | .each = .{ .once = &.{ | 115798 | .each = .{ .once = &.{ |
| 111742 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 115799 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ }, |
| 111743 | .{ .@"0:", .p_d, .movsxw, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 115800 | .{ .@"0:", .p_d, .movsxw, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 111744 | .{ ._, ._ps, .cvtdq2, .tmp1x, .tmp1x, ._, ._ }, | 115801 | .{ ._, ._ps, .cvtdq2, .tmp1x, .tmp1x, ._, ._ }, |
| 111745 | .{ ._, ._ps, .mova, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 115802 | .{ ._, ._ps, .mova, .memsi(.dst0x, .@"2", .tmp0), .tmp1x, ._, ._ }, |
| 111746 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 115803 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 111747 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 115804 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 111748 | } }, | 115805 | } }, |
| 111749 | }, .{ | 115806 | }, .{ |
| 111750 | .required_features = .{ .avx2, null, null, null }, | 115807 | .required_features = .{ .avx2, null, null, null }, |
| ... | @@ -111754,7 +115811,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111754,7 +115811,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111754 | .{ .src = .{ .to_mem, .none, .none } }, | 115811 | .{ .src = .{ .to_mem, .none, .none } }, |
| 111755 | }, | 115812 | }, |
| 111756 | .extra_temps = .{ | 115813 | .extra_temps = .{ |
| 111757 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 115814 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 111758 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, | 115815 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| 111759 | .unused, | 115816 | .unused, |
| 111760 | .unused, | 115817 | .unused, |
| ... | @@ -111769,12 +115826,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111769,12 +115826,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111769 | .dst_temps = .{ .mem, .unused }, | 115826 | .dst_temps = .{ .mem, .unused }, |
| 111770 | .clobbers = .{ .eflags = true }, | 115827 | .clobbers = .{ .eflags = true }, |
| 111771 | .each = .{ .once = &.{ | 115828 | .each = .{ .once = &.{ |
| 111772 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 115829 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ }, |
| 111773 | .{ .@"0:", .vp_d, .movzxw, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 115830 | .{ .@"0:", .vp_d, .movzxw, .tmp1y, .memi(.src0x, .tmp0), ._, ._ }, |
| 111774 | .{ ._, .v_ps, .cvtdq2, .tmp1y, .tmp1y, ._, ._ }, | 115831 | .{ ._, .v_ps, .cvtdq2, .tmp1y, .tmp1y, ._, ._ }, |
| 111775 | .{ ._, .v_ps, .mova, .memsia(.dst0y, .@"2", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, | 115832 | .{ ._, .v_ps, .mova, .memsi(.dst0y, .@"2", .tmp0), .tmp1y, ._, ._ }, |
| 111776 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 115833 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 111777 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 115834 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 111778 | } }, | 115835 | } }, |
| 111779 | }, .{ | 115836 | }, .{ |
| 111780 | .required_features = .{ .avx, null, null, null }, | 115837 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -111784,7 +115841,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111784,7 +115841,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111784 | .{ .src = .{ .to_mem, .none, .none } }, | 115841 | .{ .src = .{ .to_mem, .none, .none } }, |
| 111785 | }, | 115842 | }, |
| 111786 | .extra_temps = .{ | 115843 | .extra_temps = .{ |
| 111787 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 115844 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 111788 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 115845 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 111789 | .unused, | 115846 | .unused, |
| 111790 | .unused, | 115847 | .unused, |
| ... | @@ -111799,12 +115856,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111799,12 +115856,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111799 | .dst_temps = .{ .mem, .unused }, | 115856 | .dst_temps = .{ .mem, .unused }, |
| 111800 | .clobbers = .{ .eflags = true }, | 115857 | .clobbers = .{ .eflags = true }, |
| 111801 | .each = .{ .once = &.{ | 115858 | .each = .{ .once = &.{ |
| 111802 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 115859 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ }, |
| 111803 | .{ .@"0:", .vp_d, .movzxw, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 115860 | .{ .@"0:", .vp_d, .movzxw, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 111804 | .{ ._, .v_ps, .cvtdq2, .tmp1x, .tmp1x, ._, ._ }, | 115861 | .{ ._, .v_ps, .cvtdq2, .tmp1x, .tmp1x, ._, ._ }, |
| 111805 | .{ ._, .v_ps, .mova, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 115862 | .{ ._, .v_ps, .mova, .memsi(.dst0x, .@"2", .tmp0), .tmp1x, ._, ._ }, |
| 111806 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 115863 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 111807 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 115864 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 111808 | } }, | 115865 | } }, |
| 111809 | }, .{ | 115866 | }, .{ |
| 111810 | .required_features = .{ .sse4_1, null, null, null }, | 115867 | .required_features = .{ .sse4_1, null, null, null }, |
| ... | @@ -111814,7 +115871,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111814,7 +115871,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111814 | .{ .src = .{ .to_mem, .none, .none } }, | 115871 | .{ .src = .{ .to_mem, .none, .none } }, |
| 111815 | }, | 115872 | }, |
| 111816 | .extra_temps = .{ | 115873 | .extra_temps = .{ |
| 111817 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 115874 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 111818 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 115875 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 111819 | .unused, | 115876 | .unused, |
| 111820 | .unused, | 115877 | .unused, |
| ... | @@ -111829,12 +115886,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111829,12 +115886,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111829 | .dst_temps = .{ .mem, .unused }, | 115886 | .dst_temps = .{ .mem, .unused }, |
| 111830 | .clobbers = .{ .eflags = true }, | 115887 | .clobbers = .{ .eflags = true }, |
| 111831 | .each = .{ .once = &.{ | 115888 | .each = .{ .once = &.{ |
| 111832 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 115889 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ }, |
| 111833 | .{ .@"0:", .p_d, .movzxw, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 115890 | .{ .@"0:", .p_d, .movzxw, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 111834 | .{ ._, ._ps, .cvtdq2, .tmp1x, .tmp1x, ._, ._ }, | 115891 | .{ ._, ._ps, .cvtdq2, .tmp1x, .tmp1x, ._, ._ }, |
| 111835 | .{ ._, ._ps, .mova, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 115892 | .{ ._, ._ps, .mova, .memsi(.dst0x, .@"2", .tmp0), .tmp1x, ._, ._ }, |
| 111836 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 115893 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 111837 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 115894 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 111838 | } }, | 115895 | } }, |
| 111839 | }, .{ | 115896 | }, .{ |
| 111840 | .required_features = .{ .avx, null, null, null }, | 115897 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -111845,10 +115902,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111845,10 +115902,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111845 | }, | 115902 | }, |
| 111846 | .call_frame = .{ .alignment = .@"16" }, | 115903 | .call_frame = .{ .alignment = .@"16" }, |
| 111847 | .extra_temps = .{ | 115904 | .extra_temps = .{ |
| 111848 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 115905 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 111849 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 115906 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 111850 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsisf" } }, | 115907 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsisf" } }, |
| 111851 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 115908 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 111852 | .unused, | 115909 | .unused, |
| 111853 | .unused, | 115910 | .unused, |
| 111854 | .unused, | 115911 | .unused, |
| ... | @@ -111860,12 +115917,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111860,12 +115917,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111860 | .dst_temps = .{ .mem, .unused }, | 115917 | .dst_temps = .{ .mem, .unused }, |
| 111861 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 115918 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 111862 | .each = .{ .once = &.{ | 115919 | .each = .{ .once = &.{ |
| 111863 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 115920 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 111864 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 115921 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 111865 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 115922 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 111866 | .{ ._, .v_ss, .mov, .memsia(.dst0d, .@"2", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 115923 | .{ ._, .v_ss, .mov, .memsi(.dst0d, .@"2", .tmp0), .tmp3x, ._, ._ }, |
| 111867 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 115924 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 111868 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 115925 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 111869 | } }, | 115926 | } }, |
| 111870 | }, .{ | 115927 | }, .{ |
| 111871 | .required_features = .{ .sse, null, null, null }, | 115928 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -111876,10 +115933,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111876,10 +115933,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111876 | }, | 115933 | }, |
| 111877 | .call_frame = .{ .alignment = .@"16" }, | 115934 | .call_frame = .{ .alignment = .@"16" }, |
| 111878 | .extra_temps = .{ | 115935 | .extra_temps = .{ |
| 111879 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 115936 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 111880 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 115937 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 111881 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsisf" } }, | 115938 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsisf" } }, |
| 111882 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 115939 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 111883 | .unused, | 115940 | .unused, |
| 111884 | .unused, | 115941 | .unused, |
| 111885 | .unused, | 115942 | .unused, |
| ... | @@ -111891,12 +115948,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111891,12 +115948,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111891 | .dst_temps = .{ .mem, .unused }, | 115948 | .dst_temps = .{ .mem, .unused }, |
| 111892 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 115949 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 111893 | .each = .{ .once = &.{ | 115950 | .each = .{ .once = &.{ |
| 111894 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 115951 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 111895 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 115952 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 111896 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 115953 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 111897 | .{ ._, ._ss, .mov, .memsia(.dst0d, .@"2", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 115954 | .{ ._, ._ss, .mov, .memsi(.dst0d, .@"2", .tmp0), .tmp3x, ._, ._ }, |
| 111898 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 115955 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 111899 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 115956 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 111900 | } }, | 115957 | } }, |
| 111901 | }, .{ | 115958 | }, .{ |
| 111902 | .required_features = .{ .avx, null, null, null }, | 115959 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -111907,10 +115964,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111907,10 +115964,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111907 | }, | 115964 | }, |
| 111908 | .call_frame = .{ .alignment = .@"16" }, | 115965 | .call_frame = .{ .alignment = .@"16" }, |
| 111909 | .extra_temps = .{ | 115966 | .extra_temps = .{ |
| 111910 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 115967 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 111911 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 115968 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 111912 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsisf" } }, | 115969 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsisf" } }, |
| 111913 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 115970 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 111914 | .unused, | 115971 | .unused, |
| 111915 | .unused, | 115972 | .unused, |
| 111916 | .unused, | 115973 | .unused, |
| ... | @@ -111922,12 +115979,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111922,12 +115979,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111922 | .dst_temps = .{ .mem, .unused }, | 115979 | .dst_temps = .{ .mem, .unused }, |
| 111923 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 115980 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 111924 | .each = .{ .once = &.{ | 115981 | .each = .{ .once = &.{ |
| 111925 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 115982 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 111926 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 115983 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 111927 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 115984 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 111928 | .{ ._, .v_ss, .mov, .memsia(.dst0d, .@"2", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 115985 | .{ ._, .v_ss, .mov, .memsi(.dst0d, .@"2", .tmp0), .tmp3x, ._, ._ }, |
| 111929 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 115986 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 111930 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 115987 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 111931 | } }, | 115988 | } }, |
| 111932 | }, .{ | 115989 | }, .{ |
| 111933 | .required_features = .{ .sse, null, null, null }, | 115990 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -111938,10 +115995,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111938,10 +115995,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111938 | }, | 115995 | }, |
| 111939 | .call_frame = .{ .alignment = .@"16" }, | 115996 | .call_frame = .{ .alignment = .@"16" }, |
| 111940 | .extra_temps = .{ | 115997 | .extra_temps = .{ |
| 111941 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 115998 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 111942 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 115999 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 111943 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsisf" } }, | 116000 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsisf" } }, |
| 111944 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 116001 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 111945 | .unused, | 116002 | .unused, |
| 111946 | .unused, | 116003 | .unused, |
| 111947 | .unused, | 116004 | .unused, |
| ... | @@ -111953,12 +116010,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -111953,12 +116010,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 111953 | .dst_temps = .{ .mem, .unused }, | 116010 | .dst_temps = .{ .mem, .unused }, |
| 111954 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 116011 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 111955 | .each = .{ .once = &.{ | 116012 | .each = .{ .once = &.{ |
| 111956 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 116013 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 111957 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 116014 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 111958 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 116015 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 111959 | .{ ._, ._ss, .mov, .memsia(.dst0d, .@"2", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 116016 | .{ ._, ._ss, .mov, .memsi(.dst0d, .@"2", .tmp0), .tmp3x, ._, ._ }, |
| 111960 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 116017 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 111961 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 116018 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 111962 | } }, | 116019 | } }, |
| 111963 | }, .{ | 116020 | }, .{ |
| 111964 | .required_features = .{ .avx, null, null, null }, | 116021 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -112004,7 +116061,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112004,7 +116061,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112004 | .{ .src = .{ .to_mem, .none, .none } }, | 116061 | .{ .src = .{ .to_mem, .none, .none } }, |
| 112005 | }, | 116062 | }, |
| 112006 | .extra_temps = .{ | 116063 | .extra_temps = .{ |
| 112007 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 116064 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 112008 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, | 116065 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| 112009 | .unused, | 116066 | .unused, |
| 112010 | .unused, | 116067 | .unused, |
| ... | @@ -112019,11 +116076,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112019,11 +116076,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112019 | .dst_temps = .{ .mem, .unused }, | 116076 | .dst_temps = .{ .mem, .unused }, |
| 112020 | .clobbers = .{ .eflags = true }, | 116077 | .clobbers = .{ .eflags = true }, |
| 112021 | .each = .{ .once = &.{ | 116078 | .each = .{ .once = &.{ |
| 112022 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 116079 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| 112023 | .{ .@"0:", .v_ps, .cvtdq2, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, | 116080 | .{ .@"0:", .v_ps, .cvtdq2, .tmp1y, .memi(.src0y, .tmp0), ._, ._ }, |
| 112024 | .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, | 116081 | .{ ._, .v_ps, .mova, .memi(.dst0y, .tmp0), .tmp1y, ._, ._ }, |
| 112025 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | 116082 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| 112026 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 116083 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 112027 | } }, | 116084 | } }, |
| 112028 | }, .{ | 116085 | }, .{ |
| 112029 | .required_features = .{ .avx, null, null, null }, | 116086 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -112033,7 +116090,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112033,7 +116090,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112033 | .{ .src = .{ .to_mem, .none, .none } }, | 116090 | .{ .src = .{ .to_mem, .none, .none } }, |
| 112034 | }, | 116091 | }, |
| 112035 | .extra_temps = .{ | 116092 | .extra_temps = .{ |
| 112036 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 116093 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 112037 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 116094 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 112038 | .unused, | 116095 | .unused, |
| 112039 | .unused, | 116096 | .unused, |
| ... | @@ -112048,11 +116105,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112048,11 +116105,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112048 | .dst_temps = .{ .mem, .unused }, | 116105 | .dst_temps = .{ .mem, .unused }, |
| 112049 | .clobbers = .{ .eflags = true }, | 116106 | .clobbers = .{ .eflags = true }, |
| 112050 | .each = .{ .once = &.{ | 116107 | .each = .{ .once = &.{ |
| 112051 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 116108 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .dst0, .add_size), ._, ._ }, |
| 112052 | .{ .@"0:", .v_ps, .cvtdq2, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 116109 | .{ .@"0:", .v_ps, .cvtdq2, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 112053 | .{ ._, .v_ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 116110 | .{ ._, .v_ps, .mova, .memi(.dst0x, .tmp0), .tmp1x, ._, ._ }, |
| 112054 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 116111 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 112055 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 116112 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 112056 | } }, | 116113 | } }, |
| 112057 | }, .{ | 116114 | }, .{ |
| 112058 | .required_features = .{ .sse2, null, null, null }, | 116115 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -112062,7 +116119,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112062,7 +116119,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112062 | .{ .src = .{ .to_mem, .none, .none } }, | 116119 | .{ .src = .{ .to_mem, .none, .none } }, |
| 112063 | }, | 116120 | }, |
| 112064 | .extra_temps = .{ | 116121 | .extra_temps = .{ |
| 112065 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 116122 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 112066 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 116123 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 112067 | .unused, | 116124 | .unused, |
| 112068 | .unused, | 116125 | .unused, |
| ... | @@ -112077,11 +116134,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112077,11 +116134,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112077 | .dst_temps = .{ .mem, .unused }, | 116134 | .dst_temps = .{ .mem, .unused }, |
| 112078 | .clobbers = .{ .eflags = true }, | 116135 | .clobbers = .{ .eflags = true }, |
| 112079 | .each = .{ .once = &.{ | 116136 | .each = .{ .once = &.{ |
| 112080 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 116137 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .dst0, .add_size), ._, ._ }, |
| 112081 | .{ .@"0:", ._ps, .cvtdq2, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 116138 | .{ .@"0:", ._ps, .cvtdq2, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 112082 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 116139 | .{ ._, ._ps, .mova, .memi(.dst0x, .tmp0), .tmp1x, ._, ._ }, |
| 112083 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 116140 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 112084 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 116141 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 112085 | } }, | 116142 | } }, |
| 112086 | }, .{ | 116143 | }, .{ |
| 112087 | .required_features = .{ .sse, null, null, null }, | 116144 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -112091,7 +116148,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112091,7 +116148,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112091 | .{ .src = .{ .to_mem, .none, .none } }, | 116148 | .{ .src = .{ .to_mem, .none, .none } }, |
| 112092 | }, | 116149 | }, |
| 112093 | .extra_temps = .{ | 116150 | .extra_temps = .{ |
| 112094 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 116151 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 112095 | .{ .type = .f32, .kind = .{ .rc = .sse } }, | 116152 | .{ .type = .f32, .kind = .{ .rc = .sse } }, |
| 112096 | .unused, | 116153 | .unused, |
| 112097 | .unused, | 116154 | .unused, |
| ... | @@ -112106,11 +116163,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112106,11 +116163,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112106 | .dst_temps = .{ .mem, .unused }, | 116163 | .dst_temps = .{ .mem, .unused }, |
| 112107 | .clobbers = .{ .eflags = true }, | 116164 | .clobbers = .{ .eflags = true }, |
| 112108 | .each = .{ .once = &.{ | 116165 | .each = .{ .once = &.{ |
| 112109 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 116166 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 112110 | .{ .@"0:", ._ss, .cvtsi2, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 116167 | .{ .@"0:", ._ss, .cvtsi2, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 112111 | .{ ._, ._ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 116168 | .{ ._, ._ss, .mov, .memi(.dst0d, .tmp0), .tmp1x, ._, ._ }, |
| 112112 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 116169 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 112113 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 116170 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 112114 | } }, | 116171 | } }, |
| 112115 | }, .{ | 116172 | }, .{ |
| 112116 | .required_features = .{ .avx, null, null, null }, | 116173 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -112121,10 +116178,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112121,10 +116178,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112121 | }, | 116178 | }, |
| 112122 | .call_frame = .{ .alignment = .@"16" }, | 116179 | .call_frame = .{ .alignment = .@"16" }, |
| 112123 | .extra_temps = .{ | 116180 | .extra_temps = .{ |
| 112124 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 116181 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 112125 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 116182 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 112126 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsisf" } }, | 116183 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsisf" } }, |
| 112127 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 116184 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 112128 | .unused, | 116185 | .unused, |
| 112129 | .unused, | 116186 | .unused, |
| 112130 | .unused, | 116187 | .unused, |
| ... | @@ -112136,12 +116193,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112136,12 +116193,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112136 | .dst_temps = .{ .mem, .unused }, | 116193 | .dst_temps = .{ .mem, .unused }, |
| 112137 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 116194 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 112138 | .each = .{ .once = &.{ | 116195 | .each = .{ .once = &.{ |
| 112139 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 116196 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 112140 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 116197 | .{ .@"0:", ._, .mov, .tmp1d, .memi(.src0d, .tmp0), ._, ._ }, |
| 112141 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 116198 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 112142 | .{ ._, .v_ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 116199 | .{ ._, .v_ss, .mov, .memi(.dst0d, .tmp0), .tmp3x, ._, ._ }, |
| 112143 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 116200 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 112144 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 116201 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 112145 | } }, | 116202 | } }, |
| 112146 | }, .{ | 116203 | }, .{ |
| 112147 | .required_features = .{ .sse, null, null, null }, | 116204 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -112152,10 +116209,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112152,10 +116209,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112152 | }, | 116209 | }, |
| 112153 | .call_frame = .{ .alignment = .@"16" }, | 116210 | .call_frame = .{ .alignment = .@"16" }, |
| 112154 | .extra_temps = .{ | 116211 | .extra_temps = .{ |
| 112155 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 116212 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 112156 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 116213 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 112157 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsisf" } }, | 116214 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsisf" } }, |
| 112158 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 116215 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 112159 | .unused, | 116216 | .unused, |
| 112160 | .unused, | 116217 | .unused, |
| 112161 | .unused, | 116218 | .unused, |
| ... | @@ -112167,12 +116224,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112167,12 +116224,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112167 | .dst_temps = .{ .mem, .unused }, | 116224 | .dst_temps = .{ .mem, .unused }, |
| 112168 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 116225 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 112169 | .each = .{ .once = &.{ | 116226 | .each = .{ .once = &.{ |
| 112170 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 116227 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 112171 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 116228 | .{ .@"0:", ._, .mov, .tmp1d, .memi(.src0d, .tmp0), ._, ._ }, |
| 112172 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 116229 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 112173 | .{ ._, ._ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 116230 | .{ ._, ._ss, .mov, .memi(.dst0d, .tmp0), .tmp3x, ._, ._ }, |
| 112174 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 116231 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 112175 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 116232 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 112176 | } }, | 116233 | } }, |
| 112177 | }, .{ | 116234 | }, .{ |
| 112178 | .required_features = .{ .avx, null, null, null }, | 116235 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -112183,10 +116240,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112183,10 +116240,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112183 | }, | 116240 | }, |
| 112184 | .call_frame = .{ .alignment = .@"16" }, | 116241 | .call_frame = .{ .alignment = .@"16" }, |
| 112185 | .extra_temps = .{ | 116242 | .extra_temps = .{ |
| 112186 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 116243 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 112187 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 116244 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 112188 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsisf" } }, | 116245 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsisf" } }, |
| 112189 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 116246 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 112190 | .unused, | 116247 | .unused, |
| 112191 | .unused, | 116248 | .unused, |
| 112192 | .unused, | 116249 | .unused, |
| ... | @@ -112198,12 +116255,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112198,12 +116255,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112198 | .dst_temps = .{ .mem, .unused }, | 116255 | .dst_temps = .{ .mem, .unused }, |
| 112199 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 116256 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 112200 | .each = .{ .once = &.{ | 116257 | .each = .{ .once = &.{ |
| 112201 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 116258 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 112202 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 116259 | .{ .@"0:", ._, .mov, .tmp1d, .memi(.src0d, .tmp0), ._, ._ }, |
| 112203 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 116260 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 112204 | .{ ._, .v_ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 116261 | .{ ._, .v_ss, .mov, .memi(.dst0d, .tmp0), .tmp3x, ._, ._ }, |
| 112205 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 116262 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 112206 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 116263 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 112207 | } }, | 116264 | } }, |
| 112208 | }, .{ | 116265 | }, .{ |
| 112209 | .required_features = .{ .sse, null, null, null }, | 116266 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -112214,10 +116271,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112214,10 +116271,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112214 | }, | 116271 | }, |
| 112215 | .call_frame = .{ .alignment = .@"16" }, | 116272 | .call_frame = .{ .alignment = .@"16" }, |
| 112216 | .extra_temps = .{ | 116273 | .extra_temps = .{ |
| 112217 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 116274 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 112218 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 116275 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 112219 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsisf" } }, | 116276 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsisf" } }, |
| 112220 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 116277 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 112221 | .unused, | 116278 | .unused, |
| 112222 | .unused, | 116279 | .unused, |
| 112223 | .unused, | 116280 | .unused, |
| ... | @@ -112229,12 +116286,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112229,12 +116286,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112229 | .dst_temps = .{ .mem, .unused }, | 116286 | .dst_temps = .{ .mem, .unused }, |
| 112230 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 116287 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 112231 | .each = .{ .once = &.{ | 116288 | .each = .{ .once = &.{ |
| 112232 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 116289 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 112233 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 116290 | .{ .@"0:", ._, .mov, .tmp1d, .memi(.src0d, .tmp0), ._, ._ }, |
| 112234 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 116291 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 112235 | .{ ._, ._ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 116292 | .{ ._, ._ss, .mov, .memi(.dst0d, .tmp0), .tmp3x, ._, ._ }, |
| 112236 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 116293 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 112237 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 116294 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 112238 | } }, | 116295 | } }, |
| 112239 | }, .{ | 116296 | }, .{ |
| 112240 | .required_features = .{ .@"64bit", .avx, null, null }, | 116297 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | @@ -112244,7 +116301,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112244,7 +116301,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112244 | .{ .src = .{ .to_mem, .none, .none } }, | 116301 | .{ .src = .{ .to_mem, .none, .none } }, |
| 112245 | }, | 116302 | }, |
| 112246 | .extra_temps = .{ | 116303 | .extra_temps = .{ |
| 112247 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 116304 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 112248 | .{ .type = .f32, .kind = .{ .rc = .sse } }, | 116305 | .{ .type = .f32, .kind = .{ .rc = .sse } }, |
| 112249 | .unused, | 116306 | .unused, |
| 112250 | .unused, | 116307 | .unused, |
| ... | @@ -112259,12 +116316,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112259,12 +116316,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112259 | .dst_temps = .{ .mem, .unused }, | 116316 | .dst_temps = .{ .mem, .unused }, |
| 112260 | .clobbers = .{ .eflags = true }, | 116317 | .clobbers = .{ .eflags = true }, |
| 112261 | .each = .{ .once = &.{ | 116318 | .each = .{ .once = &.{ |
| 112262 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 116319 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 112263 | .{ .@"0:", .v_ps, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, | 116320 | .{ .@"0:", .v_ps, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| 112264 | .{ ._, .v_ss, .cvtsi2, .tmp1x, .tmp1x, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._ }, | 116321 | .{ ._, .v_ss, .cvtsi2, .tmp1x, .tmp1x, .memsi(.src0q, .@"2", .tmp0), ._ }, |
| 112265 | .{ ._, .v_ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 116322 | .{ ._, .v_ss, .mov, .memi(.dst0d, .tmp0), .tmp1x, ._, ._ }, |
| 112266 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 116323 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 112267 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 116324 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 112268 | } }, | 116325 | } }, |
| 112269 | }, .{ | 116326 | }, .{ |
| 112270 | .required_features = .{ .@"64bit", .sse, null, null }, | 116327 | .required_features = .{ .@"64bit", .sse, null, null }, |
| ... | @@ -112274,7 +116331,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112274,7 +116331,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112274 | .{ .src = .{ .to_mem, .none, .none } }, | 116331 | .{ .src = .{ .to_mem, .none, .none } }, |
| 112275 | }, | 116332 | }, |
| 112276 | .extra_temps = .{ | 116333 | .extra_temps = .{ |
| 112277 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 116334 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 112278 | .{ .type = .f32, .kind = .{ .rc = .sse } }, | 116335 | .{ .type = .f32, .kind = .{ .rc = .sse } }, |
| 112279 | .unused, | 116336 | .unused, |
| 112280 | .unused, | 116337 | .unused, |
| ... | @@ -112289,12 +116346,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112289,12 +116346,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112289 | .dst_temps = .{ .mem, .unused }, | 116346 | .dst_temps = .{ .mem, .unused }, |
| 112290 | .clobbers = .{ .eflags = true }, | 116347 | .clobbers = .{ .eflags = true }, |
| 112291 | .each = .{ .once = &.{ | 116348 | .each = .{ .once = &.{ |
| 112292 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 116349 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 112293 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, | 116350 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 112294 | .{ ._, ._ss, .cvtsi2, .tmp1x, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 116351 | .{ ._, ._ss, .cvtsi2, .tmp1x, .memsi(.src0q, .@"2", .tmp0), ._, ._ }, |
| 112295 | .{ ._, ._ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 116352 | .{ ._, ._ss, .mov, .memi(.dst0d, .tmp0), .tmp1x, ._, ._ }, |
| 112296 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 116353 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 112297 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 116354 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 112298 | } }, | 116355 | } }, |
| 112299 | }, .{ | 116356 | }, .{ |
| 112300 | .required_features = .{ .@"64bit", .avx, null, null }, | 116357 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | @@ -112305,10 +116362,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112305,10 +116362,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112305 | }, | 116362 | }, |
| 112306 | .call_frame = .{ .alignment = .@"16" }, | 116363 | .call_frame = .{ .alignment = .@"16" }, |
| 112307 | .extra_temps = .{ | 116364 | .extra_temps = .{ |
| 112308 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 116365 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 112309 | .{ .type = .i64, .kind = .{ .reg = .rdi } }, | 116366 | .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 112310 | .{ .type = .usize, .kind = .{ .extern_func = "__floatdisf" } }, | 116367 | .{ .type = .usize, .kind = .{ .extern_func = "__floatdisf" } }, |
| 112311 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 116368 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 112312 | .unused, | 116369 | .unused, |
| 112313 | .unused, | 116370 | .unused, |
| 112314 | .unused, | 116371 | .unused, |
| ... | @@ -112320,12 +116377,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112320,12 +116377,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112320 | .dst_temps = .{ .mem, .unused }, | 116377 | .dst_temps = .{ .mem, .unused }, |
| 112321 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 116378 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 112322 | .each = .{ .once = &.{ | 116379 | .each = .{ .once = &.{ |
| 112323 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 116380 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 112324 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 116381 | .{ .@"0:", ._, .mov, .tmp1q, .memsi(.src0q, .@"2", .tmp0), ._, ._ }, |
| 112325 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 116382 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 112326 | .{ ._, .v_ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 116383 | .{ ._, .v_ss, .mov, .memi(.dst0d, .tmp0), .tmp3x, ._, ._ }, |
| 112327 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 116384 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 112328 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 116385 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 112329 | } }, | 116386 | } }, |
| 112330 | }, .{ | 116387 | }, .{ |
| 112331 | .required_features = .{ .@"64bit", .sse, null, null }, | 116388 | .required_features = .{ .@"64bit", .sse, null, null }, |
| ... | @@ -112336,10 +116393,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112336,10 +116393,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112336 | }, | 116393 | }, |
| 112337 | .call_frame = .{ .alignment = .@"16" }, | 116394 | .call_frame = .{ .alignment = .@"16" }, |
| 112338 | .extra_temps = .{ | 116395 | .extra_temps = .{ |
| 112339 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 116396 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 112340 | .{ .type = .i64, .kind = .{ .reg = .rdi } }, | 116397 | .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 112341 | .{ .type = .usize, .kind = .{ .extern_func = "__floatdisf" } }, | 116398 | .{ .type = .usize, .kind = .{ .extern_func = "__floatdisf" } }, |
| 112342 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 116399 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 112343 | .unused, | 116400 | .unused, |
| 112344 | .unused, | 116401 | .unused, |
| 112345 | .unused, | 116402 | .unused, |
| ... | @@ -112351,12 +116408,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112351,12 +116408,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112351 | .dst_temps = .{ .mem, .unused }, | 116408 | .dst_temps = .{ .mem, .unused }, |
| 112352 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 116409 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 112353 | .each = .{ .once = &.{ | 116410 | .each = .{ .once = &.{ |
| 112354 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 116411 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 112355 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 116412 | .{ .@"0:", ._, .mov, .tmp1q, .memsi(.src0q, .@"2", .tmp0), ._, ._ }, |
| 112356 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 116413 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 112357 | .{ ._, ._ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 116414 | .{ ._, ._ss, .mov, .memi(.dst0d, .tmp0), .tmp3x, ._, ._ }, |
| 112358 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 116415 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 112359 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 116416 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 112360 | } }, | 116417 | } }, |
| 112361 | }, .{ | 116418 | }, .{ |
| 112362 | .required_features = .{ .@"64bit", .avx, null, null }, | 116419 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | @@ -112367,10 +116424,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112367,10 +116424,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112367 | }, | 116424 | }, |
| 112368 | .call_frame = .{ .alignment = .@"16" }, | 116425 | .call_frame = .{ .alignment = .@"16" }, |
| 112369 | .extra_temps = .{ | 116426 | .extra_temps = .{ |
| 112370 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 116427 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 112371 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 116428 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 112372 | .{ .type = .usize, .kind = .{ .extern_func = "__floatundisf" } }, | 116429 | .{ .type = .usize, .kind = .{ .extern_func = "__floatundisf" } }, |
| 112373 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 116430 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 112374 | .unused, | 116431 | .unused, |
| 112375 | .unused, | 116432 | .unused, |
| 112376 | .unused, | 116433 | .unused, |
| ... | @@ -112382,12 +116439,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112382,12 +116439,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112382 | .dst_temps = .{ .mem, .unused }, | 116439 | .dst_temps = .{ .mem, .unused }, |
| 112383 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 116440 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 112384 | .each = .{ .once = &.{ | 116441 | .each = .{ .once = &.{ |
| 112385 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 116442 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 112386 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 116443 | .{ .@"0:", ._, .mov, .tmp1q, .memsi(.src0q, .@"2", .tmp0), ._, ._ }, |
| 112387 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 116444 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 112388 | .{ ._, .v_ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 116445 | .{ ._, .v_ss, .mov, .memi(.dst0d, .tmp0), .tmp3x, ._, ._ }, |
| 112389 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 116446 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 112390 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 116447 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 112391 | } }, | 116448 | } }, |
| 112392 | }, .{ | 116449 | }, .{ |
| 112393 | .required_features = .{ .@"64bit", .sse, null, null }, | 116450 | .required_features = .{ .@"64bit", .sse, null, null }, |
| ... | @@ -112398,10 +116455,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112398,10 +116455,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112398 | }, | 116455 | }, |
| 112399 | .call_frame = .{ .alignment = .@"16" }, | 116456 | .call_frame = .{ .alignment = .@"16" }, |
| 112400 | .extra_temps = .{ | 116457 | .extra_temps = .{ |
| 112401 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 116458 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 112402 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 116459 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 112403 | .{ .type = .usize, .kind = .{ .extern_func = "__floatundisf" } }, | 116460 | .{ .type = .usize, .kind = .{ .extern_func = "__floatundisf" } }, |
| 112404 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 116461 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 112405 | .unused, | 116462 | .unused, |
| 112406 | .unused, | 116463 | .unused, |
| 112407 | .unused, | 116464 | .unused, |
| ... | @@ -112413,15 +116470,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112413,15 +116470,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112413 | .dst_temps = .{ .mem, .unused }, | 116470 | .dst_temps = .{ .mem, .unused }, |
| 112414 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 116471 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 112415 | .each = .{ .once = &.{ | 116472 | .each = .{ .once = &.{ |
| 112416 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 116473 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 112417 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 116474 | .{ .@"0:", ._, .mov, .tmp1q, .memsi(.src0q, .@"2", .tmp0), ._, ._ }, |
| 112418 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 116475 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 112419 | .{ ._, ._ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 116476 | .{ ._, ._ss, .mov, .memi(.dst0d, .tmp0), .tmp3x, ._, ._ }, |
| 112420 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 116477 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 112421 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 116478 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 112422 | } }, | 116479 | } }, |
| 112423 | }, .{ | 116480 | }, .{ |
| 112424 | .required_features = .{ .@"64bit", .avx, null, null }, | 116481 | .required_cc_abi = .sysv64, |
| | 116482 | .required_features = .{ .avx, null, null, null }, |
| 112425 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 116483 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 112426 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any }, | 116484 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any }, |
| 112427 | .patterns = &.{ | 116485 | .patterns = &.{ |
| ... | @@ -112429,11 +116487,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112429,11 +116487,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112429 | }, | 116487 | }, |
| 112430 | .call_frame = .{ .alignment = .@"16" }, | 116488 | .call_frame = .{ .alignment = .@"16" }, |
| 112431 | .extra_temps = .{ | 116489 | .extra_temps = .{ |
| 112432 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 116490 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 112433 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 116491 | .{ .type = .i128, .kind = .{ .param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 112434 | .{ .type = .i64, .kind = .{ .reg = .rsi } }, | | |
| 112435 | .{ .type = .usize, .kind = .{ .extern_func = "__floattisf" } }, | 116492 | .{ .type = .usize, .kind = .{ .extern_func = "__floattisf" } }, |
| 112436 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 116493 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 116494 | .unused, |
| 112437 | .unused, | 116495 | .unused, |
| 112438 | .unused, | 116496 | .unused, |
| 112439 | .unused, | 116497 | .unused, |
| ... | @@ -112444,16 +116502,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112444,16 +116502,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112444 | .dst_temps = .{ .mem, .unused }, | 116502 | .dst_temps = .{ .mem, .unused }, |
| 112445 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 116503 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 112446 | .each = .{ .once = &.{ | 116504 | .each = .{ .once = &.{ |
| 112447 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 116505 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 112448 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 116506 | .{ .@"0:", ._, .mov, .tmp1q0, .memsi(.src0q, .@"4", .tmp0), ._, ._ }, |
| 112449 | .{ ._, ._, .mov, .tmp2q, .memsiad(.src0q, .@"4", .tmp0, .add_unaligned_size, 8), ._, ._ }, | 116507 | .{ ._, ._, .mov, .tmp1q1, .memsid(.src0q, .@"4", .tmp0, 8), ._, ._ }, |
| 112450 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 116508 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 112451 | .{ ._, .v_ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp4x, ._, ._ }, | 116509 | .{ ._, .v_ss, .mov, .memi(.dst0d, .tmp0), .tmp3x, ._, ._ }, |
| 112452 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 116510 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 112453 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 116511 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 112454 | } }, | 116512 | } }, |
| 112455 | }, .{ | 116513 | }, .{ |
| 112456 | .required_features = .{ .@"64bit", .sse, null, null }, | 116514 | .required_cc_abi = .win64, |
| | 116515 | .required_features = .{ .avx, null, null, null }, |
| 112457 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 116516 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 112458 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any }, | 116517 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any }, |
| 112459 | .patterns = &.{ | 116518 | .patterns = &.{ |
| ... | @@ -112461,11 +116520,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112461,11 +116520,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112461 | }, | 116520 | }, |
| 112462 | .call_frame = .{ .alignment = .@"16" }, | 116521 | .call_frame = .{ .alignment = .@"16" }, |
| 112463 | .extra_temps = .{ | 116522 | .extra_temps = .{ |
| 112464 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 116523 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 112465 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 116524 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 112466 | .{ .type = .i64, .kind = .{ .reg = .rsi } }, | | |
| 112467 | .{ .type = .usize, .kind = .{ .extern_func = "__floattisf" } }, | 116525 | .{ .type = .usize, .kind = .{ .extern_func = "__floattisf" } }, |
| 112468 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 116526 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 116527 | .unused, |
| 112469 | .unused, | 116528 | .unused, |
| 112470 | .unused, | 116529 | .unused, |
| 112471 | .unused, | 116530 | .unused, |
| ... | @@ -112476,16 +116535,81 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112476,16 +116535,81 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112476 | .dst_temps = .{ .mem, .unused }, | 116535 | .dst_temps = .{ .mem, .unused }, |
| 112477 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 116536 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 112478 | .each = .{ .once = &.{ | 116537 | .each = .{ .once = &.{ |
| 112479 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 116538 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 112480 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 116539 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.src0, .@"4", .tmp0), ._, ._ }, |
| 112481 | .{ ._, ._, .mov, .tmp2q, .memsiad(.src0q, .@"4", .tmp0, .add_unaligned_size, 8), ._, ._ }, | 116540 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 112482 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 116541 | .{ ._, .v_ss, .mov, .memi(.dst0d, .tmp0), .tmp3x, ._, ._ }, |
| 112483 | .{ ._, ._ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp4x, ._, ._ }, | 116542 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 112484 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 116543 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 112485 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | | |
| 112486 | } }, | 116544 | } }, |
| 112487 | }, .{ | 116545 | }, .{ |
| 112488 | .required_features = .{ .@"64bit", .avx, null, null }, | 116546 | .required_cc_abi = .sysv64, |
| | 116547 | .required_features = .{ .sse, null, null, null }, |
| | 116548 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 116549 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any }, |
| | 116550 | .patterns = &.{ |
| | 116551 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 116552 | }, |
| | 116553 | .call_frame = .{ .alignment = .@"16" }, |
| | 116554 | .extra_temps = .{ |
| | 116555 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 116556 | .{ .type = .u128, .kind = .{ .param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 116557 | .{ .type = .usize, .kind = .{ .extern_func = "__floattisf" } }, |
| | 116558 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 116559 | .unused, |
| | 116560 | .unused, |
| | 116561 | .unused, |
| | 116562 | .unused, |
| | 116563 | .unused, |
| | 116564 | .unused, |
| | 116565 | .unused, |
| | 116566 | }, |
| | 116567 | .dst_temps = .{ .mem, .unused }, |
| | 116568 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 116569 | .each = .{ .once = &.{ |
| | 116570 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| | 116571 | .{ .@"0:", ._, .mov, .tmp1q0, .memsi(.src0q, .@"4", .tmp0), ._, ._ }, |
| | 116572 | .{ ._, ._, .mov, .tmp1q1, .memsid(.src0q, .@"4", .tmp0, 8), ._, ._ }, |
| | 116573 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 116574 | .{ ._, ._ss, .mov, .memi(.dst0d, .tmp0), .tmp3x, ._, ._ }, |
| | 116575 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| | 116576 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 116577 | } }, |
| | 116578 | }, .{ |
| | 116579 | .required_cc_abi = .win64, |
| | 116580 | .required_features = .{ .sse, null, null, null }, |
| | 116581 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 116582 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any }, |
| | 116583 | .patterns = &.{ |
| | 116584 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 116585 | }, |
| | 116586 | .call_frame = .{ .alignment = .@"16" }, |
| | 116587 | .extra_temps = .{ |
| | 116588 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 116589 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 116590 | .{ .type = .usize, .kind = .{ .extern_func = "__floattisf" } }, |
| | 116591 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 116592 | .unused, |
| | 116593 | .unused, |
| | 116594 | .unused, |
| | 116595 | .unused, |
| | 116596 | .unused, |
| | 116597 | .unused, |
| | 116598 | .unused, |
| | 116599 | }, |
| | 116600 | .dst_temps = .{ .mem, .unused }, |
| | 116601 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 116602 | .each = .{ .once = &.{ |
| | 116603 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| | 116604 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.src0, .@"4", .tmp0), ._, ._ }, |
| | 116605 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 116606 | .{ ._, ._ss, .mov, .memi(.dst0d, .tmp0), .tmp3x, ._, ._ }, |
| | 116607 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| | 116608 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 116609 | } }, |
| | 116610 | }, .{ |
| | 116611 | .required_cc_abi = .sysv64, |
| | 116612 | .required_features = .{ .avx, null, null, null }, |
| 112489 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 116613 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 112490 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any }, | 116614 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any }, |
| 112491 | .patterns = &.{ | 116615 | .patterns = &.{ |
| ... | @@ -112493,11 +116617,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112493,11 +116617,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112493 | }, | 116617 | }, |
| 112494 | .call_frame = .{ .alignment = .@"16" }, | 116618 | .call_frame = .{ .alignment = .@"16" }, |
| 112495 | .extra_temps = .{ | 116619 | .extra_temps = .{ |
| 112496 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 116620 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 112497 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 116621 | .{ .type = .u128, .kind = .{ .param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 112498 | .{ .type = .u64, .kind = .{ .reg = .rsi } }, | | |
| 112499 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntisf" } }, | 116622 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntisf" } }, |
| 112500 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 116623 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 116624 | .unused, |
| 112501 | .unused, | 116625 | .unused, |
| 112502 | .unused, | 116626 | .unused, |
| 112503 | .unused, | 116627 | .unused, |
| ... | @@ -112508,16 +116632,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112508,16 +116632,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112508 | .dst_temps = .{ .mem, .unused }, | 116632 | .dst_temps = .{ .mem, .unused }, |
| 112509 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 116633 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 112510 | .each = .{ .once = &.{ | 116634 | .each = .{ .once = &.{ |
| 112511 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 116635 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 112512 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 116636 | .{ .@"0:", ._, .mov, .tmp1q0, .memsi(.src0q, .@"4", .tmp0), ._, ._ }, |
| 112513 | .{ ._, ._, .mov, .tmp2q, .memsiad(.src0q, .@"4", .tmp0, .add_unaligned_size, 8), ._, ._ }, | 116637 | .{ ._, ._, .mov, .tmp1q1, .memsid(.src0q, .@"4", .tmp0, 8), ._, ._ }, |
| 112514 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 116638 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 112515 | .{ ._, .v_ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp4x, ._, ._ }, | 116639 | .{ ._, .v_ss, .mov, .memi(.dst0d, .tmp0), .tmp3x, ._, ._ }, |
| 112516 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 116640 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 112517 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 116641 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 112518 | } }, | 116642 | } }, |
| 112519 | }, .{ | 116643 | }, .{ |
| 112520 | .required_features = .{ .@"64bit", .sse, null, null }, | 116644 | .required_cc_abi = .win64, |
| | 116645 | .required_features = .{ .avx, null, null, null }, |
| 112521 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 116646 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 112522 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any }, | 116647 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any }, |
| 112523 | .patterns = &.{ | 116648 | .patterns = &.{ |
| ... | @@ -112525,11 +116650,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112525,11 +116650,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112525 | }, | 116650 | }, |
| 112526 | .call_frame = .{ .alignment = .@"16" }, | 116651 | .call_frame = .{ .alignment = .@"16" }, |
| 112527 | .extra_temps = .{ | 116652 | .extra_temps = .{ |
| 112528 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 116653 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 112529 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 116654 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 112530 | .{ .type = .u64, .kind = .{ .reg = .rsi } }, | | |
| 112531 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntisf" } }, | 116655 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntisf" } }, |
| 112532 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 116656 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 116657 | .unused, |
| 112533 | .unused, | 116658 | .unused, |
| 112534 | .unused, | 116659 | .unused, |
| 112535 | .unused, | 116660 | .unused, |
| ... | @@ -112540,13 +116665,77 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112540,13 +116665,77 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112540 | .dst_temps = .{ .mem, .unused }, | 116665 | .dst_temps = .{ .mem, .unused }, |
| 112541 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 116666 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 112542 | .each = .{ .once = &.{ | 116667 | .each = .{ .once = &.{ |
| 112543 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 116668 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 112544 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 116669 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.src0, .@"4", .tmp0), ._, ._ }, |
| 112545 | .{ ._, ._, .mov, .tmp2q, .memsiad(.src0q, .@"4", .tmp0, .add_unaligned_size, 8), ._, ._ }, | 116670 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 112546 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 116671 | .{ ._, .v_ss, .mov, .memi(.dst0d, .tmp0), .tmp3x, ._, ._ }, |
| 112547 | .{ ._, ._ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp4x, ._, ._ }, | 116672 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 112548 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 116673 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 112549 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 116674 | } }, |
| | 116675 | }, .{ |
| | 116676 | .required_cc_abi = .sysv64, |
| | 116677 | .required_features = .{ .sse, null, null, null }, |
| | 116678 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 116679 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any }, |
| | 116680 | .patterns = &.{ |
| | 116681 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 116682 | }, |
| | 116683 | .call_frame = .{ .alignment = .@"16" }, |
| | 116684 | .extra_temps = .{ |
| | 116685 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 116686 | .{ .type = .u128, .kind = .{ .param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 116687 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntisf" } }, |
| | 116688 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 116689 | .unused, |
| | 116690 | .unused, |
| | 116691 | .unused, |
| | 116692 | .unused, |
| | 116693 | .unused, |
| | 116694 | .unused, |
| | 116695 | .unused, |
| | 116696 | }, |
| | 116697 | .dst_temps = .{ .mem, .unused }, |
| | 116698 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 116699 | .each = .{ .once = &.{ |
| | 116700 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| | 116701 | .{ .@"0:", ._, .mov, .tmp1q0, .memsi(.src0q, .@"4", .tmp0), ._, ._ }, |
| | 116702 | .{ ._, ._, .mov, .tmp1q1, .memsid(.src0q, .@"4", .tmp0, 8), ._, ._ }, |
| | 116703 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 116704 | .{ ._, ._ss, .mov, .memi(.dst0d, .tmp0), .tmp3x, ._, ._ }, |
| | 116705 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| | 116706 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 116707 | } }, |
| | 116708 | }, .{ |
| | 116709 | .required_cc_abi = .win64, |
| | 116710 | .required_features = .{ .sse, null, null, null }, |
| | 116711 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 116712 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any }, |
| | 116713 | .patterns = &.{ |
| | 116714 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 116715 | }, |
| | 116716 | .call_frame = .{ .alignment = .@"16" }, |
| | 116717 | .extra_temps = .{ |
| | 116718 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 116719 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 116720 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntisf" } }, |
| | 116721 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 116722 | .unused, |
| | 116723 | .unused, |
| | 116724 | .unused, |
| | 116725 | .unused, |
| | 116726 | .unused, |
| | 116727 | .unused, |
| | 116728 | .unused, |
| | 116729 | }, |
| | 116730 | .dst_temps = .{ .mem, .unused }, |
| | 116731 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 116732 | .each = .{ .once = &.{ |
| | 116733 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| | 116734 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.src0, .@"4", .tmp0), ._, ._ }, |
| | 116735 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 116736 | .{ ._, ._ss, .mov, .memi(.dst0d, .tmp0), .tmp3x, ._, ._ }, |
| | 116737 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| | 116738 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 112550 | } }, | 116739 | } }, |
| 112551 | }, .{ | 116740 | }, .{ |
| 112552 | .required_features = .{ .@"64bit", .avx, null, null }, | 116741 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | @@ -112558,11 +116747,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112558,11 +116747,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112558 | .call_frame = .{ .alignment = .@"16" }, | 116747 | .call_frame = .{ .alignment = .@"16" }, |
| 112559 | .extra_temps = .{ | 116748 | .extra_temps = .{ |
| 112560 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 116749 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 112561 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 116750 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 112562 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 116751 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 112563 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 116752 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 112564 | .{ .type = .usize, .kind = .{ .extern_func = "__floateisf" } }, | 116753 | .{ .type = .usize, .kind = .{ .extern_func = "__floateisf" } }, |
| 112565 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 116754 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 112566 | .unused, | 116755 | .unused, |
| 112567 | .unused, | 116756 | .unused, |
| 112568 | .unused, | 116757 | .unused, |
| ... | @@ -112572,15 +116761,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112572,15 +116761,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112572 | .dst_temps = .{ .mem, .unused }, | 116761 | .dst_temps = .{ .mem, .unused }, |
| 112573 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 116762 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 112574 | .each = .{ .once = &.{ | 116763 | .each = .{ .once = &.{ |
| 112575 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 116764 | .{ ._, ._, .lea, .tmp0p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 112576 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 116765 | .{ ._, ._, .mov, .tmp1d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 112577 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, | 116766 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, |
| 112578 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, | 116767 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, |
| 112579 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 116768 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 112580 | .{ ._, .v_ss, .mov, .memia(.dst0d, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ }, | 116769 | .{ ._, .v_ss, .mov, .memi(.dst0d, .tmp1), .tmp5x, ._, ._ }, |
| 112581 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ }, | 116770 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .sub_src0_elem_size), ._, ._ }, |
| 112582 | .{ ._, ._, .add, .tmp1p, .si(4), ._, ._ }, | 116771 | .{ ._, ._, .sub, .tmp1d, .si(4), ._, ._ }, |
| 112583 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 116772 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 112584 | } }, | 116773 | } }, |
| 112585 | }, .{ | 116774 | }, .{ |
| 112586 | .required_features = .{ .@"64bit", .sse, null, null }, | 116775 | .required_features = .{ .@"64bit", .sse, null, null }, |
| ... | @@ -112592,11 +116781,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112592,11 +116781,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112592 | .call_frame = .{ .alignment = .@"16" }, | 116781 | .call_frame = .{ .alignment = .@"16" }, |
| 112593 | .extra_temps = .{ | 116782 | .extra_temps = .{ |
| 112594 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 116783 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 112595 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 116784 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 112596 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 116785 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 112597 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 116786 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 112598 | .{ .type = .usize, .kind = .{ .extern_func = "__floateisf" } }, | 116787 | .{ .type = .usize, .kind = .{ .extern_func = "__floateisf" } }, |
| 112599 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 116788 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 112600 | .unused, | 116789 | .unused, |
| 112601 | .unused, | 116790 | .unused, |
| 112602 | .unused, | 116791 | .unused, |
| ... | @@ -112606,15 +116795,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112606,15 +116795,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112606 | .dst_temps = .{ .mem, .unused }, | 116795 | .dst_temps = .{ .mem, .unused }, |
| 112607 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 116796 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 112608 | .each = .{ .once = &.{ | 116797 | .each = .{ .once = &.{ |
| 112609 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 116798 | .{ ._, ._, .lea, .tmp0p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 112610 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 116799 | .{ ._, ._, .mov, .tmp1d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 112611 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, | 116800 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, |
| 112612 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, | 116801 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, |
| 112613 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 116802 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 112614 | .{ ._, ._ss, .mov, .memia(.dst0d, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ }, | 116803 | .{ ._, ._ss, .mov, .memi(.dst0d, .tmp1), .tmp5x, ._, ._ }, |
| 112615 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ }, | 116804 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .sub_src0_elem_size), ._, ._ }, |
| 112616 | .{ ._, ._, .add, .tmp1p, .si(4), ._, ._ }, | 116805 | .{ ._, ._, .sub, .tmp1d, .si(4), ._, ._ }, |
| 112617 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 116806 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 112618 | } }, | 116807 | } }, |
| 112619 | }, .{ | 116808 | }, .{ |
| 112620 | .required_features = .{ .@"64bit", .avx, null, null }, | 116809 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | @@ -112626,11 +116815,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112626,11 +116815,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112626 | .call_frame = .{ .alignment = .@"16" }, | 116815 | .call_frame = .{ .alignment = .@"16" }, |
| 112627 | .extra_temps = .{ | 116816 | .extra_temps = .{ |
| 112628 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 116817 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 112629 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 116818 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 112630 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 116819 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 112631 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 116820 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 112632 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneisf" } }, | 116821 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneisf" } }, |
| 112633 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 116822 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 112634 | .unused, | 116823 | .unused, |
| 112635 | .unused, | 116824 | .unused, |
| 112636 | .unused, | 116825 | .unused, |
| ... | @@ -112640,15 +116829,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112640,15 +116829,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112640 | .dst_temps = .{ .mem, .unused }, | 116829 | .dst_temps = .{ .mem, .unused }, |
| 112641 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 116830 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 112642 | .each = .{ .once = &.{ | 116831 | .each = .{ .once = &.{ |
| 112643 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 116832 | .{ ._, ._, .lea, .tmp0p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 112644 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 116833 | .{ ._, ._, .mov, .tmp1d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 112645 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, | 116834 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, |
| 112646 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, | 116835 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, |
| 112647 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 116836 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 112648 | .{ ._, .v_ss, .mov, .memia(.dst0d, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ }, | 116837 | .{ ._, .v_ss, .mov, .memi(.dst0d, .tmp1), .tmp5x, ._, ._ }, |
| 112649 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ }, | 116838 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .sub_src0_elem_size), ._, ._ }, |
| 112650 | .{ ._, ._, .add, .tmp1p, .si(4), ._, ._ }, | 116839 | .{ ._, ._, .sub, .tmp1d, .si(4), ._, ._ }, |
| 112651 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 116840 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 112652 | } }, | 116841 | } }, |
| 112653 | }, .{ | 116842 | }, .{ |
| 112654 | .required_features = .{ .@"64bit", .sse, null, null }, | 116843 | .required_features = .{ .@"64bit", .sse, null, null }, |
| ... | @@ -112660,11 +116849,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112660,11 +116849,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112660 | .call_frame = .{ .alignment = .@"16" }, | 116849 | .call_frame = .{ .alignment = .@"16" }, |
| 112661 | .extra_temps = .{ | 116850 | .extra_temps = .{ |
| 112662 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 116851 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 112663 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 116852 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 112664 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 116853 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 112665 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 116854 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 112666 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneisf" } }, | 116855 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneisf" } }, |
| 112667 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 116856 | .{ .type = .f32, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 112668 | .unused, | 116857 | .unused, |
| 112669 | .unused, | 116858 | .unused, |
| 112670 | .unused, | 116859 | .unused, |
| ... | @@ -112674,15 +116863,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -112674,15 +116863,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 112674 | .dst_temps = .{ .mem, .unused }, | 116863 | .dst_temps = .{ .mem, .unused }, |
| 112675 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 116864 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 112676 | .each = .{ .once = &.{ | 116865 | .each = .{ .once = &.{ |
| 112677 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 116866 | .{ ._, ._, .lea, .tmp0p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 112678 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 116867 | .{ ._, ._, .mov, .tmp1d, .sia(-4, .dst0, .add_unaligned_size), ._, ._ }, |
| 112679 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, | 116868 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, |
| 112680 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, | 116869 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, |
| 112681 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 116870 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 112682 | .{ ._, ._ss, .mov, .memia(.dst0d, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ }, | 116871 | .{ ._, ._ss, .mov, .memi(.dst0d, .tmp1), .tmp5x, ._, ._ }, |
| 112683 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ }, | 116872 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .sub_src0_elem_size), ._, ._ }, |
| 112684 | .{ ._, ._, .add, .tmp1p, .si(4), ._, ._ }, | 116873 | .{ ._, ._, .sub, .tmp1d, .si(4), ._, ._ }, |
| 112685 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 116874 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 112686 | } }, | 116875 | } }, |
| 112687 | }, .{ | 116876 | }, .{ |
| 112688 | .required_features = .{ .avx, null, null, null }, | 116877 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -113295,11 +117484,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113295,11 +117484,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113295 | .{ .@"0:", .f_p, .st, .dst0q, ._, ._, ._ }, | 117484 | .{ .@"0:", .f_p, .st, .dst0q, ._, ._, ._ }, |
| 113296 | } }, | 117485 | } }, |
| 113297 | }, .{ | 117486 | }, .{ |
| 113298 | .required_features = .{ .@"64bit", .sse, null, null }, | 117487 | .required_cc_abi = .sysv64, |
| | 117488 | .required_features = .{ .sse, null, null, null }, |
| 113299 | .src_constraints = .{ .{ .signed_int = .xword }, .any, .any }, | 117489 | .src_constraints = .{ .{ .signed_int = .xword }, .any, .any }, |
| 113300 | .dst_constraints = .{ .{ .float = .qword }, .any }, | 117490 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| 113301 | .patterns = &.{ | 117491 | .patterns = &.{ |
| 113302 | .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } }, | 117492 | .{ .src = .{ .{ .to_param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 113303 | }, | 117493 | }, |
| 113304 | .call_frame = .{ .alignment = .@"16" }, | 117494 | .call_frame = .{ .alignment = .@"16" }, |
| 113305 | .extra_temps = .{ | 117495 | .extra_temps = .{ |
| ... | @@ -113315,17 +117505,46 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113315,17 +117505,46 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113315 | .unused, | 117505 | .unused, |
| 113316 | .unused, | 117506 | .unused, |
| 113317 | }, | 117507 | }, |
| 113318 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 117508 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 113319 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 117509 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 113320 | .each = .{ .once = &.{ | 117510 | .each = .{ .once = &.{ |
| 113321 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 117511 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 113322 | } }, | 117512 | } }, |
| 113323 | }, .{ | 117513 | }, .{ |
| 113324 | .required_features = .{ .@"64bit", .sse, null, null }, | 117514 | .required_cc_abi = .win64, |
| | 117515 | .required_features = .{ .sse, null, null, null }, |
| | 117516 | .src_constraints = .{ .{ .signed_int = .xword }, .any, .any }, |
| | 117517 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 117518 | .patterns = &.{ |
| | 117519 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 117520 | }, |
| | 117521 | .call_frame = .{ .alignment = .@"16" }, |
| | 117522 | .extra_temps = .{ |
| | 117523 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 117524 | .{ .type = .usize, .kind = .{ .extern_func = "__floattidf" } }, |
| | 117525 | .unused, |
| | 117526 | .unused, |
| | 117527 | .unused, |
| | 117528 | .unused, |
| | 117529 | .unused, |
| | 117530 | .unused, |
| | 117531 | .unused, |
| | 117532 | .unused, |
| | 117533 | .unused, |
| | 117534 | }, |
| | 117535 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| | 117536 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 117537 | .each = .{ .once = &.{ |
| | 117538 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| | 117539 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 117540 | } }, |
| | 117541 | }, .{ |
| | 117542 | .required_cc_abi = .sysv64, |
| | 117543 | .required_features = .{ .sse, null, null, null }, |
| 113325 | .src_constraints = .{ .{ .unsigned_int = .xword }, .any, .any }, | 117544 | .src_constraints = .{ .{ .unsigned_int = .xword }, .any, .any }, |
| 113326 | .dst_constraints = .{ .{ .float = .qword }, .any }, | 117545 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| 113327 | .patterns = &.{ | 117546 | .patterns = &.{ |
| 113328 | .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } }, | 117547 | .{ .src = .{ .{ .to_param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 113329 | }, | 117548 | }, |
| 113330 | .call_frame = .{ .alignment = .@"16" }, | 117549 | .call_frame = .{ .alignment = .@"16" }, |
| 113331 | .extra_temps = .{ | 117550 | .extra_temps = .{ |
| ... | @@ -113341,11 +117560,39 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113341,11 +117560,39 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113341 | .unused, | 117560 | .unused, |
| 113342 | .unused, | 117561 | .unused, |
| 113343 | }, | 117562 | }, |
| 113344 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 117563 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 113345 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 117564 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 113346 | .each = .{ .once = &.{ | 117565 | .each = .{ .once = &.{ |
| 113347 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 117566 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 113348 | } }, | 117567 | } }, |
| | 117568 | }, .{ |
| | 117569 | .required_cc_abi = .win64, |
| | 117570 | .required_features = .{ .sse, null, null, null }, |
| | 117571 | .src_constraints = .{ .{ .unsigned_int = .xword }, .any, .any }, |
| | 117572 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 117573 | .patterns = &.{ |
| | 117574 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 117575 | }, |
| | 117576 | .call_frame = .{ .alignment = .@"16" }, |
| | 117577 | .extra_temps = .{ |
| | 117578 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 117579 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntidf" } }, |
| | 117580 | .unused, |
| | 117581 | .unused, |
| | 117582 | .unused, |
| | 117583 | .unused, |
| | 117584 | .unused, |
| | 117585 | .unused, |
| | 117586 | .unused, |
| | 117587 | .unused, |
| | 117588 | .unused, |
| | 117589 | }, |
| | 117590 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| | 117591 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 117592 | .each = .{ .once = &.{ |
| | 117593 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| | 117594 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 117595 | } }, |
| 113349 | }, .{ | 117596 | }, .{ |
| 113350 | .required_features = .{ .@"64bit", .sse, null, null }, | 117597 | .required_features = .{ .@"64bit", .sse, null, null }, |
| 113351 | .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any }, | 117598 | .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| ... | @@ -113355,8 +117602,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113355,8 +117602,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113355 | }, | 117602 | }, |
| 113356 | .call_frame = .{ .alignment = .@"16" }, | 117603 | .call_frame = .{ .alignment = .@"16" }, |
| 113357 | .extra_temps = .{ | 117604 | .extra_temps = .{ |
| 113358 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 117605 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 113359 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 117606 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 113360 | .{ .type = .usize, .kind = .{ .extern_func = "__floateidf" } }, | 117607 | .{ .type = .usize, .kind = .{ .extern_func = "__floateidf" } }, |
| 113361 | .unused, | 117608 | .unused, |
| 113362 | .unused, | 117609 | .unused, |
| ... | @@ -113367,7 +117614,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113367,7 +117614,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113367 | .unused, | 117614 | .unused, |
| 113368 | .unused, | 117615 | .unused, |
| 113369 | }, | 117616 | }, |
| 113370 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 117617 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 113371 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 117618 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 113372 | .each = .{ .once = &.{ | 117619 | .each = .{ .once = &.{ |
| 113373 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 117620 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| ... | @@ -113383,8 +117630,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113383,8 +117630,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113383 | }, | 117630 | }, |
| 113384 | .call_frame = .{ .alignment = .@"16" }, | 117631 | .call_frame = .{ .alignment = .@"16" }, |
| 113385 | .extra_temps = .{ | 117632 | .extra_temps = .{ |
| 113386 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 117633 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 113387 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 117634 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 113388 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneidf" } }, | 117635 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneidf" } }, |
| 113389 | .unused, | 117636 | .unused, |
| 113390 | .unused, | 117637 | .unused, |
| ... | @@ -113395,7 +117642,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113395,7 +117642,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113395 | .unused, | 117642 | .unused, |
| 113396 | .unused, | 117643 | .unused, |
| 113397 | }, | 117644 | }, |
| 113398 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 117645 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 113399 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 117646 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 113400 | .each = .{ .once = &.{ | 117647 | .each = .{ .once = &.{ |
| 113401 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 117648 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| ... | @@ -113488,7 +117735,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113488,7 +117735,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113488 | .{ .src = .{ .to_mem, .none, .none } }, | 117735 | .{ .src = .{ .to_mem, .none, .none } }, |
| 113489 | }, | 117736 | }, |
| 113490 | .extra_temps = .{ | 117737 | .extra_temps = .{ |
| 113491 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 117738 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 113492 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, | 117739 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| 113493 | .unused, | 117740 | .unused, |
| 113494 | .unused, | 117741 | .unused, |
| ... | @@ -113503,12 +117750,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113503,12 +117750,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113503 | .dst_temps = .{ .mem, .unused }, | 117750 | .dst_temps = .{ .mem, .unused }, |
| 113504 | .clobbers = .{ .eflags = true }, | 117751 | .clobbers = .{ .eflags = true }, |
| 113505 | .each = .{ .once = &.{ | 117752 | .each = .{ .once = &.{ |
| 113506 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 117753 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_size), ._, ._ }, |
| 113507 | .{ .@"0:", .vp_d, .movsxb, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 117754 | .{ .@"0:", .vp_d, .movsxb, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 113508 | .{ ._, .v_pd, .cvtdq2, .tmp1y, .tmp1x, ._, ._ }, | 117755 | .{ ._, .v_pd, .cvtdq2, .tmp1y, .tmp1x, ._, ._ }, |
| 113509 | .{ ._, .v_pd, .mova, .memsia(.dst0y, .@"8", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, | 117756 | .{ ._, .v_pd, .mova, .memsi(.dst0y, .@"8", .tmp0), .tmp1y, ._, ._ }, |
| 113510 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 117757 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 113511 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 117758 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 113512 | } }, | 117759 | } }, |
| 113513 | }, .{ | 117760 | }, .{ |
| 113514 | .required_features = .{ .avx, null, null, null }, | 117761 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -113518,7 +117765,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113518,7 +117765,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113518 | .{ .src = .{ .to_mem, .none, .none } }, | 117765 | .{ .src = .{ .to_mem, .none, .none } }, |
| 113519 | }, | 117766 | }, |
| 113520 | .extra_temps = .{ | 117767 | .extra_temps = .{ |
| 113521 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 117768 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 113522 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 117769 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 113523 | .unused, | 117770 | .unused, |
| 113524 | .unused, | 117771 | .unused, |
| ... | @@ -113533,14 +117780,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113533,14 +117780,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113533 | .dst_temps = .{ .mem, .unused }, | 117780 | .dst_temps = .{ .mem, .unused }, |
| 113534 | .clobbers = .{ .eflags = true }, | 117781 | .clobbers = .{ .eflags = true }, |
| 113535 | .each = .{ .once = &.{ | 117782 | .each = .{ .once = &.{ |
| 113536 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 117783 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_size), ._, ._ }, |
| 113537 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, | 117784 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| 113538 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, | 117785 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memi(.src0w, .tmp0), .ui(0) }, |
| 113539 | .{ ._, .vp_d, .movsxb, .tmp1x, .tmp1d, ._, ._ }, | 117786 | .{ ._, .vp_d, .movsxb, .tmp1x, .tmp1d, ._, ._ }, |
| 113540 | .{ ._, .v_pd, .cvtdq2, .tmp1x, .tmp1q, ._, ._ }, | 117787 | .{ ._, .v_pd, .cvtdq2, .tmp1x, .tmp1q, ._, ._ }, |
| 113541 | .{ ._, .v_pd, .mova, .memsia(.dst0x, .@"8", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 117788 | .{ ._, .v_pd, .mova, .memsi(.dst0x, .@"8", .tmp0), .tmp1x, ._, ._ }, |
| 113542 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 117789 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 113543 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 117790 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 113544 | } }, | 117791 | } }, |
| 113545 | }, .{ | 117792 | }, .{ |
| 113546 | .required_features = .{ .sse4_1, null, null, null }, | 117793 | .required_features = .{ .sse4_1, null, null, null }, |
| ... | @@ -113550,7 +117797,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113550,7 +117797,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113550 | .{ .src = .{ .to_mem, .none, .none } }, | 117797 | .{ .src = .{ .to_mem, .none, .none } }, |
| 113551 | }, | 117798 | }, |
| 113552 | .extra_temps = .{ | 117799 | .extra_temps = .{ |
| 113553 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 117800 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 113554 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 117801 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 113555 | .unused, | 117802 | .unused, |
| 113556 | .unused, | 117803 | .unused, |
| ... | @@ -113565,14 +117812,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113565,14 +117812,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113565 | .dst_temps = .{ .mem, .unused }, | 117812 | .dst_temps = .{ .mem, .unused }, |
| 113566 | .clobbers = .{ .eflags = true }, | 117813 | .clobbers = .{ .eflags = true }, |
| 113567 | .each = .{ .once = &.{ | 117814 | .each = .{ .once = &.{ |
| 113568 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 117815 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_size), ._, ._ }, |
| 113569 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | 117816 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 113570 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | 117817 | .{ ._, .p_w, .insr, .tmp1x, .memi(.src0w, .tmp0), .ui(0), ._ }, |
| 113571 | .{ ._, .p_d, .movsxb, .tmp1x, .tmp1d, ._, ._ }, | 117818 | .{ ._, .p_d, .movsxb, .tmp1x, .tmp1d, ._, ._ }, |
| 113572 | .{ ._, ._pd, .cvtdq2, .tmp1x, .tmp1q, ._, ._ }, | 117819 | .{ ._, ._pd, .cvtdq2, .tmp1x, .tmp1q, ._, ._ }, |
| 113573 | .{ ._, ._pd, .mova, .memsia(.dst0x, .@"8", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 117820 | .{ ._, ._pd, .mova, .memsi(.dst0x, .@"8", .tmp0), .tmp1x, ._, ._ }, |
| 113574 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 117821 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 113575 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 117822 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 113576 | } }, | 117823 | } }, |
| 113577 | }, .{ | 117824 | }, .{ |
| 113578 | .required_features = .{ .avx2, null, null, null }, | 117825 | .required_features = .{ .avx2, null, null, null }, |
| ... | @@ -113582,7 +117829,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113582,7 +117829,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113582 | .{ .src = .{ .to_mem, .none, .none } }, | 117829 | .{ .src = .{ .to_mem, .none, .none } }, |
| 113583 | }, | 117830 | }, |
| 113584 | .extra_temps = .{ | 117831 | .extra_temps = .{ |
| 113585 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 117832 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 113586 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, | 117833 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| 113587 | .unused, | 117834 | .unused, |
| 113588 | .unused, | 117835 | .unused, |
| ... | @@ -113597,12 +117844,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113597,12 +117844,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113597 | .dst_temps = .{ .mem, .unused }, | 117844 | .dst_temps = .{ .mem, .unused }, |
| 113598 | .clobbers = .{ .eflags = true }, | 117845 | .clobbers = .{ .eflags = true }, |
| 113599 | .each = .{ .once = &.{ | 117846 | .each = .{ .once = &.{ |
| 113600 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 117847 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_size), ._, ._ }, |
| 113601 | .{ .@"0:", .vp_d, .movzxb, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 117848 | .{ .@"0:", .vp_d, .movzxb, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 113602 | .{ ._, .v_pd, .cvtdq2, .tmp1y, .tmp1x, ._, ._ }, | 117849 | .{ ._, .v_pd, .cvtdq2, .tmp1y, .tmp1x, ._, ._ }, |
| 113603 | .{ ._, .v_pd, .mova, .memsia(.dst0y, .@"8", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, | 117850 | .{ ._, .v_pd, .mova, .memsi(.dst0y, .@"8", .tmp0), .tmp1y, ._, ._ }, |
| 113604 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 117851 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 113605 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 117852 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 113606 | } }, | 117853 | } }, |
| 113607 | }, .{ | 117854 | }, .{ |
| 113608 | .required_features = .{ .avx, null, null, null }, | 117855 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -113612,7 +117859,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113612,7 +117859,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113612 | .{ .src = .{ .to_mem, .none, .none } }, | 117859 | .{ .src = .{ .to_mem, .none, .none } }, |
| 113613 | }, | 117860 | }, |
| 113614 | .extra_temps = .{ | 117861 | .extra_temps = .{ |
| 113615 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 117862 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 113616 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 117863 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 113617 | .unused, | 117864 | .unused, |
| 113618 | .unused, | 117865 | .unused, |
| ... | @@ -113627,14 +117874,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113627,14 +117874,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113627 | .dst_temps = .{ .mem, .unused }, | 117874 | .dst_temps = .{ .mem, .unused }, |
| 113628 | .clobbers = .{ .eflags = true }, | 117875 | .clobbers = .{ .eflags = true }, |
| 113629 | .each = .{ .once = &.{ | 117876 | .each = .{ .once = &.{ |
| 113630 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 117877 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_size), ._, ._ }, |
| 113631 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, | 117878 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| 113632 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, | 117879 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memi(.src0w, .tmp0), .ui(0) }, |
| 113633 | .{ ._, .vp_d, .movzxb, .tmp1x, .tmp1d, ._, ._ }, | 117880 | .{ ._, .vp_d, .movzxb, .tmp1x, .tmp1d, ._, ._ }, |
| 113634 | .{ ._, .v_pd, .cvtdq2, .tmp1x, .tmp1q, ._, ._ }, | 117881 | .{ ._, .v_pd, .cvtdq2, .tmp1x, .tmp1q, ._, ._ }, |
| 113635 | .{ ._, .v_pd, .mova, .memsia(.dst0x, .@"8", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 117882 | .{ ._, .v_pd, .mova, .memsi(.dst0x, .@"8", .tmp0), .tmp1x, ._, ._ }, |
| 113636 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 117883 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 113637 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 117884 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 113638 | } }, | 117885 | } }, |
| 113639 | }, .{ | 117886 | }, .{ |
| 113640 | .required_features = .{ .sse4_1, null, null, null }, | 117887 | .required_features = .{ .sse4_1, null, null, null }, |
| ... | @@ -113644,7 +117891,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113644,7 +117891,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113644 | .{ .src = .{ .to_mem, .none, .none } }, | 117891 | .{ .src = .{ .to_mem, .none, .none } }, |
| 113645 | }, | 117892 | }, |
| 113646 | .extra_temps = .{ | 117893 | .extra_temps = .{ |
| 113647 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 117894 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 113648 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 117895 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 113649 | .unused, | 117896 | .unused, |
| 113650 | .unused, | 117897 | .unused, |
| ... | @@ -113659,14 +117906,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113659,14 +117906,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113659 | .dst_temps = .{ .mem, .unused }, | 117906 | .dst_temps = .{ .mem, .unused }, |
| 113660 | .clobbers = .{ .eflags = true }, | 117907 | .clobbers = .{ .eflags = true }, |
| 113661 | .each = .{ .once = &.{ | 117908 | .each = .{ .once = &.{ |
| 113662 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 117909 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_size), ._, ._ }, |
| 113663 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | 117910 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 113664 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | 117911 | .{ ._, .p_w, .insr, .tmp1x, .memi(.src0w, .tmp0), .ui(0), ._ }, |
| 113665 | .{ ._, .p_d, .movzxb, .tmp1x, .tmp1d, ._, ._ }, | 117912 | .{ ._, .p_d, .movzxb, .tmp1x, .tmp1d, ._, ._ }, |
| 113666 | .{ ._, ._pd, .cvtdq2, .tmp1x, .tmp1q, ._, ._ }, | 117913 | .{ ._, ._pd, .cvtdq2, .tmp1x, .tmp1q, ._, ._ }, |
| 113667 | .{ ._, ._pd, .mova, .memsia(.dst0x, .@"8", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 117914 | .{ ._, ._pd, .mova, .memsi(.dst0x, .@"8", .tmp0), .tmp1x, ._, ._ }, |
| 113668 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 117915 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 113669 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 117916 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 113670 | } }, | 117917 | } }, |
| 113671 | }, .{ | 117918 | }, .{ |
| 113672 | .required_features = .{ .avx, .slow_incdec, null, null }, | 117919 | .required_features = .{ .avx, .slow_incdec, null, null }, |
| ... | @@ -113677,10 +117924,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113677,10 +117924,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113677 | }, | 117924 | }, |
| 113678 | .call_frame = .{ .alignment = .@"16" }, | 117925 | .call_frame = .{ .alignment = .@"16" }, |
| 113679 | .extra_temps = .{ | 117926 | .extra_temps = .{ |
| 113680 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 117927 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 113681 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 117928 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 113682 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsidf" } }, | 117929 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsidf" } }, |
| 113683 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 117930 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 113684 | .unused, | 117931 | .unused, |
| 113685 | .unused, | 117932 | .unused, |
| 113686 | .unused, | 117933 | .unused, |
| ... | @@ -113692,12 +117939,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113692,12 +117939,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113692 | .dst_temps = .{ .mem, .unused }, | 117939 | .dst_temps = .{ .mem, .unused }, |
| 113693 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 117940 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 113694 | .each = .{ .once = &.{ | 117941 | .each = .{ .once = &.{ |
| 113695 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 117942 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 113696 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 117943 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 113697 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 117944 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 113698 | .{ ._, .v_sd, .mov, .memsia(.dst0q, .@"8", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 117945 | .{ ._, .v_sd, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp3x, ._, ._ }, |
| 113699 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 117946 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 113700 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 117947 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 113701 | } }, | 117948 | } }, |
| 113702 | }, .{ | 117949 | }, .{ |
| 113703 | .required_features = .{ .avx, null, null, null }, | 117950 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -113708,10 +117955,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113708,10 +117955,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113708 | }, | 117955 | }, |
| 113709 | .call_frame = .{ .alignment = .@"16" }, | 117956 | .call_frame = .{ .alignment = .@"16" }, |
| 113710 | .extra_temps = .{ | 117957 | .extra_temps = .{ |
| 113711 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 117958 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 113712 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 117959 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 113713 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsidf" } }, | 117960 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsidf" } }, |
| 113714 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 117961 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 113715 | .unused, | 117962 | .unused, |
| 113716 | .unused, | 117963 | .unused, |
| 113717 | .unused, | 117964 | .unused, |
| ... | @@ -113723,12 +117970,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113723,12 +117970,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113723 | .dst_temps = .{ .mem, .unused }, | 117970 | .dst_temps = .{ .mem, .unused }, |
| 113724 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 117971 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 113725 | .each = .{ .once = &.{ | 117972 | .each = .{ .once = &.{ |
| 113726 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 117973 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 113727 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 117974 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 113728 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 117975 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 113729 | .{ ._, .v_sd, .mov, .memsia(.dst0q, .@"8", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 117976 | .{ ._, .v_sd, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp3x, ._, ._ }, |
| 113730 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 117977 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 113731 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 117978 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 113732 | } }, | 117979 | } }, |
| 113733 | }, .{ | 117980 | }, .{ |
| 113734 | .required_features = .{ .sse2, .slow_incdec, null, null }, | 117981 | .required_features = .{ .sse2, .slow_incdec, null, null }, |
| ... | @@ -113739,10 +117986,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113739,10 +117986,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113739 | }, | 117986 | }, |
| 113740 | .call_frame = .{ .alignment = .@"16" }, | 117987 | .call_frame = .{ .alignment = .@"16" }, |
| 113741 | .extra_temps = .{ | 117988 | .extra_temps = .{ |
| 113742 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 117989 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 113743 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 117990 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 113744 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsidf" } }, | 117991 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsidf" } }, |
| 113745 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 117992 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 113746 | .unused, | 117993 | .unused, |
| 113747 | .unused, | 117994 | .unused, |
| 113748 | .unused, | 117995 | .unused, |
| ... | @@ -113754,12 +118001,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113754,12 +118001,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113754 | .dst_temps = .{ .mem, .unused }, | 118001 | .dst_temps = .{ .mem, .unused }, |
| 113755 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 118002 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 113756 | .each = .{ .once = &.{ | 118003 | .each = .{ .once = &.{ |
| 113757 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 118004 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 113758 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 118005 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 113759 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 118006 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 113760 | .{ ._, ._sd, .mov, .memsia(.dst0q, .@"8", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 118007 | .{ ._, ._sd, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp3x, ._, ._ }, |
| 113761 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 118008 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 113762 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 118009 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 113763 | } }, | 118010 | } }, |
| 113764 | }, .{ | 118011 | }, .{ |
| 113765 | .required_features = .{ .sse2, null, null, null }, | 118012 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -113770,10 +118017,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113770,10 +118017,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113770 | }, | 118017 | }, |
| 113771 | .call_frame = .{ .alignment = .@"16" }, | 118018 | .call_frame = .{ .alignment = .@"16" }, |
| 113772 | .extra_temps = .{ | 118019 | .extra_temps = .{ |
| 113773 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 118020 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 113774 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 118021 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 113775 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsidf" } }, | 118022 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsidf" } }, |
| 113776 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 118023 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 113777 | .unused, | 118024 | .unused, |
| 113778 | .unused, | 118025 | .unused, |
| 113779 | .unused, | 118026 | .unused, |
| ... | @@ -113785,12 +118032,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113785,12 +118032,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113785 | .dst_temps = .{ .mem, .unused }, | 118032 | .dst_temps = .{ .mem, .unused }, |
| 113786 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 118033 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 113787 | .each = .{ .once = &.{ | 118034 | .each = .{ .once = &.{ |
| 113788 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 118035 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 113789 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 118036 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 113790 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 118037 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 113791 | .{ ._, ._sd, .mov, .memsia(.dst0q, .@"8", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 118038 | .{ ._, ._sd, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp3x, ._, ._ }, |
| 113792 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 118039 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 113793 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 118040 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 113794 | } }, | 118041 | } }, |
| 113795 | }, .{ | 118042 | }, .{ |
| 113796 | .required_features = .{ .sse, .slow_incdec, null, null }, | 118043 | .required_features = .{ .sse, .slow_incdec, null, null }, |
| ... | @@ -113801,10 +118048,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113801,10 +118048,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113801 | }, | 118048 | }, |
| 113802 | .call_frame = .{ .alignment = .@"16" }, | 118049 | .call_frame = .{ .alignment = .@"16" }, |
| 113803 | .extra_temps = .{ | 118050 | .extra_temps = .{ |
| 113804 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 118051 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 113805 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 118052 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 113806 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsidf" } }, | 118053 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsidf" } }, |
| 113807 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 118054 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 113808 | .unused, | 118055 | .unused, |
| 113809 | .unused, | 118056 | .unused, |
| 113810 | .unused, | 118057 | .unused, |
| ... | @@ -113816,12 +118063,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113816,12 +118063,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113816 | .dst_temps = .{ .mem, .unused }, | 118063 | .dst_temps = .{ .mem, .unused }, |
| 113817 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 118064 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 113818 | .each = .{ .once = &.{ | 118065 | .each = .{ .once = &.{ |
| 113819 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 118066 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 113820 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 118067 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 113821 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 118068 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 113822 | .{ ._, ._ps, .movl, .memsia(.dst0q, .@"8", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 118069 | .{ ._, ._ps, .movl, .memsi(.dst0q, .@"8", .tmp0), .tmp3x, ._, ._ }, |
| 113823 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 118070 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 113824 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 118071 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 113825 | } }, | 118072 | } }, |
| 113826 | }, .{ | 118073 | }, .{ |
| 113827 | .required_features = .{ .sse, null, null, null }, | 118074 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -113832,10 +118079,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113832,10 +118079,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113832 | }, | 118079 | }, |
| 113833 | .call_frame = .{ .alignment = .@"16" }, | 118080 | .call_frame = .{ .alignment = .@"16" }, |
| 113834 | .extra_temps = .{ | 118081 | .extra_temps = .{ |
| 113835 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 118082 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 113836 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 118083 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 113837 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsidf" } }, | 118084 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsidf" } }, |
| 113838 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 118085 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 113839 | .unused, | 118086 | .unused, |
| 113840 | .unused, | 118087 | .unused, |
| 113841 | .unused, | 118088 | .unused, |
| ... | @@ -113847,12 +118094,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113847,12 +118094,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113847 | .dst_temps = .{ .mem, .unused }, | 118094 | .dst_temps = .{ .mem, .unused }, |
| 113848 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 118095 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 113849 | .each = .{ .once = &.{ | 118096 | .each = .{ .once = &.{ |
| 113850 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 118097 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 113851 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 118098 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 113852 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 118099 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 113853 | .{ ._, ._ps, .movl, .memsia(.dst0q, .@"8", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 118100 | .{ ._, ._ps, .movl, .memsi(.dst0q, .@"8", .tmp0), .tmp3x, ._, ._ }, |
| 113854 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 118101 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 113855 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 118102 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 113856 | } }, | 118103 | } }, |
| 113857 | }, .{ | 118104 | }, .{ |
| 113858 | .required_features = .{ .avx, .slow_incdec, null, null }, | 118105 | .required_features = .{ .avx, .slow_incdec, null, null }, |
| ... | @@ -113863,10 +118110,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113863,10 +118110,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113863 | }, | 118110 | }, |
| 113864 | .call_frame = .{ .alignment = .@"16" }, | 118111 | .call_frame = .{ .alignment = .@"16" }, |
| 113865 | .extra_temps = .{ | 118112 | .extra_temps = .{ |
| 113866 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 118113 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 113867 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 118114 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 113868 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsidf" } }, | 118115 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsidf" } }, |
| 113869 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 118116 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 113870 | .unused, | 118117 | .unused, |
| 113871 | .unused, | 118118 | .unused, |
| 113872 | .unused, | 118119 | .unused, |
| ... | @@ -113878,12 +118125,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113878,12 +118125,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113878 | .dst_temps = .{ .mem, .unused }, | 118125 | .dst_temps = .{ .mem, .unused }, |
| 113879 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 118126 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 113880 | .each = .{ .once = &.{ | 118127 | .each = .{ .once = &.{ |
| 113881 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 118128 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 113882 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 118129 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 113883 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 118130 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 113884 | .{ ._, .v_sd, .mov, .memsia(.dst0q, .@"8", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 118131 | .{ ._, .v_sd, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp3x, ._, ._ }, |
| 113885 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 118132 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 113886 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 118133 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 113887 | } }, | 118134 | } }, |
| 113888 | }, .{ | 118135 | }, .{ |
| 113889 | .required_features = .{ .avx, null, null, null }, | 118136 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -113894,10 +118141,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113894,10 +118141,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113894 | }, | 118141 | }, |
| 113895 | .call_frame = .{ .alignment = .@"16" }, | 118142 | .call_frame = .{ .alignment = .@"16" }, |
| 113896 | .extra_temps = .{ | 118143 | .extra_temps = .{ |
| 113897 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 118144 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 113898 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 118145 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 113899 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsidf" } }, | 118146 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsidf" } }, |
| 113900 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 118147 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 113901 | .unused, | 118148 | .unused, |
| 113902 | .unused, | 118149 | .unused, |
| 113903 | .unused, | 118150 | .unused, |
| ... | @@ -113909,12 +118156,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113909,12 +118156,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113909 | .dst_temps = .{ .mem, .unused }, | 118156 | .dst_temps = .{ .mem, .unused }, |
| 113910 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 118157 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 113911 | .each = .{ .once = &.{ | 118158 | .each = .{ .once = &.{ |
| 113912 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 118159 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 113913 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 118160 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 113914 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 118161 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 113915 | .{ ._, .v_sd, .mov, .memsia(.dst0q, .@"8", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 118162 | .{ ._, .v_sd, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp3x, ._, ._ }, |
| 113916 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 118163 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 113917 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 118164 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 113918 | } }, | 118165 | } }, |
| 113919 | }, .{ | 118166 | }, .{ |
| 113920 | .required_features = .{ .sse2, .slow_incdec, null, null }, | 118167 | .required_features = .{ .sse2, .slow_incdec, null, null }, |
| ... | @@ -113925,10 +118172,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113925,10 +118172,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113925 | }, | 118172 | }, |
| 113926 | .call_frame = .{ .alignment = .@"16" }, | 118173 | .call_frame = .{ .alignment = .@"16" }, |
| 113927 | .extra_temps = .{ | 118174 | .extra_temps = .{ |
| 113928 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 118175 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 113929 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 118176 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 113930 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsidf" } }, | 118177 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsidf" } }, |
| 113931 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 118178 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 113932 | .unused, | 118179 | .unused, |
| 113933 | .unused, | 118180 | .unused, |
| 113934 | .unused, | 118181 | .unused, |
| ... | @@ -113940,12 +118187,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113940,12 +118187,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113940 | .dst_temps = .{ .mem, .unused }, | 118187 | .dst_temps = .{ .mem, .unused }, |
| 113941 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 118188 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 113942 | .each = .{ .once = &.{ | 118189 | .each = .{ .once = &.{ |
| 113943 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 118190 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 113944 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 118191 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 113945 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 118192 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 113946 | .{ ._, ._sd, .mov, .memsia(.dst0q, .@"8", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 118193 | .{ ._, ._sd, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp3x, ._, ._ }, |
| 113947 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 118194 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 113948 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 118195 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 113949 | } }, | 118196 | } }, |
| 113950 | }, .{ | 118197 | }, .{ |
| 113951 | .required_features = .{ .sse2, null, null, null }, | 118198 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -113956,10 +118203,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113956,10 +118203,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113956 | }, | 118203 | }, |
| 113957 | .call_frame = .{ .alignment = .@"16" }, | 118204 | .call_frame = .{ .alignment = .@"16" }, |
| 113958 | .extra_temps = .{ | 118205 | .extra_temps = .{ |
| 113959 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 118206 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 113960 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 118207 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 113961 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsidf" } }, | 118208 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsidf" } }, |
| 113962 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 118209 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 113963 | .unused, | 118210 | .unused, |
| 113964 | .unused, | 118211 | .unused, |
| 113965 | .unused, | 118212 | .unused, |
| ... | @@ -113971,12 +118218,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113971,12 +118218,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113971 | .dst_temps = .{ .mem, .unused }, | 118218 | .dst_temps = .{ .mem, .unused }, |
| 113972 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 118219 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 113973 | .each = .{ .once = &.{ | 118220 | .each = .{ .once = &.{ |
| 113974 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 118221 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 113975 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 118222 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 113976 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 118223 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 113977 | .{ ._, ._sd, .mov, .memsia(.dst0q, .@"8", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 118224 | .{ ._, ._sd, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp3x, ._, ._ }, |
| 113978 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 118225 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 113979 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 118226 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 113980 | } }, | 118227 | } }, |
| 113981 | }, .{ | 118228 | }, .{ |
| 113982 | .required_features = .{ .sse, .slow_incdec, null, null }, | 118229 | .required_features = .{ .sse, .slow_incdec, null, null }, |
| ... | @@ -113987,10 +118234,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -113987,10 +118234,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 113987 | }, | 118234 | }, |
| 113988 | .call_frame = .{ .alignment = .@"16" }, | 118235 | .call_frame = .{ .alignment = .@"16" }, |
| 113989 | .extra_temps = .{ | 118236 | .extra_temps = .{ |
| 113990 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 118237 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 113991 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 118238 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 113992 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsidf" } }, | 118239 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsidf" } }, |
| 113993 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 118240 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 113994 | .unused, | 118241 | .unused, |
| 113995 | .unused, | 118242 | .unused, |
| 113996 | .unused, | 118243 | .unused, |
| ... | @@ -114002,12 +118249,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114002,12 +118249,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114002 | .dst_temps = .{ .mem, .unused }, | 118249 | .dst_temps = .{ .mem, .unused }, |
| 114003 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 118250 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 114004 | .each = .{ .once = &.{ | 118251 | .each = .{ .once = &.{ |
| 114005 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 118252 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 114006 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 118253 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 114007 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 118254 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 114008 | .{ ._, ._ps, .movl, .memsia(.dst0q, .@"8", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 118255 | .{ ._, ._ps, .movl, .memsi(.dst0q, .@"8", .tmp0), .tmp3x, ._, ._ }, |
| 114009 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 118256 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 114010 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 118257 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 114011 | } }, | 118258 | } }, |
| 114012 | }, .{ | 118259 | }, .{ |
| 114013 | .required_features = .{ .sse, null, null, null }, | 118260 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -114018,10 +118265,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114018,10 +118265,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114018 | }, | 118265 | }, |
| 114019 | .call_frame = .{ .alignment = .@"16" }, | 118266 | .call_frame = .{ .alignment = .@"16" }, |
| 114020 | .extra_temps = .{ | 118267 | .extra_temps = .{ |
| 114021 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 118268 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 114022 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 118269 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114023 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsidf" } }, | 118270 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsidf" } }, |
| 114024 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 118271 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114025 | .unused, | 118272 | .unused, |
| 114026 | .unused, | 118273 | .unused, |
| 114027 | .unused, | 118274 | .unused, |
| ... | @@ -114033,12 +118280,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114033,12 +118280,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114033 | .dst_temps = .{ .mem, .unused }, | 118280 | .dst_temps = .{ .mem, .unused }, |
| 114034 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 118281 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 114035 | .each = .{ .once = &.{ | 118282 | .each = .{ .once = &.{ |
| 114036 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 118283 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 114037 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 118284 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| 114038 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 118285 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 114039 | .{ ._, ._ps, .movl, .memsia(.dst0q, .@"8", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 118286 | .{ ._, ._ps, .movl, .memsi(.dst0q, .@"8", .tmp0), .tmp3x, ._, ._ }, |
| 114040 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 118287 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 114041 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 118288 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 114042 | } }, | 118289 | } }, |
| 114043 | }, .{ | 118290 | }, .{ |
| 114044 | .required_features = .{ .avx, null, null, null }, | 118291 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -114126,7 +118373,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114126,7 +118373,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114126 | .{ .src = .{ .to_mem, .none, .none } }, | 118373 | .{ .src = .{ .to_mem, .none, .none } }, |
| 114127 | }, | 118374 | }, |
| 114128 | .extra_temps = .{ | 118375 | .extra_temps = .{ |
| 114129 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 118376 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 114130 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, | 118377 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| 114131 | .unused, | 118378 | .unused, |
| 114132 | .unused, | 118379 | .unused, |
| ... | @@ -114141,12 +118388,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114141,12 +118388,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114141 | .dst_temps = .{ .mem, .unused }, | 118388 | .dst_temps = .{ .mem, .unused }, |
| 114142 | .clobbers = .{ .eflags = true }, | 118389 | .clobbers = .{ .eflags = true }, |
| 114143 | .each = .{ .once = &.{ | 118390 | .each = .{ .once = &.{ |
| 114144 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 118391 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ }, |
| 114145 | .{ .@"0:", .vp_d, .movsxw, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 118392 | .{ .@"0:", .vp_d, .movsxw, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 114146 | .{ ._, .v_pd, .cvtdq2, .tmp1y, .tmp1x, ._, ._ }, | 118393 | .{ ._, .v_pd, .cvtdq2, .tmp1y, .tmp1x, ._, ._ }, |
| 114147 | .{ ._, .v_ps, .mova, .memsia(.dst0y, .@"4", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, | 118394 | .{ ._, .v_pd, .mova, .memsi(.dst0y, .@"4", .tmp0), .tmp1y, ._, ._ }, |
| 114148 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 118395 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 114149 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 118396 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 114150 | } }, | 118397 | } }, |
| 114151 | }, .{ | 118398 | }, .{ |
| 114152 | .required_features = .{ .avx, null, null, null }, | 118399 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -114156,7 +118403,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114156,7 +118403,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114156 | .{ .src = .{ .to_mem, .none, .none } }, | 118403 | .{ .src = .{ .to_mem, .none, .none } }, |
| 114157 | }, | 118404 | }, |
| 114158 | .extra_temps = .{ | 118405 | .extra_temps = .{ |
| 114159 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 118406 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 114160 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 118407 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 114161 | .unused, | 118408 | .unused, |
| 114162 | .unused, | 118409 | .unused, |
| ... | @@ -114171,13 +118418,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114171,13 +118418,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114171 | .dst_temps = .{ .mem, .unused }, | 118418 | .dst_temps = .{ .mem, .unused }, |
| 114172 | .clobbers = .{ .eflags = true }, | 118419 | .clobbers = .{ .eflags = true }, |
| 114173 | .each = .{ .once = &.{ | 118420 | .each = .{ .once = &.{ |
| 114174 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 118421 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_size), ._, ._ }, |
| 114175 | .{ .@"0:", .v_d, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 118422 | .{ .@"0:", .v_d, .mov, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 114176 | .{ ._, .vp_d, .movsxw, .tmp1x, .tmp1q, ._, ._ }, | 118423 | .{ ._, .vp_d, .movsxw, .tmp1x, .tmp1q, ._, ._ }, |
| 114177 | .{ ._, .v_pd, .cvtdq2, .tmp1x, .tmp1q, ._, ._ }, | 118424 | .{ ._, .v_pd, .cvtdq2, .tmp1x, .tmp1q, ._, ._ }, |
| 114178 | .{ ._, .v_ps, .mova, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 118425 | .{ ._, .v_pd, .mova, .memsi(.dst0x, .@"4", .tmp0), .tmp1x, ._, ._ }, |
| 114179 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 118426 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 114180 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 118427 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 114181 | } }, | 118428 | } }, |
| 114182 | }, .{ | 118429 | }, .{ |
| 114183 | .required_features = .{ .sse4_1, null, null, null }, | 118430 | .required_features = .{ .sse4_1, null, null, null }, |
| ... | @@ -114187,7 +118434,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114187,7 +118434,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114187 | .{ .src = .{ .to_mem, .none, .none } }, | 118434 | .{ .src = .{ .to_mem, .none, .none } }, |
| 114188 | }, | 118435 | }, |
| 114189 | .extra_temps = .{ | 118436 | .extra_temps = .{ |
| 114190 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 118437 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 114191 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 118438 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 114192 | .unused, | 118439 | .unused, |
| 114193 | .unused, | 118440 | .unused, |
| ... | @@ -114202,13 +118449,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114202,13 +118449,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114202 | .dst_temps = .{ .mem, .unused }, | 118449 | .dst_temps = .{ .mem, .unused }, |
| 114203 | .clobbers = .{ .eflags = true }, | 118450 | .clobbers = .{ .eflags = true }, |
| 114204 | .each = .{ .once = &.{ | 118451 | .each = .{ .once = &.{ |
| 114205 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 118452 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_size), ._, ._ }, |
| 114206 | .{ .@"0:", ._d, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 118453 | .{ .@"0:", ._d, .mov, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 114207 | .{ ._, .p_d, .movsxw, .tmp1x, .tmp1q, ._, ._ }, | 118454 | .{ ._, .p_d, .movsxw, .tmp1x, .tmp1q, ._, ._ }, |
| 114208 | .{ ._, ._pd, .cvtdq2, .tmp1x, .tmp1q, ._, ._ }, | 118455 | .{ ._, ._pd, .cvtdq2, .tmp1x, .tmp1q, ._, ._ }, |
| 114209 | .{ ._, ._ps, .mova, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 118456 | .{ ._, ._pd, .mova, .memsi(.dst0x, .@"4", .tmp0), .tmp1x, ._, ._ }, |
| 114210 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 118457 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 114211 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 118458 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 114212 | } }, | 118459 | } }, |
| 114213 | }, .{ | 118460 | }, .{ |
| 114214 | .required_features = .{ .avx2, null, null, null }, | 118461 | .required_features = .{ .avx2, null, null, null }, |
| ... | @@ -114218,7 +118465,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114218,7 +118465,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114218 | .{ .src = .{ .to_mem, .none, .none } }, | 118465 | .{ .src = .{ .to_mem, .none, .none } }, |
| 114219 | }, | 118466 | }, |
| 114220 | .extra_temps = .{ | 118467 | .extra_temps = .{ |
| 114221 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 118468 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 114222 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, | 118469 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| 114223 | .unused, | 118470 | .unused, |
| 114224 | .unused, | 118471 | .unused, |
| ... | @@ -114233,12 +118480,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114233,12 +118480,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114233 | .dst_temps = .{ .mem, .unused }, | 118480 | .dst_temps = .{ .mem, .unused }, |
| 114234 | .clobbers = .{ .eflags = true }, | 118481 | .clobbers = .{ .eflags = true }, |
| 114235 | .each = .{ .once = &.{ | 118482 | .each = .{ .once = &.{ |
| 114236 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 118483 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ }, |
| 114237 | .{ .@"0:", .vp_d, .movzxw, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 118484 | .{ .@"0:", .vp_d, .movzxw, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 114238 | .{ ._, .v_pd, .cvtdq2, .tmp1y, .tmp1x, ._, ._ }, | 118485 | .{ ._, .v_pd, .cvtdq2, .tmp1y, .tmp1x, ._, ._ }, |
| 114239 | .{ ._, .v_ps, .mova, .memsia(.dst0y, .@"4", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, | 118486 | .{ ._, .v_pd, .mova, .memsi(.dst0y, .@"4", .tmp0), .tmp1y, ._, ._ }, |
| 114240 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 118487 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 114241 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 118488 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 114242 | } }, | 118489 | } }, |
| 114243 | }, .{ | 118490 | }, .{ |
| 114244 | .required_features = .{ .avx, null, null, null }, | 118491 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -114248,7 +118495,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114248,7 +118495,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114248 | .{ .src = .{ .to_mem, .none, .none } }, | 118495 | .{ .src = .{ .to_mem, .none, .none } }, |
| 114249 | }, | 118496 | }, |
| 114250 | .extra_temps = .{ | 118497 | .extra_temps = .{ |
| 114251 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 118498 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 114252 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 118499 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 114253 | .unused, | 118500 | .unused, |
| 114254 | .unused, | 118501 | .unused, |
| ... | @@ -114263,13 +118510,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114263,13 +118510,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114263 | .dst_temps = .{ .mem, .unused }, | 118510 | .dst_temps = .{ .mem, .unused }, |
| 114264 | .clobbers = .{ .eflags = true }, | 118511 | .clobbers = .{ .eflags = true }, |
| 114265 | .each = .{ .once = &.{ | 118512 | .each = .{ .once = &.{ |
| 114266 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 118513 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_size), ._, ._ }, |
| 114267 | .{ .@"0:", .v_d, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 118514 | .{ .@"0:", .v_d, .mov, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 114268 | .{ ._, .vp_d, .movzxw, .tmp1x, .tmp1q, ._, ._ }, | 118515 | .{ ._, .vp_d, .movzxw, .tmp1x, .tmp1q, ._, ._ }, |
| 114269 | .{ ._, .v_pd, .cvtdq2, .tmp1x, .tmp1q, ._, ._ }, | 118516 | .{ ._, .v_pd, .cvtdq2, .tmp1x, .tmp1q, ._, ._ }, |
| 114270 | .{ ._, .v_ps, .mova, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 118517 | .{ ._, .v_pd, .mova, .memsi(.dst0x, .@"4", .tmp0), .tmp1x, ._, ._ }, |
| 114271 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 118518 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 114272 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 118519 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 114273 | } }, | 118520 | } }, |
| 114274 | }, .{ | 118521 | }, .{ |
| 114275 | .required_features = .{ .sse4_1, null, null, null }, | 118522 | .required_features = .{ .sse4_1, null, null, null }, |
| ... | @@ -114279,7 +118526,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114279,7 +118526,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114279 | .{ .src = .{ .to_mem, .none, .none } }, | 118526 | .{ .src = .{ .to_mem, .none, .none } }, |
| 114280 | }, | 118527 | }, |
| 114281 | .extra_temps = .{ | 118528 | .extra_temps = .{ |
| 114282 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 118529 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 114283 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 118530 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 114284 | .unused, | 118531 | .unused, |
| 114285 | .unused, | 118532 | .unused, |
| ... | @@ -114294,13 +118541,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114294,13 +118541,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114294 | .dst_temps = .{ .mem, .unused }, | 118541 | .dst_temps = .{ .mem, .unused }, |
| 114295 | .clobbers = .{ .eflags = true }, | 118542 | .clobbers = .{ .eflags = true }, |
| 114296 | .each = .{ .once = &.{ | 118543 | .each = .{ .once = &.{ |
| 114297 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 118544 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_size), ._, ._ }, |
| 114298 | .{ .@"0:", ._d, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 118545 | .{ .@"0:", ._d, .mov, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 114299 | .{ ._, .p_d, .movzxw, .tmp1x, .tmp1q, ._, ._ }, | 118546 | .{ ._, .p_d, .movzxw, .tmp1x, .tmp1q, ._, ._ }, |
| 114300 | .{ ._, ._pd, .cvtdq2, .tmp1x, .tmp1q, ._, ._ }, | 118547 | .{ ._, ._pd, .cvtdq2, .tmp1x, .tmp1q, ._, ._ }, |
| 114301 | .{ ._, ._ps, .mova, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 118548 | .{ ._, ._pd, .mova, .memsi(.dst0x, .@"4", .tmp0), .tmp1x, ._, ._ }, |
| 114302 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 118549 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 114303 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 118550 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 114304 | } }, | 118551 | } }, |
| 114305 | }, .{ | 118552 | }, .{ |
| 114306 | .required_features = .{ .avx, null, null, null }, | 118553 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -114311,10 +118558,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114311,10 +118558,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114311 | }, | 118558 | }, |
| 114312 | .call_frame = .{ .alignment = .@"16" }, | 118559 | .call_frame = .{ .alignment = .@"16" }, |
| 114313 | .extra_temps = .{ | 118560 | .extra_temps = .{ |
| 114314 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 118561 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 114315 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 118562 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114316 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsidf" } }, | 118563 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsidf" } }, |
| 114317 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 118564 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114318 | .unused, | 118565 | .unused, |
| 114319 | .unused, | 118566 | .unused, |
| 114320 | .unused, | 118567 | .unused, |
| ... | @@ -114326,12 +118573,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114326,12 +118573,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114326 | .dst_temps = .{ .mem, .unused }, | 118573 | .dst_temps = .{ .mem, .unused }, |
| 114327 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 118574 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 114328 | .each = .{ .once = &.{ | 118575 | .each = .{ .once = &.{ |
| 114329 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 118576 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 114330 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 118577 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 114331 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 118578 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 114332 | .{ ._, .v_sd, .mov, .memsia(.dst0q, .@"4", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 118579 | .{ ._, .v_sd, .mov, .memsi(.dst0q, .@"4", .tmp0), .tmp3x, ._, ._ }, |
| 114333 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 118580 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 114334 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 118581 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 114335 | } }, | 118582 | } }, |
| 114336 | }, .{ | 118583 | }, .{ |
| 114337 | .required_features = .{ .sse2, null, null, null }, | 118584 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -114342,10 +118589,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114342,10 +118589,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114342 | }, | 118589 | }, |
| 114343 | .call_frame = .{ .alignment = .@"16" }, | 118590 | .call_frame = .{ .alignment = .@"16" }, |
| 114344 | .extra_temps = .{ | 118591 | .extra_temps = .{ |
| 114345 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 118592 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 114346 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 118593 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114347 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsidf" } }, | 118594 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsidf" } }, |
| 114348 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 118595 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114349 | .unused, | 118596 | .unused, |
| 114350 | .unused, | 118597 | .unused, |
| 114351 | .unused, | 118598 | .unused, |
| ... | @@ -114357,12 +118604,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114357,12 +118604,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114357 | .dst_temps = .{ .mem, .unused }, | 118604 | .dst_temps = .{ .mem, .unused }, |
| 114358 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 118605 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 114359 | .each = .{ .once = &.{ | 118606 | .each = .{ .once = &.{ |
| 114360 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 118607 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 114361 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 118608 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 114362 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 118609 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 114363 | .{ ._, ._sd, .mov, .memsia(.dst0q, .@"4", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 118610 | .{ ._, ._sd, .mov, .memsi(.dst0q, .@"4", .tmp0), .tmp3x, ._, ._ }, |
| 114364 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 118611 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 114365 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 118612 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 114366 | } }, | 118613 | } }, |
| 114367 | }, .{ | 118614 | }, .{ |
| 114368 | .required_features = .{ .sse, null, null, null }, | 118615 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -114373,10 +118620,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114373,10 +118620,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114373 | }, | 118620 | }, |
| 114374 | .call_frame = .{ .alignment = .@"16" }, | 118621 | .call_frame = .{ .alignment = .@"16" }, |
| 114375 | .extra_temps = .{ | 118622 | .extra_temps = .{ |
| 114376 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 118623 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 114377 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 118624 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114378 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsidf" } }, | 118625 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsidf" } }, |
| 114379 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 118626 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114380 | .unused, | 118627 | .unused, |
| 114381 | .unused, | 118628 | .unused, |
| 114382 | .unused, | 118629 | .unused, |
| ... | @@ -114388,12 +118635,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114388,12 +118635,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114388 | .dst_temps = .{ .mem, .unused }, | 118635 | .dst_temps = .{ .mem, .unused }, |
| 114389 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 118636 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 114390 | .each = .{ .once = &.{ | 118637 | .each = .{ .once = &.{ |
| 114391 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 118638 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 114392 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 118639 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 114393 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 118640 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 114394 | .{ ._, ._ps, .movl, .memsia(.dst0q, .@"4", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 118641 | .{ ._, ._ps, .movl, .memsi(.dst0q, .@"4", .tmp0), .tmp3x, ._, ._ }, |
| 114395 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 118642 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 114396 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 118643 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 114397 | } }, | 118644 | } }, |
| 114398 | }, .{ | 118645 | }, .{ |
| 114399 | .required_features = .{ .avx, null, null, null }, | 118646 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -114404,10 +118651,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114404,10 +118651,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114404 | }, | 118651 | }, |
| 114405 | .call_frame = .{ .alignment = .@"16" }, | 118652 | .call_frame = .{ .alignment = .@"16" }, |
| 114406 | .extra_temps = .{ | 118653 | .extra_temps = .{ |
| 114407 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 118654 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 114408 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 118655 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114409 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsidf" } }, | 118656 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsidf" } }, |
| 114410 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 118657 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114411 | .unused, | 118658 | .unused, |
| 114412 | .unused, | 118659 | .unused, |
| 114413 | .unused, | 118660 | .unused, |
| ... | @@ -114419,12 +118666,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114419,12 +118666,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114419 | .dst_temps = .{ .mem, .unused }, | 118666 | .dst_temps = .{ .mem, .unused }, |
| 114420 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 118667 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 114421 | .each = .{ .once = &.{ | 118668 | .each = .{ .once = &.{ |
| 114422 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 118669 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 114423 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 118670 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 114424 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 118671 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 114425 | .{ ._, .v_sd, .mov, .memsia(.dst0q, .@"4", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 118672 | .{ ._, .v_sd, .mov, .memsi(.dst0q, .@"4", .tmp0), .tmp3x, ._, ._ }, |
| 114426 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 118673 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 114427 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 118674 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 114428 | } }, | 118675 | } }, |
| 114429 | }, .{ | 118676 | }, .{ |
| 114430 | .required_features = .{ .sse2, null, null, null }, | 118677 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -114435,10 +118682,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114435,10 +118682,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114435 | }, | 118682 | }, |
| 114436 | .call_frame = .{ .alignment = .@"16" }, | 118683 | .call_frame = .{ .alignment = .@"16" }, |
| 114437 | .extra_temps = .{ | 118684 | .extra_temps = .{ |
| 114438 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 118685 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 114439 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 118686 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114440 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsidf" } }, | 118687 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsidf" } }, |
| 114441 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 118688 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114442 | .unused, | 118689 | .unused, |
| 114443 | .unused, | 118690 | .unused, |
| 114444 | .unused, | 118691 | .unused, |
| ... | @@ -114450,12 +118697,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114450,12 +118697,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114450 | .dst_temps = .{ .mem, .unused }, | 118697 | .dst_temps = .{ .mem, .unused }, |
| 114451 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 118698 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 114452 | .each = .{ .once = &.{ | 118699 | .each = .{ .once = &.{ |
| 114453 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 118700 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 114454 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 118701 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 114455 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 118702 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 114456 | .{ ._, ._sd, .mov, .memsia(.dst0q, .@"4", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 118703 | .{ ._, ._sd, .mov, .memsi(.dst0q, .@"4", .tmp0), .tmp3x, ._, ._ }, |
| 114457 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 118704 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 114458 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 118705 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 114459 | } }, | 118706 | } }, |
| 114460 | }, .{ | 118707 | }, .{ |
| 114461 | .required_features = .{ .sse, null, null, null }, | 118708 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -114466,10 +118713,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114466,10 +118713,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114466 | }, | 118713 | }, |
| 114467 | .call_frame = .{ .alignment = .@"16" }, | 118714 | .call_frame = .{ .alignment = .@"16" }, |
| 114468 | .extra_temps = .{ | 118715 | .extra_temps = .{ |
| 114469 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 118716 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 114470 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 118717 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114471 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsidf" } }, | 118718 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsidf" } }, |
| 114472 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 118719 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114473 | .unused, | 118720 | .unused, |
| 114474 | .unused, | 118721 | .unused, |
| 114475 | .unused, | 118722 | .unused, |
| ... | @@ -114481,12 +118728,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114481,12 +118728,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114481 | .dst_temps = .{ .mem, .unused }, | 118728 | .dst_temps = .{ .mem, .unused }, |
| 114482 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 118729 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 114483 | .each = .{ .once = &.{ | 118730 | .each = .{ .once = &.{ |
| 114484 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 118731 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 114485 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 118732 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 114486 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 118733 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 114487 | .{ ._, ._ps, .movl, .memsia(.dst0q, .@"4", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 118734 | .{ ._, ._ps, .movl, .memsi(.dst0q, .@"4", .tmp0), .tmp3x, ._, ._ }, |
| 114488 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 118735 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 114489 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 118736 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 114490 | } }, | 118737 | } }, |
| 114491 | }, .{ | 118738 | }, .{ |
| 114492 | .required_features = .{ .avx, null, null, null }, | 118739 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -114532,7 +118779,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114532,7 +118779,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114532 | .{ .src = .{ .to_mem, .none, .none } }, | 118779 | .{ .src = .{ .to_mem, .none, .none } }, |
| 114533 | }, | 118780 | }, |
| 114534 | .extra_temps = .{ | 118781 | .extra_temps = .{ |
| 114535 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 118782 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 114536 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, | 118783 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| 114537 | .unused, | 118784 | .unused, |
| 114538 | .unused, | 118785 | .unused, |
| ... | @@ -114547,11 +118794,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114547,11 +118794,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114547 | .dst_temps = .{ .mem, .unused }, | 118794 | .dst_temps = .{ .mem, .unused }, |
| 114548 | .clobbers = .{ .eflags = true }, | 118795 | .clobbers = .{ .eflags = true }, |
| 114549 | .each = .{ .once = &.{ | 118796 | .each = .{ .once = &.{ |
| 114550 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 118797 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ }, |
| 114551 | .{ .@"0:", .v_pd, .cvtdq2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 118798 | .{ .@"0:", .v_pd, .cvtdq2, .tmp1y, .memi(.src0x, .tmp0), ._, ._ }, |
| 114552 | .{ ._, .v_pd, .mova, .memsia(.dst0y, .@"2", .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, | 118799 | .{ ._, .v_pd, .mova, .memsi(.dst0y, .@"2", .tmp0), .tmp1y, ._, ._ }, |
| 114553 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 118800 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 114554 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 118801 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 114555 | } }, | 118802 | } }, |
| 114556 | }, .{ | 118803 | }, .{ |
| 114557 | .required_features = .{ .avx, null, null, null }, | 118804 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -114561,7 +118808,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114561,7 +118808,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114561 | .{ .src = .{ .to_mem, .none, .none } }, | 118808 | .{ .src = .{ .to_mem, .none, .none } }, |
| 114562 | }, | 118809 | }, |
| 114563 | .extra_temps = .{ | 118810 | .extra_temps = .{ |
| 114564 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 118811 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 114565 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 118812 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 114566 | .unused, | 118813 | .unused, |
| 114567 | .unused, | 118814 | .unused, |
| ... | @@ -114576,11 +118823,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114576,11 +118823,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114576 | .dst_temps = .{ .mem, .unused }, | 118823 | .dst_temps = .{ .mem, .unused }, |
| 114577 | .clobbers = .{ .eflags = true }, | 118824 | .clobbers = .{ .eflags = true }, |
| 114578 | .each = .{ .once = &.{ | 118825 | .each = .{ .once = &.{ |
| 114579 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 118826 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ }, |
| 114580 | .{ .@"0:", .v_pd, .cvtdq2, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 118827 | .{ .@"0:", .v_pd, .cvtdq2, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 114581 | .{ ._, .v_pd, .mova, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 118828 | .{ ._, .v_pd, .mova, .memsi(.dst0x, .@"2", .tmp0), .tmp1x, ._, ._ }, |
| 114582 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 118829 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 114583 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 118830 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 114584 | } }, | 118831 | } }, |
| 114585 | }, .{ | 118832 | }, .{ |
| 114586 | .required_features = .{ .sse2, null, null, null }, | 118833 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -114590,7 +118837,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114590,7 +118837,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114590 | .{ .src = .{ .to_mem, .none, .none } }, | 118837 | .{ .src = .{ .to_mem, .none, .none } }, |
| 114591 | }, | 118838 | }, |
| 114592 | .extra_temps = .{ | 118839 | .extra_temps = .{ |
| 114593 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 118840 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 114594 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 118841 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 114595 | .unused, | 118842 | .unused, |
| 114596 | .unused, | 118843 | .unused, |
| ... | @@ -114605,11 +118852,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114605,11 +118852,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114605 | .dst_temps = .{ .mem, .unused }, | 118852 | .dst_temps = .{ .mem, .unused }, |
| 114606 | .clobbers = .{ .eflags = true }, | 118853 | .clobbers = .{ .eflags = true }, |
| 114607 | .each = .{ .once = &.{ | 118854 | .each = .{ .once = &.{ |
| 114608 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 118855 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ }, |
| 114609 | .{ .@"0:", ._pd, .cvtdq2, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 118856 | .{ .@"0:", ._pd, .cvtdq2, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 114610 | .{ ._, ._pd, .mova, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 118857 | .{ ._, ._pd, .mova, .memsi(.dst0x, .@"2", .tmp0), .tmp1x, ._, ._ }, |
| 114611 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 118858 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 114612 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 118859 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 114613 | } }, | 118860 | } }, |
| 114614 | }, .{ | 118861 | }, .{ |
| 114615 | .required_features = .{ .avx, null, null, null }, | 118862 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -114620,10 +118867,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114620,10 +118867,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114620 | }, | 118867 | }, |
| 114621 | .call_frame = .{ .alignment = .@"16" }, | 118868 | .call_frame = .{ .alignment = .@"16" }, |
| 114622 | .extra_temps = .{ | 118869 | .extra_temps = .{ |
| 114623 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 118870 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 114624 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 118871 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114625 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsidf" } }, | 118872 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsidf" } }, |
| 114626 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 118873 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114627 | .unused, | 118874 | .unused, |
| 114628 | .unused, | 118875 | .unused, |
| 114629 | .unused, | 118876 | .unused, |
| ... | @@ -114635,12 +118882,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114635,12 +118882,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114635 | .dst_temps = .{ .mem, .unused }, | 118882 | .dst_temps = .{ .mem, .unused }, |
| 114636 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 118883 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 114637 | .each = .{ .once = &.{ | 118884 | .each = .{ .once = &.{ |
| 114638 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 118885 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 114639 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 118886 | .{ .@"0:", ._, .mov, .tmp1d, .memi(.src0d, .tmp0), ._, ._ }, |
| 114640 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 118887 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 114641 | .{ ._, .v_sd, .mov, .memsia(.dst0q, .@"2", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 118888 | .{ ._, .v_sd, .mov, .memsi(.dst0q, .@"2", .tmp0), .tmp3x, ._, ._ }, |
| 114642 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 118889 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 114643 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 118890 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 114644 | } }, | 118891 | } }, |
| 114645 | }, .{ | 118892 | }, .{ |
| 114646 | .required_features = .{ .sse2, null, null, null }, | 118893 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -114651,10 +118898,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114651,10 +118898,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114651 | }, | 118898 | }, |
| 114652 | .call_frame = .{ .alignment = .@"16" }, | 118899 | .call_frame = .{ .alignment = .@"16" }, |
| 114653 | .extra_temps = .{ | 118900 | .extra_temps = .{ |
| 114654 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 118901 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 114655 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 118902 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114656 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsidf" } }, | 118903 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsidf" } }, |
| 114657 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 118904 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114658 | .unused, | 118905 | .unused, |
| 114659 | .unused, | 118906 | .unused, |
| 114660 | .unused, | 118907 | .unused, |
| ... | @@ -114666,12 +118913,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114666,12 +118913,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114666 | .dst_temps = .{ .mem, .unused }, | 118913 | .dst_temps = .{ .mem, .unused }, |
| 114667 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 118914 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 114668 | .each = .{ .once = &.{ | 118915 | .each = .{ .once = &.{ |
| 114669 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 118916 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 114670 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 118917 | .{ .@"0:", ._, .mov, .tmp1d, .memi(.src0d, .tmp0), ._, ._ }, |
| 114671 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 118918 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 114672 | .{ ._, ._sd, .mov, .memsia(.dst0q, .@"2", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 118919 | .{ ._, ._sd, .mov, .memsi(.dst0q, .@"2", .tmp0), .tmp3x, ._, ._ }, |
| 114673 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 118920 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 114674 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 118921 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 114675 | } }, | 118922 | } }, |
| 114676 | }, .{ | 118923 | }, .{ |
| 114677 | .required_features = .{ .sse, null, null, null }, | 118924 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -114682,10 +118929,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114682,10 +118929,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114682 | }, | 118929 | }, |
| 114683 | .call_frame = .{ .alignment = .@"16" }, | 118930 | .call_frame = .{ .alignment = .@"16" }, |
| 114684 | .extra_temps = .{ | 118931 | .extra_temps = .{ |
| 114685 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 118932 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 114686 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 118933 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114687 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsidf" } }, | 118934 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsidf" } }, |
| 114688 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 118935 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114689 | .unused, | 118936 | .unused, |
| 114690 | .unused, | 118937 | .unused, |
| 114691 | .unused, | 118938 | .unused, |
| ... | @@ -114697,12 +118944,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114697,12 +118944,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114697 | .dst_temps = .{ .mem, .unused }, | 118944 | .dst_temps = .{ .mem, .unused }, |
| 114698 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 118945 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 114699 | .each = .{ .once = &.{ | 118946 | .each = .{ .once = &.{ |
| 114700 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 118947 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 114701 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 118948 | .{ .@"0:", ._, .mov, .tmp1d, .memi(.src0d, .tmp0), ._, ._ }, |
| 114702 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 118949 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 114703 | .{ ._, ._ps, .movl, .memsia(.dst0q, .@"2", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 118950 | .{ ._, ._ps, .movl, .memsi(.dst0q, .@"2", .tmp0), .tmp3x, ._, ._ }, |
| 114704 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 118951 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 114705 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 118952 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 114706 | } }, | 118953 | } }, |
| 114707 | }, .{ | 118954 | }, .{ |
| 114708 | .required_features = .{ .avx, null, null, null }, | 118955 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -114713,10 +118960,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114713,10 +118960,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114713 | }, | 118960 | }, |
| 114714 | .call_frame = .{ .alignment = .@"16" }, | 118961 | .call_frame = .{ .alignment = .@"16" }, |
| 114715 | .extra_temps = .{ | 118962 | .extra_temps = .{ |
| 114716 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 118963 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 114717 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 118964 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114718 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsidf" } }, | 118965 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsidf" } }, |
| 114719 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 118966 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114720 | .unused, | 118967 | .unused, |
| 114721 | .unused, | 118968 | .unused, |
| 114722 | .unused, | 118969 | .unused, |
| ... | @@ -114728,12 +118975,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114728,12 +118975,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114728 | .dst_temps = .{ .mem, .unused }, | 118975 | .dst_temps = .{ .mem, .unused }, |
| 114729 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 118976 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 114730 | .each = .{ .once = &.{ | 118977 | .each = .{ .once = &.{ |
| 114731 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 118978 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 114732 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 118979 | .{ .@"0:", ._, .mov, .tmp1d, .memi(.src0d, .tmp0), ._, ._ }, |
| 114733 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 118980 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 114734 | .{ ._, .v_sd, .mov, .memsia(.dst0q, .@"2", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 118981 | .{ ._, .v_sd, .mov, .memsi(.dst0q, .@"2", .tmp0), .tmp3x, ._, ._ }, |
| 114735 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 118982 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 114736 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 118983 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 114737 | } }, | 118984 | } }, |
| 114738 | }, .{ | 118985 | }, .{ |
| 114739 | .required_features = .{ .sse2, null, null, null }, | 118986 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -114744,10 +118991,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114744,10 +118991,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114744 | }, | 118991 | }, |
| 114745 | .call_frame = .{ .alignment = .@"16" }, | 118992 | .call_frame = .{ .alignment = .@"16" }, |
| 114746 | .extra_temps = .{ | 118993 | .extra_temps = .{ |
| 114747 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 118994 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 114748 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 118995 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114749 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsidf" } }, | 118996 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsidf" } }, |
| 114750 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 118997 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114751 | .unused, | 118998 | .unused, |
| 114752 | .unused, | 118999 | .unused, |
| 114753 | .unused, | 119000 | .unused, |
| ... | @@ -114759,12 +119006,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114759,12 +119006,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114759 | .dst_temps = .{ .mem, .unused }, | 119006 | .dst_temps = .{ .mem, .unused }, |
| 114760 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 119007 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 114761 | .each = .{ .once = &.{ | 119008 | .each = .{ .once = &.{ |
| 114762 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 119009 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 114763 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 119010 | .{ .@"0:", ._, .mov, .tmp1d, .memi(.src0d, .tmp0), ._, ._ }, |
| 114764 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 119011 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 114765 | .{ ._, ._sd, .mov, .memsia(.dst0q, .@"2", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 119012 | .{ ._, ._sd, .mov, .memsi(.dst0q, .@"2", .tmp0), .tmp3x, ._, ._ }, |
| 114766 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 119013 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 114767 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 119014 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 114768 | } }, | 119015 | } }, |
| 114769 | }, .{ | 119016 | }, .{ |
| 114770 | .required_features = .{ .sse, null, null, null }, | 119017 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -114775,10 +119022,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114775,10 +119022,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114775 | }, | 119022 | }, |
| 114776 | .call_frame = .{ .alignment = .@"16" }, | 119023 | .call_frame = .{ .alignment = .@"16" }, |
| 114777 | .extra_temps = .{ | 119024 | .extra_temps = .{ |
| 114778 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 119025 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 114779 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 119026 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114780 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsidf" } }, | 119027 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsidf" } }, |
| 114781 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 119028 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114782 | .unused, | 119029 | .unused, |
| 114783 | .unused, | 119030 | .unused, |
| 114784 | .unused, | 119031 | .unused, |
| ... | @@ -114790,12 +119037,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114790,12 +119037,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114790 | .dst_temps = .{ .mem, .unused }, | 119037 | .dst_temps = .{ .mem, .unused }, |
| 114791 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 119038 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 114792 | .each = .{ .once = &.{ | 119039 | .each = .{ .once = &.{ |
| 114793 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 119040 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 114794 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 119041 | .{ .@"0:", ._, .mov, .tmp1d, .memi(.src0d, .tmp0), ._, ._ }, |
| 114795 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 119042 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 114796 | .{ ._, ._ps, .movl, .memsia(.dst0q, .@"2", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 119043 | .{ ._, ._ps, .movl, .memsi(.dst0q, .@"2", .tmp0), .tmp3x, ._, ._ }, |
| 114797 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 119044 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 114798 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 119045 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 114799 | } }, | 119046 | } }, |
| 114800 | }, .{ | 119047 | }, .{ |
| 114801 | .required_features = .{ .@"64bit", .avx, null, null }, | 119048 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | @@ -114805,7 +119052,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114805,7 +119052,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114805 | .{ .src = .{ .to_mem, .none, .none } }, | 119052 | .{ .src = .{ .to_mem, .none, .none } }, |
| 114806 | }, | 119053 | }, |
| 114807 | .extra_temps = .{ | 119054 | .extra_temps = .{ |
| 114808 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 119055 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 114809 | .{ .type = .f64, .kind = .{ .rc = .sse } }, | 119056 | .{ .type = .f64, .kind = .{ .rc = .sse } }, |
| 114810 | .unused, | 119057 | .unused, |
| 114811 | .unused, | 119058 | .unused, |
| ... | @@ -114820,12 +119067,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114820,12 +119067,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114820 | .dst_temps = .{ .mem, .unused }, | 119067 | .dst_temps = .{ .mem, .unused }, |
| 114821 | .clobbers = .{ .eflags = true }, | 119068 | .clobbers = .{ .eflags = true }, |
| 114822 | .each = .{ .once = &.{ | 119069 | .each = .{ .once = &.{ |
| 114823 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 119070 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 114824 | .{ .@"0:", .v_pd, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, | 119071 | .{ .@"0:", .v_pd, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| 114825 | .{ ._, .v_sd, .cvtsi2, .tmp1x, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._ }, | 119072 | .{ ._, .v_sd, .cvtsi2, .tmp1x, .tmp1x, .memi(.src0q, .tmp0), ._ }, |
| 114826 | .{ ._, .v_sd, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 119073 | .{ ._, .v_sd, .mov, .memi(.dst0q, .tmp0), .tmp1x, ._, ._ }, |
| 114827 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 119074 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 114828 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 119075 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 114829 | } }, | 119076 | } }, |
| 114830 | }, .{ | 119077 | }, .{ |
| 114831 | .required_features = .{ .@"64bit", .sse2, null, null }, | 119078 | .required_features = .{ .@"64bit", .sse2, null, null }, |
| ... | @@ -114835,7 +119082,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114835,7 +119082,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114835 | .{ .src = .{ .to_mem, .none, .none } }, | 119082 | .{ .src = .{ .to_mem, .none, .none } }, |
| 114836 | }, | 119083 | }, |
| 114837 | .extra_temps = .{ | 119084 | .extra_temps = .{ |
| 114838 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 119085 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 114839 | .{ .type = .f64, .kind = .{ .rc = .sse } }, | 119086 | .{ .type = .f64, .kind = .{ .rc = .sse } }, |
| 114840 | .unused, | 119087 | .unused, |
| 114841 | .unused, | 119088 | .unused, |
| ... | @@ -114850,12 +119097,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114850,12 +119097,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114850 | .dst_temps = .{ .mem, .unused }, | 119097 | .dst_temps = .{ .mem, .unused }, |
| 114851 | .clobbers = .{ .eflags = true }, | 119098 | .clobbers = .{ .eflags = true }, |
| 114852 | .each = .{ .once = &.{ | 119099 | .each = .{ .once = &.{ |
| 114853 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 119100 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 114854 | .{ .@"0:", ._pd, .xor, .tmp1x, .tmp1x, ._, ._ }, | 119101 | .{ .@"0:", ._pd, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 114855 | .{ ._, ._sd, .cvtsi2, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 119102 | .{ ._, ._sd, .cvtsi2, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 114856 | .{ ._, ._sd, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 119103 | .{ ._, ._sd, .mov, .memi(.dst0q, .tmp0), .tmp1x, ._, ._ }, |
| 114857 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 119104 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 114858 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 119105 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 114859 | } }, | 119106 | } }, |
| 114860 | }, .{ | 119107 | }, .{ |
| 114861 | .required_features = .{ .@"64bit", .avx, null, null }, | 119108 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | @@ -114866,10 +119113,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114866,10 +119113,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114866 | }, | 119113 | }, |
| 114867 | .call_frame = .{ .alignment = .@"16" }, | 119114 | .call_frame = .{ .alignment = .@"16" }, |
| 114868 | .extra_temps = .{ | 119115 | .extra_temps = .{ |
| 114869 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 119116 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 114870 | .{ .type = .i64, .kind = .{ .reg = .rdi } }, | 119117 | .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114871 | .{ .type = .usize, .kind = .{ .extern_func = "__floatdidf" } }, | 119118 | .{ .type = .usize, .kind = .{ .extern_func = "__floatdidf" } }, |
| 114872 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 119119 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114873 | .unused, | 119120 | .unused, |
| 114874 | .unused, | 119121 | .unused, |
| 114875 | .unused, | 119122 | .unused, |
| ... | @@ -114881,12 +119128,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114881,12 +119128,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114881 | .dst_temps = .{ .mem, .unused }, | 119128 | .dst_temps = .{ .mem, .unused }, |
| 114882 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 119129 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 114883 | .each = .{ .once = &.{ | 119130 | .each = .{ .once = &.{ |
| 114884 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 119131 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 114885 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 119132 | .{ .@"0:", ._, .mov, .tmp1q, .memi(.src0q, .tmp0), ._, ._ }, |
| 114886 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 119133 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 114887 | .{ ._, .v_sd, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 119134 | .{ ._, .v_sd, .mov, .memi(.dst0q, .tmp0), .tmp3x, ._, ._ }, |
| 114888 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 119135 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 114889 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 119136 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 114890 | } }, | 119137 | } }, |
| 114891 | }, .{ | 119138 | }, .{ |
| 114892 | .required_features = .{ .@"64bit", .sse2, null, null }, | 119139 | .required_features = .{ .@"64bit", .sse2, null, null }, |
| ... | @@ -114897,10 +119144,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114897,10 +119144,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114897 | }, | 119144 | }, |
| 114898 | .call_frame = .{ .alignment = .@"16" }, | 119145 | .call_frame = .{ .alignment = .@"16" }, |
| 114899 | .extra_temps = .{ | 119146 | .extra_temps = .{ |
| 114900 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 119147 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 114901 | .{ .type = .i64, .kind = .{ .reg = .rdi } }, | 119148 | .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114902 | .{ .type = .usize, .kind = .{ .extern_func = "__floatdidf" } }, | 119149 | .{ .type = .usize, .kind = .{ .extern_func = "__floatdidf" } }, |
| 114903 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 119150 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114904 | .unused, | 119151 | .unused, |
| 114905 | .unused, | 119152 | .unused, |
| 114906 | .unused, | 119153 | .unused, |
| ... | @@ -114912,12 +119159,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114912,12 +119159,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114912 | .dst_temps = .{ .mem, .unused }, | 119159 | .dst_temps = .{ .mem, .unused }, |
| 114913 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 119160 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 114914 | .each = .{ .once = &.{ | 119161 | .each = .{ .once = &.{ |
| 114915 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 119162 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 114916 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 119163 | .{ .@"0:", ._, .mov, .tmp1q, .memi(.src0q, .tmp0), ._, ._ }, |
| 114917 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 119164 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 114918 | .{ ._, ._sd, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 119165 | .{ ._, ._sd, .mov, .memi(.dst0q, .tmp0), .tmp3x, ._, ._ }, |
| 114919 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 119166 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 114920 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 119167 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 114921 | } }, | 119168 | } }, |
| 114922 | }, .{ | 119169 | }, .{ |
| 114923 | .required_features = .{ .@"64bit", .sse, null, null }, | 119170 | .required_features = .{ .@"64bit", .sse, null, null }, |
| ... | @@ -114928,10 +119175,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114928,10 +119175,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114928 | }, | 119175 | }, |
| 114929 | .call_frame = .{ .alignment = .@"16" }, | 119176 | .call_frame = .{ .alignment = .@"16" }, |
| 114930 | .extra_temps = .{ | 119177 | .extra_temps = .{ |
| 114931 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 119178 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 114932 | .{ .type = .i64, .kind = .{ .reg = .rdi } }, | 119179 | .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114933 | .{ .type = .usize, .kind = .{ .extern_func = "__floatdidf" } }, | 119180 | .{ .type = .usize, .kind = .{ .extern_func = "__floatdidf" } }, |
| 114934 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 119181 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114935 | .unused, | 119182 | .unused, |
| 114936 | .unused, | 119183 | .unused, |
| 114937 | .unused, | 119184 | .unused, |
| ... | @@ -114943,12 +119190,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114943,12 +119190,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114943 | .dst_temps = .{ .mem, .unused }, | 119190 | .dst_temps = .{ .mem, .unused }, |
| 114944 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 119191 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 114945 | .each = .{ .once = &.{ | 119192 | .each = .{ .once = &.{ |
| 114946 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 119193 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 114947 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 119194 | .{ .@"0:", ._, .mov, .tmp1q, .memi(.src0q, .tmp0), ._, ._ }, |
| 114948 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 119195 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 114949 | .{ ._, ._ps, .movl, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 119196 | .{ ._, ._ps, .movl, .memi(.dst0q, .tmp0), .tmp3x, ._, ._ }, |
| 114950 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 119197 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 114951 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 119198 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 114952 | } }, | 119199 | } }, |
| 114953 | }, .{ | 119200 | }, .{ |
| 114954 | .required_features = .{ .@"64bit", .avx, null, null }, | 119201 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | @@ -114959,10 +119206,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114959,10 +119206,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114959 | }, | 119206 | }, |
| 114960 | .call_frame = .{ .alignment = .@"16" }, | 119207 | .call_frame = .{ .alignment = .@"16" }, |
| 114961 | .extra_temps = .{ | 119208 | .extra_temps = .{ |
| 114962 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 119209 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 114963 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 119210 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114964 | .{ .type = .usize, .kind = .{ .extern_func = "__floatundidf" } }, | 119211 | .{ .type = .usize, .kind = .{ .extern_func = "__floatundidf" } }, |
| 114965 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 119212 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114966 | .unused, | 119213 | .unused, |
| 114967 | .unused, | 119214 | .unused, |
| 114968 | .unused, | 119215 | .unused, |
| ... | @@ -114974,12 +119221,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114974,12 +119221,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114974 | .dst_temps = .{ .mem, .unused }, | 119221 | .dst_temps = .{ .mem, .unused }, |
| 114975 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 119222 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 114976 | .each = .{ .once = &.{ | 119223 | .each = .{ .once = &.{ |
| 114977 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 119224 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 114978 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 119225 | .{ .@"0:", ._, .mov, .tmp1q, .memi(.src0q, .tmp0), ._, ._ }, |
| 114979 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 119226 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 114980 | .{ ._, .v_sd, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 119227 | .{ ._, .v_sd, .mov, .memi(.dst0q, .tmp0), .tmp3x, ._, ._ }, |
| 114981 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 119228 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 114982 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 119229 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 114983 | } }, | 119230 | } }, |
| 114984 | }, .{ | 119231 | }, .{ |
| 114985 | .required_features = .{ .@"64bit", .sse2, null, null }, | 119232 | .required_features = .{ .@"64bit", .sse2, null, null }, |
| ... | @@ -114990,10 +119237,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -114990,10 +119237,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 114990 | }, | 119237 | }, |
| 114991 | .call_frame = .{ .alignment = .@"16" }, | 119238 | .call_frame = .{ .alignment = .@"16" }, |
| 114992 | .extra_temps = .{ | 119239 | .extra_temps = .{ |
| 114993 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 119240 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 114994 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 119241 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114995 | .{ .type = .usize, .kind = .{ .extern_func = "__floatundidf" } }, | 119242 | .{ .type = .usize, .kind = .{ .extern_func = "__floatundidf" } }, |
| 114996 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 119243 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 114997 | .unused, | 119244 | .unused, |
| 114998 | .unused, | 119245 | .unused, |
| 114999 | .unused, | 119246 | .unused, |
| ... | @@ -115005,12 +119252,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115005,12 +119252,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115005 | .dst_temps = .{ .mem, .unused }, | 119252 | .dst_temps = .{ .mem, .unused }, |
| 115006 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 119253 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 115007 | .each = .{ .once = &.{ | 119254 | .each = .{ .once = &.{ |
| 115008 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 119255 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 115009 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 119256 | .{ .@"0:", ._, .mov, .tmp1q, .memi(.src0q, .tmp0), ._, ._ }, |
| 115010 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 119257 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 115011 | .{ ._, ._sd, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 119258 | .{ ._, ._sd, .mov, .memi(.dst0q, .tmp0), .tmp3x, ._, ._ }, |
| 115012 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 119259 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 115013 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 119260 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 115014 | } }, | 119261 | } }, |
| 115015 | }, .{ | 119262 | }, .{ |
| 115016 | .required_features = .{ .@"64bit", .sse, null, null }, | 119263 | .required_features = .{ .@"64bit", .sse, null, null }, |
| ... | @@ -115021,10 +119268,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115021,10 +119268,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115021 | }, | 119268 | }, |
| 115022 | .call_frame = .{ .alignment = .@"16" }, | 119269 | .call_frame = .{ .alignment = .@"16" }, |
| 115023 | .extra_temps = .{ | 119270 | .extra_temps = .{ |
| 115024 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 119271 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 115025 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 119272 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 115026 | .{ .type = .usize, .kind = .{ .extern_func = "__floatundidf" } }, | 119273 | .{ .type = .usize, .kind = .{ .extern_func = "__floatundidf" } }, |
| 115027 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 119274 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 115028 | .unused, | 119275 | .unused, |
| 115029 | .unused, | 119276 | .unused, |
| 115030 | .unused, | 119277 | .unused, |
| ... | @@ -115036,15 +119283,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115036,15 +119283,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115036 | .dst_temps = .{ .mem, .unused }, | 119283 | .dst_temps = .{ .mem, .unused }, |
| 115037 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 119284 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 115038 | .each = .{ .once = &.{ | 119285 | .each = .{ .once = &.{ |
| 115039 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 119286 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 115040 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 119287 | .{ .@"0:", ._, .mov, .tmp1q, .memi(.src0q, .tmp0), ._, ._ }, |
| 115041 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 119288 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 115042 | .{ ._, ._ps, .movl, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 119289 | .{ ._, ._ps, .movl, .memi(.dst0q, .tmp0), .tmp3x, ._, ._ }, |
| 115043 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 119290 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 115044 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 119291 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 115045 | } }, | 119292 | } }, |
| 115046 | }, .{ | 119293 | }, .{ |
| 115047 | .required_features = .{ .@"64bit", .avx, null, null }, | 119294 | .required_cc_abi = .sysv64, |
| | 119295 | .required_features = .{ .avx, null, null, null }, |
| 115048 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 119296 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 115049 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any }, | 119297 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any }, |
| 115050 | .patterns = &.{ | 119298 | .patterns = &.{ |
| ... | @@ -115052,11 +119300,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115052,11 +119300,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115052 | }, | 119300 | }, |
| 115053 | .call_frame = .{ .alignment = .@"16" }, | 119301 | .call_frame = .{ .alignment = .@"16" }, |
| 115054 | .extra_temps = .{ | 119302 | .extra_temps = .{ |
| 115055 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 119303 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 115056 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 119304 | .{ .type = .i128, .kind = .{ .param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 115057 | .{ .type = .i64, .kind = .{ .reg = .rsi } }, | | |
| 115058 | .{ .type = .usize, .kind = .{ .extern_func = "__floattidf" } }, | 119305 | .{ .type = .usize, .kind = .{ .extern_func = "__floattidf" } }, |
| 115059 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 119306 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 119307 | .unused, |
| 115060 | .unused, | 119308 | .unused, |
| 115061 | .unused, | 119309 | .unused, |
| 115062 | .unused, | 119310 | .unused, |
| ... | @@ -115067,16 +119315,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115067,16 +119315,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115067 | .dst_temps = .{ .mem, .unused }, | 119315 | .dst_temps = .{ .mem, .unused }, |
| 115068 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 119316 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 115069 | .each = .{ .once = &.{ | 119317 | .each = .{ .once = &.{ |
| 115070 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 119318 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| 115071 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 119319 | .{ .@"0:", ._, .mov, .tmp1q0, .memsi(.src0q, .@"2", .tmp0), ._, ._ }, |
| 115072 | .{ ._, ._, .mov, .tmp2q, .memsiad(.src0q, .@"2", .tmp0, .add_unaligned_size, 8), ._, ._ }, | 119320 | .{ ._, ._, .mov, .tmp1q1, .memsid(.src0q, .@"2", .tmp0, 8), ._, ._ }, |
| 115073 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 119321 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 115074 | .{ ._, .v_sd, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp4x, ._, ._ }, | 119322 | .{ ._, .v_sd, .mov, .memi(.dst0q, .tmp0), .tmp3x, ._, ._ }, |
| 115075 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 119323 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 115076 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 119324 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 115077 | } }, | 119325 | } }, |
| 115078 | }, .{ | 119326 | }, .{ |
| 115079 | .required_features = .{ .@"64bit", .sse2, null, null }, | 119327 | .required_cc_abi = .win64, |
| | 119328 | .required_features = .{ .avx, null, null, null }, |
| 115080 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 119329 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 115081 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any }, | 119330 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any }, |
| 115082 | .patterns = &.{ | 119331 | .patterns = &.{ |
| ... | @@ -115084,11 +119333,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115084,11 +119333,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115084 | }, | 119333 | }, |
| 115085 | .call_frame = .{ .alignment = .@"16" }, | 119334 | .call_frame = .{ .alignment = .@"16" }, |
| 115086 | .extra_temps = .{ | 119335 | .extra_temps = .{ |
| 115087 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 119336 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 115088 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 119337 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 115089 | .{ .type = .i64, .kind = .{ .reg = .rsi } }, | | |
| 115090 | .{ .type = .usize, .kind = .{ .extern_func = "__floattidf" } }, | 119338 | .{ .type = .usize, .kind = .{ .extern_func = "__floattidf" } }, |
| 115091 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 119339 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 119340 | .unused, |
| 115092 | .unused, | 119341 | .unused, |
| 115093 | .unused, | 119342 | .unused, |
| 115094 | .unused, | 119343 | .unused, |
| ... | @@ -115099,16 +119348,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115099,16 +119348,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115099 | .dst_temps = .{ .mem, .unused }, | 119348 | .dst_temps = .{ .mem, .unused }, |
| 115100 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 119349 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 115101 | .each = .{ .once = &.{ | 119350 | .each = .{ .once = &.{ |
| 115102 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 119351 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| 115103 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 119352 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.src0, .@"2", .tmp0), ._, ._ }, |
| 115104 | .{ ._, ._, .mov, .tmp2q, .memsiad(.src0q, .@"2", .tmp0, .add_unaligned_size, 8), ._, ._ }, | 119353 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 115105 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 119354 | .{ ._, .v_sd, .mov, .memi(.dst0q, .tmp0), .tmp3x, ._, ._ }, |
| 115106 | .{ ._, ._sd, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp4x, ._, ._ }, | 119355 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 115107 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 119356 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 115108 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | | |
| 115109 | } }, | 119357 | } }, |
| 115110 | }, .{ | 119358 | }, .{ |
| 115111 | .required_features = .{ .@"64bit", .sse, null, null }, | 119359 | .required_cc_abi = .sysv64, |
| | 119360 | .required_features = .{ .sse2, null, null, null }, |
| 115112 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 119361 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 115113 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any }, | 119362 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any }, |
| 115114 | .patterns = &.{ | 119363 | .patterns = &.{ |
| ... | @@ -115116,11 +119365,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115116,11 +119365,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115116 | }, | 119365 | }, |
| 115117 | .call_frame = .{ .alignment = .@"16" }, | 119366 | .call_frame = .{ .alignment = .@"16" }, |
| 115118 | .extra_temps = .{ | 119367 | .extra_temps = .{ |
| 115119 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 119368 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 115120 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 119369 | .{ .type = .i128, .kind = .{ .param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 115121 | .{ .type = .i64, .kind = .{ .reg = .rsi } }, | | |
| 115122 | .{ .type = .usize, .kind = .{ .extern_func = "__floattidf" } }, | 119370 | .{ .type = .usize, .kind = .{ .extern_func = "__floattidf" } }, |
| 115123 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 119371 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 119372 | .unused, |
| 115124 | .unused, | 119373 | .unused, |
| 115125 | .unused, | 119374 | .unused, |
| 115126 | .unused, | 119375 | .unused, |
| ... | @@ -115131,16 +119380,114 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115131,16 +119380,114 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115131 | .dst_temps = .{ .mem, .unused }, | 119380 | .dst_temps = .{ .mem, .unused }, |
| 115132 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 119381 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 115133 | .each = .{ .once = &.{ | 119382 | .each = .{ .once = &.{ |
| 115134 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 119383 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| 115135 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 119384 | .{ .@"0:", ._, .mov, .tmp1q0, .memsi(.src0q, .@"2", .tmp0), ._, ._ }, |
| 115136 | .{ ._, ._, .mov, .tmp2q, .memsiad(.src0q, .@"2", .tmp0, .add_unaligned_size, 8), ._, ._ }, | 119385 | .{ ._, ._, .mov, .tmp1q1, .memsid(.src0q, .@"2", .tmp0, 8), ._, ._ }, |
| 115137 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 119386 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 115138 | .{ ._, ._ps, .movl, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp4x, ._, ._ }, | 119387 | .{ ._, ._sd, .mov, .memi(.dst0q, .tmp0), .tmp3x, ._, ._ }, |
| 115139 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 119388 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 115140 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 119389 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 115141 | } }, | 119390 | } }, |
| 115142 | }, .{ | 119391 | }, .{ |
| 115143 | .required_features = .{ .@"64bit", .avx, null, null }, | 119392 | .required_cc_abi = .win64, |
| | 119393 | .required_features = .{ .sse2, null, null, null }, |
| | 119394 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 119395 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any }, |
| | 119396 | .patterns = &.{ |
| | 119397 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 119398 | }, |
| | 119399 | .call_frame = .{ .alignment = .@"16" }, |
| | 119400 | .extra_temps = .{ |
| | 119401 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 119402 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 119403 | .{ .type = .usize, .kind = .{ .extern_func = "__floattidf" } }, |
| | 119404 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 119405 | .unused, |
| | 119406 | .unused, |
| | 119407 | .unused, |
| | 119408 | .unused, |
| | 119409 | .unused, |
| | 119410 | .unused, |
| | 119411 | .unused, |
| | 119412 | }, |
| | 119413 | .dst_temps = .{ .mem, .unused }, |
| | 119414 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 119415 | .each = .{ .once = &.{ |
| | 119416 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| | 119417 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.src0, .@"2", .tmp0), ._, ._ }, |
| | 119418 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 119419 | .{ ._, ._sd, .mov, .memi(.dst0q, .tmp0), .tmp3x, ._, ._ }, |
| | 119420 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 119421 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 119422 | } }, |
| | 119423 | }, .{ |
| | 119424 | .required_cc_abi = .sysv64, |
| | 119425 | .required_features = .{ .sse, null, null, null }, |
| | 119426 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 119427 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any }, |
| | 119428 | .patterns = &.{ |
| | 119429 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 119430 | }, |
| | 119431 | .call_frame = .{ .alignment = .@"16" }, |
| | 119432 | .extra_temps = .{ |
| | 119433 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 119434 | .{ .type = .i128, .kind = .{ .param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 119435 | .{ .type = .usize, .kind = .{ .extern_func = "__floattidf" } }, |
| | 119436 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 119437 | .unused, |
| | 119438 | .unused, |
| | 119439 | .unused, |
| | 119440 | .unused, |
| | 119441 | .unused, |
| | 119442 | .unused, |
| | 119443 | .unused, |
| | 119444 | }, |
| | 119445 | .dst_temps = .{ .mem, .unused }, |
| | 119446 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 119447 | .each = .{ .once = &.{ |
| | 119448 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| | 119449 | .{ .@"0:", ._, .mov, .tmp1q0, .memsi(.src0q, .@"2", .tmp0), ._, ._ }, |
| | 119450 | .{ ._, ._, .mov, .tmp1q1, .memsid(.src0q, .@"2", .tmp0, 8), ._, ._ }, |
| | 119451 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 119452 | .{ ._, ._ps, .movl, .memi(.dst0q, .tmp0), .tmp3x, ._, ._ }, |
| | 119453 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 119454 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 119455 | } }, |
| | 119456 | }, .{ |
| | 119457 | .required_cc_abi = .win64, |
| | 119458 | .required_features = .{ .sse, null, null, null }, |
| | 119459 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 119460 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any }, |
| | 119461 | .patterns = &.{ |
| | 119462 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 119463 | }, |
| | 119464 | .call_frame = .{ .alignment = .@"16" }, |
| | 119465 | .extra_temps = .{ |
| | 119466 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 119467 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 119468 | .{ .type = .usize, .kind = .{ .extern_func = "__floattidf" } }, |
| | 119469 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 119470 | .unused, |
| | 119471 | .unused, |
| | 119472 | .unused, |
| | 119473 | .unused, |
| | 119474 | .unused, |
| | 119475 | .unused, |
| | 119476 | .unused, |
| | 119477 | }, |
| | 119478 | .dst_temps = .{ .mem, .unused }, |
| | 119479 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 119480 | .each = .{ .once = &.{ |
| | 119481 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| | 119482 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.src0, .@"2", .tmp0), ._, ._ }, |
| | 119483 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 119484 | .{ ._, ._ps, .movl, .memi(.dst0q, .tmp0), .tmp3x, ._, ._ }, |
| | 119485 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 119486 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 119487 | } }, |
| | 119488 | }, .{ |
| | 119489 | .required_cc_abi = .sysv64, |
| | 119490 | .required_features = .{ .avx, null, null, null }, |
| 115144 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 119491 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 115145 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any }, | 119492 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any }, |
| 115146 | .patterns = &.{ | 119493 | .patterns = &.{ |
| ... | @@ -115148,11 +119495,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115148,11 +119495,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115148 | }, | 119495 | }, |
| 115149 | .call_frame = .{ .alignment = .@"16" }, | 119496 | .call_frame = .{ .alignment = .@"16" }, |
| 115150 | .extra_temps = .{ | 119497 | .extra_temps = .{ |
| 115151 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 119498 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 115152 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 119499 | .{ .type = .u128, .kind = .{ .param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 115153 | .{ .type = .u64, .kind = .{ .reg = .rsi } }, | | |
| 115154 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntidf" } }, | 119500 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntidf" } }, |
| 115155 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 119501 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 119502 | .unused, |
| 115156 | .unused, | 119503 | .unused, |
| 115157 | .unused, | 119504 | .unused, |
| 115158 | .unused, | 119505 | .unused, |
| ... | @@ -115163,16 +119510,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115163,16 +119510,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115163 | .dst_temps = .{ .mem, .unused }, | 119510 | .dst_temps = .{ .mem, .unused }, |
| 115164 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 119511 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 115165 | .each = .{ .once = &.{ | 119512 | .each = .{ .once = &.{ |
| 115166 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 119513 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| 115167 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 119514 | .{ .@"0:", ._, .mov, .tmp1q0, .memsi(.src0q, .@"2", .tmp0), ._, ._ }, |
| 115168 | .{ ._, ._, .mov, .tmp2q, .memsiad(.src0q, .@"2", .tmp0, .add_unaligned_size, 8), ._, ._ }, | 119515 | .{ ._, ._, .mov, .tmp1q1, .memsid(.src0q, .@"2", .tmp0, 8), ._, ._ }, |
| 115169 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 119516 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 115170 | .{ ._, .v_sd, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp4x, ._, ._ }, | 119517 | .{ ._, .v_sd, .mov, .memi(.dst0q, .tmp0), .tmp3x, ._, ._ }, |
| 115171 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 119518 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 115172 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 119519 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 115173 | } }, | 119520 | } }, |
| 115174 | }, .{ | 119521 | }, .{ |
| 115175 | .required_features = .{ .@"64bit", .sse2, null, null }, | 119522 | .required_cc_abi = .win64, |
| | 119523 | .required_features = .{ .avx, null, null, null }, |
| 115176 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 119524 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 115177 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any }, | 119525 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any }, |
| 115178 | .patterns = &.{ | 119526 | .patterns = &.{ |
| ... | @@ -115180,11 +119528,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115180,11 +119528,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115180 | }, | 119528 | }, |
| 115181 | .call_frame = .{ .alignment = .@"16" }, | 119529 | .call_frame = .{ .alignment = .@"16" }, |
| 115182 | .extra_temps = .{ | 119530 | .extra_temps = .{ |
| 115183 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 119531 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 115184 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 119532 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 115185 | .{ .type = .u64, .kind = .{ .reg = .rsi } }, | | |
| 115186 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntidf" } }, | 119533 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntidf" } }, |
| 115187 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 119534 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 119535 | .unused, |
| 115188 | .unused, | 119536 | .unused, |
| 115189 | .unused, | 119537 | .unused, |
| 115190 | .unused, | 119538 | .unused, |
| ... | @@ -115195,16 +119543,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115195,16 +119543,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115195 | .dst_temps = .{ .mem, .unused }, | 119543 | .dst_temps = .{ .mem, .unused }, |
| 115196 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 119544 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 115197 | .each = .{ .once = &.{ | 119545 | .each = .{ .once = &.{ |
| 115198 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 119546 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| 115199 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 119547 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.src0, .@"2", .tmp0), ._, ._ }, |
| 115200 | .{ ._, ._, .mov, .tmp2q, .memsiad(.src0q, .@"2", .tmp0, .add_unaligned_size, 8), ._, ._ }, | 119548 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 115201 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 119549 | .{ ._, .v_sd, .mov, .memi(.dst0q, .tmp0), .tmp3x, ._, ._ }, |
| 115202 | .{ ._, ._sd, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp4x, ._, ._ }, | 119550 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 115203 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 119551 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 115204 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | | |
| 115205 | } }, | 119552 | } }, |
| 115206 | }, .{ | 119553 | }, .{ |
| 115207 | .required_features = .{ .@"64bit", .sse, null, null }, | 119554 | .required_cc_abi = .sysv64, |
| | 119555 | .required_features = .{ .sse2, null, null, null }, |
| 115208 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 119556 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 115209 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any }, | 119557 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any }, |
| 115210 | .patterns = &.{ | 119558 | .patterns = &.{ |
| ... | @@ -115212,11 +119560,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115212,11 +119560,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115212 | }, | 119560 | }, |
| 115213 | .call_frame = .{ .alignment = .@"16" }, | 119561 | .call_frame = .{ .alignment = .@"16" }, |
| 115214 | .extra_temps = .{ | 119562 | .extra_temps = .{ |
| 115215 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 119563 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 115216 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 119564 | .{ .type = .u128, .kind = .{ .param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 115217 | .{ .type = .u64, .kind = .{ .reg = .rsi } }, | | |
| 115218 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntidf" } }, | 119565 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntidf" } }, |
| 115219 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 119566 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 119567 | .unused, |
| 115220 | .unused, | 119568 | .unused, |
| 115221 | .unused, | 119569 | .unused, |
| 115222 | .unused, | 119570 | .unused, |
| ... | @@ -115227,13 +119575,110 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115227,13 +119575,110 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115227 | .dst_temps = .{ .mem, .unused }, | 119575 | .dst_temps = .{ .mem, .unused }, |
| 115228 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 119576 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 115229 | .each = .{ .once = &.{ | 119577 | .each = .{ .once = &.{ |
| 115230 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 119578 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| 115231 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 119579 | .{ .@"0:", ._, .mov, .tmp1q0, .memsi(.src0q, .@"2", .tmp0), ._, ._ }, |
| 115232 | .{ ._, ._, .mov, .tmp2q, .memsiad(.src0q, .@"2", .tmp0, .add_unaligned_size, 8), ._, ._ }, | 119580 | .{ ._, ._, .mov, .tmp1q1, .memsid(.src0q, .@"2", .tmp0, 8), ._, ._ }, |
| 115233 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 119581 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 115234 | .{ ._, ._ps, .movl, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp4x, ._, ._ }, | 119582 | .{ ._, ._sd, .mov, .memi(.dst0q, .tmp0), .tmp3x, ._, ._ }, |
| 115235 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 119583 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 115236 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 119584 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 119585 | } }, |
| | 119586 | }, .{ |
| | 119587 | .required_cc_abi = .win64, |
| | 119588 | .required_features = .{ .sse2, null, null, null }, |
| | 119589 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 119590 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any }, |
| | 119591 | .patterns = &.{ |
| | 119592 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 119593 | }, |
| | 119594 | .call_frame = .{ .alignment = .@"16" }, |
| | 119595 | .extra_temps = .{ |
| | 119596 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 119597 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 119598 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntidf" } }, |
| | 119599 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 119600 | .unused, |
| | 119601 | .unused, |
| | 119602 | .unused, |
| | 119603 | .unused, |
| | 119604 | .unused, |
| | 119605 | .unused, |
| | 119606 | .unused, |
| | 119607 | }, |
| | 119608 | .dst_temps = .{ .mem, .unused }, |
| | 119609 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 119610 | .each = .{ .once = &.{ |
| | 119611 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| | 119612 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.src0, .@"2", .tmp0), ._, ._ }, |
| | 119613 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 119614 | .{ ._, ._sd, .mov, .memi(.dst0q, .tmp0), .tmp3x, ._, ._ }, |
| | 119615 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 119616 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 119617 | } }, |
| | 119618 | }, .{ |
| | 119619 | .required_cc_abi = .sysv64, |
| | 119620 | .required_features = .{ .sse, null, null, null }, |
| | 119621 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 119622 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any }, |
| | 119623 | .patterns = &.{ |
| | 119624 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 119625 | }, |
| | 119626 | .call_frame = .{ .alignment = .@"16" }, |
| | 119627 | .extra_temps = .{ |
| | 119628 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 119629 | .{ .type = .u128, .kind = .{ .param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 119630 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntidf" } }, |
| | 119631 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 119632 | .unused, |
| | 119633 | .unused, |
| | 119634 | .unused, |
| | 119635 | .unused, |
| | 119636 | .unused, |
| | 119637 | .unused, |
| | 119638 | .unused, |
| | 119639 | }, |
| | 119640 | .dst_temps = .{ .mem, .unused }, |
| | 119641 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 119642 | .each = .{ .once = &.{ |
| | 119643 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| | 119644 | .{ .@"0:", ._, .mov, .tmp1q0, .memsi(.src0q, .@"2", .tmp0), ._, ._ }, |
| | 119645 | .{ ._, ._, .mov, .tmp1q1, .memsid(.src0q, .@"2", .tmp0, 8), ._, ._ }, |
| | 119646 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 119647 | .{ ._, ._ps, .movl, .memi(.dst0q, .tmp0), .tmp3x, ._, ._ }, |
| | 119648 | .{ ._, ._, .sub, .tmp0p, .si(8), ._, ._ }, |
| | 119649 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 119650 | } }, |
| | 119651 | }, .{ |
| | 119652 | .required_cc_abi = .win64, |
| | 119653 | .required_features = .{ .sse, null, null, null }, |
| | 119654 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 119655 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any }, |
| | 119656 | .patterns = &.{ |
| | 119657 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 119658 | }, |
| | 119659 | .call_frame = .{ .alignment = .@"16" }, |
| | 119660 | .extra_temps = .{ |
| | 119661 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 119662 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 119663 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntidf" } }, |
| | 119664 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 119665 | .unused, |
| | 119666 | .unused, |
| | 119667 | .unused, |
| | 119668 | .unused, |
| | 119669 | .unused, |
| | 119670 | .unused, |
| | 119671 | .unused, |
| | 119672 | }, |
| | 119673 | .dst_temps = .{ .mem, .unused }, |
| | 119674 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 119675 | .each = .{ .once = &.{ |
| | 119676 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| | 119677 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.src0, .@"2", .tmp0), ._, ._ }, |
| | 119678 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 119679 | .{ ._, ._ps, .movl, .memi(.dst0q, .tmp0), .tmp3x, ._, ._ }, |
| | 119680 | .{ ._, ._, .sub, .tmp0p, .si(8), ._, ._ }, |
| | 119681 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 115237 | } }, | 119682 | } }, |
| 115238 | }, .{ | 119683 | }, .{ |
| 115239 | .required_features = .{ .@"64bit", .avx, null, null }, | 119684 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | @@ -115245,11 +119690,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115245,11 +119690,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115245 | .call_frame = .{ .alignment = .@"16" }, | 119690 | .call_frame = .{ .alignment = .@"16" }, |
| 115246 | .extra_temps = .{ | 119691 | .extra_temps = .{ |
| 115247 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 119692 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 115248 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 119693 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 115249 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 119694 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 115250 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 119695 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 115251 | .{ .type = .usize, .kind = .{ .extern_func = "__floateidf" } }, | 119696 | .{ .type = .usize, .kind = .{ .extern_func = "__floateidf" } }, |
| 115252 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 119697 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 115253 | .unused, | 119698 | .unused, |
| 115254 | .unused, | 119699 | .unused, |
| 115255 | .unused, | 119700 | .unused, |
| ... | @@ -115259,15 +119704,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115259,15 +119704,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115259 | .dst_temps = .{ .mem, .unused }, | 119704 | .dst_temps = .{ .mem, .unused }, |
| 115260 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 119705 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 115261 | .each = .{ .once = &.{ | 119706 | .each = .{ .once = &.{ |
| 115262 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 119707 | .{ ._, ._, .lea, .tmp0p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 115263 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 119708 | .{ ._, ._, .mov, .tmp1d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| 115264 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, | 119709 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, |
| 115265 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, | 119710 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, |
| 115266 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 119711 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 115267 | .{ ._, .v_sd, .mov, .memia(.dst0q, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ }, | 119712 | .{ ._, .v_sd, .mov, .memi(.dst0q, .tmp1), .tmp5x, ._, ._ }, |
| 115268 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ }, | 119713 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .sub_src0_elem_size), ._, ._ }, |
| 115269 | .{ ._, ._, .add, .tmp1p, .si(8), ._, ._ }, | 119714 | .{ ._, ._, .sub, .tmp1d, .si(8), ._, ._ }, |
| 115270 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 119715 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 115271 | } }, | 119716 | } }, |
| 115272 | }, .{ | 119717 | }, .{ |
| 115273 | .required_features = .{ .@"64bit", .sse2, null, null }, | 119718 | .required_features = .{ .@"64bit", .sse2, null, null }, |
| ... | @@ -115279,11 +119724,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115279,11 +119724,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115279 | .call_frame = .{ .alignment = .@"16" }, | 119724 | .call_frame = .{ .alignment = .@"16" }, |
| 115280 | .extra_temps = .{ | 119725 | .extra_temps = .{ |
| 115281 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 119726 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 115282 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 119727 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 115283 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 119728 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 115284 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 119729 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 115285 | .{ .type = .usize, .kind = .{ .extern_func = "__floateidf" } }, | 119730 | .{ .type = .usize, .kind = .{ .extern_func = "__floateidf" } }, |
| 115286 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 119731 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 115287 | .unused, | 119732 | .unused, |
| 115288 | .unused, | 119733 | .unused, |
| 115289 | .unused, | 119734 | .unused, |
| ... | @@ -115293,15 +119738,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115293,15 +119738,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115293 | .dst_temps = .{ .mem, .unused }, | 119738 | .dst_temps = .{ .mem, .unused }, |
| 115294 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 119739 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 115295 | .each = .{ .once = &.{ | 119740 | .each = .{ .once = &.{ |
| 115296 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 119741 | .{ ._, ._, .lea, .tmp0p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 115297 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 119742 | .{ ._, ._, .mov, .tmp1d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| 115298 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, | 119743 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, |
| 115299 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, | 119744 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, |
| 115300 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 119745 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 115301 | .{ ._, ._sd, .mov, .memia(.dst0q, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ }, | 119746 | .{ ._, ._sd, .mov, .memi(.dst0q, .tmp1), .tmp5x, ._, ._ }, |
| 115302 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ }, | 119747 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .sub_src0_elem_size), ._, ._ }, |
| 115303 | .{ ._, ._, .add, .tmp1p, .si(8), ._, ._ }, | 119748 | .{ ._, ._, .sub, .tmp1d, .si(8), ._, ._ }, |
| 115304 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 119749 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 115305 | } }, | 119750 | } }, |
| 115306 | }, .{ | 119751 | }, .{ |
| 115307 | .required_features = .{ .@"64bit", .sse, null, null }, | 119752 | .required_features = .{ .@"64bit", .sse, null, null }, |
| ... | @@ -115313,11 +119758,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115313,11 +119758,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115313 | .call_frame = .{ .alignment = .@"16" }, | 119758 | .call_frame = .{ .alignment = .@"16" }, |
| 115314 | .extra_temps = .{ | 119759 | .extra_temps = .{ |
| 115315 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 119760 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 115316 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 119761 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 115317 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 119762 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 115318 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 119763 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 115319 | .{ .type = .usize, .kind = .{ .extern_func = "__floateidf" } }, | 119764 | .{ .type = .usize, .kind = .{ .extern_func = "__floateidf" } }, |
| 115320 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 119765 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 115321 | .unused, | 119766 | .unused, |
| 115322 | .unused, | 119767 | .unused, |
| 115323 | .unused, | 119768 | .unused, |
| ... | @@ -115327,15 +119772,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115327,15 +119772,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115327 | .dst_temps = .{ .mem, .unused }, | 119772 | .dst_temps = .{ .mem, .unused }, |
| 115328 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 119773 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 115329 | .each = .{ .once = &.{ | 119774 | .each = .{ .once = &.{ |
| 115330 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 119775 | .{ ._, ._, .lea, .tmp0p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 115331 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 119776 | .{ ._, ._, .mov, .tmp1d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| 115332 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, | 119777 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, |
| 115333 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, | 119778 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, |
| 115334 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 119779 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 115335 | .{ ._, ._ps, .movl, .memia(.dst0q, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ }, | 119780 | .{ ._, ._ps, .movl, .memi(.dst0q, .tmp1), .tmp5x, ._, ._ }, |
| 115336 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ }, | 119781 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .sub_src0_elem_size), ._, ._ }, |
| 115337 | .{ ._, ._, .add, .tmp1p, .si(8), ._, ._ }, | 119782 | .{ ._, ._, .sub, .tmp1d, .si(8), ._, ._ }, |
| 115338 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 119783 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 115339 | } }, | 119784 | } }, |
| 115340 | }, .{ | 119785 | }, .{ |
| 115341 | .required_features = .{ .@"64bit", .avx, null, null }, | 119786 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | @@ -115347,11 +119792,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115347,11 +119792,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115347 | .call_frame = .{ .alignment = .@"16" }, | 119792 | .call_frame = .{ .alignment = .@"16" }, |
| 115348 | .extra_temps = .{ | 119793 | .extra_temps = .{ |
| 115349 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 119794 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 115350 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 119795 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 115351 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 119796 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 115352 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 119797 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 115353 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneidf" } }, | 119798 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneidf" } }, |
| 115354 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 119799 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 115355 | .unused, | 119800 | .unused, |
| 115356 | .unused, | 119801 | .unused, |
| 115357 | .unused, | 119802 | .unused, |
| ... | @@ -115361,15 +119806,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115361,15 +119806,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115361 | .dst_temps = .{ .mem, .unused }, | 119806 | .dst_temps = .{ .mem, .unused }, |
| 115362 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 119807 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 115363 | .each = .{ .once = &.{ | 119808 | .each = .{ .once = &.{ |
| 115364 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 119809 | .{ ._, ._, .lea, .tmp0p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 115365 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 119810 | .{ ._, ._, .mov, .tmp1d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| 115366 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, | 119811 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, |
| 115367 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, | 119812 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, |
| 115368 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 119813 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 115369 | .{ ._, .v_sd, .mov, .memia(.dst0q, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ }, | 119814 | .{ ._, .v_sd, .mov, .memi(.dst0q, .tmp1), .tmp5x, ._, ._ }, |
| 115370 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ }, | 119815 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .sub_src0_elem_size), ._, ._ }, |
| 115371 | .{ ._, ._, .add, .tmp1p, .si(8), ._, ._ }, | 119816 | .{ ._, ._, .sub, .tmp1d, .si(8), ._, ._ }, |
| 115372 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 119817 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 115373 | } }, | 119818 | } }, |
| 115374 | }, .{ | 119819 | }, .{ |
| 115375 | .required_features = .{ .@"64bit", .sse2, null, null }, | 119820 | .required_features = .{ .@"64bit", .sse2, null, null }, |
| ... | @@ -115381,11 +119826,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115381,11 +119826,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115381 | .call_frame = .{ .alignment = .@"16" }, | 119826 | .call_frame = .{ .alignment = .@"16" }, |
| 115382 | .extra_temps = .{ | 119827 | .extra_temps = .{ |
| 115383 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 119828 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 115384 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 119829 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 115385 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 119830 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 115386 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 119831 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 115387 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneidf" } }, | 119832 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneidf" } }, |
| 115388 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 119833 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 115389 | .unused, | 119834 | .unused, |
| 115390 | .unused, | 119835 | .unused, |
| 115391 | .unused, | 119836 | .unused, |
| ... | @@ -115395,15 +119840,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115395,15 +119840,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115395 | .dst_temps = .{ .mem, .unused }, | 119840 | .dst_temps = .{ .mem, .unused }, |
| 115396 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 119841 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 115397 | .each = .{ .once = &.{ | 119842 | .each = .{ .once = &.{ |
| 115398 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 119843 | .{ ._, ._, .lea, .tmp0p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 115399 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 119844 | .{ ._, ._, .mov, .tmp1d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| 115400 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, | 119845 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, |
| 115401 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, | 119846 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, |
| 115402 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 119847 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 115403 | .{ ._, ._sd, .mov, .memia(.dst0q, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ }, | 119848 | .{ ._, ._sd, .mov, .memi(.dst0q, .tmp1), .tmp5x, ._, ._ }, |
| 115404 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ }, | 119849 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .sub_src0_elem_size), ._, ._ }, |
| 115405 | .{ ._, ._, .add, .tmp1p, .si(8), ._, ._ }, | 119850 | .{ ._, ._, .sub, .tmp1d, .si(8), ._, ._ }, |
| 115406 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 119851 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 115407 | } }, | 119852 | } }, |
| 115408 | }, .{ | 119853 | }, .{ |
| 115409 | .required_features = .{ .@"64bit", .sse, null, null }, | 119854 | .required_features = .{ .@"64bit", .sse, null, null }, |
| ... | @@ -115415,11 +119860,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115415,11 +119860,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115415 | .call_frame = .{ .alignment = .@"16" }, | 119860 | .call_frame = .{ .alignment = .@"16" }, |
| 115416 | .extra_temps = .{ | 119861 | .extra_temps = .{ |
| 115417 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 119862 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 115418 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 119863 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 115419 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 119864 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 115420 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 119865 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 115421 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneidf" } }, | 119866 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneidf" } }, |
| 115422 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 119867 | .{ .type = .f64, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 115423 | .unused, | 119868 | .unused, |
| 115424 | .unused, | 119869 | .unused, |
| 115425 | .unused, | 119870 | .unused, |
| ... | @@ -115429,15 +119874,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115429,15 +119874,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115429 | .dst_temps = .{ .mem, .unused }, | 119874 | .dst_temps = .{ .mem, .unused }, |
| 115430 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 119875 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 115431 | .each = .{ .once = &.{ | 119876 | .each = .{ .once = &.{ |
| 115432 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 119877 | .{ ._, ._, .lea, .tmp0p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 115433 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 119878 | .{ ._, ._, .mov, .tmp1d, .sia(-8, .dst0, .add_unaligned_size), ._, ._ }, |
| 115434 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, | 119879 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, |
| 115435 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, | 119880 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, |
| 115436 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 119881 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 115437 | .{ ._, ._ps, .movl, .memia(.dst0q, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ }, | 119882 | .{ ._, ._ps, .movl, .memi(.dst0q, .tmp1), .tmp5x, ._, ._ }, |
| 115438 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ }, | 119883 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .sub_src0_elem_size), ._, ._ }, |
| 115439 | .{ ._, ._, .add, .tmp1p, .si(8), ._, ._ }, | 119884 | .{ ._, ._, .sub, .tmp1d, .si(8), ._, ._ }, |
| 115440 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 119885 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 115441 | } }, | 119886 | } }, |
| 115442 | }, .{ | 119887 | }, .{ |
| 115443 | .required_features = .{ .x87, null, null, null }, | 119888 | .required_features = .{ .x87, null, null, null }, |
| ... | @@ -115627,6 +120072,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115627,6 +120072,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115627 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, | 120072 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| 115628 | } }, | 120073 | } }, |
| 115629 | }, .{ | 120074 | }, .{ |
| | 120075 | .required_abi = .gnu, |
| 115630 | .required_features = .{ .x87, null, null, null }, | 120076 | .required_features = .{ .x87, null, null, null }, |
| 115631 | .src_constraints = .{ .{ .exact_unsigned_int = 64 }, .any, .any }, | 120077 | .src_constraints = .{ .{ .exact_unsigned_int = 64 }, .any, .any }, |
| 115632 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, | 120078 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| ... | @@ -115634,10 +120080,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115634,10 +120080,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115634 | .{ .src = .{ .to_mem, .none, .none } }, | 120080 | .{ .src = .{ .to_mem, .none, .none } }, |
| 115635 | }, | 120081 | }, |
| 115636 | .extra_temps = .{ | 120082 | .extra_temps = .{ |
| | 120083 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 115637 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 120084 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 115638 | .{ .type = .u1, .kind = .{ .rc = .general_purpose } }, | | |
| 115639 | .{ .type = .vector_2_f32, .kind = .f32_0_0x1p64_mem }, | 120085 | .{ .type = .vector_2_f32, .kind = .f32_0_0x1p64_mem }, |
| 115640 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 120086 | .{ .type = .u1, .kind = .{ .rc = .general_purpose } }, |
| 115641 | .unused, | 120087 | .unused, |
| 115642 | .unused, | 120088 | .unused, |
| 115643 | .unused, | 120089 | .unused, |
| ... | @@ -115650,18 +120096,56 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115650,18 +120096,56 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115650 | .clobbers = .{ .eflags = true }, | 120096 | .clobbers = .{ .eflags = true }, |
| 115651 | .each = .{ .once = &.{ | 120097 | .each = .{ .once = &.{ |
| 115652 | .{ ._, .fi_, .ld, .src0q, ._, ._, ._ }, | 120098 | .{ ._, .fi_, .ld, .src0q, ._, ._, ._ }, |
| 115653 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, | 120099 | .{ ._, ._, .lea, .tmp1p, .mem(.tmp2), ._, ._ }, |
| | 120100 | .{ ._, ._, .mov, .tmp3d, .memd(.src0d, 4), ._, ._ }, |
| | 120101 | .{ ._, ._r, .sh, .tmp3d, .ui(31), ._, ._ }, |
| | 120102 | .{ ._, .f_, .add, .leasi(.tmp1d, .@"4", .tmp3), ._, ._, ._ }, |
| | 120103 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 120104 | } }, |
| | 120105 | }, .{ |
| | 120106 | .required_abi = .msvc, |
| | 120107 | .required_features = .{ .x87, null, null, null }, |
| | 120108 | .src_constraints = .{ .{ .exact_unsigned_int = 64 }, .any, .any }, |
| | 120109 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| | 120110 | .patterns = &.{ |
| | 120111 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 120112 | }, |
| | 120113 | .extra_temps = .{ |
| | 120114 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 120115 | .{ .type = .u1, .kind = .{ .rc = .general_purpose } }, |
| | 120116 | .{ .type = .u16, .kind = .mem }, |
| | 120117 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 120118 | .{ .type = .vector_2_f32, .kind = .f32_0_0x1p64_mem }, |
| | 120119 | .unused, |
| | 120120 | .unused, |
| | 120121 | .unused, |
| | 120122 | .unused, |
| | 120123 | .unused, |
| | 120124 | .unused, |
| | 120125 | }, |
| | 120126 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 120127 | .clobbers = .{ .eflags = true }, |
| | 120128 | .each = .{ .once = &.{ |
| | 120129 | .{ ._, .fi_, .ld, .src0q, ._, ._, ._ }, |
| 115654 | .{ ._, ._, .mov, .tmp1d, .memd(.src0d, 4), ._, ._ }, | 120130 | .{ ._, ._, .mov, .tmp1d, .memd(.src0d, 4), ._, ._ }, |
| 115655 | .{ ._, ._r, .sh, .tmp1d, .ui(31), ._, ._ }, | 120131 | .{ ._, ._r, .sh, .tmp1d, .ui(31), ._, ._ }, |
| 115656 | .{ ._, .f_, .add, .leasi(.tmp0d, .@"4", .tmp1), ._, ._, ._ }, | 120132 | .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ }, |
| | 120133 | .{ ._, ._, .movzx, .tmp3d, .memd(.tmp2b, 1), ._, ._ }, |
| | 120134 | .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_00_11), ._, ._ }, |
| | 120135 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| | 120136 | .{ ._, ._, .mov, .memd(.tmp2b, 1), .tmp3b, ._, ._ }, |
| | 120137 | .{ ._, ._, .lea, .tmp3p, .mem(.tmp4), ._, ._ }, |
| | 120138 | .{ ._, .f_, .add, .leasi(.tmp3d, .@"4", .tmp1), ._, ._, ._ }, |
| | 120139 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| 115657 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, | 120140 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| 115658 | } }, | 120141 | } }, |
| 115659 | }, .{ | 120142 | }, .{ |
| 115660 | .required_features = .{ .@"64bit", .sse, null, null }, | 120143 | .required_cc_abi = .sysv64, |
| | 120144 | .required_features = .{ .sse, null, null, null }, |
| 115661 | .src_constraints = .{ .{ .signed_int = .xword }, .any, .any }, | 120145 | .src_constraints = .{ .{ .signed_int = .xword }, .any, .any }, |
| 115662 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, | 120146 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| 115663 | .patterns = &.{ | 120147 | .patterns = &.{ |
| 115664 | .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } }, | 120148 | .{ .src = .{ .{ .to_param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 115665 | }, | 120149 | }, |
| 115666 | .call_frame = .{ .alignment = .@"16" }, | 120150 | .call_frame = .{ .alignment = .@"16" }, |
| 115667 | .extra_temps = .{ | 120151 | .extra_temps = .{ |
| ... | @@ -115683,11 +120167,40 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115683,11 +120167,40 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115683 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 120167 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 115684 | } }, | 120168 | } }, |
| 115685 | }, .{ | 120169 | }, .{ |
| 115686 | .required_features = .{ .@"64bit", .sse, null, null }, | 120170 | .required_cc_abi = .win64, |
| | 120171 | .src_constraints = .{ .{ .signed_int = .xword }, .any, .any }, |
| | 120172 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| | 120173 | .patterns = &.{ |
| | 120174 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 120175 | }, |
| | 120176 | .call_frame = .{ .alignment = .@"16" }, |
| | 120177 | .extra_temps = .{ |
| | 120178 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 120179 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 120180 | .{ .type = .usize, .kind = .{ .extern_func = "__floattixf" } }, |
| | 120181 | .unused, |
| | 120182 | .unused, |
| | 120183 | .unused, |
| | 120184 | .unused, |
| | 120185 | .unused, |
| | 120186 | .unused, |
| | 120187 | .unused, |
| | 120188 | .unused, |
| | 120189 | }, |
| | 120190 | .dst_temps = .{ .mem, .unused }, |
| | 120191 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 120192 | .each = .{ .once = &.{ |
| | 120193 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| | 120194 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, |
| | 120195 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 120196 | } }, |
| | 120197 | }, .{ |
| | 120198 | .required_cc_abi = .sysv64, |
| | 120199 | .required_features = .{ .sse, null, null, null }, |
| 115687 | .src_constraints = .{ .{ .unsigned_int = .xword }, .any, .any }, | 120200 | .src_constraints = .{ .{ .unsigned_int = .xword }, .any, .any }, |
| 115688 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, | 120201 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| 115689 | .patterns = &.{ | 120202 | .patterns = &.{ |
| 115690 | .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } }, | 120203 | .{ .src = .{ .{ .to_param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 115691 | }, | 120204 | }, |
| 115692 | .call_frame = .{ .alignment = .@"16" }, | 120205 | .call_frame = .{ .alignment = .@"16" }, |
| 115693 | .extra_temps = .{ | 120206 | .extra_temps = .{ |
| ... | @@ -115709,7 +120222,36 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115709,7 +120222,36 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115709 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 120222 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 115710 | } }, | 120223 | } }, |
| 115711 | }, .{ | 120224 | }, .{ |
| 115712 | .required_features = .{ .@"64bit", .sse, null, null }, | 120225 | .required_cc_abi = .win64, |
| | 120226 | .src_constraints = .{ .{ .unsigned_int = .xword }, .any, .any }, |
| | 120227 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| | 120228 | .patterns = &.{ |
| | 120229 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 120230 | }, |
| | 120231 | .call_frame = .{ .alignment = .@"16" }, |
| | 120232 | .extra_temps = .{ |
| | 120233 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 120234 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 120235 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntixf" } }, |
| | 120236 | .unused, |
| | 120237 | .unused, |
| | 120238 | .unused, |
| | 120239 | .unused, |
| | 120240 | .unused, |
| | 120241 | .unused, |
| | 120242 | .unused, |
| | 120243 | .unused, |
| | 120244 | }, |
| | 120245 | .dst_temps = .{ .mem, .unused }, |
| | 120246 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 120247 | .each = .{ .once = &.{ |
| | 120248 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| | 120249 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, |
| | 120250 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 120251 | } }, |
| | 120252 | }, .{ |
| | 120253 | .required_cc_abi = .sysv64, |
| | 120254 | .required_features = .{ .sse, null, null, null }, |
| 115713 | .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any }, | 120255 | .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| 115714 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, | 120256 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| 115715 | .patterns = &.{ | 120257 | .patterns = &.{ |
| ... | @@ -115717,8 +120259,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115717,8 +120259,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115717 | }, | 120259 | }, |
| 115718 | .call_frame = .{ .alignment = .@"16" }, | 120260 | .call_frame = .{ .alignment = .@"16" }, |
| 115719 | .extra_temps = .{ | 120261 | .extra_temps = .{ |
| 115720 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 120262 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 115721 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 120263 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 115722 | .{ .type = .usize, .kind = .{ .extern_func = "__floateixf" } }, | 120264 | .{ .type = .usize, .kind = .{ .extern_func = "__floateixf" } }, |
| 115723 | .unused, | 120265 | .unused, |
| 115724 | .unused, | 120266 | .unused, |
| ... | @@ -115737,7 +120279,38 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115737,7 +120279,38 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115737 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 120279 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 115738 | } }, | 120280 | } }, |
| 115739 | }, .{ | 120281 | }, .{ |
| 115740 | .required_features = .{ .@"64bit", .sse, null, null }, | 120282 | .required_cc_abi = .win64, |
| | 120283 | .required_features = .{ .sse, null, null, null }, |
| | 120284 | .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| | 120285 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| | 120286 | .patterns = &.{ |
| | 120287 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 120288 | }, |
| | 120289 | .call_frame = .{ .alignment = .@"16" }, |
| | 120290 | .extra_temps = .{ |
| | 120291 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 120292 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 120293 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| | 120294 | .{ .type = .usize, .kind = .{ .extern_func = "__floateixf" } }, |
| | 120295 | .unused, |
| | 120296 | .unused, |
| | 120297 | .unused, |
| | 120298 | .unused, |
| | 120299 | .unused, |
| | 120300 | .unused, |
| | 120301 | .unused, |
| | 120302 | }, |
| | 120303 | .dst_temps = .{ .mem, .unused }, |
| | 120304 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 120305 | .each = .{ .once = &.{ |
| | 120306 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| | 120307 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, |
| | 120308 | .{ ._, ._, .mov, .tmp2d, .sa(.src0, .add_bit_size), ._, ._ }, |
| | 120309 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 120310 | } }, |
| | 120311 | }, .{ |
| | 120312 | .required_cc_abi = .sysv64, |
| | 120313 | .required_features = .{ .sse, null, null, null }, |
| 115741 | .src_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any }, | 120314 | .src_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| 115742 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, | 120315 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| 115743 | .patterns = &.{ | 120316 | .patterns = &.{ |
| ... | @@ -115745,8 +120318,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115745,8 +120318,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115745 | }, | 120318 | }, |
| 115746 | .call_frame = .{ .alignment = .@"16" }, | 120319 | .call_frame = .{ .alignment = .@"16" }, |
| 115747 | .extra_temps = .{ | 120320 | .extra_temps = .{ |
| 115748 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 120321 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 115749 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 120322 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 115750 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneixf" } }, | 120323 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneixf" } }, |
| 115751 | .unused, | 120324 | .unused, |
| 115752 | .unused, | 120325 | .unused, |
| ... | @@ -115764,6 +120337,36 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115764,6 +120337,36 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115764 | .{ ._, ._, .mov, .tmp1d, .sa(.src0, .add_bit_size), ._, ._ }, | 120337 | .{ ._, ._, .mov, .tmp1d, .sa(.src0, .add_bit_size), ._, ._ }, |
| 115765 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 120338 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 115766 | } }, | 120339 | } }, |
| | 120340 | }, .{ |
| | 120341 | .required_cc_abi = .win64, |
| | 120342 | .required_features = .{ .sse, null, null, null }, |
| | 120343 | .src_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| | 120344 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| | 120345 | .patterns = &.{ |
| | 120346 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 120347 | }, |
| | 120348 | .call_frame = .{ .alignment = .@"16" }, |
| | 120349 | .extra_temps = .{ |
| | 120350 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 120351 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 120352 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| | 120353 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneixf" } }, |
| | 120354 | .unused, |
| | 120355 | .unused, |
| | 120356 | .unused, |
| | 120357 | .unused, |
| | 120358 | .unused, |
| | 120359 | .unused, |
| | 120360 | .unused, |
| | 120361 | }, |
| | 120362 | .dst_temps = .{ .mem, .unused }, |
| | 120363 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 120364 | .each = .{ .once = &.{ |
| | 120365 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| | 120366 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, |
| | 120367 | .{ ._, ._, .mov, .tmp2d, .sa(.src0, .add_bit_size), ._, ._ }, |
| | 120368 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 120369 | } }, |
| 115767 | }, .{ | 120370 | }, .{ |
| 115768 | .required_features = .{ .x87, .slow_incdec, null, null }, | 120371 | .required_features = .{ .x87, .slow_incdec, null, null }, |
| 115769 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any }, | 120372 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| ... | @@ -115772,7 +120375,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115772,7 +120375,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115772 | .{ .src = .{ .to_mem, .none, .none } }, | 120375 | .{ .src = .{ .to_mem, .none, .none } }, |
| 115773 | }, | 120376 | }, |
| 115774 | .extra_temps = .{ | 120377 | .extra_temps = .{ |
| 115775 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 120378 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 115776 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 120379 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 115777 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, | 120380 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| 115778 | .{ .type = .i16, .kind = .mem }, | 120381 | .{ .type = .i16, .kind = .mem }, |
| ... | @@ -115787,15 +120390,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115787,15 +120390,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115787 | .dst_temps = .{ .mem, .unused }, | 120390 | .dst_temps = .{ .mem, .unused }, |
| 115788 | .clobbers = .{ .eflags = true }, | 120391 | .clobbers = .{ .eflags = true }, |
| 115789 | .each = .{ .once = &.{ | 120392 | .each = .{ .once = &.{ |
| 115790 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 120393 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 115791 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 120394 | .{ ._, ._, .lea, .tmp1p, .memad(.dst0, .add_unaligned_size, -16), ._, ._ }, |
| 115792 | .{ .@"0:", ._, .movsx, .tmp2d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 120395 | .{ .@"0:", ._, .movsx, .tmp2d, .memi(.src0b, .tmp0), ._, ._ }, |
| 115793 | .{ ._, ._, .mov, .tmp3w, .tmp2w, ._, ._ }, | 120396 | .{ ._, ._, .mov, .tmp3w, .tmp2w, ._, ._ }, |
| 115794 | .{ ._, .fi_, .ld, .tmp3w, ._, ._, ._ }, | 120397 | .{ ._, .fi_, .ld, .tmp3w, ._, ._, ._ }, |
| 115795 | .{ ._, .f_p, .st, .lea(.tmp1t), ._, ._, ._ }, | 120398 | .{ ._, .f_p, .st, .lea(.tmp1t), ._, ._, ._ }, |
| 115796 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 16), ._, ._ }, | 120399 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, -16), ._, ._ }, |
| 115797 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 120400 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 115798 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 120401 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 115799 | } }, | 120402 | } }, |
| 115800 | }, .{ | 120403 | }, .{ |
| 115801 | .required_features = .{ .x87, null, null, null }, | 120404 | .required_features = .{ .x87, null, null, null }, |
| ... | @@ -115805,7 +120408,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115805,7 +120408,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115805 | .{ .src = .{ .to_mem, .none, .none } }, | 120408 | .{ .src = .{ .to_mem, .none, .none } }, |
| 115806 | }, | 120409 | }, |
| 115807 | .extra_temps = .{ | 120410 | .extra_temps = .{ |
| 115808 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 120411 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 115809 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 120412 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 115810 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, | 120413 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| 115811 | .{ .type = .i16, .kind = .mem }, | 120414 | .{ .type = .i16, .kind = .mem }, |
| ... | @@ -115820,15 +120423,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115820,15 +120423,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115820 | .dst_temps = .{ .mem, .unused }, | 120423 | .dst_temps = .{ .mem, .unused }, |
| 115821 | .clobbers = .{ .eflags = true }, | 120424 | .clobbers = .{ .eflags = true }, |
| 115822 | .each = .{ .once = &.{ | 120425 | .each = .{ .once = &.{ |
| 115823 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 120426 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 115824 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 120427 | .{ ._, ._, .lea, .tmp1p, .memad(.dst0, .add_unaligned_size, -16), ._, ._ }, |
| 115825 | .{ .@"0:", ._, .movsx, .tmp2d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 120428 | .{ .@"0:", ._, .movsx, .tmp2d, .memi(.src0b, .tmp0), ._, ._ }, |
| 115826 | .{ ._, ._, .mov, .tmp3w, .tmp2w, ._, ._ }, | 120429 | .{ ._, ._, .mov, .tmp3w, .tmp2w, ._, ._ }, |
| 115827 | .{ ._, .fi_, .ld, .tmp3w, ._, ._, ._ }, | 120430 | .{ ._, .fi_, .ld, .tmp3w, ._, ._, ._ }, |
| 115828 | .{ ._, .f_p, .st, .lea(.tmp1t), ._, ._, ._ }, | 120431 | .{ ._, .f_p, .st, .lea(.tmp1t), ._, ._, ._ }, |
| 115829 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 16), ._, ._ }, | 120432 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, -16), ._, ._ }, |
| 115830 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 120433 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 115831 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 120434 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 115832 | } }, | 120435 | } }, |
| 115833 | }, .{ | 120436 | }, .{ |
| 115834 | .required_features = .{ .x87, .slow_incdec, null, null }, | 120437 | .required_features = .{ .x87, .slow_incdec, null, null }, |
| ... | @@ -115838,7 +120441,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115838,7 +120441,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115838 | .{ .src = .{ .to_mem, .none, .none } }, | 120441 | .{ .src = .{ .to_mem, .none, .none } }, |
| 115839 | }, | 120442 | }, |
| 115840 | .extra_temps = .{ | 120443 | .extra_temps = .{ |
| 115841 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 120444 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 115842 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 120445 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 115843 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, | 120446 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| 115844 | .{ .type = .i16, .kind = .mem }, | 120447 | .{ .type = .i16, .kind = .mem }, |
| ... | @@ -115853,15 +120456,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115853,15 +120456,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115853 | .dst_temps = .{ .mem, .unused }, | 120456 | .dst_temps = .{ .mem, .unused }, |
| 115854 | .clobbers = .{ .eflags = true }, | 120457 | .clobbers = .{ .eflags = true }, |
| 115855 | .each = .{ .once = &.{ | 120458 | .each = .{ .once = &.{ |
| 115856 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 120459 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 115857 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 120460 | .{ ._, ._, .lea, .tmp1p, .memad(.dst0, .add_unaligned_size, -16), ._, ._ }, |
| 115858 | .{ .@"0:", ._, .movzx, .tmp2d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 120461 | .{ .@"0:", ._, .movzx, .tmp2d, .memi(.src0b, .tmp0), ._, ._ }, |
| 115859 | .{ ._, ._, .mov, .tmp3w, .tmp2w, ._, ._ }, | 120462 | .{ ._, ._, .mov, .tmp3w, .tmp2w, ._, ._ }, |
| 115860 | .{ ._, .fi_, .ld, .tmp3w, ._, ._, ._ }, | 120463 | .{ ._, .fi_, .ld, .tmp3w, ._, ._, ._ }, |
| 115861 | .{ ._, .f_p, .st, .lea(.tmp1t), ._, ._, ._ }, | 120464 | .{ ._, .f_p, .st, .lea(.tmp1t), ._, ._, ._ }, |
| 115862 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 16), ._, ._ }, | 120465 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, -16), ._, ._ }, |
| 115863 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 120466 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 115864 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 120467 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 115865 | } }, | 120468 | } }, |
| 115866 | }, .{ | 120469 | }, .{ |
| 115867 | .required_features = .{ .x87, null, null, null }, | 120470 | .required_features = .{ .x87, null, null, null }, |
| ... | @@ -115871,7 +120474,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115871,7 +120474,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115871 | .{ .src = .{ .to_mem, .none, .none } }, | 120474 | .{ .src = .{ .to_mem, .none, .none } }, |
| 115872 | }, | 120475 | }, |
| 115873 | .extra_temps = .{ | 120476 | .extra_temps = .{ |
| 115874 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 120477 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 115875 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 120478 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 115876 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, | 120479 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| 115877 | .{ .type = .i16, .kind = .mem }, | 120480 | .{ .type = .i16, .kind = .mem }, |
| ... | @@ -115886,17 +120489,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115886,17 +120489,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115886 | .dst_temps = .{ .mem, .unused }, | 120489 | .dst_temps = .{ .mem, .unused }, |
| 115887 | .clobbers = .{ .eflags = true }, | 120490 | .clobbers = .{ .eflags = true }, |
| 115888 | .each = .{ .once = &.{ | 120491 | .each = .{ .once = &.{ |
| 115889 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 120492 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 115890 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 120493 | .{ ._, ._, .lea, .tmp1p, .memad(.dst0, .add_unaligned_size, -16), ._, ._ }, |
| 115891 | .{ .@"0:", ._, .movzx, .tmp2d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 120494 | .{ .@"0:", ._, .movzx, .tmp2d, .memi(.src0b, .tmp0), ._, ._ }, |
| 115892 | .{ ._, ._, .mov, .tmp3w, .tmp2w, ._, ._ }, | 120495 | .{ ._, ._, .mov, .tmp3w, .tmp2w, ._, ._ }, |
| 115893 | .{ ._, .fi_, .ld, .tmp3w, ._, ._, ._ }, | 120496 | .{ ._, .fi_, .ld, .tmp3w, ._, ._, ._ }, |
| 115894 | .{ ._, .f_p, .st, .lea(.tmp1t), ._, ._, ._ }, | 120497 | .{ ._, .f_p, .st, .lea(.tmp1t), ._, ._, ._ }, |
| 115895 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 16), ._, ._ }, | 120498 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, -16), ._, ._ }, |
| 115896 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 120499 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 115897 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 120500 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 115898 | } }, | 120501 | } }, |
| 115899 | }, .{ | 120502 | }, .{ |
| | 120503 | .required_cc_abi = .sysv64, |
| 115900 | .required_features = .{ .x87, .slow_incdec, null, null }, | 120504 | .required_features = .{ .x87, .slow_incdec, null, null }, |
| 115901 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any }, | 120505 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| 115902 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, | 120506 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| ... | @@ -115905,9 +120509,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115905,9 +120509,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115905 | }, | 120509 | }, |
| 115906 | .call_frame = .{ .alignment = .@"16" }, | 120510 | .call_frame = .{ .alignment = .@"16" }, |
| 115907 | .extra_temps = .{ | 120511 | .extra_temps = .{ |
| 115908 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 120512 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 115909 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 120513 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 115910 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 120514 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 115911 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsixf" } }, | 120515 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsixf" } }, |
| 115912 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 120516 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 115913 | .unused, | 120517 | .unused, |
| ... | @@ -115920,17 +120524,52 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115920,17 +120524,52 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115920 | .dst_temps = .{ .mem, .unused }, | 120524 | .dst_temps = .{ .mem, .unused }, |
| 115921 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 120525 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 115922 | .each = .{ .once = &.{ | 120526 | .each = .{ .once = &.{ |
| 115923 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 120527 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 115924 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 120528 | .{ ._, ._, .lea, .tmp1p, .memad(.dst0, .add_unaligned_size, -16), ._, ._ }, |
| 115925 | .{ .@"0:", ._, .movsx, .tmp2d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 120529 | .{ .@"0:", ._, .movsx, .tmp2d, .memi(.src0b, .tmp0), ._, ._ }, |
| 115926 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 120530 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 115927 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, | 120531 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, |
| 115928 | .{ ._, .f_p, .st, .lea(.tmp1t), ._, ._, ._ }, | 120532 | .{ ._, .f_p, .st, .lea(.tmp1t), ._, ._, ._ }, |
| 115929 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 16), ._, ._ }, | 120533 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, -16), ._, ._ }, |
| 115930 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 120534 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 115931 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 120535 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 115932 | } }, | 120536 | } }, |
| 115933 | }, .{ | 120537 | }, .{ |
| | 120538 | .required_cc_abi = .win64, |
| | 120539 | .required_features = .{ .slow_incdec, null, null, null }, |
| | 120540 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| | 120541 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| | 120542 | .patterns = &.{ |
| | 120543 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 120544 | }, |
| | 120545 | .call_frame = .{ .alignment = .@"16" }, |
| | 120546 | .extra_temps = .{ |
| | 120547 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 120548 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 120549 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 120550 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 120551 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsixf" } }, |
| | 120552 | .unused, |
| | 120553 | .unused, |
| | 120554 | .unused, |
| | 120555 | .unused, |
| | 120556 | .unused, |
| | 120557 | .unused, |
| | 120558 | }, |
| | 120559 | .dst_temps = .{ .mem, .unused }, |
| | 120560 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 120561 | .each = .{ .once = &.{ |
| | 120562 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| | 120563 | .{ ._, ._, .lea, .tmp1p, .memad(.dst0, .add_unaligned_size, -16), ._, ._ }, |
| | 120564 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| | 120565 | .{ ._, ._, .movsx, .tmp3d, .memi(.src0b, .tmp0), ._, ._ }, |
| | 120566 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 120567 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, -16), ._, ._ }, |
| | 120568 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| | 120569 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 120570 | } }, |
| | 120571 | }, .{ |
| | 120572 | .required_cc_abi = .sysv64, |
| 115934 | .required_features = .{ .x87, null, null, null }, | 120573 | .required_features = .{ .x87, null, null, null }, |
| 115935 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any }, | 120574 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| 115936 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, | 120575 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| ... | @@ -115939,9 +120578,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115939,9 +120578,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115939 | }, | 120578 | }, |
| 115940 | .call_frame = .{ .alignment = .@"16" }, | 120579 | .call_frame = .{ .alignment = .@"16" }, |
| 115941 | .extra_temps = .{ | 120580 | .extra_temps = .{ |
| 115942 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 120581 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 115943 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 120582 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 115944 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 120583 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 115945 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsixf" } }, | 120584 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsixf" } }, |
| 115946 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 120585 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 115947 | .unused, | 120586 | .unused, |
| ... | @@ -115954,17 +120593,51 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115954,17 +120593,51 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115954 | .dst_temps = .{ .mem, .unused }, | 120593 | .dst_temps = .{ .mem, .unused }, |
| 115955 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 120594 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 115956 | .each = .{ .once = &.{ | 120595 | .each = .{ .once = &.{ |
| 115957 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 120596 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 115958 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 120597 | .{ ._, ._, .lea, .tmp1p, .memad(.dst0, .add_unaligned_size, -16), ._, ._ }, |
| 115959 | .{ .@"0:", ._, .movsx, .tmp2d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 120598 | .{ .@"0:", ._, .movsx, .tmp2d, .memi(.src0b, .tmp0), ._, ._ }, |
| 115960 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 120599 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 115961 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, | 120600 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, |
| 115962 | .{ ._, .f_p, .st, .lea(.tmp1t), ._, ._, ._ }, | 120601 | .{ ._, .f_p, .st, .lea(.tmp1t), ._, ._, ._ }, |
| 115963 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 16), ._, ._ }, | 120602 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, -16), ._, ._ }, |
| 115964 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 120603 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 115965 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 120604 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| | 120605 | } }, |
| | 120606 | }, .{ |
| | 120607 | .required_cc_abi = .win64, |
| | 120608 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| | 120609 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| | 120610 | .patterns = &.{ |
| | 120611 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 120612 | }, |
| | 120613 | .call_frame = .{ .alignment = .@"16" }, |
| | 120614 | .extra_temps = .{ |
| | 120615 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 120616 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 120617 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 120618 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 120619 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsixf" } }, |
| | 120620 | .unused, |
| | 120621 | .unused, |
| | 120622 | .unused, |
| | 120623 | .unused, |
| | 120624 | .unused, |
| | 120625 | .unused, |
| | 120626 | }, |
| | 120627 | .dst_temps = .{ .mem, .unused }, |
| | 120628 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 120629 | .each = .{ .once = &.{ |
| | 120630 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| | 120631 | .{ ._, ._, .lea, .tmp1p, .memad(.dst0, .add_unaligned_size, -16), ._, ._ }, |
| | 120632 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| | 120633 | .{ ._, ._, .movsx, .tmp3d, .memi(.src0b, .tmp0), ._, ._ }, |
| | 120634 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 120635 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, -16), ._, ._ }, |
| | 120636 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| | 120637 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 115966 | } }, | 120638 | } }, |
| 115967 | }, .{ | 120639 | }, .{ |
| | 120640 | .required_cc_abi = .sysv64, |
| 115968 | .required_features = .{ .x87, .slow_incdec, null, null }, | 120641 | .required_features = .{ .x87, .slow_incdec, null, null }, |
| 115969 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any }, | 120642 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| 115970 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, | 120643 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| ... | @@ -115973,9 +120646,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115973,9 +120646,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115973 | }, | 120646 | }, |
| 115974 | .call_frame = .{ .alignment = .@"16" }, | 120647 | .call_frame = .{ .alignment = .@"16" }, |
| 115975 | .extra_temps = .{ | 120648 | .extra_temps = .{ |
| 115976 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 120649 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 115977 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 120650 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 115978 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 120651 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 115979 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsixf" } }, | 120652 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsixf" } }, |
| 115980 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 120653 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 115981 | .unused, | 120654 | .unused, |
| ... | @@ -115988,17 +120661,52 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -115988,17 +120661,52 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 115988 | .dst_temps = .{ .mem, .unused }, | 120661 | .dst_temps = .{ .mem, .unused }, |
| 115989 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 120662 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 115990 | .each = .{ .once = &.{ | 120663 | .each = .{ .once = &.{ |
| 115991 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 120664 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 115992 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 120665 | .{ ._, ._, .lea, .tmp1p, .memad(.dst0, .add_unaligned_size, -16), ._, ._ }, |
| 115993 | .{ .@"0:", ._, .movzx, .tmp2d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 120666 | .{ .@"0:", ._, .movzx, .tmp2d, .memi(.src0b, .tmp0), ._, ._ }, |
| 115994 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 120667 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 115995 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, | 120668 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, |
| 115996 | .{ ._, .f_p, .st, .lea(.tmp1t), ._, ._, ._ }, | 120669 | .{ ._, .f_p, .st, .lea(.tmp1t), ._, ._, ._ }, |
| 115997 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 16), ._, ._ }, | 120670 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, -16), ._, ._ }, |
| 115998 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 120671 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 115999 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 120672 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 120673 | } }, |
| | 120674 | }, .{ |
| | 120675 | .required_cc_abi = .win64, |
| | 120676 | .required_features = .{ .slow_incdec, null, null, null }, |
| | 120677 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| | 120678 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| | 120679 | .patterns = &.{ |
| | 120680 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 120681 | }, |
| | 120682 | .call_frame = .{ .alignment = .@"16" }, |
| | 120683 | .extra_temps = .{ |
| | 120684 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 120685 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 120686 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 120687 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 120688 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsixf" } }, |
| | 120689 | .unused, |
| | 120690 | .unused, |
| | 120691 | .unused, |
| | 120692 | .unused, |
| | 120693 | .unused, |
| | 120694 | .unused, |
| | 120695 | }, |
| | 120696 | .dst_temps = .{ .mem, .unused }, |
| | 120697 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 120698 | .each = .{ .once = &.{ |
| | 120699 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| | 120700 | .{ ._, ._, .lea, .tmp1p, .memad(.dst0, .add_unaligned_size, -16), ._, ._ }, |
| | 120701 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| | 120702 | .{ ._, ._, .movzx, .tmp3d, .memi(.src0b, .tmp0), ._, ._ }, |
| | 120703 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 120704 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, -16), ._, ._ }, |
| | 120705 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| | 120706 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 116000 | } }, | 120707 | } }, |
| 116001 | }, .{ | 120708 | }, .{ |
| | 120709 | .required_cc_abi = .sysv64, |
| 116002 | .required_features = .{ .x87, null, null, null }, | 120710 | .required_features = .{ .x87, null, null, null }, |
| 116003 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any }, | 120711 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| 116004 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, | 120712 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| ... | @@ -116007,9 +120715,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116007,9 +120715,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116007 | }, | 120715 | }, |
| 116008 | .call_frame = .{ .alignment = .@"16" }, | 120716 | .call_frame = .{ .alignment = .@"16" }, |
| 116009 | .extra_temps = .{ | 120717 | .extra_temps = .{ |
| 116010 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 120718 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 116011 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 120719 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 116012 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 120720 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116013 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsixf" } }, | 120721 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsixf" } }, |
| 116014 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 120722 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 116015 | .unused, | 120723 | .unused, |
| ... | @@ -116022,15 +120730,48 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116022,15 +120730,48 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116022 | .dst_temps = .{ .mem, .unused }, | 120730 | .dst_temps = .{ .mem, .unused }, |
| 116023 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 120731 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 116024 | .each = .{ .once = &.{ | 120732 | .each = .{ .once = &.{ |
| 116025 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 120733 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 116026 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 120734 | .{ ._, ._, .lea, .tmp1p, .memad(.dst0, .add_unaligned_size, -16), ._, ._ }, |
| 116027 | .{ .@"0:", ._, .movzx, .tmp2d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 120735 | .{ .@"0:", ._, .movzx, .tmp2d, .memi(.src0b, .tmp0), ._, ._ }, |
| 116028 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 120736 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 116029 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, | 120737 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, |
| 116030 | .{ ._, .f_p, .st, .lea(.tmp1t), ._, ._, ._ }, | 120738 | .{ ._, .f_p, .st, .lea(.tmp1t), ._, ._, ._ }, |
| 116031 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 16), ._, ._ }, | 120739 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, -16), ._, ._ }, |
| 116032 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 120740 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 116033 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 120741 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| | 120742 | } }, |
| | 120743 | }, .{ |
| | 120744 | .required_cc_abi = .win64, |
| | 120745 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| | 120746 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| | 120747 | .patterns = &.{ |
| | 120748 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 120749 | }, |
| | 120750 | .call_frame = .{ .alignment = .@"16" }, |
| | 120751 | .extra_temps = .{ |
| | 120752 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 120753 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 120754 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 120755 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 120756 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsixf" } }, |
| | 120757 | .unused, |
| | 120758 | .unused, |
| | 120759 | .unused, |
| | 120760 | .unused, |
| | 120761 | .unused, |
| | 120762 | .unused, |
| | 120763 | }, |
| | 120764 | .dst_temps = .{ .mem, .unused }, |
| | 120765 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 120766 | .each = .{ .once = &.{ |
| | 120767 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| | 120768 | .{ ._, ._, .lea, .tmp1p, .memad(.dst0, .add_unaligned_size, -16), ._, ._ }, |
| | 120769 | .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ }, |
| | 120770 | .{ ._, ._, .movzx, .tmp3d, .memi(.src0b, .tmp0), ._, ._ }, |
| | 120771 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 120772 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, -16), ._, ._ }, |
| | 120773 | .{ ._, ._c, .de, .tmp0d, .si(1), ._, ._ }, |
| | 120774 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 116034 | } }, | 120775 | } }, |
| 116035 | }, .{ | 120776 | }, .{ |
| 116036 | .required_features = .{ .x87, null, null, null }, | 120777 | .required_features = .{ .x87, null, null, null }, |
| ... | @@ -116040,7 +120781,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116040,7 +120781,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116040 | .{ .src = .{ .to_mem, .none, .none } }, | 120781 | .{ .src = .{ .to_mem, .none, .none } }, |
| 116041 | }, | 120782 | }, |
| 116042 | .extra_temps = .{ | 120783 | .extra_temps = .{ |
| 116043 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 120784 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 116044 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 120785 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 116045 | .unused, | 120786 | .unused, |
| 116046 | .unused, | 120787 | .unused, |
| ... | @@ -116055,13 +120796,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116055,13 +120796,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116055 | .dst_temps = .{ .mem, .unused }, | 120796 | .dst_temps = .{ .mem, .unused }, |
| 116056 | .clobbers = .{ .eflags = true }, | 120797 | .clobbers = .{ .eflags = true }, |
| 116057 | .each = .{ .once = &.{ | 120798 | .each = .{ .once = &.{ |
| 116058 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 120799 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 116059 | .{ .@"0:", .fi_, .ld, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 120800 | .{ .@"0:", .fi_, .ld, .memi(.src0w, .tmp0), ._, ._, ._ }, |
| 116060 | .{ ._, .f_p, .st, .memsia(.dst0t, .@"8", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 120801 | .{ ._, .f_p, .st, .memsi(.dst0t, .@"8", .tmp0), ._, ._, ._ }, |
| 116061 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 120802 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 116062 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 120803 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 116063 | } }, | 120804 | } }, |
| 116064 | }, .{ | 120805 | }, .{ |
| | 120806 | .required_cc_abi = .sysv64, |
| 116065 | .required_features = .{ .x87, null, null, null }, | 120807 | .required_features = .{ .x87, null, null, null }, |
| 116066 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any }, | 120808 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any }, |
| 116067 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, | 120809 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| ... | @@ -116070,8 +120812,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116070,8 +120812,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116070 | }, | 120812 | }, |
| 116071 | .call_frame = .{ .alignment = .@"16" }, | 120813 | .call_frame = .{ .alignment = .@"16" }, |
| 116072 | .extra_temps = .{ | 120814 | .extra_temps = .{ |
| 116073 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 120815 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 116074 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 120816 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116075 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsixf" } }, | 120817 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsixf" } }, |
| 116076 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 120818 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 116077 | .unused, | 120819 | .unused, |
| ... | @@ -116085,15 +120827,47 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116085,15 +120827,47 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116085 | .dst_temps = .{ .mem, .unused }, | 120827 | .dst_temps = .{ .mem, .unused }, |
| 116086 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 120828 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 116087 | .each = .{ .once = &.{ | 120829 | .each = .{ .once = &.{ |
| 116088 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 120830 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 116089 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 120831 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 116090 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 120832 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 116091 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, | 120833 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, |
| 116092 | .{ ._, .f_p, .st, .memsia(.dst0t, .@"8", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 120834 | .{ ._, .f_p, .st, .memsi(.dst0t, .@"8", .tmp0), ._, ._, ._ }, |
| 116093 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 120835 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 116094 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 120836 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 116095 | } }, | 120837 | } }, |
| 116096 | }, .{ | 120838 | }, .{ |
| | 120839 | .required_cc_abi = .win64, |
| | 120840 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 120841 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| | 120842 | .patterns = &.{ |
| | 120843 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 120844 | }, |
| | 120845 | .call_frame = .{ .alignment = .@"16" }, |
| | 120846 | .extra_temps = .{ |
| | 120847 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 120848 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 120849 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 120850 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsixf" } }, |
| | 120851 | .unused, |
| | 120852 | .unused, |
| | 120853 | .unused, |
| | 120854 | .unused, |
| | 120855 | .unused, |
| | 120856 | .unused, |
| | 120857 | .unused, |
| | 120858 | }, |
| | 120859 | .dst_temps = .{ .mem, .unused }, |
| | 120860 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 120861 | .each = .{ .once = &.{ |
| | 120862 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 120863 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.dst0, .@"8", .tmp0), ._, ._ }, |
| | 120864 | .{ ._, ._, .movsx, .tmp2d, .memi(.src0w, .tmp0), ._, ._ }, |
| | 120865 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 120866 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 120867 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 120868 | } }, |
| | 120869 | }, .{ |
| | 120870 | .required_cc_abi = .sysv64, |
| 116097 | .required_features = .{ .x87, null, null, null }, | 120871 | .required_features = .{ .x87, null, null, null }, |
| 116098 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any }, | 120872 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any }, |
| 116099 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, | 120873 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| ... | @@ -116102,8 +120876,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116102,8 +120876,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116102 | }, | 120876 | }, |
| 116103 | .call_frame = .{ .alignment = .@"16" }, | 120877 | .call_frame = .{ .alignment = .@"16" }, |
| 116104 | .extra_temps = .{ | 120878 | .extra_temps = .{ |
| 116105 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 120879 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 116106 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 120880 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116107 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsixf" } }, | 120881 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsixf" } }, |
| 116108 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 120882 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 116109 | .unused, | 120883 | .unused, |
| ... | @@ -116117,13 +120891,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116117,13 +120891,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116117 | .dst_temps = .{ .mem, .unused }, | 120891 | .dst_temps = .{ .mem, .unused }, |
| 116118 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 120892 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 116119 | .each = .{ .once = &.{ | 120893 | .each = .{ .once = &.{ |
| 116120 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 120894 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 116121 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 120895 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 116122 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 120896 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 116123 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, | 120897 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, |
| 116124 | .{ ._, .f_p, .st, .memsia(.dst0t, .@"8", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 120898 | .{ ._, .f_p, .st, .memsi(.dst0t, .@"8", .tmp0), ._, ._, ._ }, |
| 116125 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 120899 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 116126 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 120900 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 120901 | } }, |
| | 120902 | }, .{ |
| | 120903 | .required_cc_abi = .win64, |
| | 120904 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 120905 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| | 120906 | .patterns = &.{ |
| | 120907 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 120908 | }, |
| | 120909 | .call_frame = .{ .alignment = .@"16" }, |
| | 120910 | .extra_temps = .{ |
| | 120911 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 120912 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 120913 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 120914 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsixf" } }, |
| | 120915 | .unused, |
| | 120916 | .unused, |
| | 120917 | .unused, |
| | 120918 | .unused, |
| | 120919 | .unused, |
| | 120920 | .unused, |
| | 120921 | .unused, |
| | 120922 | }, |
| | 120923 | .dst_temps = .{ .mem, .unused }, |
| | 120924 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 120925 | .each = .{ .once = &.{ |
| | 120926 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 120927 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.dst0, .@"8", .tmp0), ._, ._ }, |
| | 120928 | .{ ._, ._, .movzx, .tmp2d, .memi(.src0w, .tmp0), ._, ._ }, |
| | 120929 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 120930 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 120931 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 116127 | } }, | 120932 | } }, |
| 116128 | }, .{ | 120933 | }, .{ |
| 116129 | .required_features = .{ .x87, null, null, null }, | 120934 | .required_features = .{ .x87, null, null, null }, |
| ... | @@ -116133,7 +120938,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116133,7 +120938,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116133 | .{ .src = .{ .to_mem, .none, .none } }, | 120938 | .{ .src = .{ .to_mem, .none, .none } }, |
| 116134 | }, | 120939 | }, |
| 116135 | .extra_temps = .{ | 120940 | .extra_temps = .{ |
| 116136 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 120941 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 116137 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 120942 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 116138 | .unused, | 120943 | .unused, |
| 116139 | .unused, | 120944 | .unused, |
| ... | @@ -116148,13 +120953,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116148,13 +120953,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116148 | .dst_temps = .{ .mem, .unused }, | 120953 | .dst_temps = .{ .mem, .unused }, |
| 116149 | .clobbers = .{ .eflags = true }, | 120954 | .clobbers = .{ .eflags = true }, |
| 116150 | .each = .{ .once = &.{ | 120955 | .each = .{ .once = &.{ |
| 116151 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 120956 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 116152 | .{ .@"0:", .fi_, .ld, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 120957 | .{ .@"0:", .fi_, .ld, .memi(.src0d, .tmp0), ._, ._, ._ }, |
| 116153 | .{ ._, .f_p, .st, .memsia(.dst0t, .@"4", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 120958 | .{ ._, .f_p, .st, .memsi(.dst0t, .@"4", .tmp0), ._, ._, ._ }, |
| 116154 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 120959 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 116155 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 120960 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 116156 | } }, | 120961 | } }, |
| 116157 | }, .{ | 120962 | }, .{ |
| | 120963 | .required_cc_abi = .sysv64, |
| 116158 | .required_features = .{ .x87, null, null, null }, | 120964 | .required_features = .{ .x87, null, null, null }, |
| 116159 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any }, | 120965 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| 116160 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, | 120966 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| ... | @@ -116163,8 +120969,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116163,8 +120969,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116163 | }, | 120969 | }, |
| 116164 | .call_frame = .{ .alignment = .@"16" }, | 120970 | .call_frame = .{ .alignment = .@"16" }, |
| 116165 | .extra_temps = .{ | 120971 | .extra_temps = .{ |
| 116166 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 120972 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 116167 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 120973 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116168 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsixf" } }, | 120974 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsixf" } }, |
| 116169 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 120975 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 116170 | .unused, | 120976 | .unused, |
| ... | @@ -116178,15 +120984,47 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116178,15 +120984,47 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116178 | .dst_temps = .{ .mem, .unused }, | 120984 | .dst_temps = .{ .mem, .unused }, |
| 116179 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 120985 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 116180 | .each = .{ .once = &.{ | 120986 | .each = .{ .once = &.{ |
| 116181 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 120987 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 116182 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 120988 | .{ .@"0:", ._, .mov, .tmp1d, .memi(.src0d, .tmp0), ._, ._ }, |
| 116183 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 120989 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 116184 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, | 120990 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, |
| 116185 | .{ ._, .f_p, .st, .memsia(.dst0t, .@"4", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 120991 | .{ ._, .f_p, .st, .memsi(.dst0t, .@"4", .tmp0), ._, ._, ._ }, |
| 116186 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 120992 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 116187 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 120993 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 120994 | } }, |
| | 120995 | }, .{ |
| | 120996 | .required_cc_abi = .win64, |
| | 120997 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| | 120998 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| | 120999 | .patterns = &.{ |
| | 121000 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 121001 | }, |
| | 121002 | .call_frame = .{ .alignment = .@"16" }, |
| | 121003 | .extra_temps = .{ |
| | 121004 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 121005 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 121006 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 121007 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsixf" } }, |
| | 121008 | .unused, |
| | 121009 | .unused, |
| | 121010 | .unused, |
| | 121011 | .unused, |
| | 121012 | .unused, |
| | 121013 | .unused, |
| | 121014 | .unused, |
| | 121015 | }, |
| | 121016 | .dst_temps = .{ .mem, .unused }, |
| | 121017 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 121018 | .each = .{ .once = &.{ |
| | 121019 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 121020 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.dst0, .@"4", .tmp0), ._, ._ }, |
| | 121021 | .{ ._, ._, .mov, .tmp2d, .memi(.src0d, .tmp0), ._, ._ }, |
| | 121022 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 121023 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| | 121024 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 116188 | } }, | 121025 | } }, |
| 116189 | }, .{ | 121026 | }, .{ |
| | 121027 | .required_cc_abi = .sysv64, |
| 116190 | .required_features = .{ .x87, null, null, null }, | 121028 | .required_features = .{ .x87, null, null, null }, |
| 116191 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any }, | 121029 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| 116192 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, | 121030 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| ... | @@ -116195,8 +121033,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116195,8 +121033,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116195 | }, | 121033 | }, |
| 116196 | .call_frame = .{ .alignment = .@"16" }, | 121034 | .call_frame = .{ .alignment = .@"16" }, |
| 116197 | .extra_temps = .{ | 121035 | .extra_temps = .{ |
| 116198 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 121036 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 116199 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 121037 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116200 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsixf" } }, | 121038 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsixf" } }, |
| 116201 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 121039 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 116202 | .unused, | 121040 | .unused, |
| ... | @@ -116210,13 +121048,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116210,13 +121048,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116210 | .dst_temps = .{ .mem, .unused }, | 121048 | .dst_temps = .{ .mem, .unused }, |
| 116211 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 121049 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 116212 | .each = .{ .once = &.{ | 121050 | .each = .{ .once = &.{ |
| 116213 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 121051 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 116214 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 121052 | .{ .@"0:", ._, .mov, .tmp1d, .memi(.src0d, .tmp0), ._, ._ }, |
| 116215 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 121053 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 116216 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, | 121054 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, |
| 116217 | .{ ._, .f_p, .st, .memsia(.dst0t, .@"4", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 121055 | .{ ._, .f_p, .st, .memsi(.dst0t, .@"4", .tmp0), ._, ._, ._ }, |
| 116218 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 121056 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 116219 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 121057 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 121058 | } }, |
| | 121059 | }, .{ |
| | 121060 | .required_cc_abi = .win64, |
| | 121061 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| | 121062 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| | 121063 | .patterns = &.{ |
| | 121064 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 121065 | }, |
| | 121066 | .call_frame = .{ .alignment = .@"16" }, |
| | 121067 | .extra_temps = .{ |
| | 121068 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 121069 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 121070 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 121071 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsixf" } }, |
| | 121072 | .unused, |
| | 121073 | .unused, |
| | 121074 | .unused, |
| | 121075 | .unused, |
| | 121076 | .unused, |
| | 121077 | .unused, |
| | 121078 | .unused, |
| | 121079 | }, |
| | 121080 | .dst_temps = .{ .mem, .unused }, |
| | 121081 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 121082 | .each = .{ .once = &.{ |
| | 121083 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 121084 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.dst0, .@"4", .tmp0), ._, ._ }, |
| | 121085 | .{ ._, ._, .mov, .tmp2d, .memi(.src0d, .tmp0), ._, ._ }, |
| | 121086 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 121087 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| | 121088 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 116220 | } }, | 121089 | } }, |
| 116221 | }, .{ | 121090 | }, .{ |
| 116222 | .required_features = .{ .x87, null, null, null }, | 121091 | .required_features = .{ .x87, null, null, null }, |
| ... | @@ -116226,7 +121095,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116226,7 +121095,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116226 | .{ .src = .{ .to_mem, .none, .none } }, | 121095 | .{ .src = .{ .to_mem, .none, .none } }, |
| 116227 | }, | 121096 | }, |
| 116228 | .extra_temps = .{ | 121097 | .extra_temps = .{ |
| 116229 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 121098 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 116230 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 121099 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 116231 | .unused, | 121100 | .unused, |
| 116232 | .unused, | 121101 | .unused, |
| ... | @@ -116241,14 +121110,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116241,14 +121110,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116241 | .dst_temps = .{ .mem, .unused }, | 121110 | .dst_temps = .{ .mem, .unused }, |
| 116242 | .clobbers = .{ .eflags = true }, | 121111 | .clobbers = .{ .eflags = true }, |
| 116243 | .each = .{ .once = &.{ | 121112 | .each = .{ .once = &.{ |
| 116244 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 121113 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 116245 | .{ .@"0:", .fi_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 121114 | .{ .@"0:", .fi_, .ld, .memi(.src0q, .tmp0), ._, ._, ._ }, |
| 116246 | .{ ._, .f_p, .st, .memsia(.dst0t, .@"2", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 121115 | .{ ._, .f_p, .st, .memsi(.dst0t, .@"2", .tmp0), ._, ._, ._ }, |
| 116247 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 121116 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 116248 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 121117 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 116249 | } }, | 121118 | } }, |
| 116250 | }, .{ | 121119 | }, .{ |
| 116251 | .required_features = .{ .@"64bit", .x87, null, null }, | 121120 | .required_cc_abi = .sysv64, |
| | 121121 | .required_features = .{ .x87, null, null, null }, |
| 116252 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any }, | 121122 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 116253 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, | 121123 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| 116254 | .patterns = &.{ | 121124 | .patterns = &.{ |
| ... | @@ -116256,8 +121126,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116256,8 +121126,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116256 | }, | 121126 | }, |
| 116257 | .call_frame = .{ .alignment = .@"16" }, | 121127 | .call_frame = .{ .alignment = .@"16" }, |
| 116258 | .extra_temps = .{ | 121128 | .extra_temps = .{ |
| 116259 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 121129 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 116260 | .{ .type = .i64, .kind = .{ .reg = .rdi } }, | 121130 | .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116261 | .{ .type = .usize, .kind = .{ .extern_func = "__floatdixf" } }, | 121131 | .{ .type = .usize, .kind = .{ .extern_func = "__floatdixf" } }, |
| 116262 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 121132 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 116263 | .unused, | 121133 | .unused, |
| ... | @@ -116271,16 +121141,48 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116271,16 +121141,48 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116271 | .dst_temps = .{ .mem, .unused }, | 121141 | .dst_temps = .{ .mem, .unused }, |
| 116272 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 121142 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 116273 | .each = .{ .once = &.{ | 121143 | .each = .{ .once = &.{ |
| 116274 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 121144 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 116275 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 121145 | .{ .@"0:", ._, .mov, .tmp1q, .memi(.src0q, .tmp0), ._, ._ }, |
| 116276 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 121146 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 116277 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, | 121147 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, |
| 116278 | .{ ._, .f_p, .st, .memsia(.dst0t, .@"2", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 121148 | .{ ._, .f_p, .st, .memsi(.dst0t, .@"2", .tmp0), ._, ._, ._ }, |
| 116279 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 121149 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 116280 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 121150 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 116281 | } }, | 121151 | } }, |
| 116282 | }, .{ | 121152 | }, .{ |
| 116283 | .required_features = .{ .@"64bit", .x87, null, null }, | 121153 | .required_cc_abi = .win64, |
| | 121154 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 121155 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| | 121156 | .patterns = &.{ |
| | 121157 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 121158 | }, |
| | 121159 | .call_frame = .{ .alignment = .@"16" }, |
| | 121160 | .extra_temps = .{ |
| | 121161 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 121162 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 121163 | .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 121164 | .{ .type = .usize, .kind = .{ .extern_func = "__floatdixf" } }, |
| | 121165 | .unused, |
| | 121166 | .unused, |
| | 121167 | .unused, |
| | 121168 | .unused, |
| | 121169 | .unused, |
| | 121170 | .unused, |
| | 121171 | .unused, |
| | 121172 | }, |
| | 121173 | .dst_temps = .{ .mem, .unused }, |
| | 121174 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 121175 | .each = .{ .once = &.{ |
| | 121176 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| | 121177 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.dst0, .@"2", .tmp0), ._, ._ }, |
| | 121178 | .{ ._, ._, .mov, .tmp2q, .memi(.src0q, .tmp0), ._, ._ }, |
| | 121179 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 121180 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 121181 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 121182 | } }, |
| | 121183 | }, .{ |
| | 121184 | .required_cc_abi = .sysv64, |
| | 121185 | .required_features = .{ .x87, null, null, null }, |
| 116284 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any }, | 121186 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 116285 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, | 121187 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| 116286 | .patterns = &.{ | 121188 | .patterns = &.{ |
| ... | @@ -116288,8 +121190,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116288,8 +121190,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116288 | }, | 121190 | }, |
| 116289 | .call_frame = .{ .alignment = .@"16" }, | 121191 | .call_frame = .{ .alignment = .@"16" }, |
| 116290 | .extra_temps = .{ | 121192 | .extra_temps = .{ |
| 116291 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 121193 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 116292 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 121194 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116293 | .{ .type = .usize, .kind = .{ .extern_func = "__floatundixf" } }, | 121195 | .{ .type = .usize, .kind = .{ .extern_func = "__floatundixf" } }, |
| 116294 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 121196 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 116295 | .unused, | 121197 | .unused, |
| ... | @@ -116303,16 +121205,48 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116303,16 +121205,48 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116303 | .dst_temps = .{ .mem, .unused }, | 121205 | .dst_temps = .{ .mem, .unused }, |
| 116304 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 121206 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 116305 | .each = .{ .once = &.{ | 121207 | .each = .{ .once = &.{ |
| 116306 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 121208 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 116307 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 121209 | .{ .@"0:", ._, .mov, .tmp1q, .memi(.src0q, .tmp0), ._, ._ }, |
| 116308 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 121210 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 116309 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, | 121211 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, |
| 116310 | .{ ._, .f_p, .st, .memsia(.dst0t, .@"2", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 121212 | .{ ._, .f_p, .st, .memsi(.dst0t, .@"2", .tmp0), ._, ._, ._ }, |
| 116311 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 121213 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 116312 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 121214 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 116313 | } }, | 121215 | } }, |
| 116314 | }, .{ | 121216 | }, .{ |
| 116315 | .required_features = .{ .@"64bit", .x87, null, null }, | 121217 | .required_cc_abi = .win64, |
| | 121218 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 121219 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| | 121220 | .patterns = &.{ |
| | 121221 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 121222 | }, |
| | 121223 | .call_frame = .{ .alignment = .@"16" }, |
| | 121224 | .extra_temps = .{ |
| | 121225 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 121226 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 121227 | .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 121228 | .{ .type = .usize, .kind = .{ .extern_func = "__floatundixf" } }, |
| | 121229 | .unused, |
| | 121230 | .unused, |
| | 121231 | .unused, |
| | 121232 | .unused, |
| | 121233 | .unused, |
| | 121234 | .unused, |
| | 121235 | .unused, |
| | 121236 | }, |
| | 121237 | .dst_temps = .{ .mem, .unused }, |
| | 121238 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 121239 | .each = .{ .once = &.{ |
| | 121240 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| | 121241 | .{ .@"0:", ._, .lea, .tmp1p, .memsi(.dst0, .@"2", .tmp0), ._, ._ }, |
| | 121242 | .{ ._, ._, .mov, .tmp2q, .memi(.src0q, .tmp0), ._, ._ }, |
| | 121243 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 121244 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 121245 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 121246 | } }, |
| | 121247 | }, .{ |
| | 121248 | .required_cc_abi = .sysv64, |
| | 121249 | .required_features = .{ .x87, null, null, null }, |
| 116316 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 121250 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 116317 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, | 121251 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| 116318 | .patterns = &.{ | 121252 | .patterns = &.{ |
| ... | @@ -116320,9 +121254,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116320,9 +121254,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116320 | }, | 121254 | }, |
| 116321 | .call_frame = .{ .alignment = .@"16" }, | 121255 | .call_frame = .{ .alignment = .@"16" }, |
| 116322 | .extra_temps = .{ | 121256 | .extra_temps = .{ |
| 116323 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 121257 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 116324 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 121258 | .{ .type = .i128, .kind = .{ .param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116325 | .{ .type = .i64, .kind = .{ .reg = .rsi } }, | | |
| 116326 | .{ .type = .usize, .kind = .{ .extern_func = "__floattixf" } }, | 121259 | .{ .type = .usize, .kind = .{ .extern_func = "__floattixf" } }, |
| 116327 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 121260 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 116328 | .unused, | 121261 | .unused, |
| ... | @@ -116331,21 +121264,54 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116331,21 +121264,54 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116331 | .unused, | 121264 | .unused, |
| 116332 | .unused, | 121265 | .unused, |
| 116333 | .unused, | 121266 | .unused, |
| | 121267 | .unused, |
| 116334 | }, | 121268 | }, |
| 116335 | .dst_temps = .{ .mem, .unused }, | 121269 | .dst_temps = .{ .mem, .unused }, |
| 116336 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 121270 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 116337 | .each = .{ .once = &.{ | 121271 | .each = .{ .once = &.{ |
| 116338 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 121272 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 116339 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 121273 | .{ .@"0:", ._, .mov, .tmp1q0, .memi(.src0q, .tmp0), ._, ._ }, |
| 116340 | .{ ._, ._, .mov, .tmp2q, .memiad(.src0q, .tmp0, .add_unaligned_size, 8), ._, ._ }, | 121274 | .{ ._, ._, .mov, .tmp1q1, .memid(.src0q, .tmp0, 8), ._, ._ }, |
| 116341 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 121275 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 116342 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, | 121276 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, |
| 116343 | .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 121277 | .{ ._, .f_p, .st, .memi(.dst0t, .tmp0), ._, ._, ._ }, |
| 116344 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 121278 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 116345 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 121279 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 116346 | } }, | 121280 | } }, |
| 116347 | }, .{ | 121281 | }, .{ |
| 116348 | .required_features = .{ .@"64bit", .x87, null, null }, | 121282 | .required_cc_abi = .win64, |
| | 121283 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 121284 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| | 121285 | .patterns = &.{ |
| | 121286 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 121287 | }, |
| | 121288 | .call_frame = .{ .alignment = .@"16" }, |
| | 121289 | .extra_temps = .{ |
| | 121290 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 121291 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 121292 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 121293 | .{ .type = .usize, .kind = .{ .extern_func = "__floattixf" } }, |
| | 121294 | .unused, |
| | 121295 | .unused, |
| | 121296 | .unused, |
| | 121297 | .unused, |
| | 121298 | .unused, |
| | 121299 | .unused, |
| | 121300 | .unused, |
| | 121301 | }, |
| | 121302 | .dst_temps = .{ .mem, .unused }, |
| | 121303 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 121304 | .each = .{ .once = &.{ |
| | 121305 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 121306 | .{ .@"0:", ._, .lea, .tmp1p, .memi(.dst0, .tmp0), ._, ._ }, |
| | 121307 | .{ ._, ._, .lea, .tmp2p, .memi(.src0, .tmp0), ._, ._ }, |
| | 121308 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 121309 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 121310 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 121311 | } }, |
| | 121312 | }, .{ |
| | 121313 | .required_cc_abi = .sysv64, |
| | 121314 | .required_features = .{ .x87, null, null, null }, |
| 116349 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 121315 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 116350 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, | 121316 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| 116351 | .patterns = &.{ | 121317 | .patterns = &.{ |
| ... | @@ -116353,9 +121319,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116353,9 +121319,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116353 | }, | 121319 | }, |
| 116354 | .call_frame = .{ .alignment = .@"16" }, | 121320 | .call_frame = .{ .alignment = .@"16" }, |
| 116355 | .extra_temps = .{ | 121321 | .extra_temps = .{ |
| 116356 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 121322 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 116357 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 121323 | .{ .type = .u128, .kind = .{ .param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116358 | .{ .type = .u64, .kind = .{ .reg = .rsi } }, | | |
| 116359 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntixf" } }, | 121324 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntixf" } }, |
| 116360 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 121325 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 116361 | .unused, | 121326 | .unused, |
| ... | @@ -116364,21 +121329,54 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116364,21 +121329,54 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116364 | .unused, | 121329 | .unused, |
| 116365 | .unused, | 121330 | .unused, |
| 116366 | .unused, | 121331 | .unused, |
| | 121332 | .unused, |
| 116367 | }, | 121333 | }, |
| 116368 | .dst_temps = .{ .mem, .unused }, | 121334 | .dst_temps = .{ .mem, .unused }, |
| 116369 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 121335 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 116370 | .each = .{ .once = &.{ | 121336 | .each = .{ .once = &.{ |
| 116371 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 121337 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 116372 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 121338 | .{ .@"0:", ._, .mov, .tmp1q0, .memi(.src0q, .tmp0), ._, ._ }, |
| 116373 | .{ ._, ._, .mov, .tmp2q, .memiad(.src0q, .tmp0, .add_unaligned_size, 8), ._, ._ }, | 121339 | .{ ._, ._, .mov, .tmp1q1, .memid(.src0q, .tmp0, 8), ._, ._ }, |
| 116374 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 121340 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 116375 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, | 121341 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, |
| 116376 | .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 121342 | .{ ._, .f_p, .st, .memi(.dst0t, .tmp0), ._, ._, ._ }, |
| 116377 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 121343 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 116378 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 121344 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 116379 | } }, | 121345 | } }, |
| 116380 | }, .{ | 121346 | }, .{ |
| 116381 | .required_features = .{ .@"64bit", .x87, null, null }, | 121347 | .required_cc_abi = .win64, |
| | 121348 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 121349 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| | 121350 | .patterns = &.{ |
| | 121351 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 121352 | }, |
| | 121353 | .call_frame = .{ .alignment = .@"16" }, |
| | 121354 | .extra_temps = .{ |
| | 121355 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 121356 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 121357 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 121358 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntixf" } }, |
| | 121359 | .unused, |
| | 121360 | .unused, |
| | 121361 | .unused, |
| | 121362 | .unused, |
| | 121363 | .unused, |
| | 121364 | .unused, |
| | 121365 | .unused, |
| | 121366 | }, |
| | 121367 | .dst_temps = .{ .mem, .unused }, |
| | 121368 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 121369 | .each = .{ .once = &.{ |
| | 121370 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 121371 | .{ .@"0:", ._, .lea, .tmp1p, .memi(.dst0, .tmp0), ._, ._ }, |
| | 121372 | .{ ._, ._, .lea, .tmp2p, .memi(.src0, .tmp0), ._, ._ }, |
| | 121373 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 121374 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 121375 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 121376 | } }, |
| | 121377 | }, .{ |
| | 121378 | .required_cc_abi = .sysv64, |
| | 121379 | .required_features = .{ .x87, null, null, null }, |
| 116382 | .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any }, | 121380 | .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| 116383 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, | 121381 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| 116384 | .patterns = &.{ | 121382 | .patterns = &.{ |
| ... | @@ -116387,9 +121385,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116387,9 +121385,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116387 | .call_frame = .{ .alignment = .@"16" }, | 121385 | .call_frame = .{ .alignment = .@"16" }, |
| 116388 | .extra_temps = .{ | 121386 | .extra_temps = .{ |
| 116389 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 121387 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 116390 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 121388 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 116391 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 121389 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116392 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 121390 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 116393 | .{ .type = .usize, .kind = .{ .extern_func = "__floateixf" } }, | 121391 | .{ .type = .usize, .kind = .{ .extern_func = "__floateixf" } }, |
| 116394 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 121392 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 116395 | .unused, | 121393 | .unused, |
| ... | @@ -116401,19 +121399,54 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116401,19 +121399,54 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116401 | .dst_temps = .{ .mem, .unused }, | 121399 | .dst_temps = .{ .mem, .unused }, |
| 116402 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 121400 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 116403 | .each = .{ .once = &.{ | 121401 | .each = .{ .once = &.{ |
| 116404 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 121402 | .{ ._, ._, .lea, .tmp0p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 116405 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 121403 | .{ ._, ._, .mov, .tmp1d, .sia(-16, .dst0, .add_unaligned_size), ._, ._ }, |
| 116406 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, | 121404 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, |
| 116407 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, | 121405 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, |
| 116408 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 121406 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 116409 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, | 121407 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, |
| 116410 | .{ ._, .f_p, .st, .memia(.dst0t, .tmp1, .add_unaligned_size), ._, ._, ._ }, | 121408 | .{ ._, .f_p, .st, .memi(.dst0t, .tmp1), ._, ._, ._ }, |
| 116411 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ }, | 121409 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .sub_src0_elem_size), ._, ._ }, |
| 116412 | .{ ._, ._, .add, .tmp1p, .si(16), ._, ._ }, | 121410 | .{ ._, ._, .sub, .tmp1d, .si(16), ._, ._ }, |
| 116413 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 121411 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 116414 | } }, | 121412 | } }, |
| 116415 | }, .{ | 121413 | }, .{ |
| 116416 | .required_features = .{ .@"64bit", .x87, null, null }, | 121414 | .required_cc_abi = .win64, |
| | 121415 | .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| | 121416 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| | 121417 | .patterns = &.{ |
| | 121418 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 121419 | }, |
| | 121420 | .call_frame = .{ .alignment = .@"16" }, |
| | 121421 | .extra_temps = .{ |
| | 121422 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 121423 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 121424 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 121425 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 121426 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| | 121427 | .{ .type = .usize, .kind = .{ .extern_func = "__floateixf" } }, |
| | 121428 | .unused, |
| | 121429 | .unused, |
| | 121430 | .unused, |
| | 121431 | .unused, |
| | 121432 | .unused, |
| | 121433 | }, |
| | 121434 | .dst_temps = .{ .mem, .unused }, |
| | 121435 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 121436 | .each = .{ .once = &.{ |
| | 121437 | .{ ._, ._, .lea, .tmp0p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| | 121438 | .{ ._, ._, .mov, .tmp1d, .sia(-16, .dst0, .add_unaligned_size), ._, ._ }, |
| | 121439 | .{ .@"0:", ._, .lea, .tmp2p, .memi(.dst0, .tmp1), ._, ._ }, |
| | 121440 | .{ ._, ._, .mov, .tmp3p, .tmp0p, ._, ._ }, |
| | 121441 | .{ ._, ._, .mov, .tmp4d, .sa(.src0, .add_bit_size), ._, ._ }, |
| | 121442 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| | 121443 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .sub_src0_elem_size), ._, ._ }, |
| | 121444 | .{ ._, ._, .sub, .tmp1d, .si(16), ._, ._ }, |
| | 121445 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 121446 | } }, |
| | 121447 | }, .{ |
| | 121448 | .required_cc_abi = .sysv64, |
| | 121449 | .required_features = .{ .x87, null, null, null }, |
| 116417 | .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any }, | 121450 | .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| 116418 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, | 121451 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| 116419 | .patterns = &.{ | 121452 | .patterns = &.{ |
| ... | @@ -116422,9 +121455,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116422,9 +121455,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116422 | .call_frame = .{ .alignment = .@"16" }, | 121455 | .call_frame = .{ .alignment = .@"16" }, |
| 116423 | .extra_temps = .{ | 121456 | .extra_temps = .{ |
| 116424 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 121457 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 116425 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 121458 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 116426 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 121459 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116427 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 121460 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 116428 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneixf" } }, | 121461 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneixf" } }, |
| 116429 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 121462 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 116430 | .unused, | 121463 | .unused, |
| ... | @@ -116436,16 +121469,50 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116436,16 +121469,50 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116436 | .dst_temps = .{ .mem, .unused }, | 121469 | .dst_temps = .{ .mem, .unused }, |
| 116437 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 121470 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 116438 | .each = .{ .once = &.{ | 121471 | .each = .{ .once = &.{ |
| 116439 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 121472 | .{ ._, ._, .lea, .tmp0p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 116440 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 121473 | .{ ._, ._, .mov, .tmp1d, .sia(-16, .dst0, .add_unaligned_size), ._, ._ }, |
| 116441 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, | 121474 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, |
| 116442 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, | 121475 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, |
| 116443 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 121476 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 116444 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, | 121477 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, |
| 116445 | .{ ._, .f_p, .st, .memia(.dst0t, .tmp1, .add_unaligned_size), ._, ._, ._ }, | 121478 | .{ ._, .f_p, .st, .memi(.dst0t, .tmp1), ._, ._, ._ }, |
| 116446 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ }, | 121479 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .sub_src0_elem_size), ._, ._ }, |
| 116447 | .{ ._, ._, .add, .tmp1p, .si(16), ._, ._ }, | 121480 | .{ ._, ._, .sub, .tmp1d, .si(16), ._, ._ }, |
| 116448 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 121481 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 121482 | } }, |
| | 121483 | }, .{ |
| | 121484 | .required_cc_abi = .win64, |
| | 121485 | .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| | 121486 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, |
| | 121487 | .patterns = &.{ |
| | 121488 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 121489 | }, |
| | 121490 | .call_frame = .{ .alignment = .@"16" }, |
| | 121491 | .extra_temps = .{ |
| | 121492 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 121493 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 121494 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 121495 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 121496 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| | 121497 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneixf" } }, |
| | 121498 | .unused, |
| | 121499 | .unused, |
| | 121500 | .unused, |
| | 121501 | .unused, |
| | 121502 | .unused, |
| | 121503 | }, |
| | 121504 | .dst_temps = .{ .mem, .unused }, |
| | 121505 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 121506 | .each = .{ .once = &.{ |
| | 121507 | .{ ._, ._, .lea, .tmp0p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| | 121508 | .{ ._, ._, .mov, .tmp1d, .sia(-16, .dst0, .add_unaligned_size), ._, ._ }, |
| | 121509 | .{ .@"0:", ._, .lea, .tmp2p, .memi(.dst0, .tmp1), ._, ._ }, |
| | 121510 | .{ ._, ._, .mov, .tmp3p, .tmp0p, ._, ._ }, |
| | 121511 | .{ ._, ._, .mov, .tmp4d, .sa(.src0, .add_bit_size), ._, ._ }, |
| | 121512 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| | 121513 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .sub_src0_elem_size), ._, ._ }, |
| | 121514 | .{ ._, ._, .sub, .tmp1d, .si(16), ._, ._ }, |
| | 121515 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 116449 | } }, | 121516 | } }, |
| 116450 | }, .{ | 121517 | }, .{ |
| 116451 | .required_features = .{ .sse, null, null, null }, | 121518 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -116457,7 +121524,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116457,7 +121524,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116457 | }, | 121524 | }, |
| 116458 | .call_frame = .{ .alignment = .@"16" }, | 121525 | .call_frame = .{ .alignment = .@"16" }, |
| 116459 | .extra_temps = .{ | 121526 | .extra_temps = .{ |
| 116460 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 121527 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116461 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsitf" } }, | 121528 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsitf" } }, |
| 116462 | .unused, | 121529 | .unused, |
| 116463 | .unused, | 121530 | .unused, |
| ... | @@ -116469,7 +121536,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116469,7 +121536,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116469 | .unused, | 121536 | .unused, |
| 116470 | .unused, | 121537 | .unused, |
| 116471 | }, | 121538 | }, |
| 116472 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 121539 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 116473 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 121540 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 116474 | .each = .{ .once = &.{ | 121541 | .each = .{ .once = &.{ |
| 116475 | .{ ._, ._, .movsx, .tmp0d, .src0b, ._, ._ }, | 121542 | .{ ._, ._, .movsx, .tmp0d, .src0b, ._, ._ }, |
| ... | @@ -116485,7 +121552,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116485,7 +121552,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116485 | }, | 121552 | }, |
| 116486 | .call_frame = .{ .alignment = .@"16" }, | 121553 | .call_frame = .{ .alignment = .@"16" }, |
| 116487 | .extra_temps = .{ | 121554 | .extra_temps = .{ |
| 116488 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 121555 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116489 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsitf" } }, | 121556 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsitf" } }, |
| 116490 | .unused, | 121557 | .unused, |
| 116491 | .unused, | 121558 | .unused, |
| ... | @@ -116497,7 +121564,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116497,7 +121564,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116497 | .unused, | 121564 | .unused, |
| 116498 | .unused, | 121565 | .unused, |
| 116499 | }, | 121566 | }, |
| 116500 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 121567 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 116501 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 121568 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 116502 | .each = .{ .once = &.{ | 121569 | .each = .{ .once = &.{ |
| 116503 | .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ }, | 121570 | .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ }, |
| ... | @@ -116513,7 +121580,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116513,7 +121580,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116513 | }, | 121580 | }, |
| 116514 | .call_frame = .{ .alignment = .@"16" }, | 121581 | .call_frame = .{ .alignment = .@"16" }, |
| 116515 | .extra_temps = .{ | 121582 | .extra_temps = .{ |
| 116516 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 121583 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116517 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsitf" } }, | 121584 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsitf" } }, |
| 116518 | .unused, | 121585 | .unused, |
| 116519 | .unused, | 121586 | .unused, |
| ... | @@ -116525,7 +121592,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116525,7 +121592,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116525 | .unused, | 121592 | .unused, |
| 116526 | .unused, | 121593 | .unused, |
| 116527 | }, | 121594 | }, |
| 116528 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 121595 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 116529 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 121596 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 116530 | .each = .{ .once = &.{ | 121597 | .each = .{ .once = &.{ |
| 116531 | .{ ._, ._, .movsx, .tmp0d, .src0w, ._, ._ }, | 121598 | .{ ._, ._, .movsx, .tmp0d, .src0w, ._, ._ }, |
| ... | @@ -116541,7 +121608,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116541,7 +121608,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116541 | }, | 121608 | }, |
| 116542 | .call_frame = .{ .alignment = .@"16" }, | 121609 | .call_frame = .{ .alignment = .@"16" }, |
| 116543 | .extra_temps = .{ | 121610 | .extra_temps = .{ |
| 116544 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 121611 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116545 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsitf" } }, | 121612 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsitf" } }, |
| 116546 | .unused, | 121613 | .unused, |
| 116547 | .unused, | 121614 | .unused, |
| ... | @@ -116553,7 +121620,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116553,7 +121620,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116553 | .unused, | 121620 | .unused, |
| 116554 | .unused, | 121621 | .unused, |
| 116555 | }, | 121622 | }, |
| 116556 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 121623 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 116557 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 121624 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 116558 | .each = .{ .once = &.{ | 121625 | .each = .{ .once = &.{ |
| 116559 | .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ }, | 121626 | .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ }, |
| ... | @@ -116564,7 +121631,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116564,7 +121631,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116564 | .src_constraints = .{ .{ .signed_int = .dword }, .any, .any }, | 121631 | .src_constraints = .{ .{ .signed_int = .dword }, .any, .any }, |
| 116565 | .dst_constraints = .{ .{ .float = .xword }, .any }, | 121632 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| 116566 | .patterns = &.{ | 121633 | .patterns = &.{ |
| 116567 | .{ .src = .{ .{ .to_reg = .edi }, .none, .none } }, | 121634 | .{ .src = .{ .{ .to_param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 116568 | }, | 121635 | }, |
| 116569 | .call_frame = .{ .alignment = .@"16" }, | 121636 | .call_frame = .{ .alignment = .@"16" }, |
| 116570 | .extra_temps = .{ | 121637 | .extra_temps = .{ |
| ... | @@ -116580,7 +121647,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116580,7 +121647,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116580 | .unused, | 121647 | .unused, |
| 116581 | .unused, | 121648 | .unused, |
| 116582 | }, | 121649 | }, |
| 116583 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 121650 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 116584 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 121651 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 116585 | .each = .{ .once = &.{ | 121652 | .each = .{ .once = &.{ |
| 116586 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 121653 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| ... | @@ -116590,7 +121657,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116590,7 +121657,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116590 | .src_constraints = .{ .{ .unsigned_int = .dword }, .any, .any }, | 121657 | .src_constraints = .{ .{ .unsigned_int = .dword }, .any, .any }, |
| 116591 | .dst_constraints = .{ .{ .float = .xword }, .any }, | 121658 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| 116592 | .patterns = &.{ | 121659 | .patterns = &.{ |
| 116593 | .{ .src = .{ .{ .to_reg = .edi }, .none, .none } }, | 121660 | .{ .src = .{ .{ .to_param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 116594 | }, | 121661 | }, |
| 116595 | .call_frame = .{ .alignment = .@"16" }, | 121662 | .call_frame = .{ .alignment = .@"16" }, |
| 116596 | .extra_temps = .{ | 121663 | .extra_temps = .{ |
| ... | @@ -116606,7 +121673,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116606,7 +121673,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116606 | .unused, | 121673 | .unused, |
| 116607 | .unused, | 121674 | .unused, |
| 116608 | }, | 121675 | }, |
| 116609 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 121676 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 116610 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 121677 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 116611 | .each = .{ .once = &.{ | 121678 | .each = .{ .once = &.{ |
| 116612 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 121679 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| ... | @@ -116616,7 +121683,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116616,7 +121683,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116616 | .src_constraints = .{ .{ .signed_int = .qword }, .any, .any }, | 121683 | .src_constraints = .{ .{ .signed_int = .qword }, .any, .any }, |
| 116617 | .dst_constraints = .{ .{ .float = .xword }, .any }, | 121684 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| 116618 | .patterns = &.{ | 121685 | .patterns = &.{ |
| 116619 | .{ .src = .{ .{ .to_reg = .rdi }, .none, .none } }, | 121686 | .{ .src = .{ .{ .to_param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 116620 | }, | 121687 | }, |
| 116621 | .call_frame = .{ .alignment = .@"16" }, | 121688 | .call_frame = .{ .alignment = .@"16" }, |
| 116622 | .extra_temps = .{ | 121689 | .extra_temps = .{ |
| ... | @@ -116632,7 +121699,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116632,7 +121699,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116632 | .unused, | 121699 | .unused, |
| 116633 | .unused, | 121700 | .unused, |
| 116634 | }, | 121701 | }, |
| 116635 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 121702 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 116636 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 121703 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 116637 | .each = .{ .once = &.{ | 121704 | .each = .{ .once = &.{ |
| 116638 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 121705 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| ... | @@ -116642,7 +121709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116642,7 +121709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116642 | .src_constraints = .{ .{ .unsigned_int = .qword }, .any, .any }, | 121709 | .src_constraints = .{ .{ .unsigned_int = .qword }, .any, .any }, |
| 116643 | .dst_constraints = .{ .{ .float = .xword }, .any }, | 121710 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| 116644 | .patterns = &.{ | 121711 | .patterns = &.{ |
| 116645 | .{ .src = .{ .{ .to_reg = .rdi }, .none, .none } }, | 121712 | .{ .src = .{ .{ .to_param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 116646 | }, | 121713 | }, |
| 116647 | .call_frame = .{ .alignment = .@"16" }, | 121714 | .call_frame = .{ .alignment = .@"16" }, |
| 116648 | .extra_temps = .{ | 121715 | .extra_temps = .{ |
| ... | @@ -116658,17 +121725,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116658,17 +121725,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116658 | .unused, | 121725 | .unused, |
| 116659 | .unused, | 121726 | .unused, |
| 116660 | }, | 121727 | }, |
| 116661 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 121728 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 116662 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 121729 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 116663 | .each = .{ .once = &.{ | 121730 | .each = .{ .once = &.{ |
| 116664 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 121731 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 116665 | } }, | 121732 | } }, |
| 116666 | }, .{ | 121733 | }, .{ |
| 116667 | .required_features = .{ .@"64bit", .sse, null, null }, | 121734 | .required_cc_abi = .sysv64, |
| | 121735 | .required_features = .{ .sse, null, null, null }, |
| 116668 | .src_constraints = .{ .{ .signed_int = .xword }, .any, .any }, | 121736 | .src_constraints = .{ .{ .signed_int = .xword }, .any, .any }, |
| 116669 | .dst_constraints = .{ .{ .float = .xword }, .any }, | 121737 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| 116670 | .patterns = &.{ | 121738 | .patterns = &.{ |
| 116671 | .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } }, | 121739 | .{ .src = .{ .{ .to_param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 116672 | }, | 121740 | }, |
| 116673 | .call_frame = .{ .alignment = .@"16" }, | 121741 | .call_frame = .{ .alignment = .@"16" }, |
| 116674 | .extra_temps = .{ | 121742 | .extra_temps = .{ |
| ... | @@ -116684,17 +121752,46 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116684,17 +121752,46 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116684 | .unused, | 121752 | .unused, |
| 116685 | .unused, | 121753 | .unused, |
| 116686 | }, | 121754 | }, |
| 116687 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 121755 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 116688 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 121756 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 116689 | .each = .{ .once = &.{ | 121757 | .each = .{ .once = &.{ |
| 116690 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 121758 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 116691 | } }, | 121759 | } }, |
| 116692 | }, .{ | 121760 | }, .{ |
| 116693 | .required_features = .{ .@"64bit", .sse, null, null }, | 121761 | .required_cc_abi = .win64, |
| | 121762 | .required_features = .{ .sse, null, null, null }, |
| | 121763 | .src_constraints = .{ .{ .signed_int = .xword }, .any, .any }, |
| | 121764 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 121765 | .patterns = &.{ |
| | 121766 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 121767 | }, |
| | 121768 | .call_frame = .{ .alignment = .@"16" }, |
| | 121769 | .extra_temps = .{ |
| | 121770 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 121771 | .{ .type = .usize, .kind = .{ .extern_func = "__floattitf" } }, |
| | 121772 | .unused, |
| | 121773 | .unused, |
| | 121774 | .unused, |
| | 121775 | .unused, |
| | 121776 | .unused, |
| | 121777 | .unused, |
| | 121778 | .unused, |
| | 121779 | .unused, |
| | 121780 | .unused, |
| | 121781 | }, |
| | 121782 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| | 121783 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 121784 | .each = .{ .once = &.{ |
| | 121785 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| | 121786 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 121787 | } }, |
| | 121788 | }, .{ |
| | 121789 | .required_cc_abi = .sysv64, |
| | 121790 | .required_features = .{ .sse, null, null, null }, |
| 116694 | .src_constraints = .{ .{ .unsigned_int = .xword }, .any, .any }, | 121791 | .src_constraints = .{ .{ .unsigned_int = .xword }, .any, .any }, |
| 116695 | .dst_constraints = .{ .{ .float = .xword }, .any }, | 121792 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| 116696 | .patterns = &.{ | 121793 | .patterns = &.{ |
| 116697 | .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } }, | 121794 | .{ .src = .{ .{ .to_param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .none, .none } }, |
| 116698 | }, | 121795 | }, |
| 116699 | .call_frame = .{ .alignment = .@"16" }, | 121796 | .call_frame = .{ .alignment = .@"16" }, |
| 116700 | .extra_temps = .{ | 121797 | .extra_temps = .{ |
| ... | @@ -116710,11 +121807,39 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116710,11 +121807,39 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116710 | .unused, | 121807 | .unused, |
| 116711 | .unused, | 121808 | .unused, |
| 116712 | }, | 121809 | }, |
| 116713 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 121810 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 116714 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 121811 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 116715 | .each = .{ .once = &.{ | 121812 | .each = .{ .once = &.{ |
| 116716 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 121813 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 116717 | } }, | 121814 | } }, |
| | 121815 | }, .{ |
| | 121816 | .required_cc_abi = .win64, |
| | 121817 | .required_features = .{ .sse, null, null, null }, |
| | 121818 | .src_constraints = .{ .{ .unsigned_int = .xword }, .any, .any }, |
| | 121819 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 121820 | .patterns = &.{ |
| | 121821 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 121822 | }, |
| | 121823 | .call_frame = .{ .alignment = .@"16" }, |
| | 121824 | .extra_temps = .{ |
| | 121825 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 121826 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntitf" } }, |
| | 121827 | .unused, |
| | 121828 | .unused, |
| | 121829 | .unused, |
| | 121830 | .unused, |
| | 121831 | .unused, |
| | 121832 | .unused, |
| | 121833 | .unused, |
| | 121834 | .unused, |
| | 121835 | .unused, |
| | 121836 | }, |
| | 121837 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| | 121838 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 121839 | .each = .{ .once = &.{ |
| | 121840 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| | 121841 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 121842 | } }, |
| 116718 | }, .{ | 121843 | }, .{ |
| 116719 | .required_features = .{ .@"64bit", .sse, null, null }, | 121844 | .required_features = .{ .@"64bit", .sse, null, null }, |
| 116720 | .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any }, | 121845 | .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| ... | @@ -116724,8 +121849,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116724,8 +121849,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116724 | }, | 121849 | }, |
| 116725 | .call_frame = .{ .alignment = .@"16" }, | 121850 | .call_frame = .{ .alignment = .@"16" }, |
| 116726 | .extra_temps = .{ | 121851 | .extra_temps = .{ |
| 116727 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 121852 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116728 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 121853 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 116729 | .{ .type = .usize, .kind = .{ .extern_func = "__floateitf" } }, | 121854 | .{ .type = .usize, .kind = .{ .extern_func = "__floateitf" } }, |
| 116730 | .unused, | 121855 | .unused, |
| 116731 | .unused, | 121856 | .unused, |
| ... | @@ -116736,7 +121861,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116736,7 +121861,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116736 | .unused, | 121861 | .unused, |
| 116737 | .unused, | 121862 | .unused, |
| 116738 | }, | 121863 | }, |
| 116739 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 121864 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 116740 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 121865 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 116741 | .each = .{ .once = &.{ | 121866 | .each = .{ .once = &.{ |
| 116742 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 121867 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| ... | @@ -116752,8 +121877,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116752,8 +121877,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116752 | }, | 121877 | }, |
| 116753 | .call_frame = .{ .alignment = .@"16" }, | 121878 | .call_frame = .{ .alignment = .@"16" }, |
| 116754 | .extra_temps = .{ | 121879 | .extra_temps = .{ |
| 116755 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 121880 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116756 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 121881 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 116757 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneitf" } }, | 121882 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneitf" } }, |
| 116758 | .unused, | 121883 | .unused, |
| 116759 | .unused, | 121884 | .unused, |
| ... | @@ -116764,7 +121889,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116764,7 +121889,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116764 | .unused, | 121889 | .unused, |
| 116765 | .unused, | 121890 | .unused, |
| 116766 | }, | 121891 | }, |
| 116767 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 121892 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 116768 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 121893 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 116769 | .each = .{ .once = &.{ | 121894 | .each = .{ .once = &.{ |
| 116770 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 121895 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| ... | @@ -116780,11 +121905,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116780,11 +121905,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116780 | }, | 121905 | }, |
| 116781 | .call_frame = .{ .alignment = .@"16" }, | 121906 | .call_frame = .{ .alignment = .@"16" }, |
| 116782 | .extra_temps = .{ | 121907 | .extra_temps = .{ |
| 116783 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 121908 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 116784 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 121909 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 116785 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 121910 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116786 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsitf" } }, | 121911 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsitf" } }, |
| 116787 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 121912 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116788 | .unused, | 121913 | .unused, |
| 116789 | .unused, | 121914 | .unused, |
| 116790 | .unused, | 121915 | .unused, |
| ... | @@ -116795,14 +121920,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116795,14 +121920,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116795 | .dst_temps = .{ .mem, .unused }, | 121920 | .dst_temps = .{ .mem, .unused }, |
| 116796 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 121921 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 116797 | .each = .{ .once = &.{ | 121922 | .each = .{ .once = &.{ |
| 116798 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 121923 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 116799 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 121924 | .{ ._, ._, .lea, .tmp1p, .memad(.dst0, .add_unaligned_size, -16), ._, ._ }, |
| 116800 | .{ .@"0:", ._, .movsx, .tmp2d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 121925 | .{ .@"0:", ._, .movsx, .tmp2d, .memi(.src0b, .tmp0), ._, ._ }, |
| 116801 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 121926 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 116802 | .{ ._, .v_dqa, .mov, .lea(.tmp1x), .tmp4x, ._, ._ }, | 121927 | .{ ._, .v_dqa, .mov, .lea(.tmp1x), .tmp4x, ._, ._ }, |
| 116803 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 16), ._, ._ }, | 121928 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, -16), ._, ._ }, |
| 116804 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 121929 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 116805 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 121930 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 116806 | } }, | 121931 | } }, |
| 116807 | }, .{ | 121932 | }, .{ |
| 116808 | .required_features = .{ .avx, null, null, null }, | 121933 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -116813,11 +121938,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116813,11 +121938,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116813 | }, | 121938 | }, |
| 116814 | .call_frame = .{ .alignment = .@"16" }, | 121939 | .call_frame = .{ .alignment = .@"16" }, |
| 116815 | .extra_temps = .{ | 121940 | .extra_temps = .{ |
| 116816 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 121941 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 116817 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 121942 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 116818 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 121943 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116819 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsitf" } }, | 121944 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsitf" } }, |
| 116820 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 121945 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116821 | .unused, | 121946 | .unused, |
| 116822 | .unused, | 121947 | .unused, |
| 116823 | .unused, | 121948 | .unused, |
| ... | @@ -116828,14 +121953,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116828,14 +121953,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116828 | .dst_temps = .{ .mem, .unused }, | 121953 | .dst_temps = .{ .mem, .unused }, |
| 116829 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 121954 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 116830 | .each = .{ .once = &.{ | 121955 | .each = .{ .once = &.{ |
| 116831 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 121956 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 116832 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 121957 | .{ ._, ._, .lea, .tmp1p, .memad(.dst0, .add_unaligned_size, -16), ._, ._ }, |
| 116833 | .{ .@"0:", ._, .movsx, .tmp2d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 121958 | .{ .@"0:", ._, .movsx, .tmp2d, .memi(.src0b, .tmp0), ._, ._ }, |
| 116834 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 121959 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 116835 | .{ ._, .v_dqa, .mov, .lea(.tmp1x), .tmp4x, ._, ._ }, | 121960 | .{ ._, .v_dqa, .mov, .lea(.tmp1x), .tmp4x, ._, ._ }, |
| 116836 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 16), ._, ._ }, | 121961 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, -16), ._, ._ }, |
| 116837 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 121962 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 116838 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 121963 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 116839 | } }, | 121964 | } }, |
| 116840 | }, .{ | 121965 | }, .{ |
| 116841 | .required_features = .{ .sse2, .slow_incdec, null, null }, | 121966 | .required_features = .{ .sse2, .slow_incdec, null, null }, |
| ... | @@ -116846,11 +121971,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116846,11 +121971,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116846 | }, | 121971 | }, |
| 116847 | .call_frame = .{ .alignment = .@"16" }, | 121972 | .call_frame = .{ .alignment = .@"16" }, |
| 116848 | .extra_temps = .{ | 121973 | .extra_temps = .{ |
| 116849 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 121974 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 116850 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 121975 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 116851 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 121976 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116852 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsitf" } }, | 121977 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsitf" } }, |
| 116853 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 121978 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116854 | .unused, | 121979 | .unused, |
| 116855 | .unused, | 121980 | .unused, |
| 116856 | .unused, | 121981 | .unused, |
| ... | @@ -116861,14 +121986,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116861,14 +121986,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116861 | .dst_temps = .{ .mem, .unused }, | 121986 | .dst_temps = .{ .mem, .unused }, |
| 116862 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 121987 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 116863 | .each = .{ .once = &.{ | 121988 | .each = .{ .once = &.{ |
| 116864 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 121989 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 116865 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 121990 | .{ ._, ._, .lea, .tmp1p, .memad(.dst0, .add_unaligned_size, -16), ._, ._ }, |
| 116866 | .{ .@"0:", ._, .movsx, .tmp2d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 121991 | .{ .@"0:", ._, .movsx, .tmp2d, .memi(.src0b, .tmp0), ._, ._ }, |
| 116867 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 121992 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 116868 | .{ ._, ._dqa, .mov, .lea(.tmp1x), .tmp4x, ._, ._ }, | 121993 | .{ ._, ._dqa, .mov, .lea(.tmp1x), .tmp4x, ._, ._ }, |
| 116869 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 16), ._, ._ }, | 121994 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, -16), ._, ._ }, |
| 116870 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 121995 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 116871 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 121996 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 116872 | } }, | 121997 | } }, |
| 116873 | }, .{ | 121998 | }, .{ |
| 116874 | .required_features = .{ .sse2, null, null, null }, | 121999 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -116879,11 +122004,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116879,11 +122004,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116879 | }, | 122004 | }, |
| 116880 | .call_frame = .{ .alignment = .@"16" }, | 122005 | .call_frame = .{ .alignment = .@"16" }, |
| 116881 | .extra_temps = .{ | 122006 | .extra_temps = .{ |
| 116882 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 122007 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 116883 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 122008 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 116884 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 122009 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116885 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsitf" } }, | 122010 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsitf" } }, |
| 116886 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 122011 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116887 | .unused, | 122012 | .unused, |
| 116888 | .unused, | 122013 | .unused, |
| 116889 | .unused, | 122014 | .unused, |
| ... | @@ -116894,14 +122019,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116894,14 +122019,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116894 | .dst_temps = .{ .mem, .unused }, | 122019 | .dst_temps = .{ .mem, .unused }, |
| 116895 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 122020 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 116896 | .each = .{ .once = &.{ | 122021 | .each = .{ .once = &.{ |
| 116897 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 122022 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 116898 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 122023 | .{ ._, ._, .lea, .tmp1p, .memad(.dst0, .add_unaligned_size, -16), ._, ._ }, |
| 116899 | .{ .@"0:", ._, .movsx, .tmp2d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 122024 | .{ .@"0:", ._, .movsx, .tmp2d, .memi(.src0b, .tmp0), ._, ._ }, |
| 116900 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 122025 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 116901 | .{ ._, ._dqa, .mov, .lea(.tmp1x), .tmp4x, ._, ._ }, | 122026 | .{ ._, ._dqa, .mov, .lea(.tmp1x), .tmp4x, ._, ._ }, |
| 116902 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 16), ._, ._ }, | 122027 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, -16), ._, ._ }, |
| 116903 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 122028 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 116904 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 122029 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 116905 | } }, | 122030 | } }, |
| 116906 | }, .{ | 122031 | }, .{ |
| 116907 | .required_features = .{ .sse, .slow_incdec, null, null }, | 122032 | .required_features = .{ .sse, .slow_incdec, null, null }, |
| ... | @@ -116912,11 +122037,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116912,11 +122037,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116912 | }, | 122037 | }, |
| 116913 | .call_frame = .{ .alignment = .@"16" }, | 122038 | .call_frame = .{ .alignment = .@"16" }, |
| 116914 | .extra_temps = .{ | 122039 | .extra_temps = .{ |
| 116915 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 122040 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 116916 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 122041 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 116917 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 122042 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116918 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsitf" } }, | 122043 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsitf" } }, |
| 116919 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 122044 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116920 | .unused, | 122045 | .unused, |
| 116921 | .unused, | 122046 | .unused, |
| 116922 | .unused, | 122047 | .unused, |
| ... | @@ -116927,14 +122052,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116927,14 +122052,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116927 | .dst_temps = .{ .mem, .unused }, | 122052 | .dst_temps = .{ .mem, .unused }, |
| 116928 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 122053 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 116929 | .each = .{ .once = &.{ | 122054 | .each = .{ .once = &.{ |
| 116930 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 122055 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 116931 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 122056 | .{ ._, ._, .lea, .tmp1p, .memad(.dst0, .add_unaligned_size, -16), ._, ._ }, |
| 116932 | .{ .@"0:", ._, .movsx, .tmp2d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 122057 | .{ .@"0:", ._, .movsx, .tmp2d, .memi(.src0b, .tmp0), ._, ._ }, |
| 116933 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 122058 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 116934 | .{ ._, ._ps, .mova, .lea(.tmp1x), .tmp4x, ._, ._ }, | 122059 | .{ ._, ._ps, .mova, .lea(.tmp1x), .tmp4x, ._, ._ }, |
| 116935 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 16), ._, ._ }, | 122060 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, -16), ._, ._ }, |
| 116936 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 122061 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 116937 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 122062 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 116938 | } }, | 122063 | } }, |
| 116939 | }, .{ | 122064 | }, .{ |
| 116940 | .required_features = .{ .sse, null, null, null }, | 122065 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -116945,11 +122070,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116945,11 +122070,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116945 | }, | 122070 | }, |
| 116946 | .call_frame = .{ .alignment = .@"16" }, | 122071 | .call_frame = .{ .alignment = .@"16" }, |
| 116947 | .extra_temps = .{ | 122072 | .extra_temps = .{ |
| 116948 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 122073 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 116949 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 122074 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 116950 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 122075 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116951 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsitf" } }, | 122076 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsitf" } }, |
| 116952 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 122077 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116953 | .unused, | 122078 | .unused, |
| 116954 | .unused, | 122079 | .unused, |
| 116955 | .unused, | 122080 | .unused, |
| ... | @@ -116960,14 +122085,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116960,14 +122085,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116960 | .dst_temps = .{ .mem, .unused }, | 122085 | .dst_temps = .{ .mem, .unused }, |
| 116961 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 122086 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 116962 | .each = .{ .once = &.{ | 122087 | .each = .{ .once = &.{ |
| 116963 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 122088 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 116964 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 122089 | .{ ._, ._, .lea, .tmp1p, .memad(.dst0, .add_unaligned_size, -16), ._, ._ }, |
| 116965 | .{ .@"0:", ._, .movsx, .tmp2d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 122090 | .{ .@"0:", ._, .movsx, .tmp2d, .memi(.src0b, .tmp0), ._, ._ }, |
| 116966 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 122091 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 116967 | .{ ._, ._ps, .mova, .lea(.tmp1x), .tmp4x, ._, ._ }, | 122092 | .{ ._, ._ps, .mova, .lea(.tmp1x), .tmp4x, ._, ._ }, |
| 116968 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 16), ._, ._ }, | 122093 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, -16), ._, ._ }, |
| 116969 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 122094 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 116970 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 122095 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 116971 | } }, | 122096 | } }, |
| 116972 | }, .{ | 122097 | }, .{ |
| 116973 | .required_features = .{ .avx, .slow_incdec, null, null }, | 122098 | .required_features = .{ .avx, .slow_incdec, null, null }, |
| ... | @@ -116978,11 +122103,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116978,11 +122103,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116978 | }, | 122103 | }, |
| 116979 | .call_frame = .{ .alignment = .@"16" }, | 122104 | .call_frame = .{ .alignment = .@"16" }, |
| 116980 | .extra_temps = .{ | 122105 | .extra_temps = .{ |
| 116981 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 122106 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 116982 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 122107 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 116983 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 122108 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116984 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsitf" } }, | 122109 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsitf" } }, |
| 116985 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 122110 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 116986 | .unused, | 122111 | .unused, |
| 116987 | .unused, | 122112 | .unused, |
| 116988 | .unused, | 122113 | .unused, |
| ... | @@ -116993,14 +122118,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116993,14 +122118,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116993 | .dst_temps = .{ .mem, .unused }, | 122118 | .dst_temps = .{ .mem, .unused }, |
| 116994 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 122119 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 116995 | .each = .{ .once = &.{ | 122120 | .each = .{ .once = &.{ |
| 116996 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 122121 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 116997 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 122122 | .{ ._, ._, .lea, .tmp1p, .memad(.dst0, .add_unaligned_size, -16), ._, ._ }, |
| 116998 | .{ .@"0:", ._, .movzx, .tmp2d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 122123 | .{ .@"0:", ._, .movzx, .tmp2d, .memi(.src0b, .tmp0), ._, ._ }, |
| 116999 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 122124 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 117000 | .{ ._, .v_dqa, .mov, .lea(.tmp1x), .tmp4x, ._, ._ }, | 122125 | .{ ._, .v_dqa, .mov, .lea(.tmp1x), .tmp4x, ._, ._ }, |
| 117001 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 16), ._, ._ }, | 122126 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, -16), ._, ._ }, |
| 117002 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 122127 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 117003 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 122128 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 117004 | } }, | 122129 | } }, |
| 117005 | }, .{ | 122130 | }, .{ |
| 117006 | .required_features = .{ .avx, null, null, null }, | 122131 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -117011,11 +122136,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117011,11 +122136,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117011 | }, | 122136 | }, |
| 117012 | .call_frame = .{ .alignment = .@"16" }, | 122137 | .call_frame = .{ .alignment = .@"16" }, |
| 117013 | .extra_temps = .{ | 122138 | .extra_temps = .{ |
| 117014 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 122139 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117015 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 122140 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 117016 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 122141 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117017 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsitf" } }, | 122142 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsitf" } }, |
| 117018 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 122143 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117019 | .unused, | 122144 | .unused, |
| 117020 | .unused, | 122145 | .unused, |
| 117021 | .unused, | 122146 | .unused, |
| ... | @@ -117026,14 +122151,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117026,14 +122151,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117026 | .dst_temps = .{ .mem, .unused }, | 122151 | .dst_temps = .{ .mem, .unused }, |
| 117027 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 122152 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117028 | .each = .{ .once = &.{ | 122153 | .each = .{ .once = &.{ |
| 117029 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 122154 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 117030 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 122155 | .{ ._, ._, .lea, .tmp1p, .memad(.dst0, .add_unaligned_size, -16), ._, ._ }, |
| 117031 | .{ .@"0:", ._, .movzx, .tmp2d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 122156 | .{ .@"0:", ._, .movzx, .tmp2d, .memi(.src0b, .tmp0), ._, ._ }, |
| 117032 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 122157 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 117033 | .{ ._, .v_dqa, .mov, .lea(.tmp1x), .tmp4x, ._, ._ }, | 122158 | .{ ._, .v_dqa, .mov, .lea(.tmp1x), .tmp4x, ._, ._ }, |
| 117034 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 16), ._, ._ }, | 122159 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, -16), ._, ._ }, |
| 117035 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 122160 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 117036 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 122161 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 117037 | } }, | 122162 | } }, |
| 117038 | }, .{ | 122163 | }, .{ |
| 117039 | .required_features = .{ .sse2, .slow_incdec, null, null }, | 122164 | .required_features = .{ .sse2, .slow_incdec, null, null }, |
| ... | @@ -117044,11 +122169,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117044,11 +122169,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117044 | }, | 122169 | }, |
| 117045 | .call_frame = .{ .alignment = .@"16" }, | 122170 | .call_frame = .{ .alignment = .@"16" }, |
| 117046 | .extra_temps = .{ | 122171 | .extra_temps = .{ |
| 117047 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 122172 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117048 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 122173 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 117049 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 122174 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117050 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsitf" } }, | 122175 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsitf" } }, |
| 117051 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 122176 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117052 | .unused, | 122177 | .unused, |
| 117053 | .unused, | 122178 | .unused, |
| 117054 | .unused, | 122179 | .unused, |
| ... | @@ -117059,14 +122184,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117059,14 +122184,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117059 | .dst_temps = .{ .mem, .unused }, | 122184 | .dst_temps = .{ .mem, .unused }, |
| 117060 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 122185 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117061 | .each = .{ .once = &.{ | 122186 | .each = .{ .once = &.{ |
| 117062 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 122187 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 117063 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 122188 | .{ ._, ._, .lea, .tmp1p, .memad(.dst0, .add_unaligned_size, -16), ._, ._ }, |
| 117064 | .{ .@"0:", ._, .movzx, .tmp2d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 122189 | .{ .@"0:", ._, .movzx, .tmp2d, .memi(.src0b, .tmp0), ._, ._ }, |
| 117065 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 122190 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 117066 | .{ ._, ._dqa, .mov, .lea(.tmp1x), .tmp4x, ._, ._ }, | 122191 | .{ ._, ._dqa, .mov, .lea(.tmp1x), .tmp4x, ._, ._ }, |
| 117067 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 16), ._, ._ }, | 122192 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, -16), ._, ._ }, |
| 117068 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 122193 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 117069 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 122194 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 117070 | } }, | 122195 | } }, |
| 117071 | }, .{ | 122196 | }, .{ |
| 117072 | .required_features = .{ .sse2, null, null, null }, | 122197 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -117077,11 +122202,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117077,11 +122202,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117077 | }, | 122202 | }, |
| 117078 | .call_frame = .{ .alignment = .@"16" }, | 122203 | .call_frame = .{ .alignment = .@"16" }, |
| 117079 | .extra_temps = .{ | 122204 | .extra_temps = .{ |
| 117080 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 122205 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117081 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 122206 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 117082 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 122207 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117083 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsitf" } }, | 122208 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsitf" } }, |
| 117084 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 122209 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117085 | .unused, | 122210 | .unused, |
| 117086 | .unused, | 122211 | .unused, |
| 117087 | .unused, | 122212 | .unused, |
| ... | @@ -117092,14 +122217,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117092,14 +122217,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117092 | .dst_temps = .{ .mem, .unused }, | 122217 | .dst_temps = .{ .mem, .unused }, |
| 117093 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 122218 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117094 | .each = .{ .once = &.{ | 122219 | .each = .{ .once = &.{ |
| 117095 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 122220 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 117096 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 122221 | .{ ._, ._, .lea, .tmp1p, .memad(.dst0, .add_unaligned_size, -16), ._, ._ }, |
| 117097 | .{ .@"0:", ._, .movzx, .tmp2d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 122222 | .{ .@"0:", ._, .movzx, .tmp2d, .memi(.src0b, .tmp0), ._, ._ }, |
| 117098 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 122223 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 117099 | .{ ._, ._dqa, .mov, .lea(.tmp1x), .tmp4x, ._, ._ }, | 122224 | .{ ._, ._dqa, .mov, .lea(.tmp1x), .tmp4x, ._, ._ }, |
| 117100 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 16), ._, ._ }, | 122225 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, -16), ._, ._ }, |
| 117101 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 122226 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 117102 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 122227 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 117103 | } }, | 122228 | } }, |
| 117104 | }, .{ | 122229 | }, .{ |
| 117105 | .required_features = .{ .sse, .slow_incdec, null, null }, | 122230 | .required_features = .{ .sse, .slow_incdec, null, null }, |
| ... | @@ -117110,11 +122235,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117110,11 +122235,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117110 | }, | 122235 | }, |
| 117111 | .call_frame = .{ .alignment = .@"16" }, | 122236 | .call_frame = .{ .alignment = .@"16" }, |
| 117112 | .extra_temps = .{ | 122237 | .extra_temps = .{ |
| 117113 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 122238 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117114 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 122239 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 117115 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 122240 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117116 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsitf" } }, | 122241 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsitf" } }, |
| 117117 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 122242 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117118 | .unused, | 122243 | .unused, |
| 117119 | .unused, | 122244 | .unused, |
| 117120 | .unused, | 122245 | .unused, |
| ... | @@ -117125,14 +122250,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117125,14 +122250,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117125 | .dst_temps = .{ .mem, .unused }, | 122250 | .dst_temps = .{ .mem, .unused }, |
| 117126 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 122251 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117127 | .each = .{ .once = &.{ | 122252 | .each = .{ .once = &.{ |
| 117128 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 122253 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 117129 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 122254 | .{ ._, ._, .lea, .tmp1p, .memad(.dst0, .add_unaligned_size, -16), ._, ._ }, |
| 117130 | .{ .@"0:", ._, .movzx, .tmp2d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 122255 | .{ .@"0:", ._, .movzx, .tmp2d, .memi(.src0b, .tmp0), ._, ._ }, |
| 117131 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 122256 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 117132 | .{ ._, ._ps, .mova, .lea(.tmp1x), .tmp4x, ._, ._ }, | 122257 | .{ ._, ._ps, .mova, .lea(.tmp1x), .tmp4x, ._, ._ }, |
| 117133 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 16), ._, ._ }, | 122258 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, -16), ._, ._ }, |
| 117134 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 122259 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 117135 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 122260 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 117136 | } }, | 122261 | } }, |
| 117137 | }, .{ | 122262 | }, .{ |
| 117138 | .required_features = .{ .sse, null, null, null }, | 122263 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -117143,11 +122268,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117143,11 +122268,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117143 | }, | 122268 | }, |
| 117144 | .call_frame = .{ .alignment = .@"16" }, | 122269 | .call_frame = .{ .alignment = .@"16" }, |
| 117145 | .extra_temps = .{ | 122270 | .extra_temps = .{ |
| 117146 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 122271 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117147 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 122272 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 117148 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 122273 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117149 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsitf" } }, | 122274 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsitf" } }, |
| 117150 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 122275 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117151 | .unused, | 122276 | .unused, |
| 117152 | .unused, | 122277 | .unused, |
| 117153 | .unused, | 122278 | .unused, |
| ... | @@ -117158,14 +122283,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117158,14 +122283,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117158 | .dst_temps = .{ .mem, .unused }, | 122283 | .dst_temps = .{ .mem, .unused }, |
| 117159 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 122284 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117160 | .each = .{ .once = &.{ | 122285 | .each = .{ .once = &.{ |
| 117161 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 122286 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_unaligned_size), ._, ._ }, |
| 117162 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | 122287 | .{ ._, ._, .lea, .tmp1p, .memad(.dst0, .add_unaligned_size, -16), ._, ._ }, |
| 117163 | .{ .@"0:", ._, .movzx, .tmp2d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, | 122288 | .{ .@"0:", ._, .movzx, .tmp2d, .memi(.src0b, .tmp0), ._, ._ }, |
| 117164 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 122289 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 117165 | .{ ._, ._ps, .mova, .lea(.tmp1x), .tmp4x, ._, ._ }, | 122290 | .{ ._, ._ps, .mova, .lea(.tmp1x), .tmp4x, ._, ._ }, |
| 117166 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 16), ._, ._ }, | 122291 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, -16), ._, ._ }, |
| 117167 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 122292 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 117168 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 122293 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 117169 | } }, | 122294 | } }, |
| 117170 | }, .{ | 122295 | }, .{ |
| 117171 | .required_features = .{ .avx, null, null, null }, | 122296 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -117176,10 +122301,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117176,10 +122301,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117176 | }, | 122301 | }, |
| 117177 | .call_frame = .{ .alignment = .@"16" }, | 122302 | .call_frame = .{ .alignment = .@"16" }, |
| 117178 | .extra_temps = .{ | 122303 | .extra_temps = .{ |
| 117179 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 122304 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117180 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 122305 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117181 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsitf" } }, | 122306 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsitf" } }, |
| 117182 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 122307 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117183 | .unused, | 122308 | .unused, |
| 117184 | .unused, | 122309 | .unused, |
| 117185 | .unused, | 122310 | .unused, |
| ... | @@ -117191,12 +122316,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117191,12 +122316,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117191 | .dst_temps = .{ .mem, .unused }, | 122316 | .dst_temps = .{ .mem, .unused }, |
| 117192 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 122317 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117193 | .each = .{ .once = &.{ | 122318 | .each = .{ .once = &.{ |
| 117194 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 122319 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 117195 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 122320 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 117196 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 122321 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 117197 | .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"8", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 122322 | .{ ._, .v_dqa, .mov, .memsi(.dst0x, .@"8", .tmp0), .tmp3x, ._, ._ }, |
| 117198 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 122323 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 117199 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 122324 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 117200 | } }, | 122325 | } }, |
| 117201 | }, .{ | 122326 | }, .{ |
| 117202 | .required_features = .{ .sse2, null, null, null }, | 122327 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -117207,10 +122332,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117207,10 +122332,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117207 | }, | 122332 | }, |
| 117208 | .call_frame = .{ .alignment = .@"16" }, | 122333 | .call_frame = .{ .alignment = .@"16" }, |
| 117209 | .extra_temps = .{ | 122334 | .extra_temps = .{ |
| 117210 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 122335 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117211 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 122336 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117212 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsitf" } }, | 122337 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsitf" } }, |
| 117213 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 122338 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117214 | .unused, | 122339 | .unused, |
| 117215 | .unused, | 122340 | .unused, |
| 117216 | .unused, | 122341 | .unused, |
| ... | @@ -117222,12 +122347,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117222,12 +122347,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117222 | .dst_temps = .{ .mem, .unused }, | 122347 | .dst_temps = .{ .mem, .unused }, |
| 117223 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 122348 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117224 | .each = .{ .once = &.{ | 122349 | .each = .{ .once = &.{ |
| 117225 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 122350 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 117226 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 122351 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 117227 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 122352 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 117228 | .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"8", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 122353 | .{ ._, ._dqa, .mov, .memsi(.dst0x, .@"8", .tmp0), .tmp3x, ._, ._ }, |
| 117229 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 122354 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 117230 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 122355 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 117231 | } }, | 122356 | } }, |
| 117232 | }, .{ | 122357 | }, .{ |
| 117233 | .required_features = .{ .sse, null, null, null }, | 122358 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -117238,10 +122363,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117238,10 +122363,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117238 | }, | 122363 | }, |
| 117239 | .call_frame = .{ .alignment = .@"16" }, | 122364 | .call_frame = .{ .alignment = .@"16" }, |
| 117240 | .extra_temps = .{ | 122365 | .extra_temps = .{ |
| 117241 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 122366 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117242 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 122367 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117243 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsitf" } }, | 122368 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsitf" } }, |
| 117244 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 122369 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117245 | .unused, | 122370 | .unused, |
| 117246 | .unused, | 122371 | .unused, |
| 117247 | .unused, | 122372 | .unused, |
| ... | @@ -117253,12 +122378,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117253,12 +122378,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117253 | .dst_temps = .{ .mem, .unused }, | 122378 | .dst_temps = .{ .mem, .unused }, |
| 117254 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 122379 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117255 | .each = .{ .once = &.{ | 122380 | .each = .{ .once = &.{ |
| 117256 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 122381 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 117257 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 122382 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 117258 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 122383 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 117259 | .{ ._, ._ps, .mova, .memsia(.dst0x, .@"8", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 122384 | .{ ._, ._ps, .mova, .memsi(.dst0x, .@"8", .tmp0), .tmp3x, ._, ._ }, |
| 117260 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 122385 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 117261 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 122386 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 117262 | } }, | 122387 | } }, |
| 117263 | }, .{ | 122388 | }, .{ |
| 117264 | .required_features = .{ .avx, null, null, null }, | 122389 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -117269,10 +122394,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117269,10 +122394,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117269 | }, | 122394 | }, |
| 117270 | .call_frame = .{ .alignment = .@"16" }, | 122395 | .call_frame = .{ .alignment = .@"16" }, |
| 117271 | .extra_temps = .{ | 122396 | .extra_temps = .{ |
| 117272 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 122397 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117273 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 122398 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117274 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsitf" } }, | 122399 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsitf" } }, |
| 117275 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 122400 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117276 | .unused, | 122401 | .unused, |
| 117277 | .unused, | 122402 | .unused, |
| 117278 | .unused, | 122403 | .unused, |
| ... | @@ -117284,12 +122409,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117284,12 +122409,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117284 | .dst_temps = .{ .mem, .unused }, | 122409 | .dst_temps = .{ .mem, .unused }, |
| 117285 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 122410 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117286 | .each = .{ .once = &.{ | 122411 | .each = .{ .once = &.{ |
| 117287 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 122412 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 117288 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 122413 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 117289 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 122414 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 117290 | .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"8", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 122415 | .{ ._, .v_dqa, .mov, .memsi(.dst0x, .@"8", .tmp0), .tmp3x, ._, ._ }, |
| 117291 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 122416 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 117292 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 122417 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 117293 | } }, | 122418 | } }, |
| 117294 | }, .{ | 122419 | }, .{ |
| 117295 | .required_features = .{ .sse2, null, null, null }, | 122420 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -117300,10 +122425,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117300,10 +122425,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117300 | }, | 122425 | }, |
| 117301 | .call_frame = .{ .alignment = .@"16" }, | 122426 | .call_frame = .{ .alignment = .@"16" }, |
| 117302 | .extra_temps = .{ | 122427 | .extra_temps = .{ |
| 117303 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 122428 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117304 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 122429 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117305 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsitf" } }, | 122430 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsitf" } }, |
| 117306 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 122431 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117307 | .unused, | 122432 | .unused, |
| 117308 | .unused, | 122433 | .unused, |
| 117309 | .unused, | 122434 | .unused, |
| ... | @@ -117315,12 +122440,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117315,12 +122440,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117315 | .dst_temps = .{ .mem, .unused }, | 122440 | .dst_temps = .{ .mem, .unused }, |
| 117316 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 122441 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117317 | .each = .{ .once = &.{ | 122442 | .each = .{ .once = &.{ |
| 117318 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 122443 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 117319 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 122444 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 117320 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 122445 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 117321 | .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"8", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 122446 | .{ ._, ._dqa, .mov, .memsi(.dst0x, .@"8", .tmp0), .tmp3x, ._, ._ }, |
| 117322 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 122447 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 117323 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 122448 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 117324 | } }, | 122449 | } }, |
| 117325 | }, .{ | 122450 | }, .{ |
| 117326 | .required_features = .{ .sse, null, null, null }, | 122451 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -117331,10 +122456,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117331,10 +122456,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117331 | }, | 122456 | }, |
| 117332 | .call_frame = .{ .alignment = .@"16" }, | 122457 | .call_frame = .{ .alignment = .@"16" }, |
| 117333 | .extra_temps = .{ | 122458 | .extra_temps = .{ |
| 117334 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 122459 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117335 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 122460 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117336 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsitf" } }, | 122461 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsitf" } }, |
| 117337 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 122462 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117338 | .unused, | 122463 | .unused, |
| 117339 | .unused, | 122464 | .unused, |
| 117340 | .unused, | 122465 | .unused, |
| ... | @@ -117346,12 +122471,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117346,12 +122471,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117346 | .dst_temps = .{ .mem, .unused }, | 122471 | .dst_temps = .{ .mem, .unused }, |
| 117347 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 122472 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117348 | .each = .{ .once = &.{ | 122473 | .each = .{ .once = &.{ |
| 117349 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 122474 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 117350 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 122475 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 117351 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 122476 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 117352 | .{ ._, ._ps, .mova, .memsia(.dst0x, .@"8", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 122477 | .{ ._, ._ps, .mova, .memsi(.dst0x, .@"8", .tmp0), .tmp3x, ._, ._ }, |
| 117353 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 122478 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 117354 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 122479 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 117355 | } }, | 122480 | } }, |
| 117356 | }, .{ | 122481 | }, .{ |
| 117357 | .required_features = .{ .avx, null, null, null }, | 122482 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -117362,10 +122487,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117362,10 +122487,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117362 | }, | 122487 | }, |
| 117363 | .call_frame = .{ .alignment = .@"16" }, | 122488 | .call_frame = .{ .alignment = .@"16" }, |
| 117364 | .extra_temps = .{ | 122489 | .extra_temps = .{ |
| 117365 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 122490 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117366 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 122491 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117367 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsitf" } }, | 122492 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsitf" } }, |
| 117368 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 122493 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117369 | .unused, | 122494 | .unused, |
| 117370 | .unused, | 122495 | .unused, |
| 117371 | .unused, | 122496 | .unused, |
| ... | @@ -117377,12 +122502,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117377,12 +122502,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117377 | .dst_temps = .{ .mem, .unused }, | 122502 | .dst_temps = .{ .mem, .unused }, |
| 117378 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 122503 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117379 | .each = .{ .once = &.{ | 122504 | .each = .{ .once = &.{ |
| 117380 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 122505 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 117381 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 122506 | .{ .@"0:", ._, .mov, .tmp1d, .memi(.src0d, .tmp0), ._, ._ }, |
| 117382 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 122507 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 117383 | .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 122508 | .{ ._, .v_dqa, .mov, .memsi(.dst0x, .@"4", .tmp0), .tmp3x, ._, ._ }, |
| 117384 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 122509 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 117385 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 122510 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 117386 | } }, | 122511 | } }, |
| 117387 | }, .{ | 122512 | }, .{ |
| 117388 | .required_features = .{ .sse2, null, null, null }, | 122513 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -117393,10 +122518,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117393,10 +122518,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117393 | }, | 122518 | }, |
| 117394 | .call_frame = .{ .alignment = .@"16" }, | 122519 | .call_frame = .{ .alignment = .@"16" }, |
| 117395 | .extra_temps = .{ | 122520 | .extra_temps = .{ |
| 117396 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 122521 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117397 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 122522 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117398 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsitf" } }, | 122523 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsitf" } }, |
| 117399 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 122524 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117400 | .unused, | 122525 | .unused, |
| 117401 | .unused, | 122526 | .unused, |
| 117402 | .unused, | 122527 | .unused, |
| ... | @@ -117408,12 +122533,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117408,12 +122533,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117408 | .dst_temps = .{ .mem, .unused }, | 122533 | .dst_temps = .{ .mem, .unused }, |
| 117409 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 122534 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117410 | .each = .{ .once = &.{ | 122535 | .each = .{ .once = &.{ |
| 117411 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 122536 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 117412 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 122537 | .{ .@"0:", ._, .mov, .tmp1d, .memi(.src0d, .tmp0), ._, ._ }, |
| 117413 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 122538 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 117414 | .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 122539 | .{ ._, ._dqa, .mov, .memsi(.dst0x, .@"4", .tmp0), .tmp3x, ._, ._ }, |
| 117415 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 122540 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 117416 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 122541 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 117417 | } }, | 122542 | } }, |
| 117418 | }, .{ | 122543 | }, .{ |
| 117419 | .required_features = .{ .sse, null, null, null }, | 122544 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -117424,10 +122549,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117424,10 +122549,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117424 | }, | 122549 | }, |
| 117425 | .call_frame = .{ .alignment = .@"16" }, | 122550 | .call_frame = .{ .alignment = .@"16" }, |
| 117426 | .extra_temps = .{ | 122551 | .extra_temps = .{ |
| 117427 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 122552 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117428 | .{ .type = .i32, .kind = .{ .reg = .edi } }, | 122553 | .{ .type = .i32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117429 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsitf" } }, | 122554 | .{ .type = .usize, .kind = .{ .extern_func = "__floatsitf" } }, |
| 117430 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 122555 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117431 | .unused, | 122556 | .unused, |
| 117432 | .unused, | 122557 | .unused, |
| 117433 | .unused, | 122558 | .unused, |
| ... | @@ -117439,12 +122564,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117439,12 +122564,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117439 | .dst_temps = .{ .mem, .unused }, | 122564 | .dst_temps = .{ .mem, .unused }, |
| 117440 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 122565 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117441 | .each = .{ .once = &.{ | 122566 | .each = .{ .once = &.{ |
| 117442 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 122567 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 117443 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 122568 | .{ .@"0:", ._, .mov, .tmp1d, .memi(.src0d, .tmp0), ._, ._ }, |
| 117444 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 122569 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 117445 | .{ ._, ._ps, .mova, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 122570 | .{ ._, ._ps, .mova, .memsi(.dst0x, .@"4", .tmp0), .tmp3x, ._, ._ }, |
| 117446 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 122571 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 117447 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 122572 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 117448 | } }, | 122573 | } }, |
| 117449 | }, .{ | 122574 | }, .{ |
| 117450 | .required_features = .{ .avx, null, null, null }, | 122575 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -117455,10 +122580,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117455,10 +122580,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117455 | }, | 122580 | }, |
| 117456 | .call_frame = .{ .alignment = .@"16" }, | 122581 | .call_frame = .{ .alignment = .@"16" }, |
| 117457 | .extra_temps = .{ | 122582 | .extra_temps = .{ |
| 117458 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 122583 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117459 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 122584 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117460 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsitf" } }, | 122585 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsitf" } }, |
| 117461 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 122586 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117462 | .unused, | 122587 | .unused, |
| 117463 | .unused, | 122588 | .unused, |
| 117464 | .unused, | 122589 | .unused, |
| ... | @@ -117470,12 +122595,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117470,12 +122595,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117470 | .dst_temps = .{ .mem, .unused }, | 122595 | .dst_temps = .{ .mem, .unused }, |
| 117471 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 122596 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117472 | .each = .{ .once = &.{ | 122597 | .each = .{ .once = &.{ |
| 117473 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 122598 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 117474 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 122599 | .{ .@"0:", ._, .mov, .tmp1d, .memi(.src0d, .tmp0), ._, ._ }, |
| 117475 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 122600 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 117476 | .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 122601 | .{ ._, .v_dqa, .mov, .memsi(.dst0x, .@"4", .tmp0), .tmp3x, ._, ._ }, |
| 117477 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 122602 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 117478 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 122603 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 117479 | } }, | 122604 | } }, |
| 117480 | }, .{ | 122605 | }, .{ |
| 117481 | .required_features = .{ .sse2, null, null, null }, | 122606 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -117486,10 +122611,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117486,10 +122611,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117486 | }, | 122611 | }, |
| 117487 | .call_frame = .{ .alignment = .@"16" }, | 122612 | .call_frame = .{ .alignment = .@"16" }, |
| 117488 | .extra_temps = .{ | 122613 | .extra_temps = .{ |
| 117489 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 122614 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117490 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 122615 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117491 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsitf" } }, | 122616 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsitf" } }, |
| 117492 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 122617 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117493 | .unused, | 122618 | .unused, |
| 117494 | .unused, | 122619 | .unused, |
| 117495 | .unused, | 122620 | .unused, |
| ... | @@ -117501,12 +122626,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117501,12 +122626,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117501 | .dst_temps = .{ .mem, .unused }, | 122626 | .dst_temps = .{ .mem, .unused }, |
| 117502 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 122627 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117503 | .each = .{ .once = &.{ | 122628 | .each = .{ .once = &.{ |
| 117504 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 122629 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 117505 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 122630 | .{ .@"0:", ._, .mov, .tmp1d, .memi(.src0d, .tmp0), ._, ._ }, |
| 117506 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 122631 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 117507 | .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 122632 | .{ ._, ._dqa, .mov, .memsi(.dst0x, .@"4", .tmp0), .tmp3x, ._, ._ }, |
| 117508 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 122633 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 117509 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 122634 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 117510 | } }, | 122635 | } }, |
| 117511 | }, .{ | 122636 | }, .{ |
| 117512 | .required_features = .{ .sse, null, null, null }, | 122637 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -117517,10 +122642,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117517,10 +122642,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117517 | }, | 122642 | }, |
| 117518 | .call_frame = .{ .alignment = .@"16" }, | 122643 | .call_frame = .{ .alignment = .@"16" }, |
| 117519 | .extra_temps = .{ | 122644 | .extra_temps = .{ |
| 117520 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 122645 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117521 | .{ .type = .u32, .kind = .{ .reg = .edi } }, | 122646 | .{ .type = .u32, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117522 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsitf" } }, | 122647 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunsitf" } }, |
| 117523 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 122648 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117524 | .unused, | 122649 | .unused, |
| 117525 | .unused, | 122650 | .unused, |
| 117526 | .unused, | 122651 | .unused, |
| ... | @@ -117532,12 +122657,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117532,12 +122657,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117532 | .dst_temps = .{ .mem, .unused }, | 122657 | .dst_temps = .{ .mem, .unused }, |
| 117533 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 122658 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117534 | .each = .{ .once = &.{ | 122659 | .each = .{ .once = &.{ |
| 117535 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 122660 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 117536 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 122661 | .{ .@"0:", ._, .mov, .tmp1d, .memi(.src0d, .tmp0), ._, ._ }, |
| 117537 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 122662 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 117538 | .{ ._, ._ps, .mova, .memsia(.dst0x, .@"4", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 122663 | .{ ._, ._ps, .mova, .memsi(.dst0x, .@"4", .tmp0), .tmp3x, ._, ._ }, |
| 117539 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 122664 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 117540 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 122665 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 117541 | } }, | 122666 | } }, |
| 117542 | }, .{ | 122667 | }, .{ |
| 117543 | .required_features = .{ .@"64bit", .avx, null, null }, | 122668 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | @@ -117548,10 +122673,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117548,10 +122673,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117548 | }, | 122673 | }, |
| 117549 | .call_frame = .{ .alignment = .@"16" }, | 122674 | .call_frame = .{ .alignment = .@"16" }, |
| 117550 | .extra_temps = .{ | 122675 | .extra_temps = .{ |
| 117551 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 122676 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117552 | .{ .type = .i64, .kind = .{ .reg = .rdi } }, | 122677 | .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117553 | .{ .type = .usize, .kind = .{ .extern_func = "__floatditf" } }, | 122678 | .{ .type = .usize, .kind = .{ .extern_func = "__floatditf" } }, |
| 117554 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 122679 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117555 | .unused, | 122680 | .unused, |
| 117556 | .unused, | 122681 | .unused, |
| 117557 | .unused, | 122682 | .unused, |
| ... | @@ -117563,12 +122688,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117563,12 +122688,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117563 | .dst_temps = .{ .mem, .unused }, | 122688 | .dst_temps = .{ .mem, .unused }, |
| 117564 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 122689 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117565 | .each = .{ .once = &.{ | 122690 | .each = .{ .once = &.{ |
| 117566 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 122691 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 117567 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 122692 | .{ .@"0:", ._, .mov, .tmp1q, .memi(.src0q, .tmp0), ._, ._ }, |
| 117568 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 122693 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 117569 | .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 122694 | .{ ._, .v_dqa, .mov, .memsi(.dst0x, .@"2", .tmp0), .tmp3x, ._, ._ }, |
| 117570 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 122695 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 117571 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 122696 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 117572 | } }, | 122697 | } }, |
| 117573 | }, .{ | 122698 | }, .{ |
| 117574 | .required_features = .{ .@"64bit", .sse2, null, null }, | 122699 | .required_features = .{ .@"64bit", .sse2, null, null }, |
| ... | @@ -117579,10 +122704,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117579,10 +122704,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117579 | }, | 122704 | }, |
| 117580 | .call_frame = .{ .alignment = .@"16" }, | 122705 | .call_frame = .{ .alignment = .@"16" }, |
| 117581 | .extra_temps = .{ | 122706 | .extra_temps = .{ |
| 117582 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 122707 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117583 | .{ .type = .i64, .kind = .{ .reg = .rdi } }, | 122708 | .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117584 | .{ .type = .usize, .kind = .{ .extern_func = "__floatditf" } }, | 122709 | .{ .type = .usize, .kind = .{ .extern_func = "__floatditf" } }, |
| 117585 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 122710 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117586 | .unused, | 122711 | .unused, |
| 117587 | .unused, | 122712 | .unused, |
| 117588 | .unused, | 122713 | .unused, |
| ... | @@ -117594,12 +122719,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117594,12 +122719,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117594 | .dst_temps = .{ .mem, .unused }, | 122719 | .dst_temps = .{ .mem, .unused }, |
| 117595 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 122720 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117596 | .each = .{ .once = &.{ | 122721 | .each = .{ .once = &.{ |
| 117597 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 122722 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 117598 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 122723 | .{ .@"0:", ._, .mov, .tmp1q, .memi(.src0q, .tmp0), ._, ._ }, |
| 117599 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 122724 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 117600 | .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 122725 | .{ ._, ._dqa, .mov, .memsi(.dst0x, .@"2", .tmp0), .tmp3x, ._, ._ }, |
| 117601 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 122726 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 117602 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 122727 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 117603 | } }, | 122728 | } }, |
| 117604 | }, .{ | 122729 | }, .{ |
| 117605 | .required_features = .{ .@"64bit", .sse, null, null }, | 122730 | .required_features = .{ .@"64bit", .sse, null, null }, |
| ... | @@ -117610,10 +122735,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117610,10 +122735,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117610 | }, | 122735 | }, |
| 117611 | .call_frame = .{ .alignment = .@"16" }, | 122736 | .call_frame = .{ .alignment = .@"16" }, |
| 117612 | .extra_temps = .{ | 122737 | .extra_temps = .{ |
| 117613 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 122738 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117614 | .{ .type = .i64, .kind = .{ .reg = .rdi } }, | 122739 | .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117615 | .{ .type = .usize, .kind = .{ .extern_func = "__floatditf" } }, | 122740 | .{ .type = .usize, .kind = .{ .extern_func = "__floatditf" } }, |
| 117616 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 122741 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117617 | .unused, | 122742 | .unused, |
| 117618 | .unused, | 122743 | .unused, |
| 117619 | .unused, | 122744 | .unused, |
| ... | @@ -117625,12 +122750,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117625,12 +122750,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117625 | .dst_temps = .{ .mem, .unused }, | 122750 | .dst_temps = .{ .mem, .unused }, |
| 117626 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 122751 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117627 | .each = .{ .once = &.{ | 122752 | .each = .{ .once = &.{ |
| 117628 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 122753 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 117629 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 122754 | .{ .@"0:", ._, .mov, .tmp1q, .memi(.src0q, .tmp0), ._, ._ }, |
| 117630 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 122755 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 117631 | .{ ._, ._ps, .mova, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 122756 | .{ ._, ._ps, .mova, .memsi(.dst0x, .@"2", .tmp0), .tmp3x, ._, ._ }, |
| 117632 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 122757 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 117633 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 122758 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 117634 | } }, | 122759 | } }, |
| 117635 | }, .{ | 122760 | }, .{ |
| 117636 | .required_features = .{ .@"64bit", .avx, null, null }, | 122761 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | @@ -117641,10 +122766,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117641,10 +122766,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117641 | }, | 122766 | }, |
| 117642 | .call_frame = .{ .alignment = .@"16" }, | 122767 | .call_frame = .{ .alignment = .@"16" }, |
| 117643 | .extra_temps = .{ | 122768 | .extra_temps = .{ |
| 117644 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 122769 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117645 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 122770 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117646 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunditf" } }, | 122771 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunditf" } }, |
| 117647 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 122772 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117648 | .unused, | 122773 | .unused, |
| 117649 | .unused, | 122774 | .unused, |
| 117650 | .unused, | 122775 | .unused, |
| ... | @@ -117656,12 +122781,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117656,12 +122781,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117656 | .dst_temps = .{ .mem, .unused }, | 122781 | .dst_temps = .{ .mem, .unused }, |
| 117657 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 122782 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117658 | .each = .{ .once = &.{ | 122783 | .each = .{ .once = &.{ |
| 117659 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 122784 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 117660 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 122785 | .{ .@"0:", ._, .mov, .tmp1q, .memi(.src0q, .tmp0), ._, ._ }, |
| 117661 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 122786 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 117662 | .{ ._, .v_dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 122787 | .{ ._, .v_dqa, .mov, .memsi(.dst0x, .@"2", .tmp0), .tmp3x, ._, ._ }, |
| 117663 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 122788 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 117664 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 122789 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 117665 | } }, | 122790 | } }, |
| 117666 | }, .{ | 122791 | }, .{ |
| 117667 | .required_features = .{ .@"64bit", .sse2, null, null }, | 122792 | .required_features = .{ .@"64bit", .sse2, null, null }, |
| ... | @@ -117672,10 +122797,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117672,10 +122797,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117672 | }, | 122797 | }, |
| 117673 | .call_frame = .{ .alignment = .@"16" }, | 122798 | .call_frame = .{ .alignment = .@"16" }, |
| 117674 | .extra_temps = .{ | 122799 | .extra_temps = .{ |
| 117675 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 122800 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117676 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 122801 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117677 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunditf" } }, | 122802 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunditf" } }, |
| 117678 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 122803 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117679 | .unused, | 122804 | .unused, |
| 117680 | .unused, | 122805 | .unused, |
| 117681 | .unused, | 122806 | .unused, |
| ... | @@ -117687,12 +122812,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117687,12 +122812,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117687 | .dst_temps = .{ .mem, .unused }, | 122812 | .dst_temps = .{ .mem, .unused }, |
| 117688 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 122813 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117689 | .each = .{ .once = &.{ | 122814 | .each = .{ .once = &.{ |
| 117690 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 122815 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 117691 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 122816 | .{ .@"0:", ._, .mov, .tmp1q, .memi(.src0q, .tmp0), ._, ._ }, |
| 117692 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 122817 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 117693 | .{ ._, ._dqa, .mov, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 122818 | .{ ._, ._dqa, .mov, .memsi(.dst0x, .@"2", .tmp0), .tmp3x, ._, ._ }, |
| 117694 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 122819 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 117695 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 122820 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 117696 | } }, | 122821 | } }, |
| 117697 | }, .{ | 122822 | }, .{ |
| 117698 | .required_features = .{ .@"64bit", .sse, null, null }, | 122823 | .required_features = .{ .@"64bit", .sse, null, null }, |
| ... | @@ -117703,10 +122828,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117703,10 +122828,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117703 | }, | 122828 | }, |
| 117704 | .call_frame = .{ .alignment = .@"16" }, | 122829 | .call_frame = .{ .alignment = .@"16" }, |
| 117705 | .extra_temps = .{ | 122830 | .extra_temps = .{ |
| 117706 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 122831 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117707 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 122832 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117708 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunditf" } }, | 122833 | .{ .type = .usize, .kind = .{ .extern_func = "__floatunditf" } }, |
| 117709 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 122834 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117710 | .unused, | 122835 | .unused, |
| 117711 | .unused, | 122836 | .unused, |
| 117712 | .unused, | 122837 | .unused, |
| ... | @@ -117718,15 +122843,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117718,15 +122843,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117718 | .dst_temps = .{ .mem, .unused }, | 122843 | .dst_temps = .{ .mem, .unused }, |
| 117719 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 122844 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117720 | .each = .{ .once = &.{ | 122845 | .each = .{ .once = &.{ |
| 117721 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 122846 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 117722 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 122847 | .{ .@"0:", ._, .mov, .tmp1q, .memi(.src0q, .tmp0), ._, ._ }, |
| 117723 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 122848 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 117724 | .{ ._, ._ps, .mova, .memsia(.dst0x, .@"2", .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | 122849 | .{ ._, ._ps, .mova, .memsi(.dst0x, .@"2", .tmp0), .tmp3x, ._, ._ }, |
| 117725 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 122850 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 117726 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 122851 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 117727 | } }, | 122852 | } }, |
| 117728 | }, .{ | 122853 | }, .{ |
| 117729 | .required_features = .{ .@"64bit", .avx, null, null }, | 122854 | .required_cc_abi = .sysv64, |
| | 122855 | .required_features = .{ .avx, null, null, null }, |
| 117730 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 122856 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 117731 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any }, | 122857 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any }, |
| 117732 | .patterns = &.{ | 122858 | .patterns = &.{ |
| ... | @@ -117734,11 +122860,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117734,11 +122860,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117734 | }, | 122860 | }, |
| 117735 | .call_frame = .{ .alignment = .@"16" }, | 122861 | .call_frame = .{ .alignment = .@"16" }, |
| 117736 | .extra_temps = .{ | 122862 | .extra_temps = .{ |
| 117737 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 122863 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117738 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 122864 | .{ .type = .i128, .kind = .{ .param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117739 | .{ .type = .i64, .kind = .{ .reg = .rsi } }, | | |
| 117740 | .{ .type = .usize, .kind = .{ .extern_func = "__floattitf" } }, | 122865 | .{ .type = .usize, .kind = .{ .extern_func = "__floattitf" } }, |
| 117741 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 122866 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 122867 | .unused, |
| 117742 | .unused, | 122868 | .unused, |
| 117743 | .unused, | 122869 | .unused, |
| 117744 | .unused, | 122870 | .unused, |
| ... | @@ -117749,16 +122875,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117749,16 +122875,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117749 | .dst_temps = .{ .mem, .unused }, | 122875 | .dst_temps = .{ .mem, .unused }, |
| 117750 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 122876 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117751 | .each = .{ .once = &.{ | 122877 | .each = .{ .once = &.{ |
| 117752 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 122878 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 117753 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 122879 | .{ .@"0:", ._, .mov, .tmp1q0, .memi(.src0q, .tmp0), ._, ._ }, |
| 117754 | .{ ._, ._, .mov, .tmp2q, .memiad(.src0q, .tmp0, .add_unaligned_size, 8), ._, ._ }, | 122880 | .{ ._, ._, .mov, .tmp1q1, .memid(.src0q, .tmp0, 8), ._, ._ }, |
| 117755 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 122881 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 117756 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp4x, ._, ._ }, | 122882 | .{ ._, .v_dqa, .mov, .memi(.dst0x, .tmp0), .tmp3x, ._, ._ }, |
| 117757 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 122883 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 117758 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 122884 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 117759 | } }, | 122885 | } }, |
| 117760 | }, .{ | 122886 | }, .{ |
| 117761 | .required_features = .{ .@"64bit", .sse2, null, null }, | 122887 | .required_cc_abi = .win64, |
| | 122888 | .required_features = .{ .avx, null, null, null }, |
| 117762 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 122889 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 117763 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any }, | 122890 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any }, |
| 117764 | .patterns = &.{ | 122891 | .patterns = &.{ |
| ... | @@ -117766,11 +122893,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117766,11 +122893,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117766 | }, | 122893 | }, |
| 117767 | .call_frame = .{ .alignment = .@"16" }, | 122894 | .call_frame = .{ .alignment = .@"16" }, |
| 117768 | .extra_temps = .{ | 122895 | .extra_temps = .{ |
| 117769 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 122896 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117770 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 122897 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117771 | .{ .type = .i64, .kind = .{ .reg = .rsi } }, | | |
| 117772 | .{ .type = .usize, .kind = .{ .extern_func = "__floattitf" } }, | 122898 | .{ .type = .usize, .kind = .{ .extern_func = "__floattitf" } }, |
| 117773 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 122899 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 122900 | .unused, |
| 117774 | .unused, | 122901 | .unused, |
| 117775 | .unused, | 122902 | .unused, |
| 117776 | .unused, | 122903 | .unused, |
| ... | @@ -117781,16 +122908,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117781,16 +122908,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117781 | .dst_temps = .{ .mem, .unused }, | 122908 | .dst_temps = .{ .mem, .unused }, |
| 117782 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 122909 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117783 | .each = .{ .once = &.{ | 122910 | .each = .{ .once = &.{ |
| 117784 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 122911 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 117785 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 122912 | .{ .@"0:", ._, .lea, .tmp1p, .memi(.src0, .tmp0), ._, ._ }, |
| 117786 | .{ ._, ._, .mov, .tmp2q, .memiad(.src0q, .tmp0, .add_unaligned_size, 8), ._, ._ }, | 122913 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 117787 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 122914 | .{ ._, .v_dqa, .mov, .memi(.dst0x, .tmp0), .tmp3x, ._, ._ }, |
| 117788 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp4x, ._, ._ }, | 122915 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 117789 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 122916 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 117790 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | | |
| 117791 | } }, | 122917 | } }, |
| 117792 | }, .{ | 122918 | }, .{ |
| 117793 | .required_features = .{ .@"64bit", .sse, null, null }, | 122919 | .required_cc_abi = .sysv64, |
| | 122920 | .required_features = .{ .sse2, null, null, null }, |
| 117794 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 122921 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 117795 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any }, | 122922 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any }, |
| 117796 | .patterns = &.{ | 122923 | .patterns = &.{ |
| ... | @@ -117798,11 +122925,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117798,11 +122925,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117798 | }, | 122925 | }, |
| 117799 | .call_frame = .{ .alignment = .@"16" }, | 122926 | .call_frame = .{ .alignment = .@"16" }, |
| 117800 | .extra_temps = .{ | 122927 | .extra_temps = .{ |
| 117801 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 122928 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117802 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 122929 | .{ .type = .i128, .kind = .{ .param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117803 | .{ .type = .i64, .kind = .{ .reg = .rsi } }, | | |
| 117804 | .{ .type = .usize, .kind = .{ .extern_func = "__floattitf" } }, | 122930 | .{ .type = .usize, .kind = .{ .extern_func = "__floattitf" } }, |
| 117805 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 122931 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 122932 | .unused, |
| 117806 | .unused, | 122933 | .unused, |
| 117807 | .unused, | 122934 | .unused, |
| 117808 | .unused, | 122935 | .unused, |
| ... | @@ -117813,16 +122940,114 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117813,16 +122940,114 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117813 | .dst_temps = .{ .mem, .unused }, | 122940 | .dst_temps = .{ .mem, .unused }, |
| 117814 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 122941 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117815 | .each = .{ .once = &.{ | 122942 | .each = .{ .once = &.{ |
| 117816 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 122943 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 117817 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 122944 | .{ .@"0:", ._, .mov, .tmp1q0, .memi(.src0q, .tmp0), ._, ._ }, |
| 117818 | .{ ._, ._, .mov, .tmp2q, .memiad(.src0q, .tmp0, .add_unaligned_size, 8), ._, ._ }, | 122945 | .{ ._, ._, .mov, .tmp1q1, .memid(.src0q, .tmp0, 8), ._, ._ }, |
| 117819 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 122946 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 117820 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp4x, ._, ._ }, | 122947 | .{ ._, ._dqa, .mov, .memi(.dst0x, .tmp0), .tmp3x, ._, ._ }, |
| 117821 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 122948 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 117822 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 122949 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 117823 | } }, | 122950 | } }, |
| 117824 | }, .{ | 122951 | }, .{ |
| 117825 | .required_features = .{ .@"64bit", .avx, null, null }, | 122952 | .required_cc_abi = .win64, |
| | 122953 | .required_features = .{ .sse2, null, null, null }, |
| | 122954 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 122955 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any }, |
| | 122956 | .patterns = &.{ |
| | 122957 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 122958 | }, |
| | 122959 | .call_frame = .{ .alignment = .@"16" }, |
| | 122960 | .extra_temps = .{ |
| | 122961 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 122962 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 122963 | .{ .type = .usize, .kind = .{ .extern_func = "__floattitf" } }, |
| | 122964 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 122965 | .unused, |
| | 122966 | .unused, |
| | 122967 | .unused, |
| | 122968 | .unused, |
| | 122969 | .unused, |
| | 122970 | .unused, |
| | 122971 | .unused, |
| | 122972 | }, |
| | 122973 | .dst_temps = .{ .mem, .unused }, |
| | 122974 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 122975 | .each = .{ .once = &.{ |
| | 122976 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 122977 | .{ .@"0:", ._, .lea, .tmp1p, .memi(.src0, .tmp0), ._, ._ }, |
| | 122978 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 122979 | .{ ._, ._dqa, .mov, .memi(.dst0x, .tmp0), .tmp3x, ._, ._ }, |
| | 122980 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 122981 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 122982 | } }, |
| | 122983 | }, .{ |
| | 122984 | .required_cc_abi = .sysv64, |
| | 122985 | .required_features = .{ .sse, null, null, null }, |
| | 122986 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 122987 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any }, |
| | 122988 | .patterns = &.{ |
| | 122989 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 122990 | }, |
| | 122991 | .call_frame = .{ .alignment = .@"16" }, |
| | 122992 | .extra_temps = .{ |
| | 122993 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 122994 | .{ .type = .u128, .kind = .{ .param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 122995 | .{ .type = .usize, .kind = .{ .extern_func = "__floattitf" } }, |
| | 122996 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 122997 | .unused, |
| | 122998 | .unused, |
| | 122999 | .unused, |
| | 123000 | .unused, |
| | 123001 | .unused, |
| | 123002 | .unused, |
| | 123003 | .unused, |
| | 123004 | }, |
| | 123005 | .dst_temps = .{ .mem, .unused }, |
| | 123006 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 123007 | .each = .{ .once = &.{ |
| | 123008 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 123009 | .{ .@"0:", ._, .mov, .tmp1q0, .memi(.src0q, .tmp0), ._, ._ }, |
| | 123010 | .{ ._, ._, .mov, .tmp1q1, .memid(.src0q, .tmp0, 8), ._, ._ }, |
| | 123011 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 123012 | .{ ._, ._ps, .mova, .memi(.dst0x, .tmp0), .tmp3x, ._, ._ }, |
| | 123013 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 123014 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 123015 | } }, |
| | 123016 | }, .{ |
| | 123017 | .required_cc_abi = .win64, |
| | 123018 | .required_features = .{ .sse, null, null, null }, |
| | 123019 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 123020 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any }, |
| | 123021 | .patterns = &.{ |
| | 123022 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 123023 | }, |
| | 123024 | .call_frame = .{ .alignment = .@"16" }, |
| | 123025 | .extra_temps = .{ |
| | 123026 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 123027 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 123028 | .{ .type = .usize, .kind = .{ .extern_func = "__floattitf" } }, |
| | 123029 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 123030 | .unused, |
| | 123031 | .unused, |
| | 123032 | .unused, |
| | 123033 | .unused, |
| | 123034 | .unused, |
| | 123035 | .unused, |
| | 123036 | .unused, |
| | 123037 | }, |
| | 123038 | .dst_temps = .{ .mem, .unused }, |
| | 123039 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 123040 | .each = .{ .once = &.{ |
| | 123041 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 123042 | .{ .@"0:", ._, .lea, .tmp1p, .memi(.src0, .tmp0), ._, ._ }, |
| | 123043 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 123044 | .{ ._, ._ps, .mova, .memi(.dst0x, .tmp0), .tmp3x, ._, ._ }, |
| | 123045 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 123046 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 123047 | } }, |
| | 123048 | }, .{ |
| | 123049 | .required_cc_abi = .sysv64, |
| | 123050 | .required_features = .{ .avx, null, null, null }, |
| 117826 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 123051 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 117827 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any }, | 123052 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any }, |
| 117828 | .patterns = &.{ | 123053 | .patterns = &.{ |
| ... | @@ -117830,11 +123055,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117830,11 +123055,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117830 | }, | 123055 | }, |
| 117831 | .call_frame = .{ .alignment = .@"16" }, | 123056 | .call_frame = .{ .alignment = .@"16" }, |
| 117832 | .extra_temps = .{ | 123057 | .extra_temps = .{ |
| 117833 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 123058 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117834 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 123059 | .{ .type = .u128, .kind = .{ .param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117835 | .{ .type = .u64, .kind = .{ .reg = .rsi } }, | | |
| 117836 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntitf" } }, | 123060 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntitf" } }, |
| 117837 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 123061 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 123062 | .unused, |
| 117838 | .unused, | 123063 | .unused, |
| 117839 | .unused, | 123064 | .unused, |
| 117840 | .unused, | 123065 | .unused, |
| ... | @@ -117845,16 +123070,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117845,16 +123070,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117845 | .dst_temps = .{ .mem, .unused }, | 123070 | .dst_temps = .{ .mem, .unused }, |
| 117846 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 123071 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117847 | .each = .{ .once = &.{ | 123072 | .each = .{ .once = &.{ |
| 117848 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 123073 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 117849 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 123074 | .{ .@"0:", ._, .mov, .tmp1q0, .memi(.src0q, .tmp0), ._, ._ }, |
| 117850 | .{ ._, ._, .mov, .tmp2q, .memiad(.src0q, .tmp0, .add_unaligned_size, 8), ._, ._ }, | 123075 | .{ ._, ._, .mov, .tmp1q1, .memid(.src0q, .tmp0, 8), ._, ._ }, |
| 117851 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 123076 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 117852 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp4x, ._, ._ }, | 123077 | .{ ._, .v_dqa, .mov, .memi(.dst0x, .tmp0), .tmp3x, ._, ._ }, |
| 117853 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 123078 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 117854 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 123079 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 117855 | } }, | 123080 | } }, |
| 117856 | }, .{ | 123081 | }, .{ |
| 117857 | .required_features = .{ .@"64bit", .sse2, null, null }, | 123082 | .required_cc_abi = .win64, |
| | 123083 | .required_features = .{ .avx, null, null, null }, |
| 117858 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 123084 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 117859 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any }, | 123085 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any }, |
| 117860 | .patterns = &.{ | 123086 | .patterns = &.{ |
| ... | @@ -117862,11 +123088,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117862,11 +123088,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117862 | }, | 123088 | }, |
| 117863 | .call_frame = .{ .alignment = .@"16" }, | 123089 | .call_frame = .{ .alignment = .@"16" }, |
| 117864 | .extra_temps = .{ | 123090 | .extra_temps = .{ |
| 117865 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 123091 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117866 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 123092 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117867 | .{ .type = .u64, .kind = .{ .reg = .rsi } }, | | |
| 117868 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntitf" } }, | 123093 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntitf" } }, |
| 117869 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 123094 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 123095 | .unused, |
| 117870 | .unused, | 123096 | .unused, |
| 117871 | .unused, | 123097 | .unused, |
| 117872 | .unused, | 123098 | .unused, |
| ... | @@ -117877,16 +123103,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117877,16 +123103,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117877 | .dst_temps = .{ .mem, .unused }, | 123103 | .dst_temps = .{ .mem, .unused }, |
| 117878 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 123104 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117879 | .each = .{ .once = &.{ | 123105 | .each = .{ .once = &.{ |
| 117880 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 123106 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 117881 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 123107 | .{ .@"0:", ._, .lea, .tmp1p, .memi(.src0, .tmp0), ._, ._ }, |
| 117882 | .{ ._, ._, .mov, .tmp2q, .memiad(.src0q, .tmp0, .add_unaligned_size, 8), ._, ._ }, | 123108 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 117883 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 123109 | .{ ._, .v_dqa, .mov, .memi(.dst0x, .tmp0), .tmp3x, ._, ._ }, |
| 117884 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp4x, ._, ._ }, | 123110 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 117885 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 123111 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 117886 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | | |
| 117887 | } }, | 123112 | } }, |
| 117888 | }, .{ | 123113 | }, .{ |
| 117889 | .required_features = .{ .@"64bit", .sse, null, null }, | 123114 | .required_cc_abi = .sysv64, |
| | 123115 | .required_features = .{ .sse2, null, null, null }, |
| 117890 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 123116 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 117891 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any }, | 123117 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any }, |
| 117892 | .patterns = &.{ | 123118 | .patterns = &.{ |
| ... | @@ -117894,11 +123120,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117894,11 +123120,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117894 | }, | 123120 | }, |
| 117895 | .call_frame = .{ .alignment = .@"16" }, | 123121 | .call_frame = .{ .alignment = .@"16" }, |
| 117896 | .extra_temps = .{ | 123122 | .extra_temps = .{ |
| 117897 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 123123 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117898 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 123124 | .{ .type = .u128, .kind = .{ .param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117899 | .{ .type = .u64, .kind = .{ .reg = .rsi } }, | | |
| 117900 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntitf" } }, | 123125 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntitf" } }, |
| 117901 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 123126 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 123127 | .unused, |
| 117902 | .unused, | 123128 | .unused, |
| 117903 | .unused, | 123129 | .unused, |
| 117904 | .unused, | 123130 | .unused, |
| ... | @@ -117909,13 +123135,110 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117909,13 +123135,110 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117909 | .dst_temps = .{ .mem, .unused }, | 123135 | .dst_temps = .{ .mem, .unused }, |
| 117910 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 123136 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117911 | .each = .{ .once = &.{ | 123137 | .each = .{ .once = &.{ |
| 117912 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 123138 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 117913 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 123139 | .{ .@"0:", ._, .mov, .tmp1q0, .memi(.src0q, .tmp0), ._, ._ }, |
| 117914 | .{ ._, ._, .mov, .tmp2q, .memiad(.src0q, .tmp0, .add_unaligned_size, 8), ._, ._ }, | 123140 | .{ ._, ._, .mov, .tmp1q1, .memid(.src0q, .tmp0, 8), ._, ._ }, |
| 117915 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 123141 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 117916 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp4x, ._, ._ }, | 123142 | .{ ._, ._dqa, .mov, .memi(.dst0x, .tmp0), .tmp3x, ._, ._ }, |
| 117917 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 123143 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 117918 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 123144 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 123145 | } }, |
| | 123146 | }, .{ |
| | 123147 | .required_cc_abi = .win64, |
| | 123148 | .required_features = .{ .sse2, null, null, null }, |
| | 123149 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 123150 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any }, |
| | 123151 | .patterns = &.{ |
| | 123152 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 123153 | }, |
| | 123154 | .call_frame = .{ .alignment = .@"16" }, |
| | 123155 | .extra_temps = .{ |
| | 123156 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 123157 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 123158 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntitf" } }, |
| | 123159 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 123160 | .unused, |
| | 123161 | .unused, |
| | 123162 | .unused, |
| | 123163 | .unused, |
| | 123164 | .unused, |
| | 123165 | .unused, |
| | 123166 | .unused, |
| | 123167 | }, |
| | 123168 | .dst_temps = .{ .mem, .unused }, |
| | 123169 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 123170 | .each = .{ .once = &.{ |
| | 123171 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 123172 | .{ .@"0:", ._, .lea, .tmp1p, .memi(.src0, .tmp0), ._, ._ }, |
| | 123173 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 123174 | .{ ._, ._dqa, .mov, .memi(.dst0x, .tmp0), .tmp3x, ._, ._ }, |
| | 123175 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 123176 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 123177 | } }, |
| | 123178 | }, .{ |
| | 123179 | .required_cc_abi = .sysv64, |
| | 123180 | .required_features = .{ .sse, null, null, null }, |
| | 123181 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 123182 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any }, |
| | 123183 | .patterns = &.{ |
| | 123184 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 123185 | }, |
| | 123186 | .call_frame = .{ .alignment = .@"16" }, |
| | 123187 | .extra_temps = .{ |
| | 123188 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 123189 | .{ .type = .u128, .kind = .{ .param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 123190 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntitf" } }, |
| | 123191 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 123192 | .unused, |
| | 123193 | .unused, |
| | 123194 | .unused, |
| | 123195 | .unused, |
| | 123196 | .unused, |
| | 123197 | .unused, |
| | 123198 | .unused, |
| | 123199 | }, |
| | 123200 | .dst_temps = .{ .mem, .unused }, |
| | 123201 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 123202 | .each = .{ .once = &.{ |
| | 123203 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 123204 | .{ .@"0:", ._, .mov, .tmp1q0, .memi(.src0q, .tmp0), ._, ._ }, |
| | 123205 | .{ ._, ._, .mov, .tmp1q1, .memid(.src0q, .tmp0, 8), ._, ._ }, |
| | 123206 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 123207 | .{ ._, ._ps, .mova, .memi(.dst0x, .tmp0), .tmp3x, ._, ._ }, |
| | 123208 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 123209 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 123210 | } }, |
| | 123211 | }, .{ |
| | 123212 | .required_cc_abi = .win64, |
| | 123213 | .required_features = .{ .sse, null, null, null }, |
| | 123214 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 123215 | .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any }, |
| | 123216 | .patterns = &.{ |
| | 123217 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 123218 | }, |
| | 123219 | .call_frame = .{ .alignment = .@"16" }, |
| | 123220 | .extra_temps = .{ |
| | 123221 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 123222 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 123223 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuntitf" } }, |
| | 123224 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 123225 | .unused, |
| | 123226 | .unused, |
| | 123227 | .unused, |
| | 123228 | .unused, |
| | 123229 | .unused, |
| | 123230 | .unused, |
| | 123231 | .unused, |
| | 123232 | }, |
| | 123233 | .dst_temps = .{ .mem, .unused }, |
| | 123234 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 123235 | .each = .{ .once = &.{ |
| | 123236 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 123237 | .{ .@"0:", ._, .lea, .tmp1p, .memi(.src0, .tmp0), ._, ._ }, |
| | 123238 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 123239 | .{ ._, ._ps, .mova, .memi(.dst0x, .tmp0), .tmp3x, ._, ._ }, |
| | 123240 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 123241 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 117919 | } }, | 123242 | } }, |
| 117920 | }, .{ | 123243 | }, .{ |
| 117921 | .required_features = .{ .@"64bit", .avx, null, null }, | 123244 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | @@ -117927,11 +123250,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117927,11 +123250,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117927 | .call_frame = .{ .alignment = .@"16" }, | 123250 | .call_frame = .{ .alignment = .@"16" }, |
| 117928 | .extra_temps = .{ | 123251 | .extra_temps = .{ |
| 117929 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 123252 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 117930 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 123253 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117931 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 123254 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117932 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 123255 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 117933 | .{ .type = .usize, .kind = .{ .extern_func = "__floateitf" } }, | 123256 | .{ .type = .usize, .kind = .{ .extern_func = "__floateitf" } }, |
| 117934 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 123257 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117935 | .unused, | 123258 | .unused, |
| 117936 | .unused, | 123259 | .unused, |
| 117937 | .unused, | 123260 | .unused, |
| ... | @@ -117941,15 +123264,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117941,15 +123264,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117941 | .dst_temps = .{ .mem, .unused }, | 123264 | .dst_temps = .{ .mem, .unused }, |
| 117942 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 123265 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117943 | .each = .{ .once = &.{ | 123266 | .each = .{ .once = &.{ |
| 117944 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 123267 | .{ ._, ._, .lea, .tmp0p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 117945 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 123268 | .{ ._, ._, .mov, .tmp1d, .sia(-16, .dst0, .add_unaligned_size), ._, ._ }, |
| 117946 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, | 123269 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, |
| 117947 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, | 123270 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, |
| 117948 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 123271 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 117949 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ }, | 123272 | .{ ._, .v_dqa, .mov, .memi(.dst0x, .tmp1), .tmp5x, ._, ._ }, |
| 117950 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ }, | 123273 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .sub_src0_elem_size), ._, ._ }, |
| 117951 | .{ ._, ._, .add, .tmp1p, .si(16), ._, ._ }, | 123274 | .{ ._, ._, .sub, .tmp1d, .si(16), ._, ._ }, |
| 117952 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 123275 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 117953 | } }, | 123276 | } }, |
| 117954 | }, .{ | 123277 | }, .{ |
| 117955 | .required_features = .{ .@"64bit", .sse2, null, null }, | 123278 | .required_features = .{ .@"64bit", .sse2, null, null }, |
| ... | @@ -117961,11 +123284,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117961,11 +123284,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117961 | .call_frame = .{ .alignment = .@"16" }, | 123284 | .call_frame = .{ .alignment = .@"16" }, |
| 117962 | .extra_temps = .{ | 123285 | .extra_temps = .{ |
| 117963 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 123286 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 117964 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 123287 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117965 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 123288 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117966 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 123289 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 117967 | .{ .type = .usize, .kind = .{ .extern_func = "__floateitf" } }, | 123290 | .{ .type = .usize, .kind = .{ .extern_func = "__floateitf" } }, |
| 117968 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 123291 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 117969 | .unused, | 123292 | .unused, |
| 117970 | .unused, | 123293 | .unused, |
| 117971 | .unused, | 123294 | .unused, |
| ... | @@ -117975,15 +123298,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117975,15 +123298,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117975 | .dst_temps = .{ .mem, .unused }, | 123298 | .dst_temps = .{ .mem, .unused }, |
| 117976 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 123299 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 117977 | .each = .{ .once = &.{ | 123300 | .each = .{ .once = &.{ |
| 117978 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 123301 | .{ ._, ._, .lea, .tmp0p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 117979 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 123302 | .{ ._, ._, .mov, .tmp1d, .sia(-16, .dst0, .add_unaligned_size), ._, ._ }, |
| 117980 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, | 123303 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, |
| 117981 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, | 123304 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, |
| 117982 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 123305 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 117983 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ }, | 123306 | .{ ._, ._dqa, .mov, .memi(.dst0x, .tmp1), .tmp5x, ._, ._ }, |
| 117984 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ }, | 123307 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .sub_src0_elem_size), ._, ._ }, |
| 117985 | .{ ._, ._, .add, .tmp1p, .si(16), ._, ._ }, | 123308 | .{ ._, ._, .sub, .tmp1d, .si(16), ._, ._ }, |
| 117986 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 123309 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 117987 | } }, | 123310 | } }, |
| 117988 | }, .{ | 123311 | }, .{ |
| 117989 | .required_features = .{ .@"64bit", .sse, null, null }, | 123312 | .required_features = .{ .@"64bit", .sse, null, null }, |
| ... | @@ -117995,11 +123318,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -117995,11 +123318,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117995 | .call_frame = .{ .alignment = .@"16" }, | 123318 | .call_frame = .{ .alignment = .@"16" }, |
| 117996 | .extra_temps = .{ | 123319 | .extra_temps = .{ |
| 117997 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 123320 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 117998 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 123321 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 117999 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 123322 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 118000 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 123323 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 118001 | .{ .type = .usize, .kind = .{ .extern_func = "__floateitf" } }, | 123324 | .{ .type = .usize, .kind = .{ .extern_func = "__floateitf" } }, |
| 118002 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 123325 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 118003 | .unused, | 123326 | .unused, |
| 118004 | .unused, | 123327 | .unused, |
| 118005 | .unused, | 123328 | .unused, |
| ... | @@ -118009,15 +123332,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -118009,15 +123332,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 118009 | .dst_temps = .{ .mem, .unused }, | 123332 | .dst_temps = .{ .mem, .unused }, |
| 118010 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 123333 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 118011 | .each = .{ .once = &.{ | 123334 | .each = .{ .once = &.{ |
| 118012 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 123335 | .{ ._, ._, .lea, .tmp0p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 118013 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 123336 | .{ ._, ._, .mov, .tmp1d, .sia(-16, .dst0, .add_unaligned_size), ._, ._ }, |
| 118014 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, | 123337 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, |
| 118015 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, | 123338 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, |
| 118016 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 123339 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 118017 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ }, | 123340 | .{ ._, ._ps, .mova, .memi(.dst0x, .tmp1), .tmp5x, ._, ._ }, |
| 118018 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ }, | 123341 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .sub_src0_elem_size), ._, ._ }, |
| 118019 | .{ ._, ._, .add, .tmp1p, .si(16), ._, ._ }, | 123342 | .{ ._, ._, .sub, .tmp1d, .si(16), ._, ._ }, |
| 118020 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 123343 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 118021 | } }, | 123344 | } }, |
| 118022 | }, .{ | 123345 | }, .{ |
| 118023 | .required_features = .{ .@"64bit", .avx, null, null }, | 123346 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | @@ -118029,11 +123352,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -118029,11 +123352,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 118029 | .call_frame = .{ .alignment = .@"16" }, | 123352 | .call_frame = .{ .alignment = .@"16" }, |
| 118030 | .extra_temps = .{ | 123353 | .extra_temps = .{ |
| 118031 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 123354 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 118032 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 123355 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 118033 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 123356 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 118034 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 123357 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 118035 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneitf" } }, | 123358 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneitf" } }, |
| 118036 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 123359 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 118037 | .unused, | 123360 | .unused, |
| 118038 | .unused, | 123361 | .unused, |
| 118039 | .unused, | 123362 | .unused, |
| ... | @@ -118043,15 +123366,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -118043,15 +123366,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 118043 | .dst_temps = .{ .mem, .unused }, | 123366 | .dst_temps = .{ .mem, .unused }, |
| 118044 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 123367 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 118045 | .each = .{ .once = &.{ | 123368 | .each = .{ .once = &.{ |
| 118046 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 123369 | .{ ._, ._, .lea, .tmp0p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 118047 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 123370 | .{ ._, ._, .mov, .tmp1d, .sia(-16, .dst0, .add_unaligned_size), ._, ._ }, |
| 118048 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, | 123371 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, |
| 118049 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, | 123372 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, |
| 118050 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 123373 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 118051 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ }, | 123374 | .{ ._, .v_dqa, .mov, .memi(.dst0x, .tmp1), .tmp5x, ._, ._ }, |
| 118052 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ }, | 123375 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .sub_src0_elem_size), ._, ._ }, |
| 118053 | .{ ._, ._, .add, .tmp1p, .si(16), ._, ._ }, | 123376 | .{ ._, ._, .sub, .tmp1d, .si(16), ._, ._ }, |
| 118054 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 123377 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 118055 | } }, | 123378 | } }, |
| 118056 | }, .{ | 123379 | }, .{ |
| 118057 | .required_features = .{ .@"64bit", .sse2, null, null }, | 123380 | .required_features = .{ .@"64bit", .sse2, null, null }, |
| ... | @@ -118063,11 +123386,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -118063,11 +123386,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 118063 | .call_frame = .{ .alignment = .@"16" }, | 123386 | .call_frame = .{ .alignment = .@"16" }, |
| 118064 | .extra_temps = .{ | 123387 | .extra_temps = .{ |
| 118065 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 123388 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 118066 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 123389 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 118067 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 123390 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 118068 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 123391 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 118069 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneitf" } }, | 123392 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneitf" } }, |
| 118070 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 123393 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 118071 | .unused, | 123394 | .unused, |
| 118072 | .unused, | 123395 | .unused, |
| 118073 | .unused, | 123396 | .unused, |
| ... | @@ -118077,15 +123400,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -118077,15 +123400,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 118077 | .dst_temps = .{ .mem, .unused }, | 123400 | .dst_temps = .{ .mem, .unused }, |
| 118078 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 123401 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 118079 | .each = .{ .once = &.{ | 123402 | .each = .{ .once = &.{ |
| 118080 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 123403 | .{ ._, ._, .lea, .tmp0p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 118081 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 123404 | .{ ._, ._, .mov, .tmp1d, .sia(-16, .dst0, .add_unaligned_size), ._, ._ }, |
| 118082 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, | 123405 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, |
| 118083 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, | 123406 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, |
| 118084 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 123407 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 118085 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ }, | 123408 | .{ ._, ._dqa, .mov, .memi(.dst0x, .tmp1), .tmp5x, ._, ._ }, |
| 118086 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ }, | 123409 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .sub_src0_elem_size), ._, ._ }, |
| 118087 | .{ ._, ._, .add, .tmp1p, .si(16), ._, ._ }, | 123410 | .{ ._, ._, .sub, .tmp1d, .si(16), ._, ._ }, |
| 118088 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 123411 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 118089 | } }, | 123412 | } }, |
| 118090 | }, .{ | 123413 | }, .{ |
| 118091 | .required_features = .{ .@"64bit", .sse, null, null }, | 123414 | .required_features = .{ .@"64bit", .sse, null, null }, |
| ... | @@ -118097,11 +123420,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -118097,11 +123420,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 118097 | .call_frame = .{ .alignment = .@"16" }, | 123420 | .call_frame = .{ .alignment = .@"16" }, |
| 118098 | .extra_temps = .{ | 123421 | .extra_temps = .{ |
| 118099 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 123422 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 118100 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 123423 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 118101 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, | 123424 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 118102 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, | 123425 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 118103 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneitf" } }, | 123426 | .{ .type = .usize, .kind = .{ .extern_func = "__floatuneitf" } }, |
| 118104 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 123427 | .{ .type = .f128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 118105 | .unused, | 123428 | .unused, |
| 118106 | .unused, | 123429 | .unused, |
| 118107 | .unused, | 123430 | .unused, |
| ... | @@ -118111,15 +123434,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -118111,15 +123434,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 118111 | .dst_temps = .{ .mem, .unused }, | 123434 | .dst_temps = .{ .mem, .unused }, |
| 118112 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 123435 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 118113 | .each = .{ .once = &.{ | 123436 | .each = .{ .once = &.{ |
| 118114 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 123437 | .{ ._, ._, .lea, .tmp0p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 118115 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 123438 | .{ ._, ._, .mov, .tmp1d, .sia(-16, .dst0, .add_unaligned_size), ._, ._ }, |
| 118116 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, | 123439 | .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ }, |
| 118117 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, | 123440 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ }, |
| 118118 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 123441 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 118119 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ }, | 123442 | .{ ._, ._ps, .mova, .memi(.dst0x, .tmp1), .tmp5x, ._, ._ }, |
| 118120 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ }, | 123443 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .sub_src0_elem_size), ._, ._ }, |
| 118121 | .{ ._, ._, .add, .tmp1p, .si(16), ._, ._ }, | 123444 | .{ ._, ._, .sub, .tmp1d, .si(16), ._, ._ }, |
| 118122 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 123445 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 118123 | } }, | 123446 | } }, |
| 118124 | } }) catch |err| switch (err) { | 123447 | } }) catch |err| switch (err) { |
| 118125 | error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{ | 123448 | error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{ |
| ... | @@ -118132,7 +123455,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -118132,7 +123455,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 118132 | }; | 123455 | }; |
| 118133 | try res[0].finish(inst, &.{ty_op.operand}, &ops, cg); | 123456 | try res[0].finish(inst, &.{ty_op.operand}, &ops, cg); |
| 118134 | }, | 123457 | }, |
| 118135 | .reduce => |air_tag| if (use_old) try cg.airReduce(inst) else { | 123458 | .reduce => |air_tag| { |
| 118136 | const nan = std.math.nan(f16); | 123459 | const nan = std.math.nan(f16); |
| 118137 | const reduce = air_datas[@intFromEnum(inst)].reduce; | 123460 | const reduce = air_datas[@intFromEnum(inst)].reduce; |
| 118138 | const res_ty = cg.typeOfIndex(inst); | 123461 | const res_ty = cg.typeOfIndex(inst); |
| ... | @@ -131814,7 +137137,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -131814,7 +137137,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 131814 | .call_frame = .{ .alignment = .@"16" }, | 137137 | .call_frame = .{ .alignment = .@"16" }, |
| 131815 | .extra_temps = .{ | 137138 | .extra_temps = .{ |
| 131816 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 137139 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 131817 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 137140 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 131818 | .{ .type = .usize, .kind = .{ .extern_func = "__fminh" } }, | 137141 | .{ .type = .usize, .kind = .{ .extern_func = "__fminh" } }, |
| 131819 | .unused, | 137142 | .unused, |
| 131820 | .unused, | 137143 | .unused, |
| ... | @@ -131825,7 +137148,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -131825,7 +137148,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 131825 | .unused, | 137148 | .unused, |
| 131826 | .unused, | 137149 | .unused, |
| 131827 | }, | 137150 | }, |
| 131828 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 137151 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 131829 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 137152 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 131830 | .each = .{ .once = &.{ | 137153 | .each = .{ .once = &.{ |
| 131831 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, | 137154 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, |
| ... | @@ -131847,7 +137170,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -131847,7 +137170,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 131847 | .call_frame = .{ .alignment = .@"16" }, | 137170 | .call_frame = .{ .alignment = .@"16" }, |
| 131848 | .extra_temps = .{ | 137171 | .extra_temps = .{ |
| 131849 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 137172 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 131850 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 137173 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 131851 | .{ .type = .usize, .kind = .{ .extern_func = "__fminh" } }, | 137174 | .{ .type = .usize, .kind = .{ .extern_func = "__fminh" } }, |
| 131852 | .unused, | 137175 | .unused, |
| 131853 | .unused, | 137176 | .unused, |
| ... | @@ -131858,7 +137181,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -131858,7 +137181,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 131858 | .unused, | 137181 | .unused, |
| 131859 | .unused, | 137182 | .unused, |
| 131860 | }, | 137183 | }, |
| 131861 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 137184 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 131862 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 137185 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 131863 | .each = .{ .once = &.{ | 137186 | .each = .{ .once = &.{ |
| 131864 | .{ ._, .p_, .xor, .dst0x, .dst0x, ._, ._ }, | 137187 | .{ ._, .p_, .xor, .dst0x, .dst0x, ._, ._ }, |
| ... | @@ -131882,7 +137205,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -131882,7 +137205,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 131882 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 137205 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 131883 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 137206 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 131884 | .{ .type = .f32, .kind = .mem }, | 137207 | .{ .type = .f32, .kind = .mem }, |
| 131885 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 137208 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 131886 | .{ .type = .usize, .kind = .{ .extern_func = "__fminh" } }, | 137209 | .{ .type = .usize, .kind = .{ .extern_func = "__fminh" } }, |
| 131887 | .unused, | 137210 | .unused, |
| 131888 | .unused, | 137211 | .unused, |
| ... | @@ -131891,7 +137214,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -131891,7 +137214,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 131891 | .unused, | 137214 | .unused, |
| 131892 | .unused, | 137215 | .unused, |
| 131893 | }, | 137216 | }, |
| 131894 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 137217 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 131895 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 137218 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 131896 | .each = .{ .once = &.{ | 137219 | .each = .{ .once = &.{ |
| 131897 | .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ }, | 137220 | .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ }, |
| ... | @@ -133482,7 +138805,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -133482,7 +138805,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 133482 | .call_frame = .{ .alignment = .@"16" }, | 138805 | .call_frame = .{ .alignment = .@"16" }, |
| 133483 | .extra_temps = .{ | 138806 | .extra_temps = .{ |
| 133484 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 138807 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 133485 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 138808 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 133486 | .{ .type = .usize, .kind = .{ .extern_func = "fminq" } }, | 138809 | .{ .type = .usize, .kind = .{ .extern_func = "fminq" } }, |
| 133487 | .unused, | 138810 | .unused, |
| 133488 | .unused, | 138811 | .unused, |
| ... | @@ -133493,7 +138816,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -133493,7 +138816,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 133493 | .unused, | 138816 | .unused, |
| 133494 | .unused, | 138817 | .unused, |
| 133495 | }, | 138818 | }, |
| 133496 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 138819 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 133497 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 138820 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 133498 | .each = .{ .once = &.{ | 138821 | .each = .{ .once = &.{ |
| 133499 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 138822 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -133513,7 +138836,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -133513,7 +138836,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 133513 | .call_frame = .{ .alignment = .@"16" }, | 138836 | .call_frame = .{ .alignment = .@"16" }, |
| 133514 | .extra_temps = .{ | 138837 | .extra_temps = .{ |
| 133515 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 138838 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 133516 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 138839 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 133517 | .{ .type = .usize, .kind = .{ .extern_func = "fminq" } }, | 138840 | .{ .type = .usize, .kind = .{ .extern_func = "fminq" } }, |
| 133518 | .unused, | 138841 | .unused, |
| 133519 | .unused, | 138842 | .unused, |
| ... | @@ -133524,7 +138847,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -133524,7 +138847,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 133524 | .unused, | 138847 | .unused, |
| 133525 | .unused, | 138848 | .unused, |
| 133526 | }, | 138849 | }, |
| 133527 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 138850 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 133528 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 138851 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 133529 | .each = .{ .once = &.{ | 138852 | .each = .{ .once = &.{ |
| 133530 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 138853 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -133544,7 +138867,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -133544,7 +138867,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 133544 | .call_frame = .{ .alignment = .@"16" }, | 138867 | .call_frame = .{ .alignment = .@"16" }, |
| 133545 | .extra_temps = .{ | 138868 | .extra_temps = .{ |
| 133546 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 138869 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 133547 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 138870 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 133548 | .{ .type = .usize, .kind = .{ .extern_func = "fminq" } }, | 138871 | .{ .type = .usize, .kind = .{ .extern_func = "fminq" } }, |
| 133549 | .unused, | 138872 | .unused, |
| 133550 | .unused, | 138873 | .unused, |
| ... | @@ -133555,7 +138878,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -133555,7 +138878,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 133555 | .unused, | 138878 | .unused, |
| 133556 | .unused, | 138879 | .unused, |
| 133557 | }, | 138880 | }, |
| 133558 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 138881 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 133559 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 138882 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 133560 | .each = .{ .once = &.{ | 138883 | .each = .{ .once = &.{ |
| 133561 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 138884 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -141934,7 +147257,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -141934,7 +147257,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 141934 | .call_frame = .{ .alignment = .@"16" }, | 147257 | .call_frame = .{ .alignment = .@"16" }, |
| 141935 | .extra_temps = .{ | 147258 | .extra_temps = .{ |
| 141936 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 147259 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 141937 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 147260 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 141938 | .{ .type = .usize, .kind = .{ .extern_func = "__fmaxh" } }, | 147261 | .{ .type = .usize, .kind = .{ .extern_func = "__fmaxh" } }, |
| 141939 | .unused, | 147262 | .unused, |
| 141940 | .unused, | 147263 | .unused, |
| ... | @@ -141945,7 +147268,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -141945,7 +147268,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 141945 | .unused, | 147268 | .unused, |
| 141946 | .unused, | 147269 | .unused, |
| 141947 | }, | 147270 | }, |
| 141948 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 147271 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 141949 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 147272 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 141950 | .each = .{ .once = &.{ | 147273 | .each = .{ .once = &.{ |
| 141951 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, | 147274 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, |
| ... | @@ -141967,7 +147290,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -141967,7 +147290,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 141967 | .call_frame = .{ .alignment = .@"16" }, | 147290 | .call_frame = .{ .alignment = .@"16" }, |
| 141968 | .extra_temps = .{ | 147291 | .extra_temps = .{ |
| 141969 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 147292 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 141970 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 147293 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 141971 | .{ .type = .usize, .kind = .{ .extern_func = "__fmaxh" } }, | 147294 | .{ .type = .usize, .kind = .{ .extern_func = "__fmaxh" } }, |
| 141972 | .unused, | 147295 | .unused, |
| 141973 | .unused, | 147296 | .unused, |
| ... | @@ -141978,7 +147301,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -141978,7 +147301,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 141978 | .unused, | 147301 | .unused, |
| 141979 | .unused, | 147302 | .unused, |
| 141980 | }, | 147303 | }, |
| 141981 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 147304 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 141982 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 147305 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 141983 | .each = .{ .once = &.{ | 147306 | .each = .{ .once = &.{ |
| 141984 | .{ ._, .p_, .xor, .dst0x, .dst0x, ._, ._ }, | 147307 | .{ ._, .p_, .xor, .dst0x, .dst0x, ._, ._ }, |
| ... | @@ -142002,7 +147325,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -142002,7 +147325,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 142002 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 147325 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 142003 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 147326 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 142004 | .{ .type = .f32, .kind = .mem }, | 147327 | .{ .type = .f32, .kind = .mem }, |
| 142005 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 147328 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 142006 | .{ .type = .usize, .kind = .{ .extern_func = "__fmaxh" } }, | 147329 | .{ .type = .usize, .kind = .{ .extern_func = "__fmaxh" } }, |
| 142007 | .unused, | 147330 | .unused, |
| 142008 | .unused, | 147331 | .unused, |
| ... | @@ -142011,7 +147334,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -142011,7 +147334,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 142011 | .unused, | 147334 | .unused, |
| 142012 | .unused, | 147335 | .unused, |
| 142013 | }, | 147336 | }, |
| 142014 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 147337 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 142015 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 147338 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 142016 | .each = .{ .once = &.{ | 147339 | .each = .{ .once = &.{ |
| 142017 | .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ }, | 147340 | .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ }, |
| ... | @@ -143610,7 +148933,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -143610,7 +148933,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 143610 | .call_frame = .{ .alignment = .@"16" }, | 148933 | .call_frame = .{ .alignment = .@"16" }, |
| 143611 | .extra_temps = .{ | 148934 | .extra_temps = .{ |
| 143612 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 148935 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 143613 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 148936 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 143614 | .{ .type = .usize, .kind = .{ .extern_func = "fmaxq" } }, | 148937 | .{ .type = .usize, .kind = .{ .extern_func = "fmaxq" } }, |
| 143615 | .unused, | 148938 | .unused, |
| 143616 | .unused, | 148939 | .unused, |
| ... | @@ -143621,7 +148944,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -143621,7 +148944,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 143621 | .unused, | 148944 | .unused, |
| 143622 | .unused, | 148945 | .unused, |
| 143623 | }, | 148946 | }, |
| 143624 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 148947 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 143625 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 148948 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 143626 | .each = .{ .once = &.{ | 148949 | .each = .{ .once = &.{ |
| 143627 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 148950 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -143641,7 +148964,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -143641,7 +148964,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 143641 | .call_frame = .{ .alignment = .@"16" }, | 148964 | .call_frame = .{ .alignment = .@"16" }, |
| 143642 | .extra_temps = .{ | 148965 | .extra_temps = .{ |
| 143643 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 148966 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 143644 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 148967 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 143645 | .{ .type = .usize, .kind = .{ .extern_func = "fmaxq" } }, | 148968 | .{ .type = .usize, .kind = .{ .extern_func = "fmaxq" } }, |
| 143646 | .unused, | 148969 | .unused, |
| 143647 | .unused, | 148970 | .unused, |
| ... | @@ -143652,7 +148975,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -143652,7 +148975,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 143652 | .unused, | 148975 | .unused, |
| 143653 | .unused, | 148976 | .unused, |
| 143654 | }, | 148977 | }, |
| 143655 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 148978 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 143656 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 148979 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 143657 | .each = .{ .once = &.{ | 148980 | .each = .{ .once = &.{ |
| 143658 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 148981 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -143672,7 +148995,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -143672,7 +148995,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 143672 | .call_frame = .{ .alignment = .@"16" }, | 148995 | .call_frame = .{ .alignment = .@"16" }, |
| 143673 | .extra_temps = .{ | 148996 | .extra_temps = .{ |
| 143674 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 148997 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 143675 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 148998 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 143676 | .{ .type = .usize, .kind = .{ .extern_func = "fmaxq" } }, | 148999 | .{ .type = .usize, .kind = .{ .extern_func = "fmaxq" } }, |
| 143677 | .unused, | 149000 | .unused, |
| 143678 | .unused, | 149001 | .unused, |
| ... | @@ -143683,7 +149006,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -143683,7 +149006,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 143683 | .unused, | 149006 | .unused, |
| 143684 | .unused, | 149007 | .unused, |
| 143685 | }, | 149008 | }, |
| 143686 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 149009 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 143687 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 149010 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 143688 | .each = .{ .once = &.{ | 149011 | .each = .{ .once = &.{ |
| 143689 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 149012 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -147548,7 +152871,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -147548,7 +152871,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 147548 | .unused, | 152871 | .unused, |
| 147549 | .unused, | 152872 | .unused, |
| 147550 | }, | 152873 | }, |
| 147551 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 152874 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 147552 | .clobbers = .{ .eflags = true }, | 152875 | .clobbers = .{ .eflags = true }, |
| 147553 | .each = .{ .once = &.{ | 152876 | .each = .{ .once = &.{ |
| 147554 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, | 152877 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, |
| ... | @@ -147581,7 +152904,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -147581,7 +152904,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 147581 | .unused, | 152904 | .unused, |
| 147582 | .unused, | 152905 | .unused, |
| 147583 | }, | 152906 | }, |
| 147584 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 152907 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 147585 | .clobbers = .{ .eflags = true }, | 152908 | .clobbers = .{ .eflags = true }, |
| 147586 | .each = .{ .once = &.{ | 152909 | .each = .{ .once = &.{ |
| 147587 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, | 152910 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, |
| ... | @@ -147605,7 +152928,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -147605,7 +152928,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 147605 | .call_frame = .{ .alignment = .@"16" }, | 152928 | .call_frame = .{ .alignment = .@"16" }, |
| 147606 | .extra_temps = .{ | 152929 | .extra_temps = .{ |
| 147607 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 152930 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 147608 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 152931 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 147609 | .{ .type = .usize, .kind = .{ .extern_func = "__addhf3" } }, | 152932 | .{ .type = .usize, .kind = .{ .extern_func = "__addhf3" } }, |
| 147610 | .unused, | 152933 | .unused, |
| 147611 | .unused, | 152934 | .unused, |
| ... | @@ -147616,7 +152939,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -147616,7 +152939,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 147616 | .unused, | 152939 | .unused, |
| 147617 | .unused, | 152940 | .unused, |
| 147618 | }, | 152941 | }, |
| 147619 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 152942 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 147620 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 152943 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 147621 | .each = .{ .once = &.{ | 152944 | .each = .{ .once = &.{ |
| 147622 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, | 152945 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, |
| ... | @@ -147638,7 +152961,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -147638,7 +152961,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 147638 | .call_frame = .{ .alignment = .@"16" }, | 152961 | .call_frame = .{ .alignment = .@"16" }, |
| 147639 | .extra_temps = .{ | 152962 | .extra_temps = .{ |
| 147640 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 152963 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 147641 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 152964 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 147642 | .{ .type = .usize, .kind = .{ .extern_func = "__addhf3" } }, | 152965 | .{ .type = .usize, .kind = .{ .extern_func = "__addhf3" } }, |
| 147643 | .unused, | 152966 | .unused, |
| 147644 | .unused, | 152967 | .unused, |
| ... | @@ -147649,7 +152972,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -147649,7 +152972,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 147649 | .unused, | 152972 | .unused, |
| 147650 | .unused, | 152973 | .unused, |
| 147651 | }, | 152974 | }, |
| 147652 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 152975 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 147653 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 152976 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 147654 | .each = .{ .once = &.{ | 152977 | .each = .{ .once = &.{ |
| 147655 | .{ ._, .p_, .xor, .dst0x, .dst0x, ._, ._ }, | 152978 | .{ ._, .p_, .xor, .dst0x, .dst0x, ._, ._ }, |
| ... | @@ -147673,7 +152996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -147673,7 +152996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 147673 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 152996 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 147674 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 152997 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 147675 | .{ .type = .f32, .kind = .mem }, | 152998 | .{ .type = .f32, .kind = .mem }, |
| 147676 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 152999 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 147677 | .{ .type = .usize, .kind = .{ .extern_func = "__addhf3" } }, | 153000 | .{ .type = .usize, .kind = .{ .extern_func = "__addhf3" } }, |
| 147678 | .unused, | 153001 | .unused, |
| 147679 | .unused, | 153002 | .unused, |
| ... | @@ -147682,7 +153005,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -147682,7 +153005,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 147682 | .unused, | 153005 | .unused, |
| 147683 | .unused, | 153006 | .unused, |
| 147684 | }, | 153007 | }, |
| 147685 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 153008 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 147686 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 153009 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 147687 | .each = .{ .once = &.{ | 153010 | .each = .{ .once = &.{ |
| 147688 | .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ }, | 153011 | .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ }, |
| ... | @@ -148150,6 +153473,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -148150,6 +153473,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 148150 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, | 153473 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| 148151 | } }, | 153474 | } }, |
| 148152 | }, .{ | 153475 | }, .{ |
| | 153476 | .required_abi = .gnu, |
| 148153 | .required_features = .{ .x87, null, null, null }, | 153477 | .required_features = .{ .x87, null, null, null }, |
| 148154 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, | 153478 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| 148155 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 153479 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| ... | @@ -148157,8 +153481,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -148157,8 +153481,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 148157 | .{ .src = .{ .to_mem, .none, .none } }, | 153481 | .{ .src = .{ .to_mem, .none, .none } }, |
| 148158 | }, | 153482 | }, |
| 148159 | .extra_temps = .{ | 153483 | .extra_temps = .{ |
| 148160 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | | |
| 148161 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 153484 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 153485 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 148162 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, | 153486 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 148163 | .unused, | 153487 | .unused, |
| 148164 | .unused, | 153488 | .unused, |
| ... | @@ -148172,13 +153496,51 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -148172,13 +153496,51 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 148172 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, | 153496 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| 148173 | .clobbers = .{ .eflags = true }, | 153497 | .clobbers = .{ .eflags = true }, |
| 148174 | .each = .{ .once = &.{ | 153498 | .each = .{ .once = &.{ |
| 148175 | .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, | | |
| 148176 | .{ ._, .f_, .ld, .mem(.src0t), ._, ._, ._ }, | 153499 | .{ ._, .f_, .ld, .mem(.src0t), ._, ._, ._ }, |
| 148177 | .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 153500 | .{ ._, ._, .mov, .tmp1p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, |
| | 153501 | .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp1, .add_unaligned_size), ._, ._, ._ }, |
| 148178 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, | 153502 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| 148179 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 153503 | .{ ._, ._, .add, .tmp1p, .si(16), ._, ._ }, |
| | 153504 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 153505 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 153506 | } }, |
| | 153507 | }, .{ |
| | 153508 | .required_abi = .msvc, |
| | 153509 | .required_features = .{ .x87, null, null, null }, |
| | 153510 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| | 153511 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 153512 | .patterns = &.{ |
| | 153513 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 153514 | }, |
| | 153515 | .extra_temps = .{ |
| | 153516 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 153517 | .{ .type = .u16, .kind = .mem }, |
| | 153518 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 153519 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 153520 | .unused, |
| | 153521 | .unused, |
| | 153522 | .unused, |
| | 153523 | .unused, |
| | 153524 | .unused, |
| | 153525 | .unused, |
| | 153526 | .unused, |
| | 153527 | }, |
| | 153528 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 153529 | .clobbers = .{ .eflags = true }, |
| | 153530 | .each = .{ .once = &.{ |
| | 153531 | .{ ._, .f_, .ld, .mem(.src0t), ._, ._, ._ }, |
| | 153532 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 153533 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, |
| | 153534 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_00_11), ._, ._ }, |
| | 153535 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 153536 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, |
| | 153537 | .{ ._, ._, .mov, .tmp2p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, |
| | 153538 | .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp2, .add_unaligned_size), ._, ._, ._ }, |
| | 153539 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| | 153540 | .{ ._, ._, .add, .tmp2p, .si(16), ._, ._ }, |
| 148180 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 153541 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 148181 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, | 153542 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 153543 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 148182 | } }, | 153544 | } }, |
| 148183 | }, .{ | 153545 | }, .{ |
| 148184 | .required_features = .{ .avx, null, null, null }, | 153546 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -148190,7 +153552,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -148190,7 +153552,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 148190 | .call_frame = .{ .alignment = .@"16" }, | 153552 | .call_frame = .{ .alignment = .@"16" }, |
| 148191 | .extra_temps = .{ | 153553 | .extra_temps = .{ |
| 148192 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 153554 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 148193 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 153555 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 148194 | .{ .type = .usize, .kind = .{ .extern_func = "__addtf3" } }, | 153556 | .{ .type = .usize, .kind = .{ .extern_func = "__addtf3" } }, |
| 148195 | .unused, | 153557 | .unused, |
| 148196 | .unused, | 153558 | .unused, |
| ... | @@ -148201,7 +153563,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -148201,7 +153563,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 148201 | .unused, | 153563 | .unused, |
| 148202 | .unused, | 153564 | .unused, |
| 148203 | }, | 153565 | }, |
| 148204 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 153566 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 148205 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 153567 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 148206 | .each = .{ .once = &.{ | 153568 | .each = .{ .once = &.{ |
| 148207 | .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, | 153569 | .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, |
| ... | @@ -148221,7 +153583,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -148221,7 +153583,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 148221 | .call_frame = .{ .alignment = .@"16" }, | 153583 | .call_frame = .{ .alignment = .@"16" }, |
| 148222 | .extra_temps = .{ | 153584 | .extra_temps = .{ |
| 148223 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 153585 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 148224 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 153586 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 148225 | .{ .type = .usize, .kind = .{ .extern_func = "__addtf3" } }, | 153587 | .{ .type = .usize, .kind = .{ .extern_func = "__addtf3" } }, |
| 148226 | .unused, | 153588 | .unused, |
| 148227 | .unused, | 153589 | .unused, |
| ... | @@ -148232,7 +153594,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -148232,7 +153594,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 148232 | .unused, | 153594 | .unused, |
| 148233 | .unused, | 153595 | .unused, |
| 148234 | }, | 153596 | }, |
| 148235 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 153597 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 148236 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 153598 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 148237 | .each = .{ .once = &.{ | 153599 | .each = .{ .once = &.{ |
| 148238 | .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, | 153600 | .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, |
| ... | @@ -148252,7 +153614,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -148252,7 +153614,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 148252 | .call_frame = .{ .alignment = .@"16" }, | 153614 | .call_frame = .{ .alignment = .@"16" }, |
| 148253 | .extra_temps = .{ | 153615 | .extra_temps = .{ |
| 148254 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 153616 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 148255 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 153617 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 148256 | .{ .type = .usize, .kind = .{ .extern_func = "__addtf3" } }, | 153618 | .{ .type = .usize, .kind = .{ .extern_func = "__addtf3" } }, |
| 148257 | .unused, | 153619 | .unused, |
| 148258 | .unused, | 153620 | .unused, |
| ... | @@ -148263,7 +153625,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -148263,7 +153625,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 148263 | .unused, | 153625 | .unused, |
| 148264 | .unused, | 153626 | .unused, |
| 148265 | }, | 153627 | }, |
| 148266 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 153628 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 148267 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 153629 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 148268 | .each = .{ .once = &.{ | 153630 | .each = .{ .once = &.{ |
| 148269 | .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, | 153631 | .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, |
| ... | @@ -151240,7 +156602,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -151240,7 +156602,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 151240 | .unused, | 156602 | .unused, |
| 151241 | .unused, | 156603 | .unused, |
| 151242 | }, | 156604 | }, |
| 151243 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 156605 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 151244 | .clobbers = .{ .eflags = true }, | 156606 | .clobbers = .{ .eflags = true }, |
| 151245 | .each = .{ .once = &.{ | 156607 | .each = .{ .once = &.{ |
| 151246 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, | 156608 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, |
| ... | @@ -151264,7 +156626,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -151264,7 +156626,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 151264 | .call_frame = .{ .alignment = .@"16" }, | 156626 | .call_frame = .{ .alignment = .@"16" }, |
| 151265 | .extra_temps = .{ | 156627 | .extra_temps = .{ |
| 151266 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 156628 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 151267 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 156629 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 151268 | .{ .type = .usize, .kind = .{ .extern_func = "__mulhf3" } }, | 156630 | .{ .type = .usize, .kind = .{ .extern_func = "__mulhf3" } }, |
| 151269 | .unused, | 156631 | .unused, |
| 151270 | .unused, | 156632 | .unused, |
| ... | @@ -151275,7 +156637,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -151275,7 +156637,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 151275 | .unused, | 156637 | .unused, |
| 151276 | .unused, | 156638 | .unused, |
| 151277 | }, | 156639 | }, |
| 151278 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 156640 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 151279 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 156641 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 151280 | .each = .{ .once = &.{ | 156642 | .each = .{ .once = &.{ |
| 151281 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, | 156643 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, |
| ... | @@ -151297,7 +156659,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -151297,7 +156659,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 151297 | .call_frame = .{ .alignment = .@"16" }, | 156659 | .call_frame = .{ .alignment = .@"16" }, |
| 151298 | .extra_temps = .{ | 156660 | .extra_temps = .{ |
| 151299 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 156661 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 151300 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 156662 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 151301 | .{ .type = .usize, .kind = .{ .extern_func = "__mulhf3" } }, | 156663 | .{ .type = .usize, .kind = .{ .extern_func = "__mulhf3" } }, |
| 151302 | .unused, | 156664 | .unused, |
| 151303 | .unused, | 156665 | .unused, |
| ... | @@ -151308,7 +156670,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -151308,7 +156670,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 151308 | .unused, | 156670 | .unused, |
| 151309 | .unused, | 156671 | .unused, |
| 151310 | }, | 156672 | }, |
| 151311 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 156673 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 151312 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 156674 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 151313 | .each = .{ .once = &.{ | 156675 | .each = .{ .once = &.{ |
| 151314 | .{ ._, .p_, .xor, .dst0x, .dst0x, ._, ._ }, | 156676 | .{ ._, .p_, .xor, .dst0x, .dst0x, ._, ._ }, |
| ... | @@ -151332,7 +156694,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -151332,7 +156694,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 151332 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 156694 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 151333 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 156695 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 151334 | .{ .type = .f32, .kind = .mem }, | 156696 | .{ .type = .f32, .kind = .mem }, |
| 151335 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 156697 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 151336 | .{ .type = .usize, .kind = .{ .extern_func = "__mulhf3" } }, | 156698 | .{ .type = .usize, .kind = .{ .extern_func = "__mulhf3" } }, |
| 151337 | .unused, | 156699 | .unused, |
| 151338 | .unused, | 156700 | .unused, |
| ... | @@ -151341,7 +156703,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -151341,7 +156703,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 151341 | .unused, | 156703 | .unused, |
| 151342 | .unused, | 156704 | .unused, |
| 151343 | }, | 156705 | }, |
| 151344 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 156706 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 151345 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 156707 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 151346 | .each = .{ .once = &.{ | 156708 | .each = .{ .once = &.{ |
| 151347 | .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ }, | 156709 | .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ }, |
| ... | @@ -151689,6 +157051,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -151689,6 +157051,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 151689 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 157051 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 151690 | } }, | 157052 | } }, |
| 151691 | }, .{ | 157053 | }, .{ |
| | 157054 | .required_abi = .gnu, |
| 151692 | .required_features = .{ .x87, null, null, null }, | 157055 | .required_features = .{ .x87, null, null, null }, |
| 151693 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, | 157056 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| 151694 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 157057 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| ... | @@ -151696,8 +157059,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -151696,8 +157059,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 151696 | .{ .src = .{ .to_mem, .none, .none } }, | 157059 | .{ .src = .{ .to_mem, .none, .none } }, |
| 151697 | }, | 157060 | }, |
| 151698 | .extra_temps = .{ | 157061 | .extra_temps = .{ |
| 151699 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | | |
| 151700 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 157062 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 157063 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 151701 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, | 157064 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 151702 | .unused, | 157065 | .unused, |
| 151703 | .unused, | 157066 | .unused, |
| ... | @@ -151711,14 +157074,52 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -151711,14 +157074,52 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 151711 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, | 157074 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| 151712 | .clobbers = .{ .eflags = true }, | 157075 | .clobbers = .{ .eflags = true }, |
| 151713 | .each = .{ .once = &.{ | 157076 | .each = .{ .once = &.{ |
| 151714 | .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, | | |
| 151715 | .{ ._, .f_, .ld, .mem(.src0t), ._, ._, ._ }, | 157077 | .{ ._, .f_, .ld, .mem(.src0t), ._, ._, ._ }, |
| 151716 | .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 157078 | .{ ._, ._, .mov, .tmp1p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, |
| | 157079 | .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp1, .add_unaligned_size), ._, ._, ._ }, |
| 151717 | .{ ._, .f_p, .mul, ._, ._, ._, ._ }, | 157080 | .{ ._, .f_p, .mul, ._, ._, ._, ._ }, |
| 151718 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 157081 | .{ ._, ._, .add, .tmp1p, .si(16), ._, ._ }, |
| 151719 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 157082 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 151720 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, | 157083 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| 151721 | } }, | 157084 | } }, |
| | 157085 | }, .{ |
| | 157086 | .required_abi = .msvc, |
| | 157087 | .required_features = .{ .x87, null, null, null }, |
| | 157088 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| | 157089 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 157090 | .patterns = &.{ |
| | 157091 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 157092 | }, |
| | 157093 | .extra_temps = .{ |
| | 157094 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 157095 | .{ .type = .u16, .kind = .mem }, |
| | 157096 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 157097 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 157098 | .unused, |
| | 157099 | .unused, |
| | 157100 | .unused, |
| | 157101 | .unused, |
| | 157102 | .unused, |
| | 157103 | .unused, |
| | 157104 | .unused, |
| | 157105 | }, |
| | 157106 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 157107 | .clobbers = .{ .eflags = true }, |
| | 157108 | .each = .{ .once = &.{ |
| | 157109 | .{ ._, .f_, .ld, .mem(.src0t), ._, ._, ._ }, |
| | 157110 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 157111 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, |
| | 157112 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_00_11), ._, ._ }, |
| | 157113 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 157114 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, |
| | 157115 | .{ ._, ._, .mov, .tmp2p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, |
| | 157116 | .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp2, .add_unaligned_size), ._, ._, ._ }, |
| | 157117 | .{ ._, .f_p, .mul, ._, ._, ._, ._ }, |
| | 157118 | .{ ._, ._, .add, .tmp2p, .si(16), ._, ._ }, |
| | 157119 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 157120 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 157121 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 157122 | } }, |
| 151722 | }, .{ | 157123 | }, .{ |
| 151723 | .required_features = .{ .avx, null, null, null }, | 157124 | .required_features = .{ .avx, null, null, null }, |
| 151724 | .dst_constraints = .{ .{ .float = .xword }, .any }, | 157125 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| ... | @@ -151729,7 +157130,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -151729,7 +157130,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 151729 | .call_frame = .{ .alignment = .@"16" }, | 157130 | .call_frame = .{ .alignment = .@"16" }, |
| 151730 | .extra_temps = .{ | 157131 | .extra_temps = .{ |
| 151731 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 157132 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 151732 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 157133 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 151733 | .{ .type = .usize, .kind = .{ .extern_func = "__multf3" } }, | 157134 | .{ .type = .usize, .kind = .{ .extern_func = "__multf3" } }, |
| 151734 | .unused, | 157135 | .unused, |
| 151735 | .unused, | 157136 | .unused, |
| ... | @@ -151740,7 +157141,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -151740,7 +157141,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 151740 | .unused, | 157141 | .unused, |
| 151741 | .unused, | 157142 | .unused, |
| 151742 | }, | 157143 | }, |
| 151743 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 157144 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 151744 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 157145 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 151745 | .each = .{ .once = &.{ | 157146 | .each = .{ .once = &.{ |
| 151746 | .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, | 157147 | .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, |
| ... | @@ -151760,7 +157161,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -151760,7 +157161,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 151760 | .call_frame = .{ .alignment = .@"16" }, | 157161 | .call_frame = .{ .alignment = .@"16" }, |
| 151761 | .extra_temps = .{ | 157162 | .extra_temps = .{ |
| 151762 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 157163 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 151763 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 157164 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 151764 | .{ .type = .usize, .kind = .{ .extern_func = "__multf3" } }, | 157165 | .{ .type = .usize, .kind = .{ .extern_func = "__multf3" } }, |
| 151765 | .unused, | 157166 | .unused, |
| 151766 | .unused, | 157167 | .unused, |
| ... | @@ -151771,7 +157172,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -151771,7 +157172,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 151771 | .unused, | 157172 | .unused, |
| 151772 | .unused, | 157173 | .unused, |
| 151773 | }, | 157174 | }, |
| 151774 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 157175 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 151775 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 157176 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 151776 | .each = .{ .once = &.{ | 157177 | .each = .{ .once = &.{ |
| 151777 | .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, | 157178 | .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, |
| ... | @@ -151791,7 +157192,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -151791,7 +157192,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 151791 | .call_frame = .{ .alignment = .@"16" }, | 157192 | .call_frame = .{ .alignment = .@"16" }, |
| 151792 | .extra_temps = .{ | 157193 | .extra_temps = .{ |
| 151793 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 157194 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 151794 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 157195 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 151795 | .{ .type = .usize, .kind = .{ .extern_func = "__multf3" } }, | 157196 | .{ .type = .usize, .kind = .{ .extern_func = "__multf3" } }, |
| 151796 | .unused, | 157197 | .unused, |
| 151797 | .unused, | 157198 | .unused, |
| ... | @@ -151802,7 +157203,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -151802,7 +157203,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 151802 | .unused, | 157203 | .unused, |
| 151803 | .unused, | 157204 | .unused, |
| 151804 | }, | 157205 | }, |
| 151805 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 157206 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 151806 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 157207 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 151807 | .each = .{ .once = &.{ | 157208 | .each = .{ .once = &.{ |
| 151808 | .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, | 157209 | .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, |
| ... | @@ -151836,7 +157237,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -151836,7 +157237,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 151836 | } | 157237 | } |
| 151837 | try res[0].finish(inst, &.{reduce.operand}, &ops, cg); | 157238 | try res[0].finish(inst, &.{reduce.operand}, &ops, cg); |
| 151838 | }, | 157239 | }, |
| 151839 | .reduce_optimized => |air_tag| if (use_old) try cg.airReduce(inst) else { | 157240 | .reduce_optimized => |air_tag| { |
| 151840 | const inf = std.math.inf(f16); | 157241 | const inf = std.math.inf(f16); |
| 151841 | const reduce = air_datas[@intFromEnum(inst)].reduce; | 157242 | const reduce = air_datas[@intFromEnum(inst)].reduce; |
| 151842 | var ops = try cg.tempsFromOperands(inst, .{reduce.operand}); | 157243 | var ops = try cg.tempsFromOperands(inst, .{reduce.operand}); |
| ... | @@ -152303,7 +157704,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -152303,7 +157704,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 152303 | .call_frame = .{ .alignment = .@"16" }, | 157704 | .call_frame = .{ .alignment = .@"16" }, |
| 152304 | .extra_temps = .{ | 157705 | .extra_temps = .{ |
| 152305 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 157706 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 152306 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 157707 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 152307 | .{ .type = .usize, .kind = .{ .extern_func = "__fminh" } }, | 157708 | .{ .type = .usize, .kind = .{ .extern_func = "__fminh" } }, |
| 152308 | .unused, | 157709 | .unused, |
| 152309 | .unused, | 157710 | .unused, |
| ... | @@ -152314,7 +157715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -152314,7 +157715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 152314 | .unused, | 157715 | .unused, |
| 152315 | .unused, | 157716 | .unused, |
| 152316 | }, | 157717 | }, |
| 152317 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 157718 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 152318 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 157719 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 152319 | .each = .{ .once = &.{ | 157720 | .each = .{ .once = &.{ |
| 152320 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, | 157721 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, |
| ... | @@ -152336,7 +157737,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -152336,7 +157737,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 152336 | .call_frame = .{ .alignment = .@"16" }, | 157737 | .call_frame = .{ .alignment = .@"16" }, |
| 152337 | .extra_temps = .{ | 157738 | .extra_temps = .{ |
| 152338 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 157739 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 152339 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 157740 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 152340 | .{ .type = .usize, .kind = .{ .extern_func = "__fminh" } }, | 157741 | .{ .type = .usize, .kind = .{ .extern_func = "__fminh" } }, |
| 152341 | .unused, | 157742 | .unused, |
| 152342 | .unused, | 157743 | .unused, |
| ... | @@ -152347,7 +157748,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -152347,7 +157748,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 152347 | .unused, | 157748 | .unused, |
| 152348 | .unused, | 157749 | .unused, |
| 152349 | }, | 157750 | }, |
| 152350 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 157751 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 152351 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 157752 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 152352 | .each = .{ .once = &.{ | 157753 | .each = .{ .once = &.{ |
| 152353 | .{ ._, .p_, .xor, .dst0x, .dst0x, ._, ._ }, | 157754 | .{ ._, .p_, .xor, .dst0x, .dst0x, ._, ._ }, |
| ... | @@ -152371,7 +157772,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -152371,7 +157772,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 152371 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 157772 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 152372 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 157773 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 152373 | .{ .type = .f32, .kind = .mem }, | 157774 | .{ .type = .f32, .kind = .mem }, |
| 152374 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 157775 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 152375 | .{ .type = .usize, .kind = .{ .extern_func = "__fminh" } }, | 157776 | .{ .type = .usize, .kind = .{ .extern_func = "__fminh" } }, |
| 152376 | .unused, | 157777 | .unused, |
| 152377 | .unused, | 157778 | .unused, |
| ... | @@ -152380,7 +157781,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -152380,7 +157781,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 152380 | .unused, | 157781 | .unused, |
| 152381 | .unused, | 157782 | .unused, |
| 152382 | }, | 157783 | }, |
| 152383 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 157784 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 152384 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 157785 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 152385 | .each = .{ .once = &.{ | 157786 | .each = .{ .once = &.{ |
| 152386 | .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ }, | 157787 | .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ }, |
| ... | @@ -153451,7 +158852,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -153451,7 +158852,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 153451 | .call_frame = .{ .alignment = .@"16" }, | 158852 | .call_frame = .{ .alignment = .@"16" }, |
| 153452 | .extra_temps = .{ | 158853 | .extra_temps = .{ |
| 153453 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 158854 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 153454 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 158855 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 153455 | .{ .type = .usize, .kind = .{ .extern_func = "fminq" } }, | 158856 | .{ .type = .usize, .kind = .{ .extern_func = "fminq" } }, |
| 153456 | .unused, | 158857 | .unused, |
| 153457 | .unused, | 158858 | .unused, |
| ... | @@ -153462,7 +158863,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -153462,7 +158863,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 153462 | .unused, | 158863 | .unused, |
| 153463 | .unused, | 158864 | .unused, |
| 153464 | }, | 158865 | }, |
| 153465 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 158866 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 153466 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 158867 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 153467 | .each = .{ .once = &.{ | 158868 | .each = .{ .once = &.{ |
| 153468 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 158869 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -153482,7 +158883,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -153482,7 +158883,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 153482 | .call_frame = .{ .alignment = .@"16" }, | 158883 | .call_frame = .{ .alignment = .@"16" }, |
| 153483 | .extra_temps = .{ | 158884 | .extra_temps = .{ |
| 153484 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 158885 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 153485 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 158886 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 153486 | .{ .type = .usize, .kind = .{ .extern_func = "fminq" } }, | 158887 | .{ .type = .usize, .kind = .{ .extern_func = "fminq" } }, |
| 153487 | .unused, | 158888 | .unused, |
| 153488 | .unused, | 158889 | .unused, |
| ... | @@ -153493,7 +158894,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -153493,7 +158894,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 153493 | .unused, | 158894 | .unused, |
| 153494 | .unused, | 158895 | .unused, |
| 153495 | }, | 158896 | }, |
| 153496 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 158897 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 153497 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 158898 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 153498 | .each = .{ .once = &.{ | 158899 | .each = .{ .once = &.{ |
| 153499 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 158900 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -153513,7 +158914,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -153513,7 +158914,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 153513 | .call_frame = .{ .alignment = .@"16" }, | 158914 | .call_frame = .{ .alignment = .@"16" }, |
| 153514 | .extra_temps = .{ | 158915 | .extra_temps = .{ |
| 153515 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 158916 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 153516 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 158917 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 153517 | .{ .type = .usize, .kind = .{ .extern_func = "fminq" } }, | 158918 | .{ .type = .usize, .kind = .{ .extern_func = "fminq" } }, |
| 153518 | .unused, | 158919 | .unused, |
| 153519 | .unused, | 158920 | .unused, |
| ... | @@ -153524,7 +158925,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -153524,7 +158925,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 153524 | .unused, | 158925 | .unused, |
| 153525 | .unused, | 158926 | .unused, |
| 153526 | }, | 158927 | }, |
| 153527 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 158928 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 153528 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 158929 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 153529 | .each = .{ .once = &.{ | 158930 | .each = .{ .once = &.{ |
| 153530 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 158931 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -153995,7 +159396,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -153995,7 +159396,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 153995 | .call_frame = .{ .alignment = .@"16" }, | 159396 | .call_frame = .{ .alignment = .@"16" }, |
| 153996 | .extra_temps = .{ | 159397 | .extra_temps = .{ |
| 153997 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 159398 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 153998 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 159399 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 153999 | .{ .type = .usize, .kind = .{ .extern_func = "__fmaxh" } }, | 159400 | .{ .type = .usize, .kind = .{ .extern_func = "__fmaxh" } }, |
| 154000 | .unused, | 159401 | .unused, |
| 154001 | .unused, | 159402 | .unused, |
| ... | @@ -154006,7 +159407,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -154006,7 +159407,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 154006 | .unused, | 159407 | .unused, |
| 154007 | .unused, | 159408 | .unused, |
| 154008 | }, | 159409 | }, |
| 154009 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 159410 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 154010 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 159411 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 154011 | .each = .{ .once = &.{ | 159412 | .each = .{ .once = &.{ |
| 154012 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, | 159413 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, |
| ... | @@ -154028,7 +159429,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -154028,7 +159429,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 154028 | .call_frame = .{ .alignment = .@"16" }, | 159429 | .call_frame = .{ .alignment = .@"16" }, |
| 154029 | .extra_temps = .{ | 159430 | .extra_temps = .{ |
| 154030 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 159431 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 154031 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 159432 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 154032 | .{ .type = .usize, .kind = .{ .extern_func = "__fmaxh" } }, | 159433 | .{ .type = .usize, .kind = .{ .extern_func = "__fmaxh" } }, |
| 154033 | .unused, | 159434 | .unused, |
| 154034 | .unused, | 159435 | .unused, |
| ... | @@ -154039,7 +159440,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -154039,7 +159440,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 154039 | .unused, | 159440 | .unused, |
| 154040 | .unused, | 159441 | .unused, |
| 154041 | }, | 159442 | }, |
| 154042 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 159443 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 154043 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 159444 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 154044 | .each = .{ .once = &.{ | 159445 | .each = .{ .once = &.{ |
| 154045 | .{ ._, .p_, .xor, .dst0x, .dst0x, ._, ._ }, | 159446 | .{ ._, .p_, .xor, .dst0x, .dst0x, ._, ._ }, |
| ... | @@ -154063,7 +159464,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -154063,7 +159464,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 154063 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 159464 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 154064 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 159465 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 154065 | .{ .type = .f32, .kind = .mem }, | 159466 | .{ .type = .f32, .kind = .mem }, |
| 154066 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 159467 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 154067 | .{ .type = .usize, .kind = .{ .extern_func = "__fmaxh" } }, | 159468 | .{ .type = .usize, .kind = .{ .extern_func = "__fmaxh" } }, |
| 154068 | .unused, | 159469 | .unused, |
| 154069 | .unused, | 159470 | .unused, |
| ... | @@ -154072,7 +159473,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -154072,7 +159473,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 154072 | .unused, | 159473 | .unused, |
| 154073 | .unused, | 159474 | .unused, |
| 154074 | }, | 159475 | }, |
| 154075 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 159476 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 154076 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 159477 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 154077 | .each = .{ .once = &.{ | 159478 | .each = .{ .once = &.{ |
| 154078 | .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ }, | 159479 | .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ }, |
| ... | @@ -155143,7 +160544,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -155143,7 +160544,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 155143 | .call_frame = .{ .alignment = .@"16" }, | 160544 | .call_frame = .{ .alignment = .@"16" }, |
| 155144 | .extra_temps = .{ | 160545 | .extra_temps = .{ |
| 155145 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 160546 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 155146 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 160547 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 155147 | .{ .type = .usize, .kind = .{ .extern_func = "fmaxq" } }, | 160548 | .{ .type = .usize, .kind = .{ .extern_func = "fmaxq" } }, |
| 155148 | .unused, | 160549 | .unused, |
| 155149 | .unused, | 160550 | .unused, |
| ... | @@ -155154,7 +160555,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -155154,7 +160555,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 155154 | .unused, | 160555 | .unused, |
| 155155 | .unused, | 160556 | .unused, |
| 155156 | }, | 160557 | }, |
| 155157 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 160558 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 155158 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 160559 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 155159 | .each = .{ .once = &.{ | 160560 | .each = .{ .once = &.{ |
| 155160 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 160561 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -155174,7 +160575,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -155174,7 +160575,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 155174 | .call_frame = .{ .alignment = .@"16" }, | 160575 | .call_frame = .{ .alignment = .@"16" }, |
| 155175 | .extra_temps = .{ | 160576 | .extra_temps = .{ |
| 155176 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 160577 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 155177 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 160578 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 155178 | .{ .type = .usize, .kind = .{ .extern_func = "fmaxq" } }, | 160579 | .{ .type = .usize, .kind = .{ .extern_func = "fmaxq" } }, |
| 155179 | .unused, | 160580 | .unused, |
| 155180 | .unused, | 160581 | .unused, |
| ... | @@ -155185,7 +160586,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -155185,7 +160586,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 155185 | .unused, | 160586 | .unused, |
| 155186 | .unused, | 160587 | .unused, |
| 155187 | }, | 160588 | }, |
| 155188 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 160589 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 155189 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 160590 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 155190 | .each = .{ .once = &.{ | 160591 | .each = .{ .once = &.{ |
| 155191 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 160592 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -155205,7 +160606,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -155205,7 +160606,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 155205 | .call_frame = .{ .alignment = .@"16" }, | 160606 | .call_frame = .{ .alignment = .@"16" }, |
| 155206 | .extra_temps = .{ | 160607 | .extra_temps = .{ |
| 155207 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 160608 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 155208 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 160609 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 155209 | .{ .type = .usize, .kind = .{ .extern_func = "fmaxq" } }, | 160610 | .{ .type = .usize, .kind = .{ .extern_func = "fmaxq" } }, |
| 155210 | .unused, | 160611 | .unused, |
| 155211 | .unused, | 160612 | .unused, |
| ... | @@ -155216,7 +160617,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -155216,7 +160617,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 155216 | .unused, | 160617 | .unused, |
| 155217 | .unused, | 160618 | .unused, |
| 155218 | }, | 160619 | }, |
| 155219 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 160620 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 155220 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 160621 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 155221 | .each = .{ .once = &.{ | 160622 | .each = .{ .once = &.{ |
| 155222 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 160623 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -155936,7 +161337,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -155936,7 +161337,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 155936 | .call_frame = .{ .alignment = .@"16" }, | 161337 | .call_frame = .{ .alignment = .@"16" }, |
| 155937 | .extra_temps = .{ | 161338 | .extra_temps = .{ |
| 155938 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 161339 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 155939 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 161340 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 155940 | .{ .type = .usize, .kind = .{ .extern_func = "__addhf3" } }, | 161341 | .{ .type = .usize, .kind = .{ .extern_func = "__addhf3" } }, |
| 155941 | .unused, | 161342 | .unused, |
| 155942 | .unused, | 161343 | .unused, |
| ... | @@ -155947,7 +161348,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -155947,7 +161348,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 155947 | .unused, | 161348 | .unused, |
| 155948 | .unused, | 161349 | .unused, |
| 155949 | }, | 161350 | }, |
| 155950 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 161351 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 155951 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 161352 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 155952 | .each = .{ .once = &.{ | 161353 | .each = .{ .once = &.{ |
| 155953 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, | 161354 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, |
| ... | @@ -155969,7 +161370,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -155969,7 +161370,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 155969 | .call_frame = .{ .alignment = .@"16" }, | 161370 | .call_frame = .{ .alignment = .@"16" }, |
| 155970 | .extra_temps = .{ | 161371 | .extra_temps = .{ |
| 155971 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 161372 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 155972 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 161373 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 155973 | .{ .type = .usize, .kind = .{ .extern_func = "__addhf3" } }, | 161374 | .{ .type = .usize, .kind = .{ .extern_func = "__addhf3" } }, |
| 155974 | .unused, | 161375 | .unused, |
| 155975 | .unused, | 161376 | .unused, |
| ... | @@ -155980,7 +161381,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -155980,7 +161381,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 155980 | .unused, | 161381 | .unused, |
| 155981 | .unused, | 161382 | .unused, |
| 155982 | }, | 161383 | }, |
| 155983 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 161384 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 155984 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 161385 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 155985 | .each = .{ .once = &.{ | 161386 | .each = .{ .once = &.{ |
| 155986 | .{ ._, .p_, .xor, .dst0x, .dst0x, ._, ._ }, | 161387 | .{ ._, .p_, .xor, .dst0x, .dst0x, ._, ._ }, |
| ... | @@ -156004,7 +161405,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -156004,7 +161405,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 156004 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 161405 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 156005 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 161406 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 156006 | .{ .type = .f32, .kind = .mem }, | 161407 | .{ .type = .f32, .kind = .mem }, |
| 156007 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 161408 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 156008 | .{ .type = .usize, .kind = .{ .extern_func = "__addhf3" } }, | 161409 | .{ .type = .usize, .kind = .{ .extern_func = "__addhf3" } }, |
| 156009 | .unused, | 161410 | .unused, |
| 156010 | .unused, | 161411 | .unused, |
| ... | @@ -156013,7 +161414,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -156013,7 +161414,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 156013 | .unused, | 161414 | .unused, |
| 156014 | .unused, | 161415 | .unused, |
| 156015 | }, | 161416 | }, |
| 156016 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 161417 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 156017 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 161418 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 156018 | .each = .{ .once = &.{ | 161419 | .each = .{ .once = &.{ |
| 156019 | .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ }, | 161420 | .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ }, |
| ... | @@ -157362,6 +162763,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -157362,6 +162763,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 157362 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, | 162763 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| 157363 | } }, | 162764 | } }, |
| 157364 | }, .{ | 162765 | }, .{ |
| | 162766 | .required_abi = .gnu, |
| 157365 | .required_features = .{ .x87, null, null, null }, | 162767 | .required_features = .{ .x87, null, null, null }, |
| 157366 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, | 162768 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| 157367 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 162769 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| ... | @@ -157369,8 +162771,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -157369,8 +162771,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 157369 | .{ .src = .{ .to_mem, .none, .none } }, | 162771 | .{ .src = .{ .to_mem, .none, .none } }, |
| 157370 | }, | 162772 | }, |
| 157371 | .extra_temps = .{ | 162773 | .extra_temps = .{ |
| 157372 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | | |
| 157373 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 162774 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 162775 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 157374 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, | 162776 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 157375 | .unused, | 162777 | .unused, |
| 157376 | .unused, | 162778 | .unused, |
| ... | @@ -157384,14 +162786,52 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -157384,14 +162786,52 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 157384 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, | 162786 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| 157385 | .clobbers = .{ .eflags = true }, | 162787 | .clobbers = .{ .eflags = true }, |
| 157386 | .each = .{ .once = &.{ | 162788 | .each = .{ .once = &.{ |
| 157387 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | | |
| 157388 | .{ ._, .f_, .ld, .memad(.src0t, .add_unaligned_size, -16), ._, ._, ._ }, | 162789 | .{ ._, .f_, .ld, .memad(.src0t, .add_unaligned_size, -16), ._, ._, ._ }, |
| 157389 | .{ .@"0:", .f_, .ld, .memi(.src0t, .tmp0), ._, ._, ._ }, | 162790 | .{ ._, ._, .mov, .tmp1d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 162791 | .{ .@"0:", .f_, .ld, .memi(.src0t, .tmp1), ._, ._, ._ }, |
| 157390 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, | 162792 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| 157391 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, | 162793 | .{ ._, ._, .sub, .tmp1d, .si(16), ._, ._ }, |
| 157392 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, | 162794 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 157393 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, | 162795 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| 157394 | } }, | 162796 | } }, |
| | 162797 | }, .{ |
| | 162798 | .required_abi = .msvc, |
| | 162799 | .required_features = .{ .x87, null, null, null }, |
| | 162800 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| | 162801 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 162802 | .patterns = &.{ |
| | 162803 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 162804 | }, |
| | 162805 | .extra_temps = .{ |
| | 162806 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 162807 | .{ .type = .u16, .kind = .mem }, |
| | 162808 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 162809 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 162810 | .unused, |
| | 162811 | .unused, |
| | 162812 | .unused, |
| | 162813 | .unused, |
| | 162814 | .unused, |
| | 162815 | .unused, |
| | 162816 | .unused, |
| | 162817 | }, |
| | 162818 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 162819 | .clobbers = .{ .eflags = true }, |
| | 162820 | .each = .{ .once = &.{ |
| | 162821 | .{ ._, .f_, .ld, .mem(.src0t), ._, ._, ._ }, |
| | 162822 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 162823 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, |
| | 162824 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_00_11), ._, ._ }, |
| | 162825 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 162826 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, |
| | 162827 | .{ ._, ._, .mov, .tmp2p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, |
| | 162828 | .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp2, .add_unaligned_size), ._, ._, ._ }, |
| | 162829 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| | 162830 | .{ ._, ._, .add, .tmp2p, .si(16), ._, ._ }, |
| | 162831 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 162832 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 162833 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 162834 | } }, |
| 157395 | }, .{ | 162835 | }, .{ |
| 157396 | .required_features = .{ .avx, null, null, null }, | 162836 | .required_features = .{ .avx, null, null, null }, |
| 157397 | .dst_constraints = .{ .{ .float = .xword }, .any }, | 162837 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| ... | @@ -157402,7 +162842,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -157402,7 +162842,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 157402 | .call_frame = .{ .alignment = .@"16" }, | 162842 | .call_frame = .{ .alignment = .@"16" }, |
| 157403 | .extra_temps = .{ | 162843 | .extra_temps = .{ |
| 157404 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 162844 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 157405 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 162845 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 157406 | .{ .type = .usize, .kind = .{ .extern_func = "__addtf3" } }, | 162846 | .{ .type = .usize, .kind = .{ .extern_func = "__addtf3" } }, |
| 157407 | .unused, | 162847 | .unused, |
| 157408 | .unused, | 162848 | .unused, |
| ... | @@ -157413,7 +162853,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -157413,7 +162853,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 157413 | .unused, | 162853 | .unused, |
| 157414 | .unused, | 162854 | .unused, |
| 157415 | }, | 162855 | }, |
| 157416 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 162856 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 157417 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 162857 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 157418 | .each = .{ .once = &.{ | 162858 | .each = .{ .once = &.{ |
| 157419 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 162859 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -157433,7 +162873,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -157433,7 +162873,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 157433 | .call_frame = .{ .alignment = .@"16" }, | 162873 | .call_frame = .{ .alignment = .@"16" }, |
| 157434 | .extra_temps = .{ | 162874 | .extra_temps = .{ |
| 157435 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 162875 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 157436 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 162876 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 157437 | .{ .type = .usize, .kind = .{ .extern_func = "__addtf3" } }, | 162877 | .{ .type = .usize, .kind = .{ .extern_func = "__addtf3" } }, |
| 157438 | .unused, | 162878 | .unused, |
| 157439 | .unused, | 162879 | .unused, |
| ... | @@ -157444,7 +162884,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -157444,7 +162884,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 157444 | .unused, | 162884 | .unused, |
| 157445 | .unused, | 162885 | .unused, |
| 157446 | }, | 162886 | }, |
| 157447 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 162887 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 157448 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 162888 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 157449 | .each = .{ .once = &.{ | 162889 | .each = .{ .once = &.{ |
| 157450 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 162890 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -157464,7 +162904,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -157464,7 +162904,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 157464 | .call_frame = .{ .alignment = .@"16" }, | 162904 | .call_frame = .{ .alignment = .@"16" }, |
| 157465 | .extra_temps = .{ | 162905 | .extra_temps = .{ |
| 157466 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 162906 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 157467 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 162907 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 157468 | .{ .type = .usize, .kind = .{ .extern_func = "__addtf3" } }, | 162908 | .{ .type = .usize, .kind = .{ .extern_func = "__addtf3" } }, |
| 157469 | .unused, | 162909 | .unused, |
| 157470 | .unused, | 162910 | .unused, |
| ... | @@ -157475,7 +162915,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -157475,7 +162915,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 157475 | .unused, | 162915 | .unused, |
| 157476 | .unused, | 162916 | .unused, |
| 157477 | }, | 162917 | }, |
| 157478 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 162918 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 157479 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 162919 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 157480 | .each = .{ .once = &.{ | 162920 | .each = .{ .once = &.{ |
| 157481 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 162921 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -157946,7 +163386,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -157946,7 +163386,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 157946 | .call_frame = .{ .alignment = .@"16" }, | 163386 | .call_frame = .{ .alignment = .@"16" }, |
| 157947 | .extra_temps = .{ | 163387 | .extra_temps = .{ |
| 157948 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 163388 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 157949 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 163389 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 157950 | .{ .type = .usize, .kind = .{ .extern_func = "__mulhf3" } }, | 163390 | .{ .type = .usize, .kind = .{ .extern_func = "__mulhf3" } }, |
| 157951 | .unused, | 163391 | .unused, |
| 157952 | .unused, | 163392 | .unused, |
| ... | @@ -157957,7 +163397,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -157957,7 +163397,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 157957 | .unused, | 163397 | .unused, |
| 157958 | .unused, | 163398 | .unused, |
| 157959 | }, | 163399 | }, |
| 157960 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 163400 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 157961 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 163401 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 157962 | .each = .{ .once = &.{ | 163402 | .each = .{ .once = &.{ |
| 157963 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, | 163403 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, |
| ... | @@ -157979,7 +163419,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -157979,7 +163419,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 157979 | .call_frame = .{ .alignment = .@"16" }, | 163419 | .call_frame = .{ .alignment = .@"16" }, |
| 157980 | .extra_temps = .{ | 163420 | .extra_temps = .{ |
| 157981 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 163421 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 157982 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 163422 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 157983 | .{ .type = .usize, .kind = .{ .extern_func = "__mulhf3" } }, | 163423 | .{ .type = .usize, .kind = .{ .extern_func = "__mulhf3" } }, |
| 157984 | .unused, | 163424 | .unused, |
| 157985 | .unused, | 163425 | .unused, |
| ... | @@ -157990,7 +163430,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -157990,7 +163430,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 157990 | .unused, | 163430 | .unused, |
| 157991 | .unused, | 163431 | .unused, |
| 157992 | }, | 163432 | }, |
| 157993 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 163433 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 157994 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 163434 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 157995 | .each = .{ .once = &.{ | 163435 | .each = .{ .once = &.{ |
| 157996 | .{ ._, .p_, .xor, .dst0x, .dst0x, ._, ._ }, | 163436 | .{ ._, .p_, .xor, .dst0x, .dst0x, ._, ._ }, |
| ... | @@ -158014,7 +163454,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -158014,7 +163454,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 158014 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 163454 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 158015 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 163455 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 158016 | .{ .type = .f32, .kind = .mem }, | 163456 | .{ .type = .f32, .kind = .mem }, |
| 158017 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 163457 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 158018 | .{ .type = .usize, .kind = .{ .extern_func = "__mulhf3" } }, | 163458 | .{ .type = .usize, .kind = .{ .extern_func = "__mulhf3" } }, |
| 158019 | .unused, | 163459 | .unused, |
| 158020 | .unused, | 163460 | .unused, |
| ... | @@ -158023,7 +163463,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -158023,7 +163463,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 158023 | .unused, | 163463 | .unused, |
| 158024 | .unused, | 163464 | .unused, |
| 158025 | }, | 163465 | }, |
| 158026 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 163466 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 158027 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 163467 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 158028 | .each = .{ .once = &.{ | 163468 | .each = .{ .once = &.{ |
| 158029 | .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ }, | 163469 | .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ }, |
| ... | @@ -158905,6 +164345,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -158905,6 +164345,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 158905 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, | 164345 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| 158906 | } }, | 164346 | } }, |
| 158907 | }, .{ | 164347 | }, .{ |
| | 164348 | .required_abi = .gnu, |
| 158908 | .required_features = .{ .x87, null, null, null }, | 164349 | .required_features = .{ .x87, null, null, null }, |
| 158909 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, | 164350 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| 158910 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 164351 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| ... | @@ -158935,6 +164376,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -158935,6 +164376,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 158935 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, | 164376 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 158936 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, | 164377 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| 158937 | } }, | 164378 | } }, |
| | 164379 | }, .{ |
| | 164380 | .required_abi = .msvc, |
| | 164381 | .required_features = .{ .x87, null, null, null }, |
| | 164382 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| | 164383 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 164384 | .patterns = &.{ |
| | 164385 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 164386 | }, |
| | 164387 | .extra_temps = .{ |
| | 164388 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 164389 | .{ .type = .u16, .kind = .mem }, |
| | 164390 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 164391 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 164392 | .unused, |
| | 164393 | .unused, |
| | 164394 | .unused, |
| | 164395 | .unused, |
| | 164396 | .unused, |
| | 164397 | .unused, |
| | 164398 | .unused, |
| | 164399 | }, |
| | 164400 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 164401 | .clobbers = .{ .eflags = true }, |
| | 164402 | .each = .{ .once = &.{ |
| | 164403 | .{ ._, .f_, .ld, .mem(.src0t), ._, ._, ._ }, |
| | 164404 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 164405 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, |
| | 164406 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_00_11), ._, ._ }, |
| | 164407 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 164408 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, |
| | 164409 | .{ ._, ._, .mov, .tmp2p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, |
| | 164410 | .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp2, .add_unaligned_size), ._, ._, ._ }, |
| | 164411 | .{ ._, .f_p, .mul, ._, ._, ._, ._ }, |
| | 164412 | .{ ._, ._, .add, .tmp2p, .si(16), ._, ._ }, |
| | 164413 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 164414 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 164415 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 164416 | } }, |
| 158938 | }, .{ | 164417 | }, .{ |
| 158939 | .required_features = .{ .avx, null, null, null }, | 164418 | .required_features = .{ .avx, null, null, null }, |
| 158940 | .dst_constraints = .{ .{ .float = .xword }, .any }, | 164419 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| ... | @@ -158945,7 +164424,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -158945,7 +164424,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 158945 | .call_frame = .{ .alignment = .@"16" }, | 164424 | .call_frame = .{ .alignment = .@"16" }, |
| 158946 | .extra_temps = .{ | 164425 | .extra_temps = .{ |
| 158947 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 164426 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 158948 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 164427 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 158949 | .{ .type = .usize, .kind = .{ .extern_func = "__multf3" } }, | 164428 | .{ .type = .usize, .kind = .{ .extern_func = "__multf3" } }, |
| 158950 | .unused, | 164429 | .unused, |
| 158951 | .unused, | 164430 | .unused, |
| ... | @@ -158956,7 +164435,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -158956,7 +164435,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 158956 | .unused, | 164435 | .unused, |
| 158957 | .unused, | 164436 | .unused, |
| 158958 | }, | 164437 | }, |
| 158959 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 164438 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 158960 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 164439 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 158961 | .each = .{ .once = &.{ | 164440 | .each = .{ .once = &.{ |
| 158962 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 164441 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -158976,7 +164455,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -158976,7 +164455,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 158976 | .call_frame = .{ .alignment = .@"16" }, | 164455 | .call_frame = .{ .alignment = .@"16" }, |
| 158977 | .extra_temps = .{ | 164456 | .extra_temps = .{ |
| 158978 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 164457 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 158979 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 164458 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 158980 | .{ .type = .usize, .kind = .{ .extern_func = "__multf3" } }, | 164459 | .{ .type = .usize, .kind = .{ .extern_func = "__multf3" } }, |
| 158981 | .unused, | 164460 | .unused, |
| 158982 | .unused, | 164461 | .unused, |
| ... | @@ -158987,7 +164466,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -158987,7 +164466,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 158987 | .unused, | 164466 | .unused, |
| 158988 | .unused, | 164467 | .unused, |
| 158989 | }, | 164468 | }, |
| 158990 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 164469 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 158991 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 164470 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 158992 | .each = .{ .once = &.{ | 164471 | .each = .{ .once = &.{ |
| 158993 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 164472 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -159007,7 +164486,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -159007,7 +164486,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 159007 | .call_frame = .{ .alignment = .@"16" }, | 164486 | .call_frame = .{ .alignment = .@"16" }, |
| 159008 | .extra_temps = .{ | 164487 | .extra_temps = .{ |
| 159009 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 164488 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 159010 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 164489 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 159011 | .{ .type = .usize, .kind = .{ .extern_func = "__multf3" } }, | 164490 | .{ .type = .usize, .kind = .{ .extern_func = "__multf3" } }, |
| 159012 | .unused, | 164491 | .unused, |
| 159013 | .unused, | 164492 | .unused, |
| ... | @@ -159018,7 +164497,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -159018,7 +164497,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 159018 | .unused, | 164497 | .unused, |
| 159019 | .unused, | 164498 | .unused, |
| 159020 | }, | 164499 | }, |
| 159021 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, | 164500 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 159022 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 164501 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 159023 | .each = .{ .once = &.{ | 164502 | .each = .{ .once = &.{ |
| 159024 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 164503 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -159040,7 +164519,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -159040,7 +164519,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 159040 | }; | 164519 | }; |
| 159041 | try res[0].finish(inst, &.{reduce.operand}, &ops, cg); | 164520 | try res[0].finish(inst, &.{reduce.operand}, &ops, cg); |
| 159042 | }, | 164521 | }, |
| 159043 | .splat => |air_tag| if (use_old) try cg.airSplat(inst) else fallback: { | 164522 | .splat => |air_tag| fallback: { |
| 159044 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 164523 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 159045 | if (cg.typeOf(ty_op.operand).toIntern() == .bool_type) break :fallback try cg.airSplat(inst); | 164524 | if (cg.typeOf(ty_op.operand).toIntern() == .bool_type) break :fallback try cg.airSplat(inst); |
| 159046 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); | 164525 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}); |
| ... | @@ -160345,16 +165824,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -160345,16 +165824,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 160345 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, | 165824 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 160346 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, | 165825 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 160347 | } }, | 165826 | } }, |
| 160348 | }, .{ | | |
| 160349 | .required_features = .{ .sse, null, null, null }, | | |
| 160350 | .dst_constraints = .{ .{ .scalar = .{ .of = .xword, .is = .xword } }, .any }, | | |
| 160351 | .src_constraints = .{ .{ .int_or_float = .xword }, .any, .any }, | | |
| 160352 | .patterns = &.{ | | |
| 160353 | .{ .src = .{ .mut_mem, .none, .none } }, | | |
| 160354 | .{ .src = .{ .to_mut_sse, .none, .none } }, | | |
| 160355 | }, | | |
| 160356 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | | |
| 160357 | .each = .{ .once = &.{} }, | | |
| 160358 | }, .{ | 165827 | }, .{ |
| 160359 | .required_features = .{ .avx2, null, null, null }, | 165828 | .required_features = .{ .avx2, null, null, null }, |
| 160360 | .dst_constraints = .{ .{ .scalar = .{ .of = .yword, .is = .xword } }, .any }, | 165829 | .dst_constraints = .{ .{ .scalar = .{ .of = .yword, .is = .xword } }, .any }, |
| ... | @@ -160592,16 +166061,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -160592,16 +166061,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 160592 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, | 166061 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 160593 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, | 166062 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 160594 | } }, | 166063 | } }, |
| 160595 | }, .{ | | |
| 160596 | .required_features = .{ .@"64bit", .sse, null, null }, | | |
| 160597 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any }, | | |
| 160598 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, | | |
| 160599 | .patterns = &.{ | | |
| 160600 | .{ .src = .{ .mut_mem, .none, .none } }, | | |
| 160601 | .{ .src = .{ .to_mut_sse, .none, .none } }, | | |
| 160602 | }, | | |
| 160603 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | | |
| 160604 | .each = .{ .once = &.{} }, | | |
| 160605 | }, .{ | 166064 | }, .{ |
| 160606 | .required_features = .{ .@"64bit", .avx2, null, null }, | 166065 | .required_features = .{ .@"64bit", .avx2, null, null }, |
| 160607 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .yword, .is = .tbyte } }, .any }, | 166066 | .dst_constraints = .{ .{ .scalar_float = .{ .of = .yword, .is = .tbyte } }, .any }, |
| ... | @@ -160859,11 +166318,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -160859,11 +166318,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 160859 | | 166318 | |
| 160860 | .memset => try cg.airMemset(inst, false), | 166319 | .memset => try cg.airMemset(inst, false), |
| 160861 | .memset_safe => try cg.airMemset(inst, true), | 166320 | .memset_safe => try cg.airMemset(inst, true), |
| 160862 | .memcpy, .memmove => |air_tag| if (use_old) switch (air_tag) { | 166321 | .memcpy, .memmove => |air_tag| { |
| 160863 | else => unreachable, | | |
| 160864 | .memcpy => try cg.airMemcpy(inst), | | |
| 160865 | .memmove => return cg.fail("TODO implement airMemmove for {}", .{cg.target.cpu.arch}), | | |
| 160866 | } else { | | |
| 160867 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | 166322 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| 160868 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }) ++ .{undefined}; | 166323 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }) ++ .{undefined}; |
| 160869 | ops[2] = ops[0].getByteLen(cg) catch |err| switch (err) { | 166324 | ops[2] = ops[0].getByteLen(cg) catch |err| switch (err) { |
| ... | @@ -160882,9 +166337,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -160882,9 +166337,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 160882 | inline .memcpy, .memmove => |symbol| comptime &.{.{ | 166337 | inline .memcpy, .memmove => |symbol| comptime &.{.{ |
| 160883 | .patterns = &.{ | 166338 | .patterns = &.{ |
| 160884 | .{ .src = .{ | 166339 | .{ .src = .{ |
| 160885 | .{ .to_param_gpr = .{ .cc = .ccc, .at = 0 } }, | 166340 | .{ .to_param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| 160886 | .{ .to_param_gpr = .{ .cc = .ccc, .at = 1 } }, | 166341 | .{ .to_param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| 160887 | .{ .to_param_gpr = .{ .cc = .ccc, .at = 2 } }, | 166342 | .{ .to_param_gpr = .{ .cc = .ccc, .after = 2, .at = 2 } }, |
| 160888 | } }, | 166343 | } }, |
| 160889 | }, | 166344 | }, |
| 160890 | .call_frame = .{ .alignment = .@"16" }, | 166345 | .call_frame = .{ .alignment = .@"16" }, |
| ... | @@ -160926,7 +166381,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -160926,7 +166381,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 160926 | .atomic_store_release => try cg.airAtomicStore(inst, .release), | 166381 | .atomic_store_release => try cg.airAtomicStore(inst, .release), |
| 160927 | .atomic_store_seq_cst => try cg.airAtomicStore(inst, .seq_cst), | 166382 | .atomic_store_seq_cst => try cg.airAtomicStore(inst, .seq_cst), |
| 160928 | .atomic_rmw => try cg.airAtomicRmw(inst), | 166383 | .atomic_rmw => try cg.airAtomicRmw(inst), |
| 160929 | .is_named_enum_value => |air_tag| if (use_old) try cg.airTagName(inst, true) else { | 166384 | .is_named_enum_value => |air_tag| { |
| 160930 | const un_op = air_datas[@intFromEnum(inst)].un_op; | 166385 | const un_op = air_datas[@intFromEnum(inst)].un_op; |
| 160931 | var ops = try cg.tempsFromOperands(inst, .{un_op}); | 166386 | var ops = try cg.tempsFromOperands(inst, .{un_op}); |
| 160932 | var res: [1]Temp = undefined; | 166387 | var res: [1]Temp = undefined; |
| ... | @@ -160934,7 +166389,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -160934,7 +166389,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 160934 | .required_features = .{ .avx, null, null, null }, | 166389 | .required_features = .{ .avx, null, null, null }, |
| 160935 | .src_constraints = .{ .{ .int = .gpr }, .any, .any }, | 166390 | .src_constraints = .{ .{ .int = .gpr }, .any, .any }, |
| 160936 | .patterns = &.{ | 166391 | .patterns = &.{ |
| 160937 | .{ .src = .{ .{ .to_param_gpr = .{ .cc = .zigcc, .at = 0 } }, .none, .none } }, | 166392 | .{ .src = .{ .{ .to_param_gpr = .{ .cc = .zigcc, .after = 0, .at = 0 } }, .none, .none } }, |
| 160938 | }, | 166393 | }, |
| 160939 | .call_frame = .{ .alignment = .@"32" }, | 166394 | .call_frame = .{ .alignment = .@"32" }, |
| 160940 | .extra_temps = .{ | 166395 | .extra_temps = .{ |
| ... | @@ -160960,7 +166415,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -160960,7 +166415,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 160960 | .required_features = .{ .sse, null, null, null }, | 166415 | .required_features = .{ .sse, null, null, null }, |
| 160961 | .src_constraints = .{ .{ .int = .gpr }, .any, .any }, | 166416 | .src_constraints = .{ .{ .int = .gpr }, .any, .any }, |
| 160962 | .patterns = &.{ | 166417 | .patterns = &.{ |
| 160963 | .{ .src = .{ .{ .to_param_gpr = .{ .cc = .zigcc, .at = 0 } }, .none, .none } }, | 166418 | .{ .src = .{ .{ .to_param_gpr = .{ .cc = .zigcc, .after = 0, .at = 0 } }, .none, .none } }, |
| 160964 | }, | 166419 | }, |
| 160965 | .call_frame = .{ .alignment = .@"16" }, | 166420 | .call_frame = .{ .alignment = .@"16" }, |
| 160966 | .extra_temps = .{ | 166421 | .extra_temps = .{ |
| ... | @@ -160985,7 +166440,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -160985,7 +166440,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 160985 | }, .{ | 166440 | }, .{ |
| 160986 | .src_constraints = .{ .{ .int = .gpr }, .any, .any }, | 166441 | .src_constraints = .{ .{ .int = .gpr }, .any, .any }, |
| 160987 | .patterns = &.{ | 166442 | .patterns = &.{ |
| 160988 | .{ .src = .{ .{ .to_param_gpr = .{ .cc = .zigcc, .at = 0 } }, .none, .none } }, | 166443 | .{ .src = .{ .{ .to_param_gpr = .{ .cc = .zigcc, .after = 0, .at = 0 } }, .none, .none } }, |
| 160989 | }, | 166444 | }, |
| 160990 | .call_frame = .{ .alignment = .@"8" }, | 166445 | .call_frame = .{ .alignment = .@"8" }, |
| 160991 | .extra_temps = .{ | 166446 | .extra_temps = .{ |
| ... | @@ -161017,7 +166472,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161017,7 +166472,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161017 | }; | 166472 | }; |
| 161018 | try res[0].finish(inst, &.{un_op}, &ops, cg); | 166473 | try res[0].finish(inst, &.{un_op}, &ops, cg); |
| 161019 | }, | 166474 | }, |
| 161020 | .tag_name => |air_tag| if (use_old) try cg.airTagName(inst, false) else { | 166475 | .tag_name => |air_tag| { |
| 161021 | const un_op = air_datas[@intFromEnum(inst)].un_op; | 166476 | const un_op = air_datas[@intFromEnum(inst)].un_op; |
| 161022 | var ops = try cg.tempsFromOperands(inst, .{un_op}); | 166477 | var ops = try cg.tempsFromOperands(inst, .{un_op}); |
| 161023 | var res: [1]Temp = undefined; | 166478 | var res: [1]Temp = undefined; |
| ... | @@ -161025,7 +166480,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161025,7 +166480,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161025 | .required_features = .{ .avx, null, null, null }, | 166480 | .required_features = .{ .avx, null, null, null }, |
| 161026 | .src_constraints = .{ .{ .int = .gpr }, .any, .any }, | 166481 | .src_constraints = .{ .{ .int = .gpr }, .any, .any }, |
| 161027 | .patterns = &.{ | 166482 | .patterns = &.{ |
| 161028 | .{ .src = .{ .{ .to_param_gpr = .{ .cc = .zigcc, .at = 0 } }, .none, .none } }, | 166483 | .{ .src = .{ .{ .to_param_gpr = .{ .cc = .zigcc, .after = 0, .at = 0 } }, .none, .none } }, |
| 161029 | }, | 166484 | }, |
| 161030 | .call_frame = .{ .alignment = .@"32" }, | 166485 | .call_frame = .{ .alignment = .@"32" }, |
| 161031 | .extra_temps = .{ | 166486 | .extra_temps = .{ |
| ... | @@ -161041,7 +166496,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161041,7 +166496,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161041 | .unused, | 166496 | .unused, |
| 161042 | .unused, | 166497 | .unused, |
| 161043 | }, | 166498 | }, |
| 161044 | .dst_temps = .{ .{ .ret_gpr = .{ .cc = .zigcc, .at = 1 } }, .unused }, | 166499 | .dst_temps = .{ .{ .ret_gpr = .{ .cc = .zigcc, .after = 1, .at = 1 } }, .unused }, |
| 161045 | .clobbers = .{ .eflags = true, .caller_preserved = .zigcc }, | 166500 | .clobbers = .{ .eflags = true, .caller_preserved = .zigcc }, |
| 161046 | .each = .{ .once = &.{ | 166501 | .each = .{ .once = &.{ |
| 161047 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 166502 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| ... | @@ -161050,7 +166505,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161050,7 +166505,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161050 | .required_features = .{ .sse, null, null, null }, | 166505 | .required_features = .{ .sse, null, null, null }, |
| 161051 | .src_constraints = .{ .{ .int = .gpr }, .any, .any }, | 166506 | .src_constraints = .{ .{ .int = .gpr }, .any, .any }, |
| 161052 | .patterns = &.{ | 166507 | .patterns = &.{ |
| 161053 | .{ .src = .{ .{ .to_param_gpr = .{ .cc = .zigcc, .at = 0 } }, .none, .none } }, | 166508 | .{ .src = .{ .{ .to_param_gpr = .{ .cc = .zigcc, .after = 0, .at = 0 } }, .none, .none } }, |
| 161054 | }, | 166509 | }, |
| 161055 | .call_frame = .{ .alignment = .@"16" }, | 166510 | .call_frame = .{ .alignment = .@"16" }, |
| 161056 | .extra_temps = .{ | 166511 | .extra_temps = .{ |
| ... | @@ -161066,7 +166521,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161066,7 +166521,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161066 | .unused, | 166521 | .unused, |
| 161067 | .unused, | 166522 | .unused, |
| 161068 | }, | 166523 | }, |
| 161069 | .dst_temps = .{ .{ .ret_gpr = .{ .cc = .zigcc, .at = 1 } }, .unused }, | 166524 | .dst_temps = .{ .{ .ret_gpr = .{ .cc = .zigcc, .after = 1, .at = 1 } }, .unused }, |
| 161070 | .clobbers = .{ .eflags = true, .caller_preserved = .zigcc }, | 166525 | .clobbers = .{ .eflags = true, .caller_preserved = .zigcc }, |
| 161071 | .each = .{ .once = &.{ | 166526 | .each = .{ .once = &.{ |
| 161072 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 166527 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| ... | @@ -161074,7 +166529,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161074,7 +166529,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161074 | }, .{ | 166529 | }, .{ |
| 161075 | .src_constraints = .{ .{ .int = .gpr }, .any, .any }, | 166530 | .src_constraints = .{ .{ .int = .gpr }, .any, .any }, |
| 161076 | .patterns = &.{ | 166531 | .patterns = &.{ |
| 161077 | .{ .src = .{ .{ .to_param_gpr = .{ .cc = .zigcc, .at = 0 } }, .none, .none } }, | 166532 | .{ .src = .{ .{ .to_param_gpr = .{ .cc = .zigcc, .after = 0, .at = 0 } }, .none, .none } }, |
| 161078 | }, | 166533 | }, |
| 161079 | .call_frame = .{ .alignment = .@"8" }, | 166534 | .call_frame = .{ .alignment = .@"8" }, |
| 161080 | .extra_temps = .{ | 166535 | .extra_temps = .{ |
| ... | @@ -161090,7 +166545,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161090,7 +166545,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161090 | .unused, | 166545 | .unused, |
| 161091 | .unused, | 166546 | .unused, |
| 161092 | }, | 166547 | }, |
| 161093 | .dst_temps = .{ .{ .ret_gpr = .{ .cc = .zigcc, .at = 1 } }, .unused }, | 166548 | .dst_temps = .{ .{ .ret_gpr = .{ .cc = .zigcc, .after = 1, .at = 1 } }, .unused }, |
| 161094 | .clobbers = .{ .eflags = true, .caller_preserved = .zigcc }, | 166549 | .clobbers = .{ .eflags = true, .caller_preserved = .zigcc }, |
| 161095 | .each = .{ .once = &.{ | 166550 | .each = .{ .once = &.{ |
| 161096 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 166551 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| ... | @@ -161106,7 +166561,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161106,7 +166561,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161106 | try ops[0].toPair(&res[0], cg); | 166561 | try ops[0].toPair(&res[0], cg); |
| 161107 | try res[0].finish(inst, &.{un_op}, &ops, cg); | 166562 | try res[0].finish(inst, &.{un_op}, &ops, cg); |
| 161108 | }, | 166563 | }, |
| 161109 | .error_name => |air_tag| if (use_old) try cg.airErrorName(inst) else { | 166564 | .error_name => |air_tag| { |
| 161110 | const un_op = air_datas[@intFromEnum(inst)].un_op; | 166565 | const un_op = air_datas[@intFromEnum(inst)].un_op; |
| 161111 | var ops = try cg.tempsFromOperands(inst, .{un_op}); | 166566 | var ops = try cg.tempsFromOperands(inst, .{un_op}); |
| 161112 | var res: [2]Temp = undefined; | 166567 | var res: [2]Temp = undefined; |
| ... | @@ -161214,7 +166669,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161214,7 +166669,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161214 | }; | 166669 | }; |
| 161215 | try res[0].finish(inst, &.{un_op}, &ops, cg); | 166670 | try res[0].finish(inst, &.{un_op}, &ops, cg); |
| 161216 | }, | 166671 | }, |
| 161217 | .error_set_has_value => |air_tag| if (use_old) try cg.airErrorSetHasValue(inst) else { | 166672 | .error_set_has_value => |air_tag| { |
| 161218 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 166673 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 161219 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}) ++ .{try cg.tempInit(ty_op.ty.toType(), .none)}; | 166674 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}) ++ .{try cg.tempInit(ty_op.ty.toType(), .none)}; |
| 161220 | var res: [1]Temp = undefined; | 166675 | var res: [1]Temp = undefined; |
| ... | @@ -161222,7 +166677,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161222,7 +166677,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161222 | .required_features = .{ .avx, null, null, null }, | 166677 | .required_features = .{ .avx, null, null, null }, |
| 161223 | .src_constraints = .{ .{ .int = .gpr }, .any, .any }, | 166678 | .src_constraints = .{ .{ .int = .gpr }, .any, .any }, |
| 161224 | .patterns = &.{ | 166679 | .patterns = &.{ |
| 161225 | .{ .src = .{ .{ .to_param_gpr = .{ .cc = .zigcc, .at = 0 } }, .none, .none } }, | 166680 | .{ .src = .{ .{ .to_param_gpr = .{ .cc = .zigcc, .after = 0, .at = 0 } }, .none, .none } }, |
| 161226 | }, | 166681 | }, |
| 161227 | .call_frame = .{ .alignment = .@"32" }, | 166682 | .call_frame = .{ .alignment = .@"32" }, |
| 161228 | .extra_temps = .{ | 166683 | .extra_temps = .{ |
| ... | @@ -161248,7 +166703,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161248,7 +166703,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161248 | .required_features = .{ .sse, null, null, null }, | 166703 | .required_features = .{ .sse, null, null, null }, |
| 161249 | .src_constraints = .{ .{ .int = .gpr }, .any, .any }, | 166704 | .src_constraints = .{ .{ .int = .gpr }, .any, .any }, |
| 161250 | .patterns = &.{ | 166705 | .patterns = &.{ |
| 161251 | .{ .src = .{ .{ .to_param_gpr = .{ .cc = .zigcc, .at = 0 } }, .none, .none } }, | 166706 | .{ .src = .{ .{ .to_param_gpr = .{ .cc = .zigcc, .after = 0, .at = 0 } }, .none, .none } }, |
| 161252 | }, | 166707 | }, |
| 161253 | .call_frame = .{ .alignment = .@"16" }, | 166708 | .call_frame = .{ .alignment = .@"16" }, |
| 161254 | .extra_temps = .{ | 166709 | .extra_temps = .{ |
| ... | @@ -161273,7 +166728,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161273,7 +166728,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161273 | }, .{ | 166728 | }, .{ |
| 161274 | .src_constraints = .{ .{ .int = .gpr }, .any, .any }, | 166729 | .src_constraints = .{ .{ .int = .gpr }, .any, .any }, |
| 161275 | .patterns = &.{ | 166730 | .patterns = &.{ |
| 161276 | .{ .src = .{ .{ .to_param_gpr = .{ .cc = .zigcc, .at = 0 } }, .none, .none } }, | 166731 | .{ .src = .{ .{ .to_param_gpr = .{ .cc = .zigcc, .after = 0, .at = 0 } }, .none, .none } }, |
| 161277 | }, | 166732 | }, |
| 161278 | .call_frame = .{ .alignment = .@"8" }, | 166733 | .call_frame = .{ .alignment = .@"8" }, |
| 161279 | .extra_temps = .{ | 166734 | .extra_temps = .{ |
| ... | @@ -161306,7 +166761,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161306,7 +166761,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161306 | for (ops[1..]) |op| try op.die(cg); | 166761 | for (ops[1..]) |op| try op.die(cg); |
| 161307 | try res[0].finish(inst, &.{ty_op.operand}, ops[0..1], cg); | 166762 | try res[0].finish(inst, &.{ty_op.operand}, ops[0..1], cg); |
| 161308 | }, | 166763 | }, |
| 161309 | .aggregate_init => |air_tag| if (use_old) try cg.airAggregateInit(inst) else fallback: { | 166764 | .aggregate_init => |air_tag| fallback: { |
| 161310 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; | 166765 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; |
| 161311 | const agg_ty = ty_pl.ty.toType(); | 166766 | const agg_ty = ty_pl.ty.toType(); |
| 161312 | if ((agg_ty.isVector(zcu) and agg_ty.childType(zcu).toIntern() == .bool_type) or | 166767 | if ((agg_ty.isVector(zcu) and agg_ty.childType(zcu).toIntern() == .bool_type) or |
| ... | @@ -161376,7 +166831,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161376,7 +166831,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161376 | } | 166831 | } |
| 161377 | try res.finish(inst, &.{}, &.{}, cg); | 166832 | try res.finish(inst, &.{}, &.{}, cg); |
| 161378 | }, | 166833 | }, |
| 161379 | .union_init => if (use_old) try cg.airUnionInit(inst) else { | 166834 | .union_init => { |
| 161380 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; | 166835 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; |
| 161381 | const union_init = cg.air.extraData(Air.UnionInit, ty_pl.payload).data; | 166836 | const union_init = cg.air.extraData(Air.UnionInit, ty_pl.payload).data; |
| 161382 | const union_ty = ty_pl.ty.toType(); | 166837 | const union_ty = ty_pl.ty.toType(); |
| ... | @@ -161425,7 +166880,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161425,7 +166880,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161425 | const res = try cg.tempInit(.void, .none); | 166880 | const res = try cg.tempInit(.void, .none); |
| 161426 | try res.finish(inst, &.{prefetch.ptr}, &ops, cg); | 166881 | try res.finish(inst, &.{prefetch.ptr}, &ops, cg); |
| 161427 | }, | 166882 | }, |
| 161428 | .mul_add => |air_tag| if (use_old) try cg.airMulAdd(inst) else { | 166883 | .mul_add => |air_tag| { |
| 161429 | const pl_op = air_datas[@intFromEnum(inst)].pl_op; | 166884 | const pl_op = air_datas[@intFromEnum(inst)].pl_op; |
| 161430 | const bin_op = cg.air.extraData(Air.Bin, pl_op.payload).data; | 166885 | const bin_op = cg.air.extraData(Air.Bin, pl_op.payload).data; |
| 161431 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs, pl_op.operand }); | 166886 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs, pl_op.operand }); |
| ... | @@ -161469,7 +166924,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161469,7 +166924,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161469 | .{ .scalar_float = .{ .of = .word, .is = .word } }, | 166924 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| 161470 | }, | 166925 | }, |
| 161471 | .patterns = &.{ | 166926 | .patterns = &.{ |
| 161472 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .{ .to_reg = .xmm2 } } }, | 166927 | .{ .src = .{ |
| | 166928 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 166929 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 166930 | .{ .to_param_sse = .{ .cc = .ccc, .after = 2, .at = 2 } }, |
| | 166931 | } }, |
| 161473 | }, | 166932 | }, |
| 161474 | .call_frame = .{ .alignment = .@"16" }, | 166933 | .call_frame = .{ .alignment = .@"16" }, |
| 161475 | .extra_temps = .{ | 166934 | .extra_temps = .{ |
| ... | @@ -161577,7 +167036,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161577,7 +167036,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161577 | .{ .src = .{ .to_mem, .to_mem, .to_mem } }, | 167036 | .{ .src = .{ .to_mem, .to_mem, .to_mem } }, |
| 161578 | }, | 167037 | }, |
| 161579 | .extra_temps = .{ | 167038 | .extra_temps = .{ |
| 161580 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 167039 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 161581 | .{ .type = .vector_8_f16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, | 167040 | .{ .type = .vector_8_f16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, |
| 161582 | .{ .type = .vector_8_f16, .kind = .{ .mut_rc = .{ .ref = .src2, .rc = .sse } } }, | 167041 | .{ .type = .vector_8_f16, .kind = .{ .mut_rc = .{ .ref = .src2, .rc = .sse } } }, |
| 161583 | .{ .type = .vector_8_f16, .kind = .{ .mut_rc = .{ .ref = .src2, .rc = .sse } } }, | 167042 | .{ .type = .vector_8_f16, .kind = .{ .mut_rc = .{ .ref = .src2, .rc = .sse } } }, |
| ... | @@ -161591,14 +167050,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161591,14 +167050,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161591 | }, | 167050 | }, |
| 161592 | .dst_temps = .{ .mem, .unused }, | 167051 | .dst_temps = .{ .mem, .unused }, |
| 161593 | .each = .{ .once = &.{ | 167052 | .each = .{ .once = &.{ |
| 161594 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 167053 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ }, |
| 161595 | .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 167054 | .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memi(.src0x, .tmp0), ._, ._ }, |
| 161596 | .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | 167055 | .{ ._, .v_ps, .cvtph2, .tmp2y, .memi(.src1x, .tmp0), ._, ._ }, |
| 161597 | .{ ._, .v_ps, .cvtph2, .tmp3y, .memia(.src2x, .tmp0, .add_unaligned_size), ._, ._ }, | 167056 | .{ ._, .v_ps, .cvtph2, .tmp3y, .memi(.src2x, .tmp0), ._, ._ }, |
| 161598 | .{ ._, .v_ps, .fmadd213, .tmp1y, .tmp2y, .tmp3y, ._ }, | 167057 | .{ ._, .v_ps, .fmadd213, .tmp1y, .tmp2y, .tmp3y, ._ }, |
| 161599 | .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ }, | 167058 | .{ ._, .v_, .cvtps2ph, .memi(.dst0x, .tmp0), .tmp1y, .rm(.{}), ._ }, |
| 161600 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 167059 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 161601 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 167060 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 161602 | } }, | 167061 | } }, |
| 161603 | }, .{ | 167062 | }, .{ |
| 161604 | .required_features = .{ .avx, null, null, null }, | 167063 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -161612,10 +167071,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161612,10 +167071,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161612 | }, | 167071 | }, |
| 161613 | .call_frame = .{ .alignment = .@"16" }, | 167072 | .call_frame = .{ .alignment = .@"16" }, |
| 161614 | .extra_temps = .{ | 167073 | .extra_temps = .{ |
| 161615 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 167074 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 161616 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 167075 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 161617 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 167076 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 161618 | .{ .type = .f16, .kind = .{ .reg = .xmm2 } }, | 167077 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| 161619 | .{ .type = .usize, .kind = .{ .extern_func = "__fmah" } }, | 167078 | .{ .type = .usize, .kind = .{ .extern_func = "__fmah" } }, |
| 161620 | .unused, | 167079 | .unused, |
| 161621 | .unused, | 167080 | .unused, |
| ... | @@ -161627,15 +167086,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161627,15 +167086,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161627 | .dst_temps = .{ .mem, .unused }, | 167086 | .dst_temps = .{ .mem, .unused }, |
| 161628 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 167087 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 161629 | .each = .{ .once = &.{ | 167088 | .each = .{ .once = &.{ |
| 161630 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 167089 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 161631 | .{ .@"0:", .vp_, .xor, .tmp3x, .tmp3x, .tmp3x, ._ }, | 167090 | .{ .@"0:", .vp_, .xor, .tmp3x, .tmp3x, .tmp3x, ._ }, |
| 161632 | .{ ._, .vp_w, .insr, .tmp1x, .tmp3x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, | 167091 | .{ ._, .vp_w, .insr, .tmp1x, .tmp3x, .memi(.src0w, .tmp0), .ui(0) }, |
| 161633 | .{ ._, .vp_w, .insr, .tmp2x, .tmp3x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0) }, | 167092 | .{ ._, .vp_w, .insr, .tmp2x, .tmp3x, .memi(.src1w, .tmp0), .ui(0) }, |
| 161634 | .{ ._, .vp_w, .insr, .tmp3x, .tmp3x, .memia(.src2w, .tmp0, .add_unaligned_size), .ui(0) }, | 167093 | .{ ._, .vp_w, .insr, .tmp3x, .tmp3x, .memi(.src2w, .tmp0), .ui(0) }, |
| 161635 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 167094 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 161636 | .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, | 167095 | .{ ._, .vp_w, .extr, .memi(.dst0w, .tmp0), .tmp1x, .ui(0), ._ }, |
| 161637 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 167096 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 161638 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 167097 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 161639 | } }, | 167098 | } }, |
| 161640 | }, .{ | 167099 | }, .{ |
| 161641 | .required_features = .{ .sse4_1, null, null, null }, | 167100 | .required_features = .{ .sse4_1, null, null, null }, |
| ... | @@ -161649,10 +167108,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161649,10 +167108,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161649 | }, | 167108 | }, |
| 161650 | .call_frame = .{ .alignment = .@"16" }, | 167109 | .call_frame = .{ .alignment = .@"16" }, |
| 161651 | .extra_temps = .{ | 167110 | .extra_temps = .{ |
| 161652 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 167111 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 161653 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 167112 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 161654 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 167113 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 161655 | .{ .type = .f16, .kind = .{ .reg = .xmm2 } }, | 167114 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| 161656 | .{ .type = .usize, .kind = .{ .extern_func = "__fmah" } }, | 167115 | .{ .type = .usize, .kind = .{ .extern_func = "__fmah" } }, |
| 161657 | .unused, | 167116 | .unused, |
| 161658 | .unused, | 167117 | .unused, |
| ... | @@ -161664,17 +167123,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161664,17 +167123,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161664 | .dst_temps = .{ .mem, .unused }, | 167123 | .dst_temps = .{ .mem, .unused }, |
| 161665 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 167124 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 161666 | .each = .{ .once = &.{ | 167125 | .each = .{ .once = &.{ |
| 161667 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 167126 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 161668 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | 167127 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 161669 | .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ }, | 167128 | .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ }, |
| 161670 | .{ ._, .p_, .xor, .tmp3x, .tmp3x, ._, ._ }, | 167129 | .{ ._, .p_, .xor, .tmp3x, .tmp3x, ._, ._ }, |
| 161671 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | 167130 | .{ ._, .p_w, .insr, .tmp1x, .memi(.src0w, .tmp0), .ui(0), ._ }, |
| 161672 | .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | 167131 | .{ ._, .p_w, .insr, .tmp2x, .memi(.src1w, .tmp0), .ui(0), ._ }, |
| 161673 | .{ ._, .p_w, .insr, .tmp3x, .memia(.src2w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | 167132 | .{ ._, .p_w, .insr, .tmp3x, .memi(.src2w, .tmp0), .ui(0), ._ }, |
| 161674 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 167133 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 161675 | .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, | 167134 | .{ ._, .p_w, .extr, .memi(.dst0w, .tmp0), .tmp1x, .ui(0), ._ }, |
| 161676 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 167135 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 161677 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 167136 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 161678 | } }, | 167137 | } }, |
| 161679 | }, .{ | 167138 | }, .{ |
| 161680 | .required_features = .{ .sse2, null, null, null }, | 167139 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -161688,10 +167147,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161688,10 +167147,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161688 | }, | 167147 | }, |
| 161689 | .call_frame = .{ .alignment = .@"16" }, | 167148 | .call_frame = .{ .alignment = .@"16" }, |
| 161690 | .extra_temps = .{ | 167149 | .extra_temps = .{ |
| 161691 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 167150 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 161692 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 167151 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 161693 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 167152 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 161694 | .{ .type = .f16, .kind = .{ .reg = .xmm2 } }, | 167153 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| 161695 | .{ .type = .usize, .kind = .{ .extern_func = "__fmah" } }, | 167154 | .{ .type = .usize, .kind = .{ .extern_func = "__fmah" } }, |
| 161696 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 167155 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 161697 | .unused, | 167156 | .unused, |
| ... | @@ -161703,18 +167162,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161703,18 +167162,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161703 | .dst_temps = .{ .mem, .unused }, | 167162 | .dst_temps = .{ .mem, .unused }, |
| 161704 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 167163 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 161705 | .each = .{ .once = &.{ | 167164 | .each = .{ .once = &.{ |
| 161706 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 167165 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 161707 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | 167166 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 161708 | .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ }, | 167167 | .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ }, |
| 161709 | .{ ._, .p_, .xor, .tmp3x, .tmp3x, ._, ._ }, | 167168 | .{ ._, .p_, .xor, .tmp3x, .tmp3x, ._, ._ }, |
| 161710 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | 167169 | .{ ._, .p_w, .insr, .tmp1x, .memi(.src0w, .tmp0), .ui(0), ._ }, |
| 161711 | .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | 167170 | .{ ._, .p_w, .insr, .tmp2x, .memi(.src1w, .tmp0), .ui(0), ._ }, |
| 161712 | .{ ._, .p_w, .insr, .tmp3x, .memia(.src2w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | 167171 | .{ ._, .p_w, .insr, .tmp3x, .memi(.src2w, .tmp0), .ui(0), ._ }, |
| 161713 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 167172 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 161714 | .{ ._, .p_w, .extr, .tmp5d, .tmp1x, .ui(0), ._ }, | 167173 | .{ ._, .p_w, .extr, .tmp5d, .tmp1x, .ui(0), ._ }, |
| 161715 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp5w, ._, ._ }, | 167174 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp5w, ._, ._ }, |
| 161716 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 167175 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 161717 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 167176 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 161718 | } }, | 167177 | } }, |
| 161719 | }, .{ | 167178 | }, .{ |
| 161720 | .required_features = .{ .sse, null, null, null }, | 167179 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -161728,12 +167187,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161728,12 +167187,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161728 | }, | 167187 | }, |
| 161729 | .call_frame = .{ .alignment = .@"16" }, | 167188 | .call_frame = .{ .alignment = .@"16" }, |
| 161730 | .extra_temps = .{ | 167189 | .extra_temps = .{ |
| 161731 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 167190 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 161732 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 167191 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 161733 | .{ .type = .f32, .kind = .mem }, | 167192 | .{ .type = .f32, .kind = .mem }, |
| 161734 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 167193 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 161735 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 167194 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 161736 | .{ .type = .f16, .kind = .{ .reg = .xmm2 } }, | 167195 | .{ .type = .f16, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| 161737 | .{ .type = .usize, .kind = .{ .extern_func = "__fmah" } }, | 167196 | .{ .type = .usize, .kind = .{ .extern_func = "__fmah" } }, |
| 161738 | .unused, | 167197 | .unused, |
| 161739 | .unused, | 167198 | .unused, |
| ... | @@ -161743,22 +167202,22 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161743,22 +167202,22 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161743 | .dst_temps = .{ .mem, .unused }, | 167202 | .dst_temps = .{ .mem, .unused }, |
| 161744 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 167203 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 161745 | .each = .{ .once = &.{ | 167204 | .each = .{ .once = &.{ |
| 161746 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 167205 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 161747 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 167206 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| 161748 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, | 167207 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| 161749 | .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ }, | 167208 | .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ }, |
| 161750 | .{ ._, ._, .movzx, .tmp1d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, | 167209 | .{ ._, ._, .movzx, .tmp1d, .memi(.src1w, .tmp0), ._, ._ }, |
| 161751 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, | 167210 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| 161752 | .{ ._, ._ss, .mov, .tmp4x, .mem(.tmp2d), ._, ._ }, | 167211 | .{ ._, ._ss, .mov, .tmp4x, .mem(.tmp2d), ._, ._ }, |
| 161753 | .{ ._, ._, .movzx, .tmp1d, .memia(.src2w, .tmp0, .add_unaligned_size), ._, ._ }, | 167212 | .{ ._, ._, .movzx, .tmp1d, .memi(.src2w, .tmp0), ._, ._ }, |
| 161754 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, | 167213 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| 161755 | .{ ._, ._ss, .mov, .tmp5x, .mem(.tmp2d), ._, ._ }, | 167214 | .{ ._, ._ss, .mov, .tmp5x, .mem(.tmp2d), ._, ._ }, |
| 161756 | .{ ._, ._, .call, .tmp6d, ._, ._, ._ }, | 167215 | .{ ._, ._, .call, .tmp6d, ._, ._, ._ }, |
| 161757 | .{ ._, ._ss, .mov, .mem(.tmp2d), .tmp3x, ._, ._ }, | 167216 | .{ ._, ._ss, .mov, .mem(.tmp2d), .tmp3x, ._, ._ }, |
| 161758 | .{ ._, ._, .mov, .tmp1d, .mem(.tmp2d), ._, ._ }, | 167217 | .{ ._, ._, .mov, .tmp1d, .mem(.tmp2d), ._, ._ }, |
| 161759 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | 167218 | .{ ._, ._, .mov, .memi(.dst0w, .tmp0), .tmp1w, ._, ._ }, |
| 161760 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 167219 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 161761 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 167220 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 161762 | } }, | 167221 | } }, |
| 161763 | }, .{ | 167222 | }, .{ |
| 161764 | .required_features = .{ .fma, null, null, null }, | 167223 | .required_features = .{ .fma, null, null, null }, |
| ... | @@ -161818,7 +167277,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161818,7 +167277,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161818 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | 167277 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, |
| 161819 | }, | 167278 | }, |
| 161820 | .patterns = &.{ | 167279 | .patterns = &.{ |
| 161821 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .{ .to_reg = .xmm2 } } }, | 167280 | .{ .src = .{ |
| | 167281 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 167282 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 167283 | .{ .to_param_sse = .{ .cc = .ccc, .after = 2, .at = 2 } }, |
| | 167284 | } }, |
| 161822 | }, | 167285 | }, |
| 161823 | .call_frame = .{ .alignment = .@"16" }, | 167286 | .call_frame = .{ .alignment = .@"16" }, |
| 161824 | .extra_temps = .{ | 167287 | .extra_temps = .{ |
| ... | @@ -161950,7 +167413,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161950,7 +167413,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161950 | .{ .src = .{ .to_mem, .to_mem, .to_mem } }, | 167413 | .{ .src = .{ .to_mem, .to_mem, .to_mem } }, |
| 161951 | }, | 167414 | }, |
| 161952 | .extra_temps = .{ | 167415 | .extra_temps = .{ |
| 161953 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 167416 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 161954 | .{ .type = .vector_8_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, | 167417 | .{ .type = .vector_8_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, |
| 161955 | .{ .type = .vector_8_f32, .kind = .{ .mut_rc = .{ .ref = .src2, .rc = .sse } } }, | 167418 | .{ .type = .vector_8_f32, .kind = .{ .mut_rc = .{ .ref = .src2, .rc = .sse } } }, |
| 161956 | .unused, | 167419 | .unused, |
| ... | @@ -161964,13 +167427,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161964,13 +167427,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161964 | }, | 167427 | }, |
| 161965 | .dst_temps = .{ .mem, .unused }, | 167428 | .dst_temps = .{ .mem, .unused }, |
| 161966 | .each = .{ .once = &.{ | 167429 | .each = .{ .once = &.{ |
| 161967 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 167430 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| 161968 | .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, | 167431 | .{ .@"0:", .v_ps, .mova, .tmp1y, .memi(.src0y, .tmp0), ._, ._ }, |
| 161969 | .{ ._, .v_ps, .mova, .tmp2y, .memia(.src1y, .tmp0, .add_unaligned_size), ._, ._ }, | 167432 | .{ ._, .v_ps, .mova, .tmp2y, .memi(.src1y, .tmp0), ._, ._ }, |
| 161970 | .{ ._, .v_ps, .fmadd213, .tmp1y, .tmp2y, .memia(.src2y, .tmp0, .add_unaligned_size), ._ }, | 167433 | .{ ._, .v_ps, .fmadd213, .tmp1y, .tmp2y, .memi(.src2y, .tmp0), ._ }, |
| 161971 | .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, | 167434 | .{ ._, .v_ps, .mova, .memi(.dst0y, .tmp0), .tmp1y, ._, ._ }, |
| 161972 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | 167435 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| 161973 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 167436 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 161974 | } }, | 167437 | } }, |
| 161975 | }, .{ | 167438 | }, .{ |
| 161976 | .required_features = .{ .avx, null, null, null }, | 167439 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -161984,10 +167447,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161984,10 +167447,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161984 | }, | 167447 | }, |
| 161985 | .call_frame = .{ .alignment = .@"16" }, | 167448 | .call_frame = .{ .alignment = .@"16" }, |
| 161986 | .extra_temps = .{ | 167449 | .extra_temps = .{ |
| 161987 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 167450 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 161988 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 167451 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 161989 | .{ .type = .f32, .kind = .{ .reg = .xmm1 } }, | 167452 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 161990 | .{ .type = .f32, .kind = .{ .reg = .xmm2 } }, | 167453 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| 161991 | .{ .type = .usize, .kind = .{ .extern_func = "fmaf" } }, | 167454 | .{ .type = .usize, .kind = .{ .extern_func = "fmaf" } }, |
| 161992 | .unused, | 167455 | .unused, |
| 161993 | .unused, | 167456 | .unused, |
| ... | @@ -161999,14 +167462,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -161999,14 +167462,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161999 | .dst_temps = .{ .mem, .unused }, | 167462 | .dst_temps = .{ .mem, .unused }, |
| 162000 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 167463 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 162001 | .each = .{ .once = &.{ | 167464 | .each = .{ .once = &.{ |
| 162002 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 167465 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 162003 | .{ .@"0:", .v_ss, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 167466 | .{ .@"0:", .v_ss, .mov, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 162004 | .{ ._, .v_ss, .mov, .tmp2x, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._ }, | 167467 | .{ ._, .v_ss, .mov, .tmp2x, .memi(.src1d, .tmp0), ._, ._ }, |
| 162005 | .{ ._, .v_ss, .mov, .tmp3x, .memia(.src2d, .tmp0, .add_unaligned_size), ._, ._ }, | 167468 | .{ ._, .v_ss, .mov, .tmp3x, .memi(.src2d, .tmp0), ._, ._ }, |
| 162006 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 167469 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 162007 | .{ ._, .v_ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 167470 | .{ ._, .v_ss, .mov, .memi(.dst0d, .tmp0), .tmp1x, ._, ._ }, |
| 162008 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 167471 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 162009 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 167472 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 162010 | } }, | 167473 | } }, |
| 162011 | }, .{ | 167474 | }, .{ |
| 162012 | .required_features = .{ .sse, null, null, null }, | 167475 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -162020,10 +167483,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -162020,10 +167483,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 162020 | }, | 167483 | }, |
| 162021 | .call_frame = .{ .alignment = .@"16" }, | 167484 | .call_frame = .{ .alignment = .@"16" }, |
| 162022 | .extra_temps = .{ | 167485 | .extra_temps = .{ |
| 162023 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 167486 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 162024 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 167487 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 162025 | .{ .type = .f32, .kind = .{ .reg = .xmm1 } }, | 167488 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 162026 | .{ .type = .f32, .kind = .{ .reg = .xmm2 } }, | 167489 | .{ .type = .f32, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| 162027 | .{ .type = .usize, .kind = .{ .extern_func = "fmaf" } }, | 167490 | .{ .type = .usize, .kind = .{ .extern_func = "fmaf" } }, |
| 162028 | .unused, | 167491 | .unused, |
| 162029 | .unused, | 167492 | .unused, |
| ... | @@ -162035,14 +167498,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -162035,14 +167498,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 162035 | .dst_temps = .{ .mem, .unused }, | 167498 | .dst_temps = .{ .mem, .unused }, |
| 162036 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 167499 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 162037 | .each = .{ .once = &.{ | 167500 | .each = .{ .once = &.{ |
| 162038 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 167501 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 162039 | .{ .@"0:", ._ss, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 167502 | .{ .@"0:", ._ss, .mov, .tmp1x, .memi(.src0d, .tmp0), ._, ._ }, |
| 162040 | .{ ._, ._ss, .mov, .tmp2x, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._ }, | 167503 | .{ ._, ._ss, .mov, .tmp2x, .memi(.src1d, .tmp0), ._, ._ }, |
| 162041 | .{ ._, ._ss, .mov, .tmp3x, .memia(.src2d, .tmp0, .add_unaligned_size), ._, ._ }, | 167504 | .{ ._, ._ss, .mov, .tmp3x, .memi(.src2d, .tmp0), ._, ._ }, |
| 162042 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 167505 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 162043 | .{ ._, ._ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 167506 | .{ ._, ._ss, .mov, .memi(.dst0d, .tmp0), .tmp1x, ._, ._ }, |
| 162044 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 167507 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 162045 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 167508 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 162046 | } }, | 167509 | } }, |
| 162047 | }, .{ | 167510 | }, .{ |
| 162048 | .required_features = .{ .fma, null, null, null }, | 167511 | .required_features = .{ .fma, null, null, null }, |
| ... | @@ -162102,7 +167565,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -162102,7 +167565,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 162102 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | 167565 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| 162103 | }, | 167566 | }, |
| 162104 | .patterns = &.{ | 167567 | .patterns = &.{ |
| 162105 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .{ .to_reg = .xmm2 } } }, | 167568 | .{ .src = .{ |
| | 167569 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 167570 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 167571 | .{ .to_param_sse = .{ .cc = .ccc, .after = 2, .at = 2 } }, |
| | 167572 | } }, |
| 162106 | }, | 167573 | }, |
| 162107 | .call_frame = .{ .alignment = .@"16" }, | 167574 | .call_frame = .{ .alignment = .@"16" }, |
| 162108 | .extra_temps = .{ | 167575 | .extra_temps = .{ |
| ... | @@ -162234,7 +167701,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -162234,7 +167701,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 162234 | .{ .src = .{ .to_mem, .to_mem, .to_mem } }, | 167701 | .{ .src = .{ .to_mem, .to_mem, .to_mem } }, |
| 162235 | }, | 167702 | }, |
| 162236 | .extra_temps = .{ | 167703 | .extra_temps = .{ |
| 162237 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 167704 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 162238 | .{ .type = .vector_4_f64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, | 167705 | .{ .type = .vector_4_f64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, |
| 162239 | .{ .type = .vector_4_f64, .kind = .{ .mut_rc = .{ .ref = .src2, .rc = .sse } } }, | 167706 | .{ .type = .vector_4_f64, .kind = .{ .mut_rc = .{ .ref = .src2, .rc = .sse } } }, |
| 162240 | .unused, | 167707 | .unused, |
| ... | @@ -162248,13 +167715,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -162248,13 +167715,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 162248 | }, | 167715 | }, |
| 162249 | .dst_temps = .{ .mem, .unused }, | 167716 | .dst_temps = .{ .mem, .unused }, |
| 162250 | .each = .{ .once = &.{ | 167717 | .each = .{ .once = &.{ |
| 162251 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 167718 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| 162252 | .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, | 167719 | .{ .@"0:", .v_pd, .mova, .tmp1y, .memi(.src0y, .tmp0), ._, ._ }, |
| 162253 | .{ ._, .v_pd, .mova, .tmp2y, .memia(.src1y, .tmp0, .add_unaligned_size), ._, ._ }, | 167720 | .{ ._, .v_pd, .mova, .tmp2y, .memi(.src1y, .tmp0), ._, ._ }, |
| 162254 | .{ ._, .v_pd, .fmadd213, .tmp1y, .tmp2y, .memia(.src2y, .tmp0, .add_unaligned_size), ._ }, | 167721 | .{ ._, .v_pd, .fmadd213, .tmp1y, .tmp2y, .memi(.src2y, .tmp0), ._ }, |
| 162255 | .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, | 167722 | .{ ._, .v_pd, .mova, .memi(.dst0y, .tmp0), .tmp1y, ._, ._ }, |
| 162256 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | 167723 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| 162257 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 167724 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 162258 | } }, | 167725 | } }, |
| 162259 | }, .{ | 167726 | }, .{ |
| 162260 | .required_features = .{ .avx, null, null, null }, | 167727 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -162268,10 +167735,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -162268,10 +167735,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 162268 | }, | 167735 | }, |
| 162269 | .call_frame = .{ .alignment = .@"16" }, | 167736 | .call_frame = .{ .alignment = .@"16" }, |
| 162270 | .extra_temps = .{ | 167737 | .extra_temps = .{ |
| 162271 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 167738 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 162272 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 167739 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 162273 | .{ .type = .f64, .kind = .{ .reg = .xmm1 } }, | 167740 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 162274 | .{ .type = .f64, .kind = .{ .reg = .xmm2 } }, | 167741 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| 162275 | .{ .type = .usize, .kind = .{ .extern_func = "fma" } }, | 167742 | .{ .type = .usize, .kind = .{ .extern_func = "fma" } }, |
| 162276 | .unused, | 167743 | .unused, |
| 162277 | .unused, | 167744 | .unused, |
| ... | @@ -162283,14 +167750,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -162283,14 +167750,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 162283 | .dst_temps = .{ .mem, .unused }, | 167750 | .dst_temps = .{ .mem, .unused }, |
| 162284 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 167751 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 162285 | .each = .{ .once = &.{ | 167752 | .each = .{ .once = &.{ |
| 162286 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 167753 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 162287 | .{ .@"0:", .v_sd, .mov, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 167754 | .{ .@"0:", .v_sd, .mov, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 162288 | .{ ._, .v_sd, .mov, .tmp2x, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, | 167755 | .{ ._, .v_sd, .mov, .tmp2x, .memi(.src1q, .tmp0), ._, ._ }, |
| 162289 | .{ ._, .v_sd, .mov, .tmp3x, .memia(.src2q, .tmp0, .add_unaligned_size), ._, ._ }, | 167756 | .{ ._, .v_sd, .mov, .tmp3x, .memi(.src2q, .tmp0), ._, ._ }, |
| 162290 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 167757 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 162291 | .{ ._, .v_sd, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 167758 | .{ ._, .v_sd, .mov, .memi(.dst0q, .tmp0), .tmp1x, ._, ._ }, |
| 162292 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 167759 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 162293 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 167760 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 162294 | } }, | 167761 | } }, |
| 162295 | }, .{ | 167762 | }, .{ |
| 162296 | .required_features = .{ .sse2, null, null, null }, | 167763 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -162304,10 +167771,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -162304,10 +167771,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 162304 | }, | 167771 | }, |
| 162305 | .call_frame = .{ .alignment = .@"16" }, | 167772 | .call_frame = .{ .alignment = .@"16" }, |
| 162306 | .extra_temps = .{ | 167773 | .extra_temps = .{ |
| 162307 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 167774 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 162308 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 167775 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 162309 | .{ .type = .f64, .kind = .{ .reg = .xmm1 } }, | 167776 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 162310 | .{ .type = .f64, .kind = .{ .reg = .xmm2 } }, | 167777 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| 162311 | .{ .type = .usize, .kind = .{ .extern_func = "fma" } }, | 167778 | .{ .type = .usize, .kind = .{ .extern_func = "fma" } }, |
| 162312 | .unused, | 167779 | .unused, |
| 162313 | .unused, | 167780 | .unused, |
| ... | @@ -162319,14 +167786,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -162319,14 +167786,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 162319 | .dst_temps = .{ .mem, .unused }, | 167786 | .dst_temps = .{ .mem, .unused }, |
| 162320 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 167787 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 162321 | .each = .{ .once = &.{ | 167788 | .each = .{ .once = &.{ |
| 162322 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 167789 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 162323 | .{ .@"0:", ._sd, .mov, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 167790 | .{ .@"0:", ._sd, .mov, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 162324 | .{ ._, ._sd, .mov, .tmp2x, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, | 167791 | .{ ._, ._sd, .mov, .tmp2x, .memi(.src1q, .tmp0), ._, ._ }, |
| 162325 | .{ ._, ._sd, .mov, .tmp3x, .memia(.src2q, .tmp0, .add_unaligned_size), ._, ._ }, | 167792 | .{ ._, ._sd, .mov, .tmp3x, .memi(.src2q, .tmp0), ._, ._ }, |
| 162326 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 167793 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 162327 | .{ ._, ._sd, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 167794 | .{ ._, ._sd, .mov, .memi(.dst0q, .tmp0), .tmp1x, ._, ._ }, |
| 162328 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 167795 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 162329 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 167796 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 162330 | } }, | 167797 | } }, |
| 162331 | }, .{ | 167798 | }, .{ |
| 162332 | .required_features = .{ .sse, null, null, null }, | 167799 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -162340,10 +167807,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -162340,10 +167807,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 162340 | }, | 167807 | }, |
| 162341 | .call_frame = .{ .alignment = .@"16" }, | 167808 | .call_frame = .{ .alignment = .@"16" }, |
| 162342 | .extra_temps = .{ | 167809 | .extra_temps = .{ |
| 162343 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 167810 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 162344 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 167811 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 162345 | .{ .type = .f64, .kind = .{ .reg = .xmm1 } }, | 167812 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 162346 | .{ .type = .f64, .kind = .{ .reg = .xmm2 } }, | 167813 | .{ .type = .f64, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| 162347 | .{ .type = .usize, .kind = .{ .extern_func = "fma" } }, | 167814 | .{ .type = .usize, .kind = .{ .extern_func = "fma" } }, |
| 162348 | .unused, | 167815 | .unused, |
| 162349 | .unused, | 167816 | .unused, |
| ... | @@ -162355,19 +167822,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -162355,19 +167822,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 162355 | .dst_temps = .{ .mem, .unused }, | 167822 | .dst_temps = .{ .mem, .unused }, |
| 162356 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 167823 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 162357 | .each = .{ .once = &.{ | 167824 | .each = .{ .once = &.{ |
| 162358 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 167825 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 162359 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, | 167826 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 162360 | .{ ._, ._ps, .xor, .tmp2x, .tmp2x, ._, ._ }, | 167827 | .{ ._, ._ps, .xor, .tmp2x, .tmp2x, ._, ._ }, |
| 162361 | .{ ._, ._ps, .xor, .tmp3x, .tmp3x, ._, ._ }, | 167828 | .{ ._, ._ps, .xor, .tmp3x, .tmp3x, ._, ._ }, |
| 162362 | .{ ._, ._ps, .movl, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 167829 | .{ ._, ._ps, .movl, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| 162363 | .{ ._, ._ps, .movl, .tmp2x, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, | 167830 | .{ ._, ._ps, .movl, .tmp2x, .memi(.src1q, .tmp0), ._, ._ }, |
| 162364 | .{ ._, ._ps, .movl, .tmp3x, .memia(.src2q, .tmp0, .add_unaligned_size), ._, ._ }, | 167831 | .{ ._, ._ps, .movl, .tmp3x, .memi(.src2q, .tmp0), ._, ._ }, |
| 162365 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 167832 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 162366 | .{ ._, ._ps, .movl, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 167833 | .{ ._, ._ps, .movl, .memi(.dst0q, .tmp0), .tmp1x, ._, ._ }, |
| 162367 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 167834 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 162368 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 167835 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 162369 | } }, | 167836 | } }, |
| 162370 | }, .{ | 167837 | }, .{ |
| | 167838 | .required_cc_abi = .sysv64, |
| 162371 | .required_features = .{ .sse, .x87, null, null }, | 167839 | .required_features = .{ .sse, .x87, null, null }, |
| 162372 | .src_constraints = .{ | 167840 | .src_constraints = .{ |
| 162373 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 167841 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -162379,7 +167847,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -162379,7 +167847,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 162379 | }, | 167847 | }, |
| 162380 | .call_frame = .{ .size = 16 * 3, .alignment = .@"16" }, | 167848 | .call_frame = .{ .size = 16 * 3, .alignment = .@"16" }, |
| 162381 | .extra_temps = .{ | 167849 | .extra_temps = .{ |
| 162382 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 167850 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 162383 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 167851 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 162384 | .{ .type = .usize, .kind = .{ .extern_func = "__fmax" } }, | 167852 | .{ .type = .usize, .kind = .{ .extern_func = "__fmax" } }, |
| 162385 | .unused, | 167853 | .unused, |
| ... | @@ -162403,6 +167871,40 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -162403,6 +167871,40 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 162403 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 167871 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 162404 | } }, | 167872 | } }, |
| 162405 | }, .{ | 167873 | }, .{ |
| | 167874 | .required_cc_abi = .win64, |
| | 167875 | .src_constraints = .{ |
| | 167876 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 167877 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 167878 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 167879 | }, |
| | 167880 | .patterns = &.{ |
| | 167881 | .{ .src = .{ .to_mem, .to_mem, .to_mem } }, |
| | 167882 | }, |
| | 167883 | .call_frame = .{ .alignment = .@"16" }, |
| | 167884 | .extra_temps = .{ |
| | 167885 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 167886 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 167887 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| | 167888 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 3, .at = 3 } } }, |
| | 167889 | .{ .type = .usize, .kind = .{ .extern_func = "__fmax" } }, |
| | 167890 | .unused, |
| | 167891 | .unused, |
| | 167892 | .unused, |
| | 167893 | .unused, |
| | 167894 | .unused, |
| | 167895 | .unused, |
| | 167896 | }, |
| | 167897 | .dst_temps = .{ .mem, .unused }, |
| | 167898 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 167899 | .each = .{ .once = &.{ |
| | 167900 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| | 167901 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, |
| | 167902 | .{ ._, ._, .lea, .tmp2p, .mem(.src1), ._, ._ }, |
| | 167903 | .{ ._, ._, .lea, .tmp3p, .mem(.src2), ._, ._ }, |
| | 167904 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 167905 | } }, |
| | 167906 | }, .{ |
| | 167907 | .required_cc_abi = .sysv64, |
| 162406 | .required_features = .{ .sse, .x87, null, null }, | 167908 | .required_features = .{ .sse, .x87, null, null }, |
| 162407 | .src_constraints = .{ | 167909 | .src_constraints = .{ |
| 162408 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 167910 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| ... | @@ -162414,8 +167916,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -162414,8 +167916,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 162414 | }, | 167916 | }, |
| 162415 | .call_frame = .{ .size = 16 * 3, .alignment = .@"16" }, | 167917 | .call_frame = .{ .size = 16 * 3, .alignment = .@"16" }, |
| 162416 | .extra_temps = .{ | 167918 | .extra_temps = .{ |
| 162417 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 167919 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 162418 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, | 167920 | .{ .type = .f80, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 162419 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 167921 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| 162420 | .{ .type = .usize, .kind = .{ .extern_func = "__fmax" } }, | 167922 | .{ .type = .usize, .kind = .{ .extern_func = "__fmax" } }, |
| 162421 | .unused, | 167923 | .unused, |
| ... | @@ -162429,18 +167931,54 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -162429,18 +167931,54 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 162429 | .dst_temps = .{ .mem, .unused }, | 167931 | .dst_temps = .{ .mem, .unused }, |
| 162430 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 167932 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 162431 | .each = .{ .once = &.{ | 167933 | .each = .{ .once = &.{ |
| 162432 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 167934 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 162433 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 167935 | .{ .@"0:", ._ps, .mova, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 162434 | .{ ._, ._ps, .mova, .mem(.tmp2x), .tmp1x, ._, ._ }, | 167936 | .{ ._, ._ps, .mova, .mem(.tmp2x), .tmp1x, ._, ._ }, |
| 162435 | .{ ._, ._ps, .mova, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | 167937 | .{ ._, ._ps, .mova, .tmp1x, .memi(.src1x, .tmp0), ._, ._ }, |
| 162436 | .{ ._, ._ps, .mova, .memd(.tmp2x, 16), .tmp1x, ._, ._ }, | 167938 | .{ ._, ._ps, .mova, .memd(.tmp2x, 16), .tmp1x, ._, ._ }, |
| 162437 | .{ ._, ._ps, .mova, .tmp1x, .memia(.src2x, .tmp0, .add_unaligned_size), ._, ._ }, | 167939 | .{ ._, ._ps, .mova, .tmp1x, .memi(.src2x, .tmp0), ._, ._ }, |
| 162438 | .{ ._, ._ps, .mova, .memd(.tmp2x, 16 * 2), .tmp1x, ._, ._ }, | 167940 | .{ ._, ._ps, .mova, .memd(.tmp2x, 16 * 2), .tmp1x, ._, ._ }, |
| 162439 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 167941 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 162440 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, | 167942 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, |
| 162441 | .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 167943 | .{ ._, .f_p, .st, .memi(.dst0t, .tmp0), ._, ._, ._ }, |
| 162442 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 167944 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 162443 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 167945 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 167946 | } }, |
| | 167947 | }, .{ |
| | 167948 | .required_cc_abi = .win64, |
| | 167949 | .src_constraints = .{ |
| | 167950 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 167951 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 167952 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 167953 | }, |
| | 167954 | .patterns = &.{ |
| | 167955 | .{ .src = .{ .to_mem, .to_mem, .to_mem } }, |
| | 167956 | }, |
| | 167957 | .call_frame = .{ .alignment = .@"16" }, |
| | 167958 | .extra_temps = .{ |
| | 167959 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 167960 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 167961 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 167962 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| | 167963 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 3, .at = 3 } } }, |
| | 167964 | .{ .type = .usize, .kind = .{ .extern_func = "__fmax" } }, |
| | 167965 | .unused, |
| | 167966 | .unused, |
| | 167967 | .unused, |
| | 167968 | .unused, |
| | 167969 | .unused, |
| | 167970 | }, |
| | 167971 | .dst_temps = .{ .mem, .unused }, |
| | 167972 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 167973 | .each = .{ .once = &.{ |
| | 167974 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 167975 | .{ .@"0:", ._, .lea, .tmp1p, .memi(.dst0, .tmp0), ._, ._ }, |
| | 167976 | .{ ._, ._, .lea, .tmp2p, .memi(.src0, .tmp0), ._, ._ }, |
| | 167977 | .{ ._, ._, .lea, .tmp3p, .memi(.src1, .tmp0), ._, ._ }, |
| | 167978 | .{ ._, ._, .lea, .tmp4p, .memi(.src2, .tmp0), ._, ._ }, |
| | 167979 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| | 167980 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 167981 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 162444 | } }, | 167982 | } }, |
| 162445 | }, .{ | 167983 | }, .{ |
| 162446 | .required_features = .{ .sse, null, null, null }, | 167984 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -162450,7 +167988,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -162450,7 +167988,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 162450 | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, | 167988 | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, |
| 162451 | }, | 167989 | }, |
| 162452 | .patterns = &.{ | 167990 | .patterns = &.{ |
| 162453 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .{ .to_reg = .xmm2 } } }, | 167991 | .{ .src = .{ |
| | 167992 | .{ .to_param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| | 167993 | .{ .to_param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } }, |
| | 167994 | .{ .to_param_sse = .{ .cc = .ccc, .after = 2, .at = 2 } }, |
| | 167995 | } }, |
| 162454 | }, | 167996 | }, |
| 162455 | .call_frame = .{ .alignment = .@"16" }, | 167997 | .call_frame = .{ .alignment = .@"16" }, |
| 162456 | .extra_temps = .{ | 167998 | .extra_temps = .{ |
| ... | @@ -162483,10 +168025,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -162483,10 +168025,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 162483 | }, | 168025 | }, |
| 162484 | .call_frame = .{ .alignment = .@"16" }, | 168026 | .call_frame = .{ .alignment = .@"16" }, |
| 162485 | .extra_temps = .{ | 168027 | .extra_temps = .{ |
| 162486 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 168028 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 162487 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 168029 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 162488 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 168030 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 162489 | .{ .type = .f128, .kind = .{ .reg = .xmm2 } }, | 168031 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| 162490 | .{ .type = .usize, .kind = .{ .extern_func = "fmaq" } }, | 168032 | .{ .type = .usize, .kind = .{ .extern_func = "fmaq" } }, |
| 162491 | .unused, | 168033 | .unused, |
| 162492 | .unused, | 168034 | .unused, |
| ... | @@ -162498,14 +168040,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -162498,14 +168040,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 162498 | .dst_temps = .{ .mem, .unused }, | 168040 | .dst_temps = .{ .mem, .unused }, |
| 162499 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 168041 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 162500 | .each = .{ .once = &.{ | 168042 | .each = .{ .once = &.{ |
| 162501 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 168043 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 162502 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 168044 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 162503 | .{ ._, .v_dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | 168045 | .{ ._, .v_dqa, .mov, .tmp2x, .memi(.src1x, .tmp0), ._, ._ }, |
| 162504 | .{ ._, .v_dqa, .mov, .tmp3x, .memia(.src2x, .tmp0, .add_unaligned_size), ._, ._ }, | 168046 | .{ ._, .v_dqa, .mov, .tmp3x, .memi(.src2x, .tmp0), ._, ._ }, |
| 162505 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 168047 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 162506 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 168048 | .{ ._, .v_dqa, .mov, .memi(.dst0x, .tmp0), .tmp1x, ._, ._ }, |
| 162507 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 168049 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 162508 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 168050 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 162509 | } }, | 168051 | } }, |
| 162510 | }, .{ | 168052 | }, .{ |
| 162511 | .required_features = .{ .sse2, null, null, null }, | 168053 | .required_features = .{ .sse2, null, null, null }, |
| ... | @@ -162519,10 +168061,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -162519,10 +168061,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 162519 | }, | 168061 | }, |
| 162520 | .call_frame = .{ .alignment = .@"16" }, | 168062 | .call_frame = .{ .alignment = .@"16" }, |
| 162521 | .extra_temps = .{ | 168063 | .extra_temps = .{ |
| 162522 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 168064 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 162523 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 168065 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 162524 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 168066 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 162525 | .{ .type = .f128, .kind = .{ .reg = .xmm2 } }, | 168067 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| 162526 | .{ .type = .usize, .kind = .{ .extern_func = "fmaq" } }, | 168068 | .{ .type = .usize, .kind = .{ .extern_func = "fmaq" } }, |
| 162527 | .unused, | 168069 | .unused, |
| 162528 | .unused, | 168070 | .unused, |
| ... | @@ -162534,14 +168076,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -162534,14 +168076,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 162534 | .dst_temps = .{ .mem, .unused }, | 168076 | .dst_temps = .{ .mem, .unused }, |
| 162535 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 168077 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 162536 | .each = .{ .once = &.{ | 168078 | .each = .{ .once = &.{ |
| 162537 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 168079 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 162538 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 168080 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 162539 | .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | 168081 | .{ ._, ._dqa, .mov, .tmp2x, .memi(.src1x, .tmp0), ._, ._ }, |
| 162540 | .{ ._, ._dqa, .mov, .tmp3x, .memia(.src2x, .tmp0, .add_unaligned_size), ._, ._ }, | 168082 | .{ ._, ._dqa, .mov, .tmp3x, .memi(.src2x, .tmp0), ._, ._ }, |
| 162541 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 168083 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 162542 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 168084 | .{ ._, ._dqa, .mov, .memi(.dst0x, .tmp0), .tmp1x, ._, ._ }, |
| 162543 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 168085 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 162544 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 168086 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 162545 | } }, | 168087 | } }, |
| 162546 | }, .{ | 168088 | }, .{ |
| 162547 | .required_features = .{ .sse, null, null, null }, | 168089 | .required_features = .{ .sse, null, null, null }, |
| ... | @@ -162555,10 +168097,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -162555,10 +168097,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 162555 | }, | 168097 | }, |
| 162556 | .call_frame = .{ .alignment = .@"16" }, | 168098 | .call_frame = .{ .alignment = .@"16" }, |
| 162557 | .extra_temps = .{ | 168099 | .extra_temps = .{ |
| 162558 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 168100 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 162559 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 168101 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 162560 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 168102 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 162561 | .{ .type = .f128, .kind = .{ .reg = .xmm2 } }, | 168103 | .{ .type = .f128, .kind = .{ .param_sse = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| 162562 | .{ .type = .usize, .kind = .{ .extern_func = "fmaq" } }, | 168104 | .{ .type = .usize, .kind = .{ .extern_func = "fmaq" } }, |
| 162563 | .unused, | 168105 | .unused, |
| 162564 | .unused, | 168106 | .unused, |
| ... | @@ -162570,14 +168112,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -162570,14 +168112,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 162570 | .dst_temps = .{ .mem, .unused }, | 168112 | .dst_temps = .{ .mem, .unused }, |
| 162571 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 168113 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 162572 | .each = .{ .once = &.{ | 168114 | .each = .{ .once = &.{ |
| 162573 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 168115 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .sub_unaligned_size), ._, ._ }, |
| 162574 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 168116 | .{ .@"0:", ._ps, .mova, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| 162575 | .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | 168117 | .{ ._, ._ps, .mova, .tmp2x, .memi(.src1x, .tmp0), ._, ._ }, |
| 162576 | .{ ._, ._ps, .mova, .tmp3x, .memia(.src2x, .tmp0, .add_unaligned_size), ._, ._ }, | 168118 | .{ ._, ._ps, .mova, .tmp3x, .memi(.src2x, .tmp0), ._, ._ }, |
| 162577 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 168119 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 162578 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 168120 | .{ ._, ._ps, .mova, .memi(.dst0x, .tmp0), .tmp1x, ._, ._ }, |
| 162579 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 168121 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 162580 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 168122 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 162581 | } }, | 168123 | } }, |
| 162582 | } }) catch |err| switch (err) { | 168124 | } }) catch |err| switch (err) { |
| 162583 | error.SelectFailed => return cg.fail("failed to select {s} {} {} {} {}", .{ | 168125 | error.SelectFailed => return cg.fail("failed to select {s} {} {} {} {}", .{ |
| ... | @@ -162591,7 +168133,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -162591,7 +168133,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 162591 | }; | 168133 | }; |
| 162592 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs, pl_op.operand }, &ops, cg); | 168134 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs, pl_op.operand }, &ops, cg); |
| 162593 | }, | 168135 | }, |
| 162594 | .field_parent_ptr => if (use_old) try cg.airFieldParentPtr(inst) else { | 168136 | .field_parent_ptr => { |
| 162595 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; | 168137 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; |
| 162596 | const field_parent_ptr = cg.air.extraData(Air.FieldParentPtr, ty_pl.payload).data; | 168138 | const field_parent_ptr = cg.air.extraData(Air.FieldParentPtr, ty_pl.payload).data; |
| 162597 | var ops = try cg.tempsFromOperands(inst, .{field_parent_ptr.field_ptr}); | 168139 | var ops = try cg.tempsFromOperands(inst, .{field_parent_ptr.field_ptr}); |
| ... | @@ -162603,7 +168145,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -162603,7 +168145,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 162603 | try ops[0].finish(inst, &.{field_parent_ptr.field_ptr}, &ops, cg); | 168145 | try ops[0].finish(inst, &.{field_parent_ptr.field_ptr}, &ops, cg); |
| 162604 | }, | 168146 | }, |
| 162605 | .wasm_memory_size, .wasm_memory_grow => unreachable, | 168147 | .wasm_memory_size, .wasm_memory_grow => unreachable, |
| 162606 | .cmp_lt_errors_len => |air_tag| if (use_old) try cg.airCmpLtErrorsLen(inst) else { | 168148 | .cmp_lt_errors_len => |air_tag| { |
| 162607 | const un_op = air_datas[@intFromEnum(inst)].un_op; | 168149 | const un_op = air_datas[@intFromEnum(inst)].un_op; |
| 162608 | var ops = try cg.tempsFromOperands(inst, .{un_op}); | 168150 | var ops = try cg.tempsFromOperands(inst, .{un_op}); |
| 162609 | var res: [1]Temp = undefined; | 168151 | var res: [1]Temp = undefined; |
| ... | @@ -163494,36 +169036,38 @@ fn getValueIfFree(self: *CodeGen, value: MCValue, inst: ?Air.Inst.Index) void { | ... | @@ -163494,36 +169036,38 @@ fn getValueIfFree(self: *CodeGen, value: MCValue, inst: ?Air.Inst.Index) void { |
| 163494 | self.register_manager.getRegAssumeFree(reg, inst); | 169036 | self.register_manager.getRegAssumeFree(reg, inst); |
| 163495 | } | 169037 | } |
| 163496 | | 169038 | |
| 163497 | fn freeReg(self: *CodeGen, reg: Register) !void { | 169039 | const FreeOptions = struct { emit_instructions: bool = true }; |
| | 169040 | |
| | 169041 | fn freeReg(self: *CodeGen, reg: Register, comptime opts: FreeOptions) !void { |
| 163498 | self.register_manager.freeReg(reg); | 169042 | self.register_manager.freeReg(reg); |
| 163499 | if (reg.isClass(.x87)) try self.asmRegister(.{ .f_, .free }, reg); | 169043 | if (opts.emit_instructions and reg.isClass(.x87)) try self.asmRegister(.{ .f_, .free }, reg); |
| 163500 | } | 169044 | } |
| 163501 | | 169045 | |
| 163502 | fn freeValue(self: *CodeGen, value: MCValue) !void { | 169046 | fn freeValue(self: *CodeGen, value: MCValue, comptime opts: FreeOptions) !void { |
| 163503 | switch (value) { | 169047 | switch (value) { |
| 163504 | .register => |reg| try self.freeReg(reg), | 169048 | .register => |reg| try self.freeReg(reg, opts), |
| 163505 | inline .register_pair, | 169049 | inline .register_pair, |
| 163506 | .register_triple, | 169050 | .register_triple, |
| 163507 | .register_quadruple, | 169051 | .register_quadruple, |
| 163508 | => |regs| for (regs) |reg| try self.freeReg(reg), | 169052 | => |regs| for (regs) |reg| try self.freeReg(reg, opts), |
| 163509 | .register_offset, .indirect => |reg_off| try self.freeReg(reg_off.reg), | 169053 | .register_offset, .indirect => |reg_off| try self.freeReg(reg_off.reg, opts), |
| 163510 | .register_overflow => |reg_ov| { | 169054 | .register_overflow => |reg_ov| { |
| 163511 | try self.freeReg(reg_ov.reg); | 169055 | try self.freeReg(reg_ov.reg, opts); |
| 163512 | self.eflags_inst = null; | 169056 | self.eflags_inst = null; |
| 163513 | }, | 169057 | }, |
| 163514 | .register_mask => |reg_mask| try self.freeReg(reg_mask.reg), | 169058 | .register_mask => |reg_mask| try self.freeReg(reg_mask.reg, opts), |
| 163515 | .eflags => self.eflags_inst = null, | 169059 | .eflags => self.eflags_inst = null, |
| 163516 | else => {}, // TODO process stack allocation death | 169060 | else => {}, // TODO process stack allocation death |
| 163517 | } | 169061 | } |
| 163518 | } | 169062 | } |
| 163519 | | 169063 | |
| 163520 | fn feed(self: *CodeGen, bt: *Air.Liveness.BigTomb, operand: Air.Inst.Ref) !void { | 169064 | fn feed(self: *CodeGen, bt: *Air.Liveness.BigTomb, operand: Air.Inst.Ref) !void { |
| 163521 | if (bt.feed()) if (operand.toIndex()) |inst| try self.processDeath(inst); | 169065 | if (bt.feed()) if (operand.toIndex()) |inst| try self.processDeath(inst, .{}); |
| 163522 | } | 169066 | } |
| 163523 | | 169067 | |
| 163524 | /// Asserts there is already capacity to insert into top branch inst_table. | 169068 | /// Asserts there is already capacity to insert into top branch inst_table. |
| 163525 | fn processDeath(self: *CodeGen, inst: Air.Inst.Index) !void { | 169069 | fn processDeath(self: *CodeGen, inst: Air.Inst.Index, comptime opts: FreeOptions) !void { |
| 163526 | try self.inst_tracking.getPtr(inst).?.die(self, inst); | 169070 | try self.inst_tracking.getPtr(inst).?.die(self, inst, opts); |
| 163527 | } | 169071 | } |
| 163528 | | 169072 | |
| 163529 | fn finishAirResult(self: *CodeGen, inst: Air.Inst.Index, result: MCValue) void { | 169073 | fn finishAirResult(self: *CodeGen, inst: Air.Inst.Index, result: MCValue) void { |
| ... | @@ -163550,7 +169094,7 @@ fn finishAir( | ... | @@ -163550,7 +169094,7 @@ fn finishAir( |
| 163550 | for (0.., operands) |op_index, op| { | 169094 | for (0.., operands) |op_index, op| { |
| 163551 | if (tomb_bits & @as(Air.Liveness.Bpi, 1) << @intCast(op_index) == 0) continue; | 169095 | if (tomb_bits & @as(Air.Liveness.Bpi, 1) << @intCast(op_index) == 0) continue; |
| 163552 | if (self.reused_operands.isSet(op_index)) continue; | 169096 | if (self.reused_operands.isSet(op_index)) continue; |
| 163553 | try self.processDeath(op.toIndexAllowNone() orelse continue); | 169097 | try self.processDeath(op.toIndexAllowNone() orelse continue, .{}); |
| 163554 | } | 169098 | } |
| 163555 | self.finishAirResult(inst, result); | 169099 | self.finishAirResult(inst, result); |
| 163556 | } | 169100 | } |
| ... | @@ -163704,7 +169248,7 @@ fn allocRegOrMemAdvanced(self: *CodeGen, ty: Type, inst: ?Air.Inst.Index, reg_ok | ... | @@ -163704,7 +169248,7 @@ fn allocRegOrMemAdvanced(self: *CodeGen, ty: Type, inst: ?Air.Inst.Index, reg_ok |
| 163704 | | 169248 | |
| 163705 | if (reg_ok) need_mem: { | 169249 | if (reg_ok) need_mem: { |
| 163706 | if (std.math.isPowerOfTwo(abi_size) and abi_size <= @as(u32, max_abi_size: switch (ty.zigTypeTag(zcu)) { | 169250 | if (std.math.isPowerOfTwo(abi_size) and abi_size <= @as(u32, max_abi_size: switch (ty.zigTypeTag(zcu)) { |
| 163707 | .float => switch (ty.floatBits(self.target.*)) { | 169251 | .float => switch (ty.floatBits(self.target)) { |
| 163708 | 16, 32, 64, 128 => 16, | 169252 | 16, 32, 64, 128 => 16, |
| 163709 | 80 => break :need_mem, | 169253 | 80 => break :need_mem, |
| 163710 | else => unreachable, | 169254 | else => unreachable, |
| ... | @@ -163772,21 +169316,6 @@ fn vectorSize(cg: *CodeGen, kind: enum { int, float }) u6 { | ... | @@ -163772,21 +169316,6 @@ fn vectorSize(cg: *CodeGen, kind: enum { int, float }) u6 { |
| 163772 | })) 32 else if (cg.hasFeature(.sse)) 16 else 8; | 169316 | })) 32 else if (cg.hasFeature(.sse)) 16 else 8; |
| 163773 | } | 169317 | } |
| 163774 | | 169318 | |
| 163775 | fn limbType(cg: *CodeGen, ty: Type) Type { | | |
| 163776 | const pt = cg.pt; | | |
| 163777 | const zcu = pt.zcu; | | |
| 163778 | const vector_size = cg.vectorSize(if (ty.isRuntimeFloat()) .float else .int); | | |
| 163779 | const scalar_ty, const scalar_size = scalar: { | | |
| 163780 | const scalar_ty = ty.scalarType(zcu); | | |
| 163781 | const scalar_size = scalar_ty.abiSize(zcu); | | |
| 163782 | if (scalar_size <= vector_size) break :scalar .{ scalar_ty, scalar_size }; | | |
| 163783 | }; | | |
| 163784 | pt.vectorType(.{ | | |
| 163785 | .len = @divExact(vector_size, scalar_size), | | |
| 163786 | .child = scalar_ty.toIntern(), | | |
| 163787 | }); | | |
| 163788 | } | | |
| 163789 | | | |
| 163790 | const State = struct { | 169319 | const State = struct { |
| 163791 | registers: RegisterManager.TrackedRegisters, | 169320 | registers: RegisterManager.TrackedRegisters, |
| 163792 | reg_tracking: [RegisterManager.RegisterBitSet.bit_length]InstTracking, | 169321 | reg_tracking: [RegisterManager.RegisterBitSet.bit_length]InstTracking, |
| ... | @@ -163835,12 +169364,12 @@ fn restoreState(self: *CodeGen, state: State, deaths: []const Air.Inst.Index, co | ... | @@ -163835,12 +169364,12 @@ fn restoreState(self: *CodeGen, state: State, deaths: []const Air.Inst.Index, co |
| 163835 | for ( | 169364 | for ( |
| 163836 | self.inst_tracking.keys()[@intFromEnum(state.next_temp_index)..@intFromEnum(self.next_temp_index)], | 169365 | self.inst_tracking.keys()[@intFromEnum(state.next_temp_index)..@intFromEnum(self.next_temp_index)], |
| 163837 | self.inst_tracking.values()[@intFromEnum(state.next_temp_index)..@intFromEnum(self.next_temp_index)], | 169366 | self.inst_tracking.values()[@intFromEnum(state.next_temp_index)..@intFromEnum(self.next_temp_index)], |
| 163838 | ) |inst, *tracking| try tracking.die(self, inst); | 169367 | ) |inst, *tracking| try tracking.die(self, inst, .{ .emit_instructions = opts.emit_instructions }); |
| 163839 | self.next_temp_index = state.next_temp_index; | 169368 | self.next_temp_index = state.next_temp_index; |
| 163840 | for ( | 169369 | for ( |
| 163841 | self.inst_tracking.keys()[state.inst_tracking_len..], | 169370 | self.inst_tracking.keys()[state.inst_tracking_len..], |
| 163842 | self.inst_tracking.values()[state.inst_tracking_len..], | 169371 | self.inst_tracking.values()[state.inst_tracking_len..], |
| 163843 | ) |inst, *tracking| try tracking.die(self, inst); | 169372 | ) |inst, *tracking| try tracking.die(self, inst, .{ .emit_instructions = opts.emit_instructions }); |
| 163844 | self.inst_tracking.shrinkRetainingCapacity(state.inst_tracking_len); | 169373 | self.inst_tracking.shrinkRetainingCapacity(state.inst_tracking_len); |
| 163845 | } | 169374 | } |
| 163846 | | 169375 | |
| ... | @@ -163854,7 +169383,7 @@ fn restoreState(self: *CodeGen, state: State, deaths: []const Air.Inst.Index, co | ... | @@ -163854,7 +169383,7 @@ fn restoreState(self: *CodeGen, state: State, deaths: []const Air.Inst.Index, co |
| 163854 | self.inst_tracking.values()[Temp.Index.max..state.inst_tracking_len], | 169383 | self.inst_tracking.values()[Temp.Index.max..state.inst_tracking_len], |
| 163855 | ) |inst, *tracking| try tracking.resurrect(self, inst, state.scope_generation); | 169384 | ) |inst, *tracking| try tracking.resurrect(self, inst, state.scope_generation); |
| 163856 | } | 169385 | } |
| 163857 | for (deaths) |death| try self.processDeath(death); | 169386 | for (deaths) |death| try self.processDeath(death, .{ .emit_instructions = opts.emit_instructions }); |
| 163858 | | 169387 | |
| 163859 | const ExpectedContents = [@typeInfo(RegisterManager.TrackedRegisters).array.len]RegisterLock; | 169388 | const ExpectedContents = [@typeInfo(RegisterManager.TrackedRegisters).array.len]RegisterLock; |
| 163860 | var stack align(@max(@alignOf(ExpectedContents), @alignOf(std.heap.StackFallbackAllocator(0)))) = | 169389 | var stack align(@max(@alignOf(ExpectedContents), @alignOf(std.heap.StackFallbackAllocator(0)))) = |
| ... | @@ -163993,9 +169522,9 @@ fn airRetPtr(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -163993,9 +169522,9 @@ fn airRetPtr(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 163993 | fn airFptrunc(self: *CodeGen, inst: Air.Inst.Index) !void { | 169522 | fn airFptrunc(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 163994 | const ty_op = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_op; | 169523 | const ty_op = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_op; |
| 163995 | const dst_ty = self.typeOfIndex(inst); | 169524 | const dst_ty = self.typeOfIndex(inst); |
| 163996 | const dst_bits = dst_ty.floatBits(self.target.*); | 169525 | const dst_bits = dst_ty.floatBits(self.target); |
| 163997 | const src_ty = self.typeOf(ty_op.operand); | 169526 | const src_ty = self.typeOf(ty_op.operand); |
| 163998 | const src_bits = src_ty.floatBits(self.target.*); | 169527 | const src_bits = src_ty.floatBits(self.target); |
| 163999 | | 169528 | |
| 164000 | const result = result: { | 169529 | const result = result: { |
| 164001 | if (switch (dst_bits) { | 169530 | if (switch (dst_bits) { |
| ... | @@ -164095,10 +169624,10 @@ fn airFpext(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -164095,10 +169624,10 @@ fn airFpext(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 164095 | const ty_op = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_op; | 169624 | const ty_op = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_op; |
| 164096 | const dst_ty = self.typeOfIndex(inst); | 169625 | const dst_ty = self.typeOfIndex(inst); |
| 164097 | const dst_scalar_ty = dst_ty.scalarType(zcu); | 169626 | const dst_scalar_ty = dst_ty.scalarType(zcu); |
| 164098 | const dst_bits = dst_scalar_ty.floatBits(self.target.*); | 169627 | const dst_bits = dst_scalar_ty.floatBits(self.target); |
| 164099 | const src_ty = self.typeOf(ty_op.operand); | 169628 | const src_ty = self.typeOf(ty_op.operand); |
| 164100 | const src_scalar_ty = src_ty.scalarType(zcu); | 169629 | const src_scalar_ty = src_ty.scalarType(zcu); |
| 164101 | const src_bits = src_scalar_ty.floatBits(self.target.*); | 169630 | const src_bits = src_scalar_ty.floatBits(self.target); |
| 164102 | | 169631 | |
| 164103 | const result = result: { | 169632 | const result = result: { |
| 164104 | if (switch (src_bits) { | 169633 | if (switch (src_bits) { |
| ... | @@ -168207,7 +173736,7 @@ fn floatSign(self: *CodeGen, inst: Air.Inst.Index, tag: Air.Inst.Tag, operand: A | ... | @@ -168207,7 +173736,7 @@ fn floatSign(self: *CodeGen, inst: Air.Inst.Index, tag: Air.Inst.Tag, operand: A |
| 168207 | const zcu = pt.zcu; | 173736 | const zcu = pt.zcu; |
| 168208 | | 173737 | |
| 168209 | const result = result: { | 173738 | const result = result: { |
| 168210 | const scalar_bits = ty.scalarType(zcu).floatBits(self.target.*); | 173739 | const scalar_bits = ty.scalarType(zcu).floatBits(self.target); |
| 168211 | if (scalar_bits == 80) { | 173740 | if (scalar_bits == 80) { |
| 168212 | if (ty.zigTypeTag(zcu) != .float) return self.fail("TODO implement floatSign for {}", .{ | 173741 | if (ty.zigTypeTag(zcu) != .float) return self.fail("TODO implement floatSign for {}", .{ |
| 168213 | ty.fmt(pt), | 173742 | ty.fmt(pt), |
| ... | @@ -168363,14 +173892,14 @@ fn getRoundTag(self: *CodeGen, ty: Type) ?Mir.Inst.FixedTag { | ... | @@ -168363,14 +173892,14 @@ fn getRoundTag(self: *CodeGen, ty: Type) ?Mir.Inst.FixedTag { |
| 168363 | const pt = self.pt; | 173892 | const pt = self.pt; |
| 168364 | const zcu = pt.zcu; | 173893 | const zcu = pt.zcu; |
| 168365 | return if (self.hasFeature(.sse4_1)) switch (ty.zigTypeTag(zcu)) { | 173894 | return if (self.hasFeature(.sse4_1)) switch (ty.zigTypeTag(zcu)) { |
| 168366 | .float => switch (ty.floatBits(self.target.*)) { | 173895 | .float => switch (ty.floatBits(self.target)) { |
| 168367 | 32 => if (self.hasFeature(.avx)) .{ .v_ss, .round } else .{ ._ss, .round }, | 173896 | 32 => if (self.hasFeature(.avx)) .{ .v_ss, .round } else .{ ._ss, .round }, |
| 168368 | 64 => if (self.hasFeature(.avx)) .{ .v_sd, .round } else .{ ._sd, .round }, | 173897 | 64 => if (self.hasFeature(.avx)) .{ .v_sd, .round } else .{ ._sd, .round }, |
| 168369 | 16, 80, 128 => null, | 173898 | 16, 80, 128 => null, |
| 168370 | else => unreachable, | 173899 | else => unreachable, |
| 168371 | }, | 173900 | }, |
| 168372 | .vector => switch (ty.childType(zcu).zigTypeTag(zcu)) { | 173901 | .vector => switch (ty.childType(zcu).zigTypeTag(zcu)) { |
| 168373 | .float => switch (ty.childType(zcu).floatBits(self.target.*)) { | 173902 | .float => switch (ty.childType(zcu).floatBits(self.target)) { |
| 168374 | 32 => switch (ty.vectorLen(zcu)) { | 173903 | 32 => switch (ty.vectorLen(zcu)) { |
| 168375 | 1 => if (self.hasFeature(.avx)) .{ .v_ss, .round } else .{ ._ss, .round }, | 173904 | 1 => if (self.hasFeature(.avx)) .{ .v_ss, .round } else .{ ._ss, .round }, |
| 168376 | 2...4 => if (self.hasFeature(.avx)) .{ .v_ps, .round } else .{ ._ps, .round }, | 173905 | 2...4 => if (self.hasFeature(.avx)) .{ .v_ps, .round } else .{ ._ps, .round }, |
| ... | @@ -168670,7 +174199,7 @@ fn airSqrt(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -168670,7 +174199,7 @@ fn airSqrt(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 168670 | const result: MCValue = result: { | 174199 | const result: MCValue = result: { |
| 168671 | switch (ty.zigTypeTag(zcu)) { | 174200 | switch (ty.zigTypeTag(zcu)) { |
| 168672 | .float => { | 174201 | .float => { |
| 168673 | const float_bits = ty.floatBits(self.target.*); | 174202 | const float_bits = ty.floatBits(self.target); |
| 168674 | if (switch (float_bits) { | 174203 | if (switch (float_bits) { |
| 168675 | 16 => !self.hasFeature(.f16c), | 174204 | 16 => !self.hasFeature(.f16c), |
| 168676 | 32, 64 => false, | 174205 | 32, 64 => false, |
| ... | @@ -168701,7 +174230,7 @@ fn airSqrt(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -168701,7 +174230,7 @@ fn airSqrt(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 168701 | defer if (dst_lock) |lock| self.register_manager.unlockReg(lock); | 174230 | defer if (dst_lock) |lock| self.register_manager.unlockReg(lock); |
| 168702 | | 174231 | |
| 168703 | const mir_tag = @as(?Mir.Inst.FixedTag, switch (ty.zigTypeTag(zcu)) { | 174232 | const mir_tag = @as(?Mir.Inst.FixedTag, switch (ty.zigTypeTag(zcu)) { |
| 168704 | .float => switch (ty.floatBits(self.target.*)) { | 174233 | .float => switch (ty.floatBits(self.target)) { |
| 168705 | 16 => { | 174234 | 16 => { |
| 168706 | assert(self.hasFeature(.f16c)); | 174235 | assert(self.hasFeature(.f16c)); |
| 168707 | const mat_src_reg = if (src_mcv.isRegister()) | 174236 | const mat_src_reg = if (src_mcv.isRegister()) |
| ... | @@ -168723,7 +174252,7 @@ fn airSqrt(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -168723,7 +174252,7 @@ fn airSqrt(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 168723 | else => unreachable, | 174252 | else => unreachable, |
| 168724 | }, | 174253 | }, |
| 168725 | .vector => switch (ty.childType(zcu).zigTypeTag(zcu)) { | 174254 | .vector => switch (ty.childType(zcu).zigTypeTag(zcu)) { |
| 168726 | .float => switch (ty.childType(zcu).floatBits(self.target.*)) { | 174255 | .float => switch (ty.childType(zcu).floatBits(self.target)) { |
| 168727 | 16 => if (self.hasFeature(.f16c)) switch (ty.vectorLen(zcu)) { | 174256 | 16 => if (self.hasFeature(.f16c)) switch (ty.vectorLen(zcu)) { |
| 168728 | 1 => { | 174257 | 1 => { |
| 168729 | try self.asmRegisterRegister( | 174258 | try self.asmRegisterRegister( |
| ... | @@ -169028,6 +174557,7 @@ fn load(self: *CodeGen, dst_mcv: MCValue, ptr_ty: Type, ptr_mcv: MCValue) InnerE | ... | @@ -169028,6 +174557,7 @@ fn load(self: *CodeGen, dst_mcv: MCValue, ptr_ty: Type, ptr_mcv: MCValue) InnerE |
| 169028 | .register_quadruple, | 174557 | .register_quadruple, |
| 169029 | .register_overflow, | 174558 | .register_overflow, |
| 169030 | .register_mask, | 174559 | .register_mask, |
| | 174560 | .indirect_load_frame, |
| 169031 | .elementwise_args, | 174561 | .elementwise_args, |
| 169032 | .reserved_frame, | 174562 | .reserved_frame, |
| 169033 | => unreachable, // not a valid pointer | 174563 | => unreachable, // not a valid pointer |
| ... | @@ -169248,6 +174778,7 @@ fn store( | ... | @@ -169248,6 +174778,7 @@ fn store( |
| 169248 | .register_quadruple, | 174778 | .register_quadruple, |
| 169249 | .register_overflow, | 174779 | .register_overflow, |
| 169250 | .register_mask, | 174780 | .register_mask, |
| | 174781 | .indirect_load_frame, |
| 169251 | .elementwise_args, | 174782 | .elementwise_args, |
| 169252 | .reserved_frame, | 174783 | .reserved_frame, |
| 169253 | => unreachable, // not a valid pointer | 174784 | => unreachable, // not a valid pointer |
| ... | @@ -169307,31 +174838,6 @@ fn airStore(self: *CodeGen, inst: Air.Inst.Index, safety: bool) !void { | ... | @@ -169307,31 +174838,6 @@ fn airStore(self: *CodeGen, inst: Air.Inst.Index, safety: bool) !void { |
| 169307 | return self.finishAir(inst, .none, .{ bin_op.lhs, bin_op.rhs, .none }); | 174838 | return self.finishAir(inst, .none, .{ bin_op.lhs, bin_op.rhs, .none }); |
| 169308 | } | 174839 | } |
| 169309 | | 174840 | |
| 169310 | fn airStructFieldPtr(self: *CodeGen, inst: Air.Inst.Index) !void { | | |
| 169311 | const ty_pl = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_pl; | | |
| 169312 | const extra = self.air.extraData(Air.StructField, ty_pl.payload).data; | | |
| 169313 | const result = try self.fieldPtr(inst, extra.struct_operand, extra.field_index); | | |
| 169314 | return self.finishAir(inst, result, .{ extra.struct_operand, .none, .none }); | | |
| 169315 | } | | |
| 169316 | | | |
| 169317 | fn airStructFieldPtrIndex(self: *CodeGen, inst: Air.Inst.Index, field_index: u8) !void { | | |
| 169318 | const ty_op = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_op; | | |
| 169319 | const result = try self.fieldPtr(inst, ty_op.operand, field_index); | | |
| 169320 | return self.finishAir(inst, result, .{ ty_op.operand, .none, .none }); | | |
| 169321 | } | | |
| 169322 | | | |
| 169323 | fn fieldPtr(self: *CodeGen, inst: Air.Inst.Index, operand: Air.Inst.Ref, field_index: u32) !MCValue { | | |
| 169324 | const ptr_field_ty = self.typeOfIndex(inst); | | |
| 169325 | | | |
| 169326 | const src_mcv = try self.resolveInst(operand); | | |
| 169327 | const dst_mcv = if (switch (src_mcv) { | | |
| 169328 | .immediate, .lea_frame => true, | | |
| 169329 | .register, .register_offset => self.reuseOperand(inst, operand, 0, src_mcv), | | |
| 169330 | else => false, | | |
| 169331 | }) src_mcv else try self.copyToRegisterWithInstTracking(inst, ptr_field_ty, src_mcv); | | |
| 169332 | return dst_mcv.offset(self.fieldOffset(self.typeOf(operand), ptr_field_ty, field_index)); | | |
| 169333 | } | | |
| 169334 | | | |
| 169335 | fn fieldOffset(self: *CodeGen, ptr_agg_ty: Type, ptr_field_ty: Type, field_index: u32) i32 { | 174841 | fn fieldOffset(self: *CodeGen, ptr_agg_ty: Type, ptr_field_ty: Type, field_index: u32) i32 { |
| 169336 | const pt = self.pt; | 174842 | const pt = self.pt; |
| 169337 | const zcu = pt.zcu; | 174843 | const zcu = pt.zcu; |
| ... | @@ -169344,291 +174850,6 @@ fn fieldOffset(self: *CodeGen, ptr_agg_ty: Type, ptr_field_ty: Type, field_index | ... | @@ -169344,291 +174850,6 @@ fn fieldOffset(self: *CodeGen, ptr_agg_ty: Type, ptr_field_ty: Type, field_index |
| 169344 | }; | 174850 | }; |
| 169345 | } | 174851 | } |
| 169346 | | 174852 | |
| 169347 | fn airStructFieldVal(self: *CodeGen, inst: Air.Inst.Index) !void { | | |
| 169348 | const pt = self.pt; | | |
| 169349 | const zcu = pt.zcu; | | |
| 169350 | const ty_pl = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_pl; | | |
| 169351 | const extra = self.air.extraData(Air.StructField, ty_pl.payload).data; | | |
| 169352 | const result: MCValue = result: { | | |
| 169353 | const operand = extra.struct_operand; | | |
| 169354 | const index = extra.field_index; | | |
| 169355 | | | |
| 169356 | const container_ty = self.typeOf(operand); | | |
| 169357 | const container_rc = self.regSetForType(container_ty); | | |
| 169358 | const field_ty = container_ty.fieldType(index, zcu); | | |
| 169359 | if (!field_ty.hasRuntimeBitsIgnoreComptime(zcu)) break :result .none; | | |
| 169360 | const field_rc = self.regSetForType(field_ty); | | |
| 169361 | const field_is_gp = field_rc.supersetOf(abi.RegisterClass.gp); | | |
| 169362 | | | |
| 169363 | const src_mcv = try self.resolveInst(operand); | | |
| 169364 | const field_off: u32 = switch (container_ty.containerLayout(zcu)) { | | |
| 169365 | .auto, .@"extern" => @intCast(container_ty.structFieldOffset(extra.field_index, zcu) * 8), | | |
| 169366 | .@"packed" => if (zcu.typeToStruct(container_ty)) |loaded_struct| | | |
| 169367 | pt.structPackedFieldBitOffset(loaded_struct, extra.field_index) | | |
| 169368 | else | | |
| 169369 | 0, | | |
| 169370 | }; | | |
| 169371 | | | |
| 169372 | switch (src_mcv) { | | |
| 169373 | .register => |src_reg| { | | |
| 169374 | const src_reg_lock = self.register_manager.lockRegAssumeUnused(src_reg); | | |
| 169375 | defer self.register_manager.unlockReg(src_reg_lock); | | |
| 169376 | | | |
| 169377 | const src_in_field_rc = | | |
| 169378 | field_rc.isSet(RegisterManager.indexOfRegIntoTracked(src_reg).?); | | |
| 169379 | const dst_reg = if (src_in_field_rc and self.reuseOperand(inst, operand, 0, src_mcv)) | | |
| 169380 | src_reg | | |
| 169381 | else if (field_off == 0) | | |
| 169382 | (try self.copyToRegisterWithInstTracking(inst, field_ty, src_mcv)).register | | |
| 169383 | else | | |
| 169384 | try self.copyToTmpRegister(.usize, .{ .register = src_reg }); | | |
| 169385 | const dst_mcv: MCValue = .{ .register = dst_reg }; | | |
| 169386 | const dst_lock = self.register_manager.lockReg(dst_reg); | | |
| 169387 | defer if (dst_lock) |lock| self.register_manager.unlockReg(lock); | | |
| 169388 | | | |
| 169389 | if (field_off > 0) { | | |
| 169390 | try self.spillEflagsIfOccupied(); | | |
| 169391 | try self.genShiftBinOpMir(.{ ._r, .sh }, .usize, dst_mcv, .u8, .{ .immediate = field_off }); | | |
| 169392 | } | | |
| 169393 | if (abi.RegisterClass.gp.isSet(RegisterManager.indexOfRegIntoTracked(dst_reg).?) and | | |
| 169394 | container_ty.abiSize(zcu) * 8 > field_ty.bitSize(zcu)) | | |
| 169395 | try self.truncateRegister(field_ty, dst_reg); | | |
| 169396 | | | |
| 169397 | break :result if (field_off == 0 or field_rc.supersetOf(abi.RegisterClass.gp)) | | |
| 169398 | dst_mcv | | |
| 169399 | else | | |
| 169400 | try self.copyToRegisterWithInstTracking(inst, field_ty, dst_mcv); | | |
| 169401 | }, | | |
| 169402 | .register_pair => |src_regs| { | | |
| 169403 | const src_regs_lock = self.register_manager.lockRegsAssumeUnused(2, src_regs); | | |
| 169404 | defer for (src_regs_lock) |lock| self.register_manager.unlockReg(lock); | | |
| 169405 | | | |
| 169406 | const field_bit_size: u32 = @intCast(field_ty.bitSize(zcu)); | | |
| 169407 | const src_reg = if (field_off + field_bit_size <= 64) | | |
| 169408 | src_regs[0] | | |
| 169409 | else if (field_off >= 64) | | |
| 169410 | src_regs[1] | | |
| 169411 | else { | | |
| 169412 | const dst_regs: [2]Register = if (field_rc.supersetOf(container_rc) and | | |
| 169413 | self.reuseOperand(inst, operand, 0, src_mcv)) src_regs else dst: { | | |
| 169414 | const dst_regs = | | |
| 169415 | try self.register_manager.allocRegs(2, @splat(null), field_rc); | | |
| 169416 | const dst_locks = self.register_manager.lockRegsAssumeUnused(2, dst_regs); | | |
| 169417 | defer for (dst_locks) |lock| self.register_manager.unlockReg(lock); | | |
| 169418 | | | |
| 169419 | try self.genCopy(container_ty, .{ .register_pair = dst_regs }, src_mcv, .{}); | | |
| 169420 | break :dst dst_regs; | | |
| 169421 | }; | | |
| 169422 | const dst_mcv = MCValue{ .register_pair = dst_regs }; | | |
| 169423 | const dst_locks = self.register_manager.lockRegs(2, dst_regs); | | |
| 169424 | defer for (dst_locks) |dst_lock| if (dst_lock) |lock| | | |
| 169425 | self.register_manager.unlockReg(lock); | | |
| 169426 | | | |
| 169427 | if (field_off > 0) { | | |
| 169428 | try self.spillEflagsIfOccupied(); | | |
| 169429 | try self.genShiftBinOpMir(.{ ._r, .sh }, .u128, dst_mcv, .u8, .{ .immediate = field_off }); | | |
| 169430 | } | | |
| 169431 | | | |
| 169432 | if (field_bit_size <= 64) { | | |
| 169433 | if (self.regExtraBits(field_ty) > 0) | | |
| 169434 | try self.truncateRegister(field_ty, dst_regs[0]); | | |
| 169435 | break :result if (field_rc.supersetOf(abi.RegisterClass.gp)) | | |
| 169436 | .{ .register = dst_regs[0] } | | |
| 169437 | else | | |
| 169438 | try self.copyToRegisterWithInstTracking(inst, field_ty, .{ | | |
| 169439 | .register = dst_regs[0], | | |
| 169440 | }); | | |
| 169441 | } | | |
| 169442 | | | |
| 169443 | if (field_bit_size < 128) try self.truncateRegister( | | |
| 169444 | try pt.intType(.unsigned, @intCast(field_bit_size - 64)), | | |
| 169445 | dst_regs[1], | | |
| 169446 | ); | | |
| 169447 | break :result if (field_rc.supersetOf(abi.RegisterClass.gp)) | | |
| 169448 | dst_mcv | | |
| 169449 | else | | |
| 169450 | try self.copyToRegisterWithInstTracking(inst, field_ty, dst_mcv); | | |
| 169451 | }; | | |
| 169452 | | | |
| 169453 | const dst_reg = try self.copyToTmpRegister(.usize, .{ .register = src_reg }); | | |
| 169454 | const dst_mcv = MCValue{ .register = dst_reg }; | | |
| 169455 | const dst_lock = self.register_manager.lockReg(dst_reg); | | |
| 169456 | defer if (dst_lock) |lock| self.register_manager.unlockReg(lock); | | |
| 169457 | | | |
| 169458 | if (field_off % 64 > 0) { | | |
| 169459 | try self.spillEflagsIfOccupied(); | | |
| 169460 | try self.genShiftBinOpMir(.{ ._r, .sh }, .usize, dst_mcv, .u8, .{ .immediate = field_off % 64 }); | | |
| 169461 | } | | |
| 169462 | if (self.regExtraBits(field_ty) > 0) try self.truncateRegister(field_ty, dst_reg); | | |
| 169463 | | | |
| 169464 | break :result if (field_rc.supersetOf(abi.RegisterClass.gp)) | | |
| 169465 | dst_mcv | | |
| 169466 | else | | |
| 169467 | try self.copyToRegisterWithInstTracking(inst, field_ty, dst_mcv); | | |
| 169468 | }, | | |
| 169469 | .register_overflow => |ro| { | | |
| 169470 | switch (index) { | | |
| 169471 | // Get wrapped value for overflow operation. | | |
| 169472 | 0 => if (self.reuseOperand(inst, extra.struct_operand, 0, src_mcv)) { | | |
| 169473 | self.eflags_inst = null; // actually stop tracking the overflow part | | |
| 169474 | break :result .{ .register = ro.reg }; | | |
| 169475 | } else break :result try self.copyToRegisterWithInstTracking(inst, .usize, .{ .register = ro.reg }), | | |
| 169476 | // Get overflow bit. | | |
| 169477 | 1 => if (self.reuseOperandAdvanced(inst, extra.struct_operand, 0, src_mcv, null)) { | | |
| 169478 | self.eflags_inst = inst; // actually keep tracking the overflow part | | |
| 169479 | break :result .{ .eflags = ro.eflags }; | | |
| 169480 | } else { | | |
| 169481 | const dst_reg = try self.register_manager.allocReg(inst, abi.RegisterClass.gp); | | |
| 169482 | try self.asmSetccRegister(ro.eflags, dst_reg.to8()); | | |
| 169483 | break :result .{ .register = dst_reg.to8() }; | | |
| 169484 | }, | | |
| 169485 | else => unreachable, | | |
| 169486 | } | | |
| 169487 | }, | | |
| 169488 | .load_frame => |frame_addr| { | | |
| 169489 | const field_abi_size: u32 = @intCast(field_ty.abiSize(zcu)); | | |
| 169490 | if (field_off % 8 == 0) { | | |
| 169491 | const field_byte_off = @divExact(field_off, 8); | | |
| 169492 | const off_mcv = src_mcv.address().offset(@intCast(field_byte_off)).deref(); | | |
| 169493 | const field_bit_size = field_ty.bitSize(zcu); | | |
| 169494 | | | |
| 169495 | if (field_abi_size <= 8) { | | |
| 169496 | const int_ty = try pt.intType( | | |
| 169497 | if (field_ty.isAbiInt(zcu)) field_ty.intInfo(zcu).signedness else .unsigned, | | |
| 169498 | @intCast(field_bit_size), | | |
| 169499 | ); | | |
| 169500 | | | |
| 169501 | const dst_reg = try self.register_manager.allocReg( | | |
| 169502 | if (field_is_gp) inst else null, | | |
| 169503 | abi.RegisterClass.gp, | | |
| 169504 | ); | | |
| 169505 | const dst_mcv = MCValue{ .register = dst_reg }; | | |
| 169506 | const dst_lock = self.register_manager.lockRegAssumeUnused(dst_reg); | | |
| 169507 | defer self.register_manager.unlockReg(dst_lock); | | |
| 169508 | | | |
| 169509 | try self.genCopy(int_ty, dst_mcv, off_mcv, .{}); | | |
| 169510 | if (self.regExtraBits(field_ty) > 0) try self.truncateRegister(int_ty, dst_reg); | | |
| 169511 | break :result if (field_is_gp) | | |
| 169512 | dst_mcv | | |
| 169513 | else | | |
| 169514 | try self.copyToRegisterWithInstTracking(inst, field_ty, dst_mcv); | | |
| 169515 | } | | |
| 169516 | | | |
| 169517 | const container_abi_size: u32 = @intCast(container_ty.abiSize(zcu)); | | |
| 169518 | const dst_mcv = if (field_byte_off + field_abi_size <= container_abi_size and | | |
| 169519 | self.reuseOperand(inst, operand, 0, src_mcv)) | | |
| 169520 | off_mcv | | |
| 169521 | else dst: { | | |
| 169522 | const dst_mcv = try self.allocRegOrMem(inst, true); | | |
| 169523 | try self.genCopy(field_ty, dst_mcv, off_mcv, .{}); | | |
| 169524 | break :dst dst_mcv; | | |
| 169525 | }; | | |
| 169526 | if (field_abi_size * 8 > field_bit_size and dst_mcv.isBase()) { | | |
| 169527 | const tmp_reg = try self.register_manager.allocReg(null, abi.RegisterClass.gp); | | |
| 169528 | const tmp_lock = self.register_manager.lockRegAssumeUnused(tmp_reg); | | |
| 169529 | defer self.register_manager.unlockReg(tmp_lock); | | |
| 169530 | | | |
| 169531 | const hi_mcv = | | |
| 169532 | dst_mcv.address().offset(@intCast(field_bit_size / 64 * 8)).deref(); | | |
| 169533 | try self.genSetReg(tmp_reg, .usize, hi_mcv, .{}); | | |
| 169534 | try self.truncateRegister(field_ty, tmp_reg); | | |
| 169535 | try self.genCopy(.usize, hi_mcv, .{ .register = tmp_reg }, .{}); | | |
| 169536 | } | | |
| 169537 | break :result dst_mcv; | | |
| 169538 | } | | |
| 169539 | | | |
| 169540 | const limb_abi_size: u31 = @min(field_abi_size, 8); | | |
| 169541 | const limb_abi_bits = limb_abi_size * 8; | | |
| 169542 | const field_byte_off: i32 = @intCast(field_off / limb_abi_bits * limb_abi_size); | | |
| 169543 | const field_bit_off = field_off % limb_abi_bits; | | |
| 169544 | | | |
| 169545 | if (field_abi_size > 8) { | | |
| 169546 | return self.fail("TODO implement struct_field_val with large packed field", .{}); | | |
| 169547 | } | | |
| 169548 | | | |
| 169549 | const dst_reg = try self.register_manager.allocReg( | | |
| 169550 | if (field_is_gp) inst else null, | | |
| 169551 | abi.RegisterClass.gp, | | |
| 169552 | ); | | |
| 169553 | const field_extra_bits = self.regExtraBits(field_ty); | | |
| 169554 | const load_abi_size = | | |
| 169555 | if (field_bit_off < field_extra_bits) field_abi_size else field_abi_size * 2; | | |
| 169556 | if (load_abi_size <= 8) { | | |
| 169557 | const load_reg = registerAlias(dst_reg, load_abi_size); | | |
| 169558 | try self.asmRegisterMemory(.{ ._, .mov }, load_reg, .{ | | |
| 169559 | .base = .{ .frame = frame_addr.index }, | | |
| 169560 | .mod = .{ .rm = .{ | | |
| 169561 | .size = .fromSize(load_abi_size), | | |
| 169562 | .disp = frame_addr.off + field_byte_off, | | |
| 169563 | } }, | | |
| 169564 | }); | | |
| 169565 | try self.spillEflagsIfOccupied(); | | |
| 169566 | try self.asmRegisterImmediate(.{ ._r, .sh }, load_reg, .u(field_bit_off)); | | |
| 169567 | } else { | | |
| 169568 | const tmp_reg = registerAlias( | | |
| 169569 | try self.register_manager.allocReg(null, abi.RegisterClass.gp), | | |
| 169570 | field_abi_size, | | |
| 169571 | ); | | |
| 169572 | const tmp_lock = self.register_manager.lockRegAssumeUnused(tmp_reg); | | |
| 169573 | defer self.register_manager.unlockReg(tmp_lock); | | |
| 169574 | | | |
| 169575 | const dst_alias = registerAlias(dst_reg, field_abi_size); | | |
| 169576 | try self.asmRegisterMemory( | | |
| 169577 | .{ ._, .mov }, | | |
| 169578 | dst_alias, | | |
| 169579 | .{ | | |
| 169580 | .base = .{ .frame = frame_addr.index }, | | |
| 169581 | .mod = .{ .rm = .{ | | |
| 169582 | .size = .fromSize(field_abi_size), | | |
| 169583 | .disp = frame_addr.off + field_byte_off, | | |
| 169584 | } }, | | |
| 169585 | }, | | |
| 169586 | ); | | |
| 169587 | try self.asmRegisterMemory(.{ ._, .mov }, tmp_reg, .{ | | |
| 169588 | .base = .{ .frame = frame_addr.index }, | | |
| 169589 | .mod = .{ .rm = .{ | | |
| 169590 | .size = .fromSize(field_abi_size), | | |
| 169591 | .disp = frame_addr.off + field_byte_off + limb_abi_size, | | |
| 169592 | } }, | | |
| 169593 | }); | | |
| 169594 | try self.spillEflagsIfOccupied(); | | |
| 169595 | try self.asmRegisterRegisterImmediate( | | |
| 169596 | .{ ._rd, .sh }, | | |
| 169597 | dst_alias, | | |
| 169598 | tmp_reg, | | |
| 169599 | .u(field_bit_off), | | |
| 169600 | ); | | |
| 169601 | } | | |
| 169602 | | | |
| 169603 | if (field_extra_bits > 0) try self.truncateRegister(field_ty, dst_reg); | | |
| 169604 | | | |
| 169605 | const dst_mcv = MCValue{ .register = dst_reg }; | | |
| 169606 | break :result if (field_is_gp) | | |
| 169607 | dst_mcv | | |
| 169608 | else | | |
| 169609 | try self.copyToRegisterWithInstTracking(inst, field_ty, dst_mcv); | | |
| 169610 | }, | | |
| 169611 | else => return self.fail("TODO implement airStructFieldVal for {}", .{src_mcv}), | | |
| 169612 | } | | |
| 169613 | }; | | |
| 169614 | return self.finishAir(inst, result, .{ extra.struct_operand, .none, .none }); | | |
| 169615 | } | | |
| 169616 | | | |
| 169617 | fn airFieldParentPtr(self: *CodeGen, inst: Air.Inst.Index) !void { | | |
| 169618 | const ty_pl = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_pl; | | |
| 169619 | const extra = self.air.extraData(Air.FieldParentPtr, ty_pl.payload).data; | | |
| 169620 | | | |
| 169621 | const ptr_agg_ty = self.typeOfIndex(inst); | | |
| 169622 | const src_mcv = try self.resolveInst(extra.field_ptr); | | |
| 169623 | const dst_mcv = if (src_mcv.isRegisterOffset() and | | |
| 169624 | self.reuseOperand(inst, extra.field_ptr, 0, src_mcv)) | | |
| 169625 | src_mcv | | |
| 169626 | else | | |
| 169627 | try self.copyToRegisterWithInstTracking(inst, ptr_agg_ty, src_mcv); | | |
| 169628 | const result = dst_mcv.offset(-self.fieldOffset(ptr_agg_ty, self.typeOf(extra.field_ptr), extra.field_index)); | | |
| 169629 | return self.finishAir(inst, result, .{ extra.field_ptr, .none, .none }); | | |
| 169630 | } | | |
| 169631 | | | |
| 169632 | fn genUnOp(self: *CodeGen, maybe_inst: ?Air.Inst.Index, tag: Air.Inst.Tag, src_air: Air.Inst.Ref) !MCValue { | 174853 | fn genUnOp(self: *CodeGen, maybe_inst: ?Air.Inst.Index, tag: Air.Inst.Tag, src_air: Air.Inst.Ref) !MCValue { |
| 169633 | const pt = self.pt; | 174854 | const pt = self.pt; |
| 169634 | const zcu = pt.zcu; | 174855 | const zcu = pt.zcu; |
| ... | @@ -169732,6 +174953,7 @@ fn genUnOpMir(self: *CodeGen, mir_tag: Mir.Inst.FixedTag, dst_ty: Type, dst_mcv: | ... | @@ -169732,6 +174953,7 @@ fn genUnOpMir(self: *CodeGen, mir_tag: Mir.Inst.FixedTag, dst_ty: Type, dst_mcv: |
| 169732 | .eflags, | 174953 | .eflags, |
| 169733 | .register_overflow, | 174954 | .register_overflow, |
| 169734 | .register_mask, | 174955 | .register_mask, |
| | 174956 | .indirect_load_frame, |
| 169735 | .lea_frame, | 174957 | .lea_frame, |
| 169736 | .lea_nav, | 174958 | .lea_nav, |
| 169737 | .lea_uav, | 174959 | .lea_uav, |
| ... | @@ -170401,495 +175623,6 @@ fn genShiftBinOpMir( | ... | @@ -170401,495 +175623,6 @@ fn genShiftBinOpMir( |
| 170401 | }); | 175623 | }); |
| 170402 | } | 175624 | } |
| 170403 | | 175625 | |
| 170404 | /// Result is always a register. | | |
| 170405 | /// Clobbers .rcx for non-immediate rhs, therefore care is needed to spill .rcx upfront. | | |
| 170406 | /// Asserts .rcx is free. | | |
| 170407 | fn genShiftBinOp( | | |
| 170408 | self: *CodeGen, | | |
| 170409 | air_tag: Air.Inst.Tag, | | |
| 170410 | maybe_inst: ?Air.Inst.Index, | | |
| 170411 | lhs_mcv: MCValue, | | |
| 170412 | rhs_mcv: MCValue, | | |
| 170413 | lhs_ty: Type, | | |
| 170414 | rhs_ty: Type, | | |
| 170415 | ) !MCValue { | | |
| 170416 | const pt = self.pt; | | |
| 170417 | const zcu = pt.zcu; | | |
| 170418 | if (lhs_ty.zigTypeTag(zcu) == .vector) return self.fail("TODO implement genShiftBinOp for {}", .{ | | |
| 170419 | lhs_ty.fmt(pt), | | |
| 170420 | }); | | |
| 170421 | | | |
| 170422 | try self.register_manager.getKnownReg(.rcx, null); | | |
| 170423 | const rcx_lock = self.register_manager.lockReg(.rcx); | | |
| 170424 | defer if (rcx_lock) |lock| self.register_manager.unlockReg(lock); | | |
| 170425 | | | |
| 170426 | const mat_lhs_mcv: MCValue, const can_reuse_lhs = switch (lhs_mcv) { | | |
| 170427 | .register => |lhs_reg| switch (lhs_reg.class()) { | | |
| 170428 | .general_purpose => .{ lhs_mcv, true }, | | |
| 170429 | else => lhs: { | | |
| 170430 | const mat_lhs_mcv = try self.allocTempRegOrMem(lhs_ty, true); | | |
| 170431 | try self.genCopy(lhs_ty, mat_lhs_mcv, lhs_mcv, .{}); | | |
| 170432 | break :lhs .{ mat_lhs_mcv, false }; | | |
| 170433 | }, | | |
| 170434 | }, | | |
| 170435 | else => .{ lhs_mcv, true }, | | |
| 170436 | }; | | |
| 170437 | const lhs_lock = switch (mat_lhs_mcv) { | | |
| 170438 | .register => |reg| self.register_manager.lockReg(reg), | | |
| 170439 | else => null, | | |
| 170440 | }; | | |
| 170441 | defer if (lhs_lock) |lock| self.register_manager.unlockReg(lock); | | |
| 170442 | | | |
| 170443 | const rhs_lock = switch (rhs_mcv) { | | |
| 170444 | .register => |reg| self.register_manager.lockReg(reg), | | |
| 170445 | else => null, | | |
| 170446 | }; | | |
| 170447 | defer if (rhs_lock) |lock| self.register_manager.unlockReg(lock); | | |
| 170448 | | | |
| 170449 | const dst_mcv: MCValue = dst: { | | |
| 170450 | if (can_reuse_lhs) if (maybe_inst) |inst| { | | |
| 170451 | const bin_op = self.air.instructions.items(.data)[@intFromEnum(inst)].bin_op; | | |
| 170452 | if (self.reuseOperand(inst, bin_op.lhs, 0, mat_lhs_mcv)) break :dst mat_lhs_mcv; | | |
| 170453 | }; | | |
| 170454 | const dst_mcv = try self.allocRegOrMemAdvanced(lhs_ty, maybe_inst, true); | | |
| 170455 | try self.genCopy(lhs_ty, dst_mcv, mat_lhs_mcv, .{}); | | |
| 170456 | break :dst dst_mcv; | | |
| 170457 | }; | | |
| 170458 | | | |
| 170459 | const signedness = lhs_ty.intInfo(zcu).signedness; | | |
| 170460 | try self.genShiftBinOpMir(switch (air_tag) { | | |
| 170461 | .shl, .shl_exact => switch (signedness) { | | |
| 170462 | .signed => .{ ._l, .sa }, | | |
| 170463 | .unsigned => .{ ._l, .sh }, | | |
| 170464 | }, | | |
| 170465 | .shr, .shr_exact => switch (signedness) { | | |
| 170466 | .signed => .{ ._r, .sa }, | | |
| 170467 | .unsigned => .{ ._r, .sh }, | | |
| 170468 | }, | | |
| 170469 | else => unreachable, | | |
| 170470 | }, lhs_ty, dst_mcv, rhs_ty, rhs_mcv); | | |
| 170471 | return dst_mcv; | | |
| 170472 | } | | |
| 170473 | | | |
| 170474 | /// Result is always a register. | | |
| 170475 | /// Clobbers .rax and .rdx therefore care is needed to spill .rax and .rdx upfront. | | |
| 170476 | /// Asserts .rax and .rdx are free. | | |
| 170477 | fn genMulDivBinOp( | | |
| 170478 | self: *CodeGen, | | |
| 170479 | tag: Air.Inst.Tag, | | |
| 170480 | maybe_inst: ?Air.Inst.Index, | | |
| 170481 | dst_ty: Type, | | |
| 170482 | src_ty: Type, | | |
| 170483 | lhs_mcv: MCValue, | | |
| 170484 | rhs_mcv: MCValue, | | |
| 170485 | ) !MCValue { | | |
| 170486 | const pt = self.pt; | | |
| 170487 | const zcu = pt.zcu; | | |
| 170488 | if (dst_ty.zigTypeTag(zcu) == .vector or dst_ty.zigTypeTag(zcu) == .float) return self.fail( | | |
| 170489 | "TODO implement genMulDivBinOp for {s} from {} to {}", | | |
| 170490 | .{ @tagName(tag), src_ty.fmt(pt), dst_ty.fmt(pt) }, | | |
| 170491 | ); | | |
| 170492 | const dst_abi_size: u32 = @intCast(dst_ty.abiSize(zcu)); | | |
| 170493 | const src_abi_size: u32 = @intCast(src_ty.abiSize(zcu)); | | |
| 170494 | | | |
| 170495 | assert(self.register_manager.isRegFree(.rax)); | | |
| 170496 | assert(self.register_manager.isRegFree(.rcx)); | | |
| 170497 | assert(self.register_manager.isRegFree(.rdx)); | | |
| 170498 | assert(self.eflags_inst == null); | | |
| 170499 | | | |
| 170500 | if (dst_abi_size == 16 and src_abi_size == 16) { | | |
| 170501 | assert(tag == .mul or tag == .mul_wrap); | | |
| 170502 | const reg_locks = self.register_manager.lockRegs(2, .{ .rax, .rdx }); | | |
| 170503 | defer for (reg_locks) |reg_lock| if (reg_lock) |lock| self.register_manager.unlockReg(lock); | | |
| 170504 | | | |
| 170505 | const mat_lhs_mcv = switch (lhs_mcv) { | | |
| 170506 | .load_nav, .load_uav, .load_lazy_sym => mat_lhs_mcv: { | | |
| 170507 | // TODO clean this up! | | |
| 170508 | const addr_reg = try self.copyToTmpRegister(.usize, lhs_mcv.address()); | | |
| 170509 | break :mat_lhs_mcv MCValue{ .indirect = .{ .reg = addr_reg } }; | | |
| 170510 | }, | | |
| 170511 | else => lhs_mcv, | | |
| 170512 | }; | | |
| 170513 | const mat_lhs_lock = switch (mat_lhs_mcv) { | | |
| 170514 | .indirect => |reg_off| self.register_manager.lockReg(reg_off.reg), | | |
| 170515 | else => null, | | |
| 170516 | }; | | |
| 170517 | defer if (mat_lhs_lock) |lock| self.register_manager.unlockReg(lock); | | |
| 170518 | const mat_rhs_mcv = switch (rhs_mcv) { | | |
| 170519 | .load_nav, .load_uav, .load_lazy_sym => mat_rhs_mcv: { | | |
| 170520 | // TODO clean this up! | | |
| 170521 | const addr_reg = try self.copyToTmpRegister(.usize, rhs_mcv.address()); | | |
| 170522 | break :mat_rhs_mcv MCValue{ .indirect = .{ .reg = addr_reg } }; | | |
| 170523 | }, | | |
| 170524 | else => rhs_mcv, | | |
| 170525 | }; | | |
| 170526 | const mat_rhs_lock = switch (mat_rhs_mcv) { | | |
| 170527 | .indirect => |reg_off| self.register_manager.lockReg(reg_off.reg), | | |
| 170528 | else => null, | | |
| 170529 | }; | | |
| 170530 | defer if (mat_rhs_lock) |lock| self.register_manager.unlockReg(lock); | | |
| 170531 | | | |
| 170532 | const tmp_reg = try self.register_manager.allocReg(null, abi.RegisterClass.gp); | | |
| 170533 | const tmp_lock = self.register_manager.lockRegAssumeUnused(tmp_reg); | | |
| 170534 | defer self.register_manager.unlockReg(tmp_lock); | | |
| 170535 | | | |
| 170536 | if (mat_lhs_mcv.isBase()) | | |
| 170537 | try self.asmRegisterMemory(.{ ._, .mov }, .rax, try mat_lhs_mcv.mem(self, .{ .size = .qword })) | | |
| 170538 | else | | |
| 170539 | try self.asmRegisterRegister(.{ ._, .mov }, .rax, mat_lhs_mcv.register_pair[0]); | | |
| 170540 | if (mat_rhs_mcv.isBase()) try self.asmRegisterMemory( | | |
| 170541 | .{ ._, .mov }, | | |
| 170542 | tmp_reg, | | |
| 170543 | try mat_rhs_mcv.address().offset(8).deref().mem(self, .{ .size = .qword }), | | |
| 170544 | ) else try self.asmRegisterRegister(.{ ._, .mov }, tmp_reg, mat_rhs_mcv.register_pair[1]); | | |
| 170545 | try self.asmRegisterRegister(.{ .i_, .mul }, tmp_reg, .rax); | | |
| 170546 | if (mat_rhs_mcv.isBase()) | | |
| 170547 | try self.asmMemory(.{ ._, .mul }, try mat_rhs_mcv.mem(self, .{ .size = .qword })) | | |
| 170548 | else | | |
| 170549 | try self.asmRegister(.{ ._, .mul }, mat_rhs_mcv.register_pair[0]); | | |
| 170550 | try self.asmRegisterRegister(.{ ._, .add }, .rdx, tmp_reg); | | |
| 170551 | if (mat_lhs_mcv.isBase()) try self.asmRegisterMemory( | | |
| 170552 | .{ ._, .mov }, | | |
| 170553 | tmp_reg, | | |
| 170554 | try mat_lhs_mcv.address().offset(8).deref().mem(self, .{ .size = .qword }), | | |
| 170555 | ) else try self.asmRegisterRegister(.{ ._, .mov }, tmp_reg, mat_lhs_mcv.register_pair[1]); | | |
| 170556 | if (mat_rhs_mcv.isBase()) | | |
| 170557 | try self.asmRegisterMemory(.{ .i_, .mul }, tmp_reg, try mat_rhs_mcv.mem(self, .{ .size = .qword })) | | |
| 170558 | else | | |
| 170559 | try self.asmRegisterRegister(.{ .i_, .mul }, tmp_reg, mat_rhs_mcv.register_pair[0]); | | |
| 170560 | try self.asmRegisterRegister(.{ ._, .add }, .rdx, tmp_reg); | | |
| 170561 | return .{ .register_pair = .{ .rax, .rdx } }; | | |
| 170562 | } | | |
| 170563 | | | |
| 170564 | if (switch (tag) { | | |
| 170565 | else => unreachable, | | |
| 170566 | .mul, .mul_wrap => dst_abi_size != src_abi_size and dst_abi_size != src_abi_size * 2, | | |
| 170567 | .div_trunc, .div_floor, .div_exact, .rem, .mod => dst_abi_size != src_abi_size, | | |
| 170568 | } or src_abi_size > 8) { | | |
| 170569 | const src_info = src_ty.intInfo(zcu); | | |
| 170570 | switch (tag) { | | |
| 170571 | .mul, .mul_wrap => { | | |
| 170572 | const slow_inc = self.hasFeature(.slow_incdec); | | |
| 170573 | const limb_len = std.math.divCeil(u32, src_abi_size, 8) catch unreachable; | | |
| 170574 | | | |
| 170575 | try self.spillRegisters(&.{ .rax, .rcx, .rdx }); | | |
| 170576 | const reg_locks = self.register_manager.lockRegs(3, .{ .rax, .rcx, .rdx }); | | |
| 170577 | defer for (reg_locks) |reg_lock| if (reg_lock) |lock| | | |
| 170578 | self.register_manager.unlockReg(lock); | | |
| 170579 | | | |
| 170580 | const dst_mcv = try self.allocRegOrMemAdvanced(dst_ty, maybe_inst, false); | | |
| 170581 | try self.genInlineMemset( | | |
| 170582 | dst_mcv.address(), | | |
| 170583 | .{ .immediate = 0 }, | | |
| 170584 | .{ .immediate = src_abi_size }, | | |
| 170585 | .{}, | | |
| 170586 | ); | | |
| 170587 | | | |
| 170588 | const temp_regs = | | |
| 170589 | try self.register_manager.allocRegs(4, @splat(null), abi.RegisterClass.gp); | | |
| 170590 | const temp_locks = self.register_manager.lockRegsAssumeUnused(4, temp_regs); | | |
| 170591 | defer for (temp_locks) |lock| self.register_manager.unlockReg(lock); | | |
| 170592 | | | |
| 170593 | try self.asmRegisterRegister(.{ ._, .xor }, temp_regs[0].to32(), temp_regs[0].to32()); | | |
| 170594 | | | |
| 170595 | const outer_loop: Mir.Inst.Index = @intCast(self.mir_instructions.len); | | |
| 170596 | try self.asmRegisterMemory(.{ ._, .mov }, temp_regs[1].to64(), .{ | | |
| 170597 | .base = .{ .frame = rhs_mcv.load_frame.index }, | | |
| 170598 | .mod = .{ .rm = .{ | | |
| 170599 | .size = .qword, | | |
| 170600 | .index = temp_regs[0].to64(), | | |
| 170601 | .scale = .@"8", | | |
| 170602 | .disp = rhs_mcv.load_frame.off, | | |
| 170603 | } }, | | |
| 170604 | }); | | |
| 170605 | try self.asmRegisterRegister(.{ ._, .@"test" }, temp_regs[1].to64(), temp_regs[1].to64()); | | |
| 170606 | const skip_inner = try self.asmJccReloc(.z, undefined); | | |
| 170607 | | | |
| 170608 | try self.asmRegisterRegister(.{ ._, .xor }, temp_regs[2].to32(), temp_regs[2].to32()); | | |
| 170609 | try self.asmRegisterRegister(.{ ._, .mov }, temp_regs[3].to32(), temp_regs[0].to32()); | | |
| 170610 | try self.asmRegisterRegister(.{ ._, .xor }, .ecx, .ecx); | | |
| 170611 | try self.asmRegisterRegister(.{ ._, .xor }, .edx, .edx); | | |
| 170612 | | | |
| 170613 | const inner_loop: Mir.Inst.Index = @intCast(self.mir_instructions.len); | | |
| 170614 | try self.asmRegisterImmediate(.{ ._r, .sh }, .cl, .u(1)); | | |
| 170615 | try self.asmMemoryRegister(.{ ._, .adc }, .{ | | |
| 170616 | .base = .{ .frame = dst_mcv.load_frame.index }, | | |
| 170617 | .mod = .{ .rm = .{ | | |
| 170618 | .size = .qword, | | |
| 170619 | .index = temp_regs[3].to64(), | | |
| 170620 | .scale = .@"8", | | |
| 170621 | .disp = dst_mcv.load_frame.off, | | |
| 170622 | } }, | | |
| 170623 | }, .rdx); | | |
| 170624 | try self.asmSetccRegister(.c, .cl); | | |
| 170625 | | | |
| 170626 | try self.asmRegisterMemory(.{ ._, .mov }, .rax, .{ | | |
| 170627 | .base = .{ .frame = lhs_mcv.load_frame.index }, | | |
| 170628 | .mod = .{ .rm = .{ | | |
| 170629 | .size = .qword, | | |
| 170630 | .index = temp_regs[2].to64(), | | |
| 170631 | .scale = .@"8", | | |
| 170632 | .disp = lhs_mcv.load_frame.off, | | |
| 170633 | } }, | | |
| 170634 | }); | | |
| 170635 | try self.asmRegister(.{ ._, .mul }, temp_regs[1].to64()); | | |
| 170636 | | | |
| 170637 | try self.asmRegisterImmediate(.{ ._r, .sh }, .ch, .u(1)); | | |
| 170638 | try self.asmMemoryRegister(.{ ._, .adc }, .{ | | |
| 170639 | .base = .{ .frame = dst_mcv.load_frame.index }, | | |
| 170640 | .mod = .{ .rm = .{ | | |
| 170641 | .size = .qword, | | |
| 170642 | .index = temp_regs[3].to64(), | | |
| 170643 | .scale = .@"8", | | |
| 170644 | .disp = dst_mcv.load_frame.off, | | |
| 170645 | } }, | | |
| 170646 | }, .rax); | | |
| 170647 | try self.asmSetccRegister(.c, .ch); | | |
| 170648 | | | |
| 170649 | if (slow_inc) { | | |
| 170650 | try self.asmRegisterImmediate(.{ ._, .add }, temp_regs[2].to32(), .u(1)); | | |
| 170651 | try self.asmRegisterImmediate(.{ ._, .add }, temp_regs[3].to32(), .u(1)); | | |
| 170652 | } else { | | |
| 170653 | try self.asmRegister(.{ ._c, .in }, temp_regs[2].to32()); | | |
| 170654 | try self.asmRegister(.{ ._c, .in }, temp_regs[3].to32()); | | |
| 170655 | } | | |
| 170656 | try self.asmRegisterImmediate(.{ ._, .cmp }, temp_regs[3].to32(), .u(limb_len)); | | |
| 170657 | _ = try self.asmJccReloc(.b, inner_loop); | | |
| 170658 | | | |
| 170659 | self.performReloc(skip_inner); | | |
| 170660 | if (slow_inc) { | | |
| 170661 | try self.asmRegisterImmediate(.{ ._, .add }, temp_regs[0].to32(), .u(1)); | | |
| 170662 | } else { | | |
| 170663 | try self.asmRegister(.{ ._c, .in }, temp_regs[0].to32()); | | |
| 170664 | } | | |
| 170665 | try self.asmRegisterImmediate(.{ ._, .cmp }, temp_regs[0].to32(), .u(limb_len)); | | |
| 170666 | _ = try self.asmJccReloc(.b, outer_loop); | | |
| 170667 | | | |
| 170668 | return dst_mcv; | | |
| 170669 | }, | | |
| 170670 | .div_trunc, .div_floor, .div_exact, .rem, .mod => switch (src_info.signedness) { | | |
| 170671 | .signed => {}, | | |
| 170672 | .unsigned => { | | |
| 170673 | const dst_mcv = try self.allocRegOrMemAdvanced(dst_ty, maybe_inst, false); | | |
| 170674 | const manyptr_u32_ty = try pt.ptrType(.{ | | |
| 170675 | .child = .u32_type, | | |
| 170676 | .flags = .{ | | |
| 170677 | .size = .many, | | |
| 170678 | }, | | |
| 170679 | }); | | |
| 170680 | const manyptr_const_u32_ty = try pt.ptrType(.{ | | |
| 170681 | .child = .u32_type, | | |
| 170682 | .flags = .{ | | |
| 170683 | .size = .many, | | |
| 170684 | .is_const = true, | | |
| 170685 | }, | | |
| 170686 | }); | | |
| 170687 | _ = try self.genCall(.{ .extern_func = .{ | | |
| 170688 | .return_type = .void_type, | | |
| 170689 | .param_types = &.{ | | |
| 170690 | manyptr_u32_ty.toIntern(), | | |
| 170691 | manyptr_const_u32_ty.toIntern(), | | |
| 170692 | manyptr_const_u32_ty.toIntern(), | | |
| 170693 | .usize_type, | | |
| 170694 | }, | | |
| 170695 | .sym = switch (tag) { | | |
| 170696 | .div_trunc, | | |
| 170697 | .div_floor, | | |
| 170698 | .div_exact, | | |
| 170699 | => "__udivei4", | | |
| 170700 | .rem, | | |
| 170701 | .mod, | | |
| 170702 | => "__umodei4", | | |
| 170703 | else => unreachable, | | |
| 170704 | }, | | |
| 170705 | } }, &.{ | | |
| 170706 | manyptr_u32_ty, | | |
| 170707 | manyptr_const_u32_ty, | | |
| 170708 | manyptr_const_u32_ty, | | |
| 170709 | .usize, | | |
| 170710 | }, &.{ | | |
| 170711 | dst_mcv.address(), | | |
| 170712 | lhs_mcv.address(), | | |
| 170713 | rhs_mcv.address(), | | |
| 170714 | .{ .immediate = 8 * src_abi_size }, | | |
| 170715 | }, .{}); | | |
| 170716 | return dst_mcv; | | |
| 170717 | }, | | |
| 170718 | }, | | |
| 170719 | else => {}, | | |
| 170720 | } | | |
| 170721 | return self.fail( | | |
| 170722 | "TODO implement genMulDivBinOp for {s} from {} to {}", | | |
| 170723 | .{ @tagName(tag), src_ty.fmt(pt), dst_ty.fmt(pt) }, | | |
| 170724 | ); | | |
| 170725 | } | | |
| 170726 | const ty = if (dst_abi_size <= 8) dst_ty else src_ty; | | |
| 170727 | const abi_size = if (dst_abi_size <= 8) dst_abi_size else src_abi_size; | | |
| 170728 | | | |
| 170729 | const reg_locks = self.register_manager.lockRegs(2, .{ .rax, .rdx }); | | |
| 170730 | defer for (reg_locks) |reg_lock| if (reg_lock) |lock| self.register_manager.unlockReg(lock); | | |
| 170731 | | | |
| 170732 | const int_info = ty.intInfo(zcu); | | |
| 170733 | const signedness = int_info.signedness; | | |
| 170734 | switch (tag) { | | |
| 170735 | .mul, | | |
| 170736 | .mul_wrap, | | |
| 170737 | .rem, | | |
| 170738 | .div_trunc, | | |
| 170739 | .div_exact, | | |
| 170740 | => { | | |
| 170741 | const track_inst_rax = switch (tag) { | | |
| 170742 | .mul, .mul_wrap => if (dst_abi_size <= 8) maybe_inst else null, | | |
| 170743 | .div_exact, .div_trunc => maybe_inst, | | |
| 170744 | else => null, | | |
| 170745 | }; | | |
| 170746 | const track_inst_rdx = switch (tag) { | | |
| 170747 | .rem => maybe_inst, | | |
| 170748 | else => null, | | |
| 170749 | }; | | |
| 170750 | try self.register_manager.getKnownReg(.rax, track_inst_rax); | | |
| 170751 | try self.register_manager.getKnownReg(.rdx, track_inst_rdx); | | |
| 170752 | | | |
| 170753 | try self.genIntMulDivOpMir(switch (signedness) { | | |
| 170754 | .signed => switch (tag) { | | |
| 170755 | .mul, .mul_wrap => .{ .i_, .mul }, | | |
| 170756 | .div_trunc, .div_exact, .rem => .{ .i_, .div }, | | |
| 170757 | else => unreachable, | | |
| 170758 | }, | | |
| 170759 | .unsigned => switch (tag) { | | |
| 170760 | .mul, .mul_wrap => .{ ._, .mul }, | | |
| 170761 | .div_trunc, .div_exact, .rem => .{ ._, .div }, | | |
| 170762 | else => unreachable, | | |
| 170763 | }, | | |
| 170764 | }, ty, lhs_mcv, rhs_mcv); | | |
| 170765 | | | |
| 170766 | switch (tag) { | | |
| 170767 | .mul, .rem, .div_trunc, .div_exact => {}, | | |
| 170768 | .mul_wrap => if (dst_ty.intInfo(zcu).bits < 8 * dst_abi_size) try self.truncateRegister( | | |
| 170769 | dst_ty, | | |
| 170770 | if (dst_abi_size <= 8) .rax else .rdx, | | |
| 170771 | ), | | |
| 170772 | else => unreachable, | | |
| 170773 | } | | |
| 170774 | | | |
| 170775 | if (dst_abi_size <= 8) return .{ .register = registerAlias(switch (tag) { | | |
| 170776 | .mul, .mul_wrap, .div_trunc, .div_exact => .rax, | | |
| 170777 | .rem => .rdx, | | |
| 170778 | else => unreachable, | | |
| 170779 | }, dst_abi_size) }; | | |
| 170780 | | | |
| 170781 | const dst_mcv = try self.allocRegOrMemAdvanced(dst_ty, maybe_inst, false); | | |
| 170782 | try self.asmMemoryRegister(.{ ._, .mov }, .{ | | |
| 170783 | .base = .{ .frame = dst_mcv.load_frame.index }, | | |
| 170784 | .mod = .{ .rm = .{ | | |
| 170785 | .size = .qword, | | |
| 170786 | .disp = dst_mcv.load_frame.off, | | |
| 170787 | } }, | | |
| 170788 | }, .rax); | | |
| 170789 | try self.asmMemoryRegister(.{ ._, .mov }, .{ | | |
| 170790 | .base = .{ .frame = dst_mcv.load_frame.index }, | | |
| 170791 | .mod = .{ .rm = .{ | | |
| 170792 | .size = .qword, | | |
| 170793 | .disp = dst_mcv.load_frame.off + 8, | | |
| 170794 | } }, | | |
| 170795 | }, .rdx); | | |
| 170796 | return dst_mcv; | | |
| 170797 | }, | | |
| 170798 | | | |
| 170799 | .mod => { | | |
| 170800 | try self.register_manager.getKnownReg(.rax, null); | | |
| 170801 | try self.register_manager.getKnownReg( | | |
| 170802 | .rdx, | | |
| 170803 | if (signedness == .unsigned) maybe_inst else null, | | |
| 170804 | ); | | |
| 170805 | | | |
| 170806 | switch (signedness) { | | |
| 170807 | .signed => { | | |
| 170808 | const lhs_lock = switch (lhs_mcv) { | | |
| 170809 | .register => |reg| self.register_manager.lockReg(reg), | | |
| 170810 | else => null, | | |
| 170811 | }; | | |
| 170812 | defer if (lhs_lock) |lock| self.register_manager.unlockReg(lock); | | |
| 170813 | const rhs_lock = switch (rhs_mcv) { | | |
| 170814 | .register => |reg| self.register_manager.lockReg(reg), | | |
| 170815 | else => null, | | |
| 170816 | }; | | |
| 170817 | defer if (rhs_lock) |lock| self.register_manager.unlockReg(lock); | | |
| 170818 | | | |
| 170819 | // hack around hazard between rhs and div_floor by copying rhs to another register | | |
| 170820 | const rhs_copy = try self.copyToTmpRegister(ty, rhs_mcv); | | |
| 170821 | const rhs_copy_lock = self.register_manager.lockRegAssumeUnused(rhs_copy); | | |
| 170822 | defer self.register_manager.unlockReg(rhs_copy_lock); | | |
| 170823 | | | |
| 170824 | const div_floor = try self.genInlineIntDivFloor(ty, lhs_mcv, rhs_mcv); | | |
| 170825 | try self.genIntMulComplexOpMir(ty, div_floor, .{ .register = rhs_copy }); | | |
| 170826 | const div_floor_lock = self.register_manager.lockReg(div_floor.register); | | |
| 170827 | defer if (div_floor_lock) |lock| self.register_manager.unlockReg(lock); | | |
| 170828 | | | |
| 170829 | const result: MCValue = if (maybe_inst) |inst| | | |
| 170830 | try self.copyToRegisterWithInstTracking(inst, ty, lhs_mcv) | | |
| 170831 | else | | |
| 170832 | .{ .register = try self.copyToTmpRegister(ty, lhs_mcv) }; | | |
| 170833 | try self.genBinOpMir(.{ ._, .sub }, ty, result, div_floor); | | |
| 170834 | | | |
| 170835 | return result; | | |
| 170836 | }, | | |
| 170837 | .unsigned => { | | |
| 170838 | try self.genIntMulDivOpMir(.{ ._, .div }, ty, lhs_mcv, rhs_mcv); | | |
| 170839 | return .{ .register = registerAlias(.rdx, abi_size) }; | | |
| 170840 | }, | | |
| 170841 | } | | |
| 170842 | }, | | |
| 170843 | | | |
| 170844 | .div_floor => { | | |
| 170845 | try self.register_manager.getKnownReg( | | |
| 170846 | .rax, | | |
| 170847 | if (signedness == .unsigned) maybe_inst else null, | | |
| 170848 | ); | | |
| 170849 | try self.register_manager.getKnownReg(.rdx, null); | | |
| 170850 | | | |
| 170851 | const lhs_lock: ?RegisterLock = switch (lhs_mcv) { | | |
| 170852 | .register => |reg| self.register_manager.lockRegAssumeUnused(reg), | | |
| 170853 | else => null, | | |
| 170854 | }; | | |
| 170855 | defer if (lhs_lock) |lock| self.register_manager.unlockReg(lock); | | |
| 170856 | | | |
| 170857 | const actual_rhs_mcv: MCValue = blk: { | | |
| 170858 | switch (signedness) { | | |
| 170859 | .signed => { | | |
| 170860 | const rhs_lock: ?RegisterLock = switch (rhs_mcv) { | | |
| 170861 | .register => |reg| self.register_manager.lockRegAssumeUnused(reg), | | |
| 170862 | else => null, | | |
| 170863 | }; | | |
| 170864 | defer if (rhs_lock) |lock| self.register_manager.unlockReg(lock); | | |
| 170865 | | | |
| 170866 | if (maybe_inst) |inst| { | | |
| 170867 | break :blk try self.copyToRegisterWithInstTracking(inst, ty, rhs_mcv); | | |
| 170868 | } | | |
| 170869 | break :blk MCValue{ .register = try self.copyToTmpRegister(ty, rhs_mcv) }; | | |
| 170870 | }, | | |
| 170871 | .unsigned => break :blk rhs_mcv, | | |
| 170872 | } | | |
| 170873 | }; | | |
| 170874 | const rhs_lock: ?RegisterLock = switch (actual_rhs_mcv) { | | |
| 170875 | .register => |reg| self.register_manager.lockReg(reg), | | |
| 170876 | else => null, | | |
| 170877 | }; | | |
| 170878 | defer if (rhs_lock) |lock| self.register_manager.unlockReg(lock); | | |
| 170879 | | | |
| 170880 | switch (signedness) { | | |
| 170881 | .signed => return try self.genInlineIntDivFloor(ty, lhs_mcv, actual_rhs_mcv), | | |
| 170882 | .unsigned => { | | |
| 170883 | try self.genIntMulDivOpMir(.{ ._, .div }, ty, lhs_mcv, actual_rhs_mcv); | | |
| 170884 | return .{ .register = registerAlias(.rax, abi_size) }; | | |
| 170885 | }, | | |
| 170886 | } | | |
| 170887 | }, | | |
| 170888 | | | |
| 170889 | else => unreachable, | | |
| 170890 | } | | |
| 170891 | } | | |
| 170892 | | | |
| 170893 | fn genBinOp( | 175626 | fn genBinOp( |
| 170894 | self: *CodeGen, | 175627 | self: *CodeGen, |
| 170895 | maybe_inst: ?Air.Inst.Index, | 175628 | maybe_inst: ?Air.Inst.Index, |
| ... | @@ -170904,7 +175637,7 @@ fn genBinOp( | ... | @@ -170904,7 +175637,7 @@ fn genBinOp( |
| 170904 | const abi_size: u32 = @intCast(lhs_ty.abiSize(zcu)); | 175637 | const abi_size: u32 = @intCast(lhs_ty.abiSize(zcu)); |
| 170905 | | 175638 | |
| 170906 | if (lhs_ty.isRuntimeFloat()) libcall: { | 175639 | if (lhs_ty.isRuntimeFloat()) libcall: { |
| 170907 | const float_bits = lhs_ty.floatBits(self.target.*); | 175640 | const float_bits = lhs_ty.floatBits(self.target); |
| 170908 | const type_needs_libcall = switch (float_bits) { | 175641 | const type_needs_libcall = switch (float_bits) { |
| 170909 | 16 => !self.hasFeature(.f16c), | 175642 | 16 => !self.hasFeature(.f16c), |
| 170910 | 32, 64 => false, | 175643 | 32, 64 => false, |
| ... | @@ -171083,7 +175816,7 @@ fn genBinOp( | ... | @@ -171083,7 +175816,7 @@ fn genBinOp( |
| 171083 | }, | 175816 | }, |
| 171084 | }; | 175817 | }; |
| 171085 | if (sse_op and ((lhs_ty.scalarType(zcu).isRuntimeFloat() and | 175818 | if (sse_op and ((lhs_ty.scalarType(zcu).isRuntimeFloat() and |
| 171086 | lhs_ty.scalarType(zcu).floatBits(self.target.*) == 80) or | 175819 | lhs_ty.scalarType(zcu).floatBits(self.target) == 80) or |
| 171087 | lhs_ty.abiSize(zcu) > self.vectorSize(.float))) | 175820 | lhs_ty.abiSize(zcu) > self.vectorSize(.float))) |
| 171088 | return self.fail("TODO implement genBinOp for {s} {}", .{ @tagName(air_tag), lhs_ty.fmt(pt) }); | 175821 | return self.fail("TODO implement genBinOp for {s} {}", .{ @tagName(air_tag), lhs_ty.fmt(pt) }); |
| 171089 | | 175822 | |
| ... | @@ -171403,6 +176136,7 @@ fn genBinOp( | ... | @@ -171403,6 +176136,7 @@ fn genBinOp( |
| 171403 | .register_offset, | 176136 | .register_offset, |
| 171404 | .register_overflow, | 176137 | .register_overflow, |
| 171405 | .register_mask, | 176138 | .register_mask, |
| | 176139 | .indirect_load_frame, |
| 171406 | .lea_frame, | 176140 | .lea_frame, |
| 171407 | .load_nav, | 176141 | .load_nav, |
| 171408 | .lea_nav, | 176142 | .lea_nav, |
| ... | @@ -171474,7 +176208,7 @@ fn genBinOp( | ... | @@ -171474,7 +176208,7 @@ fn genBinOp( |
| 171474 | const dst_reg = registerAlias(dst_mcv.getReg().?, abi_size); | 176208 | const dst_reg = registerAlias(dst_mcv.getReg().?, abi_size); |
| 171475 | const mir_tag = @as(?Mir.Inst.FixedTag, switch (lhs_ty.zigTypeTag(zcu)) { | 176209 | const mir_tag = @as(?Mir.Inst.FixedTag, switch (lhs_ty.zigTypeTag(zcu)) { |
| 171476 | else => unreachable, | 176210 | else => unreachable, |
| 171477 | .float => switch (lhs_ty.floatBits(self.target.*)) { | 176211 | .float => switch (lhs_ty.floatBits(self.target)) { |
| 171478 | 16 => { | 176212 | 16 => { |
| 171479 | assert(self.hasFeature(.f16c)); | 176213 | assert(self.hasFeature(.f16c)); |
| 171480 | const lhs_reg = if (copied_to_dst) dst_reg else registerAlias(lhs_mcv.getReg().?, abi_size); | 176214 | const lhs_reg = if (copied_to_dst) dst_reg else registerAlias(lhs_mcv.getReg().?, abi_size); |
| ... | @@ -171917,7 +176651,7 @@ fn genBinOp( | ... | @@ -171917,7 +176651,7 @@ fn genBinOp( |
| 171917 | }, | 176651 | }, |
| 171918 | else => null, | 176652 | else => null, |
| 171919 | }, | 176653 | }, |
| 171920 | .float => switch (lhs_ty.childType(zcu).floatBits(self.target.*)) { | 176654 | .float => switch (lhs_ty.childType(zcu).floatBits(self.target)) { |
| 171921 | 16 => tag: { | 176655 | 16 => tag: { |
| 171922 | assert(self.hasFeature(.f16c)); | 176656 | assert(self.hasFeature(.f16c)); |
| 171923 | const lhs_reg = if (copied_to_dst) dst_reg else registerAlias(lhs_mcv.getReg().?, abi_size); | 176657 | const lhs_reg = if (copied_to_dst) dst_reg else registerAlias(lhs_mcv.getReg().?, abi_size); |
| ... | @@ -172238,7 +176972,7 @@ fn genBinOp( | ... | @@ -172238,7 +176972,7 @@ fn genBinOp( |
| 172238 | lhs_reg, | 176972 | lhs_reg, |
| 172239 | try src_mcv.mem(self, .{ .size = switch (lhs_ty.zigTypeTag(zcu)) { | 176973 | try src_mcv.mem(self, .{ .size = switch (lhs_ty.zigTypeTag(zcu)) { |
| 172240 | else => .fromSize(abi_size), | 176974 | else => .fromSize(abi_size), |
| 172241 | .vector => .fromBitSize(dst_reg.bitSize()), | 176975 | .vector => dst_reg.size(), |
| 172242 | } }), | 176976 | } }), |
| 172243 | ) else try self.asmRegisterRegisterRegister( | 176977 | ) else try self.asmRegisterRegisterRegister( |
| 172244 | mir_tag, | 176978 | mir_tag, |
| ... | @@ -172256,7 +176990,7 @@ fn genBinOp( | ... | @@ -172256,7 +176990,7 @@ fn genBinOp( |
| 172256 | dst_reg, | 176990 | dst_reg, |
| 172257 | try src_mcv.mem(self, .{ .size = switch (lhs_ty.zigTypeTag(zcu)) { | 176991 | try src_mcv.mem(self, .{ .size = switch (lhs_ty.zigTypeTag(zcu)) { |
| 172258 | else => .fromSize(abi_size), | 176992 | else => .fromSize(abi_size), |
| 172259 | .vector => .fromBitSize(dst_reg.bitSize()), | 176993 | .vector => dst_reg.size(), |
| 172260 | } }), | 176994 | } }), |
| 172261 | ) else try self.asmRegisterRegister( | 176995 | ) else try self.asmRegisterRegister( |
| 172262 | mir_tag, | 176996 | mir_tag, |
| ... | @@ -172284,7 +177018,7 @@ fn genBinOp( | ... | @@ -172284,7 +177018,7 @@ fn genBinOp( |
| 172284 | lhs_reg, | 177018 | lhs_reg, |
| 172285 | try src_mcv.mem(self, .{ .size = switch (lhs_ty.zigTypeTag(zcu)) { | 177019 | try src_mcv.mem(self, .{ .size = switch (lhs_ty.zigTypeTag(zcu)) { |
| 172286 | else => .fromSize(abi_size), | 177020 | else => .fromSize(abi_size), |
| 172287 | .vector => .fromBitSize(dst_reg.bitSize()), | 177021 | .vector => dst_reg.size(), |
| 172288 | } }), | 177022 | } }), |
| 172289 | imm, | 177023 | imm, |
| 172290 | ) else try self.asmRegisterRegisterRegisterImmediate( | 177024 | ) else try self.asmRegisterRegisterRegisterImmediate( |
| ... | @@ -172304,7 +177038,7 @@ fn genBinOp( | ... | @@ -172304,7 +177038,7 @@ fn genBinOp( |
| 172304 | dst_reg, | 177038 | dst_reg, |
| 172305 | try src_mcv.mem(self, .{ .size = switch (lhs_ty.zigTypeTag(zcu)) { | 177039 | try src_mcv.mem(self, .{ .size = switch (lhs_ty.zigTypeTag(zcu)) { |
| 172306 | else => .fromSize(abi_size), | 177040 | else => .fromSize(abi_size), |
| 172307 | .vector => .fromBitSize(dst_reg.bitSize()), | 177041 | .vector => dst_reg.size(), |
| 172308 | } }), | 177042 | } }), |
| 172309 | imm, | 177043 | imm, |
| 172310 | ) else try self.asmRegisterRegisterImmediate( | 177044 | ) else try self.asmRegisterRegisterImmediate( |
| ... | @@ -172321,29 +177055,20 @@ fn genBinOp( | ... | @@ -172321,29 +177055,20 @@ fn genBinOp( |
| 172321 | } | 177055 | } |
| 172322 | | 177056 | |
| 172323 | switch (air_tag) { | 177057 | switch (air_tag) { |
| 172324 | .add, .add_wrap, .sub, .sub_wrap, .mul, .mul_wrap, .div_float, .div_exact => {}, | | |
| 172325 | .div_trunc, .div_floor => try self.genRound(lhs_ty, dst_reg, .{ .register = dst_reg }, .{ | | |
| 172326 | .direction = switch (air_tag) { | | |
| 172327 | .div_trunc => .zero, | | |
| 172328 | .div_floor => .down, | | |
| 172329 | else => unreachable, | | |
| 172330 | }, | | |
| 172331 | .precision = .inexact, | | |
| 172332 | }), | | |
| 172333 | .bit_and, .bit_or, .xor => {}, | 177058 | .bit_and, .bit_or, .xor => {}, |
| 172334 | .max, .min => if (maybe_mask_reg) |mask_reg| if (self.hasFeature(.avx)) { | 177059 | .max, .min => if (maybe_mask_reg) |mask_reg| if (self.hasFeature(.avx)) { |
| 172335 | const rhs_copy_reg = registerAlias(src_mcv.getReg().?, abi_size); | 177060 | const rhs_copy_reg = registerAlias(src_mcv.getReg().?, abi_size); |
| 172336 | | 177061 | |
| 172337 | try self.asmRegisterRegisterRegisterImmediate( | 177062 | try self.asmRegisterRegisterRegisterImmediate( |
| 172338 | @as(?Mir.Inst.FixedTag, switch (lhs_ty.zigTypeTag(zcu)) { | 177063 | @as(?Mir.Inst.FixedTag, switch (lhs_ty.zigTypeTag(zcu)) { |
| 172339 | .float => switch (lhs_ty.floatBits(self.target.*)) { | 177064 | .float => switch (lhs_ty.floatBits(self.target)) { |
| 172340 | 32 => .{ .v_ss, .cmp }, | 177065 | 32 => .{ .v_ss, .cmp }, |
| 172341 | 64 => .{ .v_sd, .cmp }, | 177066 | 64 => .{ .v_sd, .cmp }, |
| 172342 | 16, 80, 128 => null, | 177067 | 16, 80, 128 => null, |
| 172343 | else => unreachable, | 177068 | else => unreachable, |
| 172344 | }, | 177069 | }, |
| 172345 | .vector => switch (lhs_ty.childType(zcu).zigTypeTag(zcu)) { | 177070 | .vector => switch (lhs_ty.childType(zcu).zigTypeTag(zcu)) { |
| 172346 | .float => switch (lhs_ty.childType(zcu).floatBits(self.target.*)) { | 177071 | .float => switch (lhs_ty.childType(zcu).floatBits(self.target)) { |
| 172347 | 32 => switch (lhs_ty.vectorLen(zcu)) { | 177072 | 32 => switch (lhs_ty.vectorLen(zcu)) { |
| 172348 | 1 => .{ .v_ss, .cmp }, | 177073 | 1 => .{ .v_ss, .cmp }, |
| 172349 | 2...8 => .{ .v_ps, .cmp }, | 177074 | 2...8 => .{ .v_ps, .cmp }, |
| ... | @@ -172370,14 +177095,14 @@ fn genBinOp( | ... | @@ -172370,14 +177095,14 @@ fn genBinOp( |
| 172370 | ); | 177095 | ); |
| 172371 | try self.asmRegisterRegisterRegisterRegister( | 177096 | try self.asmRegisterRegisterRegisterRegister( |
| 172372 | @as(?Mir.Inst.FixedTag, switch (lhs_ty.zigTypeTag(zcu)) { | 177097 | @as(?Mir.Inst.FixedTag, switch (lhs_ty.zigTypeTag(zcu)) { |
| 172373 | .float => switch (lhs_ty.floatBits(self.target.*)) { | 177098 | .float => switch (lhs_ty.floatBits(self.target)) { |
| 172374 | 32 => .{ .v_ps, .blendv }, | 177099 | 32 => .{ .v_ps, .blendv }, |
| 172375 | 64 => .{ .v_pd, .blendv }, | 177100 | 64 => .{ .v_pd, .blendv }, |
| 172376 | 16, 80, 128 => null, | 177101 | 16, 80, 128 => null, |
| 172377 | else => unreachable, | 177102 | else => unreachable, |
| 172378 | }, | 177103 | }, |
| 172379 | .vector => switch (lhs_ty.childType(zcu).zigTypeTag(zcu)) { | 177104 | .vector => switch (lhs_ty.childType(zcu).zigTypeTag(zcu)) { |
| 172380 | .float => switch (lhs_ty.childType(zcu).floatBits(self.target.*)) { | 177105 | .float => switch (lhs_ty.childType(zcu).floatBits(self.target)) { |
| 172381 | 32 => switch (lhs_ty.vectorLen(zcu)) { | 177106 | 32 => switch (lhs_ty.vectorLen(zcu)) { |
| 172382 | 1...8 => .{ .v_ps, .blendv }, | 177107 | 1...8 => .{ .v_ps, .blendv }, |
| 172383 | else => null, | 177108 | else => null, |
| ... | @@ -172404,14 +177129,14 @@ fn genBinOp( | ... | @@ -172404,14 +177129,14 @@ fn genBinOp( |
| 172404 | const has_blend = self.hasFeature(.sse4_1); | 177129 | const has_blend = self.hasFeature(.sse4_1); |
| 172405 | try self.asmRegisterRegisterImmediate( | 177130 | try self.asmRegisterRegisterImmediate( |
| 172406 | @as(?Mir.Inst.FixedTag, switch (lhs_ty.zigTypeTag(zcu)) { | 177131 | @as(?Mir.Inst.FixedTag, switch (lhs_ty.zigTypeTag(zcu)) { |
| 172407 | .float => switch (lhs_ty.floatBits(self.target.*)) { | 177132 | .float => switch (lhs_ty.floatBits(self.target)) { |
| 172408 | 32 => .{ ._ss, .cmp }, | 177133 | 32 => .{ ._ss, .cmp }, |
| 172409 | 64 => .{ ._sd, .cmp }, | 177134 | 64 => .{ ._sd, .cmp }, |
| 172410 | 16, 80, 128 => null, | 177135 | 16, 80, 128 => null, |
| 172411 | else => unreachable, | 177136 | else => unreachable, |
| 172412 | }, | 177137 | }, |
| 172413 | .vector => switch (lhs_ty.childType(zcu).zigTypeTag(zcu)) { | 177138 | .vector => switch (lhs_ty.childType(zcu).zigTypeTag(zcu)) { |
| 172414 | .float => switch (lhs_ty.childType(zcu).floatBits(self.target.*)) { | 177139 | .float => switch (lhs_ty.childType(zcu).floatBits(self.target)) { |
| 172415 | 32 => switch (lhs_ty.vectorLen(zcu)) { | 177140 | 32 => switch (lhs_ty.vectorLen(zcu)) { |
| 172416 | 1 => .{ ._ss, .cmp }, | 177141 | 1 => .{ ._ss, .cmp }, |
| 172417 | 2...4 => .{ ._ps, .cmp }, | 177142 | 2...4 => .{ ._ps, .cmp }, |
| ... | @@ -172437,14 +177162,14 @@ fn genBinOp( | ... | @@ -172437,14 +177162,14 @@ fn genBinOp( |
| 172437 | ); | 177162 | ); |
| 172438 | if (has_blend) try self.asmRegisterRegisterRegister( | 177163 | if (has_blend) try self.asmRegisterRegisterRegister( |
| 172439 | @as(?Mir.Inst.FixedTag, switch (lhs_ty.zigTypeTag(zcu)) { | 177164 | @as(?Mir.Inst.FixedTag, switch (lhs_ty.zigTypeTag(zcu)) { |
| 172440 | .float => switch (lhs_ty.floatBits(self.target.*)) { | 177165 | .float => switch (lhs_ty.floatBits(self.target)) { |
| 172441 | 32 => .{ ._ps, .blendv }, | 177166 | 32 => .{ ._ps, .blendv }, |
| 172442 | 64 => .{ ._pd, .blendv }, | 177167 | 64 => .{ ._pd, .blendv }, |
| 172443 | 16, 80, 128 => null, | 177168 | 16, 80, 128 => null, |
| 172444 | else => unreachable, | 177169 | else => unreachable, |
| 172445 | }, | 177170 | }, |
| 172446 | .vector => switch (lhs_ty.childType(zcu).zigTypeTag(zcu)) { | 177171 | .vector => switch (lhs_ty.childType(zcu).zigTypeTag(zcu)) { |
| 172447 | .float => switch (lhs_ty.childType(zcu).floatBits(self.target.*)) { | 177172 | .float => switch (lhs_ty.childType(zcu).floatBits(self.target)) { |
| 172448 | 32 => switch (lhs_ty.vectorLen(zcu)) { | 177173 | 32 => switch (lhs_ty.vectorLen(zcu)) { |
| 172449 | 1...4 => .{ ._ps, .blendv }, | 177174 | 1...4 => .{ ._ps, .blendv }, |
| 172450 | else => null, | 177175 | else => null, |
| ... | @@ -172467,14 +177192,14 @@ fn genBinOp( | ... | @@ -172467,14 +177192,14 @@ fn genBinOp( |
| 172467 | mask_reg, | 177192 | mask_reg, |
| 172468 | ) else { | 177193 | ) else { |
| 172469 | const mir_fixes = @as(?Mir.Inst.Fixes, switch (lhs_ty.zigTypeTag(zcu)) { | 177194 | const mir_fixes = @as(?Mir.Inst.Fixes, switch (lhs_ty.zigTypeTag(zcu)) { |
| 172470 | .float => switch (lhs_ty.floatBits(self.target.*)) { | 177195 | .float => switch (lhs_ty.floatBits(self.target)) { |
| 172471 | 32 => ._ps, | 177196 | 32 => ._ps, |
| 172472 | 64 => ._pd, | 177197 | 64 => ._pd, |
| 172473 | 16, 80, 128 => null, | 177198 | 16, 80, 128 => null, |
| 172474 | else => unreachable, | 177199 | else => unreachable, |
| 172475 | }, | 177200 | }, |
| 172476 | .vector => switch (lhs_ty.childType(zcu).zigTypeTag(zcu)) { | 177201 | .vector => switch (lhs_ty.childType(zcu).zigTypeTag(zcu)) { |
| 172477 | .float => switch (lhs_ty.childType(zcu).floatBits(self.target.*)) { | 177202 | .float => switch (lhs_ty.childType(zcu).floatBits(self.target)) { |
| 172478 | 32 => switch (lhs_ty.vectorLen(zcu)) { | 177203 | 32 => switch (lhs_ty.vectorLen(zcu)) { |
| 172479 | 1...4 => ._ps, | 177204 | 1...4 => ._ps, |
| 172480 | else => null, | 177205 | else => null, |
| ... | @@ -172596,6 +177321,7 @@ fn genBinOpMir( | ... | @@ -172596,6 +177321,7 @@ fn genBinOpMir( |
| 172596 | .lea_uav, | 177321 | .lea_uav, |
| 172597 | .lea_lazy_sym, | 177322 | .lea_lazy_sym, |
| 172598 | .lea_extern_func, | 177323 | .lea_extern_func, |
| | 177324 | .indirect_load_frame, |
| 172599 | .elementwise_args, | 177325 | .elementwise_args, |
| 172600 | .reserved_frame, | 177326 | .reserved_frame, |
| 172601 | .air_ref, | 177327 | .air_ref, |
| ... | @@ -172632,6 +177358,7 @@ fn genBinOpMir( | ... | @@ -172632,6 +177358,7 @@ fn genBinOpMir( |
| 172632 | .undef, | 177358 | .undef, |
| 172633 | .register_overflow, | 177359 | .register_overflow, |
| 172634 | .register_mask, | 177360 | .register_mask, |
| | 177361 | .indirect_load_frame, |
| 172635 | .elementwise_args, | 177362 | .elementwise_args, |
| 172636 | .reserved_frame, | 177363 | .reserved_frame, |
| 172637 | => unreachable, | 177364 | => unreachable, |
| ... | @@ -172803,6 +177530,7 @@ fn genBinOpMir( | ... | @@ -172803,6 +177530,7 @@ fn genBinOpMir( |
| 172803 | .undef, | 177530 | .undef, |
| 172804 | .register_overflow, | 177531 | .register_overflow, |
| 172805 | .register_mask, | 177532 | .register_mask, |
| | 177533 | .indirect_load_frame, |
| 172806 | .elementwise_args, | 177534 | .elementwise_args, |
| 172807 | .reserved_frame, | 177535 | .reserved_frame, |
| 172808 | .air_ref, | 177536 | .air_ref, |
| ... | @@ -172906,6 +177634,7 @@ fn genBinOpMir( | ... | @@ -172906,6 +177634,7 @@ fn genBinOpMir( |
| 172906 | .undef, | 177634 | .undef, |
| 172907 | .register_overflow, | 177635 | .register_overflow, |
| 172908 | .register_mask, | 177636 | .register_mask, |
| | 177637 | .indirect_load_frame, |
| 172909 | .elementwise_args, | 177638 | .elementwise_args, |
| 172910 | .reserved_frame, | 177639 | .reserved_frame, |
| 172911 | .air_ref, | 177640 | .air_ref, |
| ... | @@ -173036,6 +177765,7 @@ fn genIntMulComplexOpMir(self: *CodeGen, dst_ty: Type, dst_mcv: MCValue, src_mcv | ... | @@ -173036,6 +177765,7 @@ fn genIntMulComplexOpMir(self: *CodeGen, dst_ty: Type, dst_mcv: MCValue, src_mcv |
| 173036 | .register_offset, | 177765 | .register_offset, |
| 173037 | .register_overflow, | 177766 | .register_overflow, |
| 173038 | .register_mask, | 177767 | .register_mask, |
| | 177768 | .indirect_load_frame, |
| 173039 | .lea_frame, | 177769 | .lea_frame, |
| 173040 | .lea_nav, | 177770 | .lea_nav, |
| 173041 | .lea_uav, | 177771 | .lea_uav, |
| ... | @@ -173073,6 +177803,7 @@ fn genIntMulComplexOpMir(self: *CodeGen, dst_ty: Type, dst_mcv: MCValue, src_mcv | ... | @@ -173073,6 +177803,7 @@ fn genIntMulComplexOpMir(self: *CodeGen, dst_ty: Type, dst_mcv: MCValue, src_mcv |
| 173073 | .register_quadruple, | 177803 | .register_quadruple, |
| 173074 | .register_overflow, | 177804 | .register_overflow, |
| 173075 | .register_mask, | 177805 | .register_mask, |
| | 177806 | .indirect_load_frame, |
| 173076 | .elementwise_args, | 177807 | .elementwise_args, |
| 173077 | .reserved_frame, | 177808 | .reserved_frame, |
| 173078 | .air_ref, | 177809 | .air_ref, |
| ... | @@ -173195,11 +177926,20 @@ fn airArg(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -173195,11 +177926,20 @@ fn airArg(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 173195 | break :result src_mcv; | 177926 | break :result src_mcv; |
| 173196 | }, | 177927 | }, |
| 173197 | .indirect => |reg_off| { | 177928 | .indirect => |reg_off| { |
| 173198 | self.register_manager.getRegAssumeFree(reg_off.reg, inst); | 177929 | self.register_manager.getRegAssumeFree(reg_off.reg, null); |
| 173199 | const dst_mcv = try self.allocRegOrMem(inst, false); | 177930 | const dst_mcv = try self.allocRegOrMem(inst, false); |
| 173200 | try self.genCopy(arg_ty, dst_mcv, src_mcv, .{}); | 177931 | try self.genCopy(arg_ty, dst_mcv, src_mcv, .{}); |
| 173201 | break :result dst_mcv; | 177932 | break :result dst_mcv; |
| 173202 | }, | 177933 | }, |
| | 177934 | .indirect_load_frame => |frame_addr| { |
| | 177935 | const dst_mcv = try self.allocRegOrMem(inst, false); |
| | 177936 | const ptr_reg = try self.register_manager.allocReg(null, abi.RegisterClass.gp); |
| | 177937 | const ptr_lock = self.register_manager.lockRegAssumeUnused(ptr_reg); |
| | 177938 | defer self.register_manager.unlockReg(ptr_lock); |
| | 177939 | try self.genSetReg(ptr_reg, .usize, .{ .load_frame = frame_addr }, .{}); |
| | 177940 | try self.genCopy(arg_ty, dst_mcv, .{ .indirect = .{ .reg = ptr_reg } }, .{}); |
| | 177941 | break :result dst_mcv; |
| | 177942 | }, |
| 173203 | .elementwise_args => |regs_frame_addr| { | 177943 | .elementwise_args => |regs_frame_addr| { |
| 173204 | try self.spillEflagsIfOccupied(); | 177944 | try self.spillEflagsIfOccupied(); |
| 173205 | | 177945 | |
| ... | @@ -173398,18 +178138,6 @@ fn genLocalDebugInfo(cg: *CodeGen, air_tag: Air.Inst.Tag, ty: Type, mcv: MCValue | ... | @@ -173398,18 +178138,6 @@ fn genLocalDebugInfo(cg: *CodeGen, air_tag: Air.Inst.Tag, ty: Type, mcv: MCValue |
| 173398 | }; | 178138 | }; |
| 173399 | } | 178139 | } |
| 173400 | | 178140 | |
| 173401 | fn airRetAddr(self: *CodeGen, inst: Air.Inst.Index) !void { | | |
| 173402 | const dst_mcv = try self.allocRegOrMem(inst, true); | | |
| 173403 | try self.genCopy(.usize, dst_mcv, .{ .load_frame = .{ .index = .ret_addr } }, .{}); | | |
| 173404 | return self.finishAir(inst, dst_mcv, .{ .none, .none, .none }); | | |
| 173405 | } | | |
| 173406 | | | |
| 173407 | fn airFrameAddress(self: *CodeGen, inst: Air.Inst.Index) !void { | | |
| 173408 | const dst_mcv = try self.allocRegOrMem(inst, true); | | |
| 173409 | try self.genCopy(.usize, dst_mcv, .{ .lea_frame = .{ .index = .base_ptr } }, .{}); | | |
| 173410 | return self.finishAir(inst, dst_mcv, .{ .none, .none, .none }); | | |
| 173411 | } | | |
| 173412 | | | |
| 173413 | fn airCall(self: *CodeGen, inst: Air.Inst.Index, modifier: std.builtin.CallModifier, opts: CopyOptions) !void { | 178141 | fn airCall(self: *CodeGen, inst: Air.Inst.Index, modifier: std.builtin.CallModifier, opts: CopyOptions) !void { |
| 173414 | if (modifier == .always_tail) return self.fail("TODO implement tail calls for x86_64", .{}); | 178142 | if (modifier == .always_tail) return self.fail("TODO implement tail calls for x86_64", .{}); |
| 173415 | | 178143 | |
| ... | @@ -173541,7 +178269,7 @@ fn genCall(self: *CodeGen, info: union(enum) { | ... | @@ -173541,7 +178269,7 @@ fn genCall(self: *CodeGen, info: union(enum) { |
| 173541 | }, | 178269 | }, |
| 173542 | .load_frame => { | 178270 | .load_frame => { |
| 173543 | try self.genCopy(arg_ty, dst_arg, src_arg, opts); | 178271 | try self.genCopy(arg_ty, dst_arg, src_arg, opts); |
| 173544 | try self.freeValue(src_arg); | 178272 | try self.freeValue(src_arg, .{}); |
| 173545 | }, | 178273 | }, |
| 173546 | .elementwise_args => |regs_frame_addr| { | 178274 | .elementwise_args => |regs_frame_addr| { |
| 173547 | const index_reg = try self.register_manager.allocReg(null, abi.RegisterClass.gp); | 178275 | const index_reg = try self.register_manager.allocReg(null, abi.RegisterClass.gp); |
| ... | @@ -173832,7 +178560,7 @@ fn airCmp(self: *CodeGen, inst: Air.Inst.Index, op: std.math.CompareOperator) !v | ... | @@ -173832,7 +178560,7 @@ fn airCmp(self: *CodeGen, inst: Air.Inst.Index, op: std.math.CompareOperator) !v |
| 173832 | | 178560 | |
| 173833 | switch (ty.zigTypeTag(zcu)) { | 178561 | switch (ty.zigTypeTag(zcu)) { |
| 173834 | .float => { | 178562 | .float => { |
| 173835 | const float_bits = ty.floatBits(self.target.*); | 178563 | const float_bits = ty.floatBits(self.target); |
| 173836 | if (!switch (float_bits) { | 178564 | if (!switch (float_bits) { |
| 173837 | 16 => self.hasFeature(.f16c), | 178565 | 16 => self.hasFeature(.f16c), |
| 173838 | 32 => self.hasFeature(.sse), | 178566 | 32 => self.hasFeature(.sse), |
| ... | @@ -174188,7 +178916,7 @@ fn airCmp(self: *CodeGen, inst: Air.Inst.Index, op: std.math.CompareOperator) !v | ... | @@ -174188,7 +178916,7 @@ fn airCmp(self: *CodeGen, inst: Air.Inst.Index, op: std.math.CompareOperator) !v |
| 174188 | defer if (dst_lock) |lock| self.register_manager.unlockReg(lock); | 178916 | defer if (dst_lock) |lock| self.register_manager.unlockReg(lock); |
| 174189 | const src_mcv = if (flipped) lhs_mcv else rhs_mcv; | 178917 | const src_mcv = if (flipped) lhs_mcv else rhs_mcv; |
| 174190 | | 178918 | |
| 174191 | switch (ty.floatBits(self.target.*)) { | 178919 | switch (ty.floatBits(self.target)) { |
| 174192 | 16 => { | 178920 | 16 => { |
| 174193 | assert(self.hasFeature(.f16c)); | 178921 | assert(self.hasFeature(.f16c)); |
| 174194 | const tmp1_reg = | 178922 | const tmp1_reg = |
| ... | @@ -174265,39 +178993,6 @@ fn airCmpVector(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -174265,39 +178993,6 @@ fn airCmpVector(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 174265 | return self.finishAir(inst, dst_mcv, .{ extra.lhs, extra.rhs, .none }); | 178993 | return self.finishAir(inst, dst_mcv, .{ extra.lhs, extra.rhs, .none }); |
| 174266 | } | 178994 | } |
| 174267 | | 178995 | |
| 174268 | fn airCmpLtErrorsLen(self: *CodeGen, inst: Air.Inst.Index) !void { | | |
| 174269 | const pt = self.pt; | | |
| 174270 | const zcu = pt.zcu; | | |
| 174271 | const un_op = self.air.instructions.items(.data)[@intFromEnum(inst)].un_op; | | |
| 174272 | | | |
| 174273 | const addr_reg = try self.register_manager.allocReg(null, abi.RegisterClass.gp); | | |
| 174274 | const addr_lock = self.register_manager.lockRegAssumeUnused(addr_reg); | | |
| 174275 | defer self.register_manager.unlockReg(addr_lock); | | |
| 174276 | const anyerror_lazy_sym: link.File.LazySymbol = .{ .kind = .const_data, .ty = .anyerror_type }; | | |
| 174277 | try self.genLazySymbolRef(.lea, addr_reg, anyerror_lazy_sym); | | |
| 174278 | | | |
| 174279 | try self.spillEflagsIfOccupied(); | | |
| 174280 | | | |
| 174281 | const op_ty = self.typeOf(un_op); | | |
| 174282 | const op_abi_size: u32 = @intCast(op_ty.abiSize(zcu)); | | |
| 174283 | const op_mcv = try self.resolveInst(un_op); | | |
| 174284 | const dst_reg = switch (op_mcv) { | | |
| 174285 | .register => |reg| reg, | | |
| 174286 | else => try self.copyToTmpRegister(op_ty, op_mcv), | | |
| 174287 | }; | | |
| 174288 | try self.asmRegisterMemory( | | |
| 174289 | .{ ._, .cmp }, | | |
| 174290 | registerAlias(dst_reg, op_abi_size), | | |
| 174291 | .{ | | |
| 174292 | .base = .{ .reg = addr_reg }, | | |
| 174293 | .mod = .{ .rm = .{ .size = .fromSize(op_abi_size) } }, | | |
| 174294 | }, | | |
| 174295 | ); | | |
| 174296 | | | |
| 174297 | self.eflags_inst = inst; | | |
| 174298 | return self.finishAir(inst, .{ .eflags = .b }, .{ un_op, .none, .none }); | | |
| 174299 | } | | |
| 174300 | | | |
| 174301 | fn airTry(self: *CodeGen, inst: Air.Inst.Index) !void { | 178996 | fn airTry(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 174302 | const pl_op = self.air.instructions.items(.data)[@intFromEnum(inst)].pl_op; | 178997 | const pl_op = self.air.instructions.items(.data)[@intFromEnum(inst)].pl_op; |
| 174303 | const extra = self.air.extraData(Air.Try, pl_op.payload); | 178998 | const extra = self.air.extraData(Air.Try, pl_op.payload); |
| ... | @@ -174335,12 +179030,12 @@ fn genTry( | ... | @@ -174335,12 +179030,12 @@ fn genTry( |
| 174335 | const reloc = try self.genCondBrMir(.anyerror, is_err_mcv); | 179030 | const reloc = try self.genCondBrMir(.anyerror, is_err_mcv); |
| 174336 | | 179031 | |
| 174337 | if (self.liveness.operandDies(inst, 0)) { | 179032 | if (self.liveness.operandDies(inst, 0)) { |
| 174338 | if (operand.toIndex()) |operand_inst| try self.processDeath(operand_inst); | 179033 | if (operand.toIndex()) |operand_inst| try self.processDeath(operand_inst, .{}); |
| 174339 | } | 179034 | } |
| 174340 | | 179035 | |
| 174341 | const state = try self.saveState(); | 179036 | const state = try self.saveState(); |
| 174342 | | 179037 | |
| 174343 | for (liveness_cond_br.else_deaths) |death| try self.processDeath(death); | 179038 | for (liveness_cond_br.else_deaths) |death| try self.processDeath(death, .{}); |
| 174344 | try self.genBodyBlock(body); | 179039 | try self.genBodyBlock(body); |
| 174345 | try self.restoreState(state, &.{}, .{ | 179040 | try self.restoreState(state, &.{}, .{ |
| 174346 | .emit_instructions = false, | 179041 | .emit_instructions = false, |
| ... | @@ -174351,7 +179046,7 @@ fn genTry( | ... | @@ -174351,7 +179046,7 @@ fn genTry( |
| 174351 | | 179046 | |
| 174352 | self.performReloc(reloc); | 179047 | self.performReloc(reloc); |
| 174353 | | 179048 | |
| 174354 | for (liveness_cond_br.then_deaths) |death| try self.processDeath(death); | 179049 | for (liveness_cond_br.then_deaths) |death| try self.processDeath(death, .{}); |
| 174355 | | 179050 | |
| 174356 | const result = if (self.liveness.isUnused(inst)) | 179051 | const result = if (self.liveness.isUnused(inst)) |
| 174357 | .unreach | 179052 | .unreach |
| ... | @@ -174362,33 +179057,6 @@ fn genTry( | ... | @@ -174362,33 +179057,6 @@ fn genTry( |
| 174362 | return result; | 179057 | return result; |
| 174363 | } | 179058 | } |
| 174364 | | 179059 | |
| 174365 | fn airDbgVar(cg: *CodeGen, inst: Air.Inst.Index) !void { | | |
| 174366 | if (cg.mod.strip) return; | | |
| 174367 | const air_tag = cg.air.instructions.items(.tag)[@intFromEnum(inst)]; | | |
| 174368 | const pl_op = cg.air.instructions.items(.data)[@intFromEnum(inst)].pl_op; | | |
| 174369 | const air_name: Air.NullTerminatedString = @enumFromInt(pl_op.payload); | | |
| 174370 | const op_ty = cg.typeOf(pl_op.operand); | | |
| 174371 | const local_ty = switch (air_tag) { | | |
| 174372 | else => unreachable, | | |
| 174373 | .dbg_var_ptr => op_ty.childType(cg.pt.zcu), | | |
| 174374 | .dbg_var_val, .dbg_arg_inline => op_ty, | | |
| 174375 | }; | | |
| 174376 | | | |
| 174377 | try cg.mir_locals.append(cg.gpa, .{ | | |
| 174378 | .name = switch (air_name) { | | |
| 174379 | .none => switch (air_tag) { | | |
| 174380 | else => unreachable, | | |
| 174381 | .dbg_arg_inline => .none, | | |
| 174382 | }, | | |
| 174383 | else => try cg.addString(air_name.toSlice(cg.air)), | | |
| 174384 | }, | | |
| 174385 | .type = local_ty.toIntern(), | | |
| 174386 | }); | | |
| 174387 | | | |
| 174388 | try cg.genLocalDebugInfo(air_tag, local_ty, try cg.resolveInst(pl_op.operand)); | | |
| 174389 | return cg.finishAir(inst, .unreach, .{ pl_op.operand, .none, .none }); | | |
| 174390 | } | | |
| 174391 | | | |
| 174392 | fn genCondBrMir(self: *CodeGen, ty: Type, mcv: MCValue) !Mir.Inst.Index { | 179060 | fn genCondBrMir(self: *CodeGen, ty: Type, mcv: MCValue) !Mir.Inst.Index { |
| 174393 | const pt = self.pt; | 179061 | const pt = self.pt; |
| 174394 | const abi_size = ty.abiSize(pt.zcu); | 179062 | const abi_size = ty.abiSize(pt.zcu); |
| ... | @@ -174431,13 +179099,13 @@ fn airCondBr(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -174431,13 +179099,13 @@ fn airCondBr(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 174431 | // that death now instead of later as this has an effect on | 179099 | // that death now instead of later as this has an effect on |
| 174432 | // whether it needs to be spilled in the branches | 179100 | // whether it needs to be spilled in the branches |
| 174433 | if (self.liveness.operandDies(inst, 0)) { | 179101 | if (self.liveness.operandDies(inst, 0)) { |
| 174434 | if (pl_op.operand.toIndex()) |op_inst| try self.processDeath(op_inst); | 179102 | if (pl_op.operand.toIndex()) |op_inst| try self.processDeath(op_inst, .{}); |
| 174435 | } | 179103 | } |
| 174436 | | 179104 | |
| 174437 | const state = try self.saveState(); | 179105 | const state = try self.saveState(); |
| 174438 | const reloc = try self.genCondBrMir(cond_ty, cond); | 179106 | const reloc = try self.genCondBrMir(cond_ty, cond); |
| 174439 | | 179107 | |
| 174440 | for (liveness_cond_br.then_deaths) |death| try self.processDeath(death); | 179108 | for (liveness_cond_br.then_deaths) |death| try self.processDeath(death, .{}); |
| 174441 | try self.genBodyBlock(then_body); | 179109 | try self.genBodyBlock(then_body); |
| 174442 | try self.restoreState(state, &.{}, .{ | 179110 | try self.restoreState(state, &.{}, .{ |
| 174443 | .emit_instructions = false, | 179111 | .emit_instructions = false, |
| ... | @@ -174448,7 +179116,7 @@ fn airCondBr(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -174448,7 +179116,7 @@ fn airCondBr(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 174448 | | 179116 | |
| 174449 | self.performReloc(reloc); | 179117 | self.performReloc(reloc); |
| 174450 | | 179118 | |
| 174451 | for (liveness_cond_br.else_deaths) |death| try self.processDeath(death); | 179119 | for (liveness_cond_br.else_deaths) |death| try self.processDeath(death, .{}); |
| 174452 | try self.genBodyBlock(else_body); | 179120 | try self.genBodyBlock(else_body); |
| 174453 | try self.restoreState(state, &.{}, .{ | 179121 | try self.restoreState(state, &.{}, .{ |
| 174454 | .emit_instructions = false, | 179122 | .emit_instructions = false, |
| ... | @@ -174460,177 +179128,6 @@ fn airCondBr(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -174460,177 +179128,6 @@ fn airCondBr(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 174460 | // We already took care of pl_op.operand earlier, so there's nothing left to do. | 179128 | // We already took care of pl_op.operand earlier, so there's nothing left to do. |
| 174461 | } | 179129 | } |
| 174462 | | 179130 | |
| 174463 | fn isNull(self: *CodeGen, inst: Air.Inst.Index, opt_ty: Type, opt_mcv: MCValue) !MCValue { | | |
| 174464 | const pt = self.pt; | | |
| 174465 | const zcu = pt.zcu; | | |
| 174466 | switch (opt_mcv) { | | |
| 174467 | .register_overflow => |ro| return .{ .eflags = ro.eflags.negate() }, | | |
| 174468 | else => {}, | | |
| 174469 | } | | |
| 174470 | | | |
| 174471 | try self.spillEflagsIfOccupied(); | | |
| 174472 | | | |
| 174473 | const pl_ty = opt_ty.optionalChild(zcu); | | |
| 174474 | | | |
| 174475 | const some_info: struct { off: u31, ty: Type } = if (opt_ty.optionalReprIsPayload(zcu)) | | |
| 174476 | .{ .off = 0, .ty = if (pl_ty.isSlice(zcu)) pl_ty.slicePtrFieldType(zcu) else pl_ty } | | |
| 174477 | else | | |
| 174478 | .{ .off = @intCast(pl_ty.abiSize(zcu)), .ty = .bool }; | | |
| 174479 | | | |
| 174480 | self.eflags_inst = inst; | | |
| 174481 | switch (opt_mcv) { | | |
| 174482 | .none, | | |
| 174483 | .unreach, | | |
| 174484 | .dead, | | |
| 174485 | .undef, | | |
| 174486 | .immediate, | | |
| 174487 | .eflags, | | |
| 174488 | .register_triple, | | |
| 174489 | .register_quadruple, | | |
| 174490 | .register_offset, | | |
| 174491 | .register_overflow, | | |
| 174492 | .register_mask, | | |
| 174493 | .lea_nav, | | |
| 174494 | .lea_uav, | | |
| 174495 | .lea_lazy_sym, | | |
| 174496 | .lea_extern_func, | | |
| 174497 | .elementwise_args, | | |
| 174498 | .reserved_frame, | | |
| 174499 | .air_ref, | | |
| 174500 | => unreachable, | | |
| 174501 | | | |
| 174502 | .lea_frame => { | | |
| 174503 | self.eflags_inst = null; | | |
| 174504 | return .{ .immediate = @intFromBool(false) }; | | |
| 174505 | }, | | |
| 174506 | | | |
| 174507 | .register => |opt_reg| { | | |
| 174508 | if (some_info.off == 0) { | | |
| 174509 | const some_abi_size: u32 = @intCast(some_info.ty.abiSize(zcu)); | | |
| 174510 | const alias_reg = registerAlias(opt_reg, some_abi_size); | | |
| 174511 | assert(some_abi_size * 8 == alias_reg.bitSize()); | | |
| 174512 | try self.asmRegisterRegister(.{ ._, .@"test" }, alias_reg, alias_reg); | | |
| 174513 | return .{ .eflags = .z }; | | |
| 174514 | } | | |
| 174515 | assert(some_info.ty.ip_index == .bool_type); | | |
| 174516 | const opt_abi_size: u32 = @intCast(opt_ty.abiSize(zcu)); | | |
| 174517 | try self.asmRegisterImmediate( | | |
| 174518 | .{ ._, .bt }, | | |
| 174519 | registerAlias(opt_reg, opt_abi_size), | | |
| 174520 | .u(@as(u6, @intCast(some_info.off * 8))), | | |
| 174521 | ); | | |
| 174522 | return .{ .eflags = .nc }; | | |
| 174523 | }, | | |
| 174524 | | | |
| 174525 | .register_pair => |opt_regs| { | | |
| 174526 | if (some_info.off == 0) { | | |
| 174527 | const some_abi_size: u32 = @intCast(some_info.ty.abiSize(zcu)); | | |
| 174528 | const alias_reg = registerAlias(opt_regs[0], some_abi_size); | | |
| 174529 | assert(some_abi_size * 8 == alias_reg.bitSize()); | | |
| 174530 | try self.asmRegisterRegister(.{ ._, .@"test" }, alias_reg, alias_reg); | | |
| 174531 | return .{ .eflags = .z }; | | |
| 174532 | } | | |
| 174533 | assert(some_info.ty.ip_index == .bool_type); | | |
| 174534 | const opt_abi_size: u32 = @intCast(opt_ty.abiSize(zcu)); | | |
| 174535 | try self.asmRegisterImmediate( | | |
| 174536 | .{ ._, .bt }, | | |
| 174537 | registerAlias(opt_regs[some_info.off / 8], opt_abi_size), | | |
| 174538 | .u(@as(u6, @truncate(some_info.off * 8))), | | |
| 174539 | ); | | |
| 174540 | return .{ .eflags = .nc }; | | |
| 174541 | }, | | |
| 174542 | | | |
| 174543 | .memory, | | |
| 174544 | .load_nav, | | |
| 174545 | .load_uav, | | |
| 174546 | .load_lazy_sym, | | |
| 174547 | .load_extern_func, | | |
| 174548 | => { | | |
| 174549 | const addr_reg = (try self.register_manager.allocReg(null, abi.RegisterClass.gp)).to64(); | | |
| 174550 | const addr_reg_lock = self.register_manager.lockRegAssumeUnused(addr_reg); | | |
| 174551 | defer self.register_manager.unlockReg(addr_reg_lock); | | |
| 174552 | | | |
| 174553 | try self.genSetReg(addr_reg, .usize, opt_mcv.address(), .{}); | | |
| 174554 | const some_abi_size: u32 = @intCast(some_info.ty.abiSize(zcu)); | | |
| 174555 | try self.asmMemoryImmediate( | | |
| 174556 | .{ ._, .cmp }, | | |
| 174557 | .{ | | |
| 174558 | .base = .{ .reg = addr_reg }, | | |
| 174559 | .mod = .{ .rm = .{ | | |
| 174560 | .size = .fromSize(some_abi_size), | | |
| 174561 | .disp = some_info.off, | | |
| 174562 | } }, | | |
| 174563 | }, | | |
| 174564 | .u(0), | | |
| 174565 | ); | | |
| 174566 | return .{ .eflags = .e }; | | |
| 174567 | }, | | |
| 174568 | | | |
| 174569 | .indirect, .load_frame => { | | |
| 174570 | const some_abi_size: u32 = @intCast(some_info.ty.abiSize(zcu)); | | |
| 174571 | try self.asmMemoryImmediate( | | |
| 174572 | .{ ._, .cmp }, | | |
| 174573 | switch (opt_mcv) { | | |
| 174574 | .indirect => |reg_off| .{ | | |
| 174575 | .base = .{ .reg = reg_off.reg }, | | |
| 174576 | .mod = .{ .rm = .{ | | |
| 174577 | .size = .fromSize(some_abi_size), | | |
| 174578 | .disp = reg_off.off + some_info.off, | | |
| 174579 | } }, | | |
| 174580 | }, | | |
| 174581 | .load_frame => |frame_addr| .{ | | |
| 174582 | .base = .{ .frame = frame_addr.index }, | | |
| 174583 | .mod = .{ .rm = .{ | | |
| 174584 | .size = .fromSize(some_abi_size), | | |
| 174585 | .disp = frame_addr.off + some_info.off, | | |
| 174586 | } }, | | |
| 174587 | }, | | |
| 174588 | else => unreachable, | | |
| 174589 | }, | | |
| 174590 | .u(0), | | |
| 174591 | ); | | |
| 174592 | return .{ .eflags = .e }; | | |
| 174593 | }, | | |
| 174594 | } | | |
| 174595 | } | | |
| 174596 | | | |
| 174597 | fn isNullPtr(self: *CodeGen, inst: Air.Inst.Index, ptr_ty: Type, ptr_mcv: MCValue) !MCValue { | | |
| 174598 | const pt = self.pt; | | |
| 174599 | const zcu = pt.zcu; | | |
| 174600 | const opt_ty = ptr_ty.childType(zcu); | | |
| 174601 | const pl_ty = opt_ty.optionalChild(zcu); | | |
| 174602 | | | |
| 174603 | try self.spillEflagsIfOccupied(); | | |
| 174604 | | | |
| 174605 | const some_info: struct { off: i32, ty: Type } = if (opt_ty.optionalReprIsPayload(zcu)) | | |
| 174606 | .{ .off = 0, .ty = if (pl_ty.isSlice(zcu)) pl_ty.slicePtrFieldType(zcu) else pl_ty } | | |
| 174607 | else | | |
| 174608 | .{ .off = @intCast(pl_ty.abiSize(zcu)), .ty = .bool }; | | |
| 174609 | | | |
| 174610 | const ptr_reg = switch (ptr_mcv) { | | |
| 174611 | .register => |reg| reg, | | |
| 174612 | else => try self.copyToTmpRegister(ptr_ty, ptr_mcv), | | |
| 174613 | }; | | |
| 174614 | const ptr_lock = self.register_manager.lockReg(ptr_reg); | | |
| 174615 | defer if (ptr_lock) |lock| self.register_manager.unlockReg(lock); | | |
| 174616 | | | |
| 174617 | const some_abi_size: u32 = @intCast(some_info.ty.abiSize(zcu)); | | |
| 174618 | try self.asmMemoryImmediate( | | |
| 174619 | .{ ._, .cmp }, | | |
| 174620 | .{ | | |
| 174621 | .base = .{ .reg = ptr_reg }, | | |
| 174622 | .mod = .{ .rm = .{ | | |
| 174623 | .size = .fromSize(some_abi_size), | | |
| 174624 | .disp = some_info.off, | | |
| 174625 | } }, | | |
| 174626 | }, | | |
| 174627 | .u(0), | | |
| 174628 | ); | | |
| 174629 | | | |
| 174630 | self.eflags_inst = inst; | | |
| 174631 | return .{ .eflags = .e }; | | |
| 174632 | } | | |
| 174633 | | | |
| 174634 | fn isErr(self: *CodeGen, maybe_inst: ?Air.Inst.Index, eu_ty: Type, eu_mcv: MCValue) !MCValue { | 179131 | fn isErr(self: *CodeGen, maybe_inst: ?Air.Inst.Index, eu_ty: Type, eu_mcv: MCValue) !MCValue { |
| 174635 | const pt = self.pt; | 179132 | const pt = self.pt; |
| 174636 | const zcu = pt.zcu; | 179133 | const zcu = pt.zcu; |
| ... | @@ -174708,124 +179205,6 @@ fn isErrPtr(self: *CodeGen, maybe_inst: ?Air.Inst.Index, ptr_ty: Type, ptr_mcv: | ... | @@ -174708,124 +179205,6 @@ fn isErrPtr(self: *CodeGen, maybe_inst: ?Air.Inst.Index, ptr_ty: Type, ptr_mcv: |
| 174708 | return MCValue{ .eflags = .a }; | 179205 | return MCValue{ .eflags = .a }; |
| 174709 | } | 179206 | } |
| 174710 | | 179207 | |
| 174711 | fn isNonErr(self: *CodeGen, inst: Air.Inst.Index, eu_ty: Type, eu_mcv: MCValue) !MCValue { | | |
| 174712 | const is_err_res = try self.isErr(inst, eu_ty, eu_mcv); | | |
| 174713 | switch (is_err_res) { | | |
| 174714 | .eflags => |cc| { | | |
| 174715 | assert(cc == .a); | | |
| 174716 | return MCValue{ .eflags = cc.negate() }; | | |
| 174717 | }, | | |
| 174718 | .immediate => |imm| { | | |
| 174719 | assert(imm == 0); | | |
| 174720 | return MCValue{ .immediate = @intFromBool(imm == 0) }; | | |
| 174721 | }, | | |
| 174722 | else => unreachable, | | |
| 174723 | } | | |
| 174724 | } | | |
| 174725 | | | |
| 174726 | fn isNonErrPtr(self: *CodeGen, inst: Air.Inst.Index, ptr_ty: Type, ptr_mcv: MCValue) !MCValue { | | |
| 174727 | const is_err_res = try self.isErrPtr(inst, ptr_ty, ptr_mcv); | | |
| 174728 | switch (is_err_res) { | | |
| 174729 | .eflags => |cc| { | | |
| 174730 | assert(cc == .a); | | |
| 174731 | return MCValue{ .eflags = cc.negate() }; | | |
| 174732 | }, | | |
| 174733 | .immediate => |imm| { | | |
| 174734 | assert(imm == 0); | | |
| 174735 | return MCValue{ .immediate = @intFromBool(imm == 0) }; | | |
| 174736 | }, | | |
| 174737 | else => unreachable, | | |
| 174738 | } | | |
| 174739 | } | | |
| 174740 | | | |
| 174741 | fn airIsNull(self: *CodeGen, inst: Air.Inst.Index) !void { | | |
| 174742 | const un_op = self.air.instructions.items(.data)[@intFromEnum(inst)].un_op; | | |
| 174743 | const operand = try self.resolveInst(un_op); | | |
| 174744 | const ty = self.typeOf(un_op); | | |
| 174745 | const result = try self.isNull(inst, ty, operand); | | |
| 174746 | return self.finishAir(inst, result, .{ un_op, .none, .none }); | | |
| 174747 | } | | |
| 174748 | | | |
| 174749 | fn airIsNullPtr(self: *CodeGen, inst: Air.Inst.Index) !void { | | |
| 174750 | const un_op = self.air.instructions.items(.data)[@intFromEnum(inst)].un_op; | | |
| 174751 | const operand = try self.resolveInst(un_op); | | |
| 174752 | const ty = self.typeOf(un_op); | | |
| 174753 | const result = try self.isNullPtr(inst, ty, operand); | | |
| 174754 | return self.finishAir(inst, result, .{ un_op, .none, .none }); | | |
| 174755 | } | | |
| 174756 | | | |
| 174757 | fn airIsNonNull(self: *CodeGen, inst: Air.Inst.Index) !void { | | |
| 174758 | const un_op = self.air.instructions.items(.data)[@intFromEnum(inst)].un_op; | | |
| 174759 | const operand = try self.resolveInst(un_op); | | |
| 174760 | const ty = self.typeOf(un_op); | | |
| 174761 | const result: MCValue = switch (try self.isNull(inst, ty, operand)) { | | |
| 174762 | .immediate => |imm| .{ .immediate = @intFromBool(imm == 0) }, | | |
| 174763 | .eflags => |cc| .{ .eflags = cc.negate() }, | | |
| 174764 | else => unreachable, | | |
| 174765 | }; | | |
| 174766 | return self.finishAir(inst, result, .{ un_op, .none, .none }); | | |
| 174767 | } | | |
| 174768 | | | |
| 174769 | fn airIsNonNullPtr(self: *CodeGen, inst: Air.Inst.Index) !void { | | |
| 174770 | const un_op = self.air.instructions.items(.data)[@intFromEnum(inst)].un_op; | | |
| 174771 | const operand = try self.resolveInst(un_op); | | |
| 174772 | const ty = self.typeOf(un_op); | | |
| 174773 | const result: MCValue = switch (try self.isNullPtr(inst, ty, operand)) { | | |
| 174774 | .eflags => |cc| .{ .eflags = cc.negate() }, | | |
| 174775 | else => unreachable, | | |
| 174776 | }; | | |
| 174777 | return self.finishAir(inst, result, .{ un_op, .none, .none }); | | |
| 174778 | } | | |
| 174779 | | | |
| 174780 | fn airIsErr(self: *CodeGen, inst: Air.Inst.Index) !void { | | |
| 174781 | const un_op = self.air.instructions.items(.data)[@intFromEnum(inst)].un_op; | | |
| 174782 | const operand = try self.resolveInst(un_op); | | |
| 174783 | const ty = self.typeOf(un_op); | | |
| 174784 | const result = try self.isErr(inst, ty, operand); | | |
| 174785 | return self.finishAir(inst, result, .{ un_op, .none, .none }); | | |
| 174786 | } | | |
| 174787 | | | |
| 174788 | fn airIsErrPtr(self: *CodeGen, inst: Air.Inst.Index) !void { | | |
| 174789 | const un_op = self.air.instructions.items(.data)[@intFromEnum(inst)].un_op; | | |
| 174790 | const operand = try self.resolveInst(un_op); | | |
| 174791 | const ty = self.typeOf(un_op); | | |
| 174792 | const result = try self.isErrPtr(inst, ty, operand); | | |
| 174793 | return self.finishAir(inst, result, .{ un_op, .none, .none }); | | |
| 174794 | } | | |
| 174795 | | | |
| 174796 | fn airIsNonErr(self: *CodeGen, inst: Air.Inst.Index) !void { | | |
| 174797 | const un_op = self.air.instructions.items(.data)[@intFromEnum(inst)].un_op; | | |
| 174798 | const operand = try self.resolveInst(un_op); | | |
| 174799 | const ty = self.typeOf(un_op); | | |
| 174800 | const result = try self.isNonErr(inst, ty, operand); | | |
| 174801 | return self.finishAir(inst, result, .{ un_op, .none, .none }); | | |
| 174802 | } | | |
| 174803 | | | |
| 174804 | fn airIsNonErrPtr(self: *CodeGen, inst: Air.Inst.Index) !void { | | |
| 174805 | const un_op = self.air.instructions.items(.data)[@intFromEnum(inst)].un_op; | | |
| 174806 | const operand = try self.resolveInst(un_op); | | |
| 174807 | const ty = self.typeOf(un_op); | | |
| 174808 | const result = try self.isNonErrPtr(inst, ty, operand); | | |
| 174809 | return self.finishAir(inst, result, .{ un_op, .none, .none }); | | |
| 174810 | } | | |
| 174811 | | | |
| 174812 | fn airLoop(self: *CodeGen, inst: Air.Inst.Index) !void { | | |
| 174813 | // A loop is a setup to be able to jump back to the beginning. | | |
| 174814 | const ty_pl = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_pl; | | |
| 174815 | const loop = self.air.extraData(Air.Block, ty_pl.payload); | | |
| 174816 | const body: []const Air.Inst.Index = @ptrCast(self.air.extra.items[loop.end..][0..loop.data.body_len]); | | |
| 174817 | | | |
| 174818 | const state = try self.saveState(); | | |
| 174819 | | | |
| 174820 | try self.loops.putNoClobber(self.gpa, inst, .{ | | |
| 174821 | .state = state, | | |
| 174822 | .target = @intCast(self.mir_instructions.len), | | |
| 174823 | }); | | |
| 174824 | defer assert(self.loops.remove(inst)); | | |
| 174825 | | | |
| 174826 | try self.genBodyBlock(body); | | |
| 174827 | } | | |
| 174828 | | | |
| 174829 | fn lowerBlock(self: *CodeGen, inst: Air.Inst.Index, body: []const Air.Inst.Index) !void { | 179208 | fn lowerBlock(self: *CodeGen, inst: Air.Inst.Index, body: []const Air.Inst.Index) !void { |
| 174830 | // A block is a setup to be able to jump to the end. | 179209 | // A block is a setup to be able to jump to the end. |
| 174831 | const inst_tracking_i = self.inst_tracking.count(); | 179210 | const inst_tracking_i = self.inst_tracking.count(); |
| ... | @@ -174860,7 +179239,7 @@ fn lowerBlock(self: *CodeGen, inst: Air.Inst.Index, body: []const Air.Inst.Index | ... | @@ -174860,7 +179239,7 @@ fn lowerBlock(self: *CodeGen, inst: Air.Inst.Index, body: []const Air.Inst.Index |
| 174860 | | 179239 | |
| 174861 | if (std.debug.runtime_safety) assert(self.inst_tracking.getIndex(inst).? == inst_tracking_i); | 179240 | if (std.debug.runtime_safety) assert(self.inst_tracking.getIndex(inst).? == inst_tracking_i); |
| 174862 | const tracking = &self.inst_tracking.values()[inst_tracking_i]; | 179241 | const tracking = &self.inst_tracking.values()[inst_tracking_i]; |
| 174863 | if (self.liveness.isUnused(inst)) try tracking.die(self, inst); | 179242 | if (self.liveness.isUnused(inst)) try tracking.die(self, inst, .{}); |
| 174864 | self.getValueIfFree(tracking.short, inst); | 179243 | self.getValueIfFree(tracking.short, inst); |
| 174865 | } | 179244 | } |
| 174866 | | 179245 | |
| ... | @@ -175019,7 +179398,7 @@ fn lowerSwitchBr( | ... | @@ -175019,7 +179398,7 @@ fn lowerSwitchBr( |
| 175019 | } | 179398 | } |
| 175020 | } | 179399 | } |
| 175021 | | 179400 | |
| 175022 | for (liveness.deaths[case.idx]) |operand| try cg.processDeath(operand); | 179401 | for (liveness.deaths[case.idx]) |operand| try cg.processDeath(operand, .{}); |
| 175023 | | 179402 | |
| 175024 | try cg.genBodyBlock(case.body); | 179403 | try cg.genBodyBlock(case.body); |
| 175025 | try cg.restoreState(state, &.{}, .{ | 179404 | try cg.restoreState(state, &.{}, .{ |
| ... | @@ -175033,7 +179412,7 @@ fn lowerSwitchBr( | ... | @@ -175033,7 +179412,7 @@ fn lowerSwitchBr( |
| 175033 | const else_body = cases_it.elseBody(); | 179412 | const else_body = cases_it.elseBody(); |
| 175034 | | 179413 | |
| 175035 | const else_deaths = liveness.deaths.len - 1; | 179414 | const else_deaths = liveness.deaths.len - 1; |
| 175036 | for (liveness.deaths[else_deaths]) |operand| try cg.processDeath(operand); | 179415 | for (liveness.deaths[else_deaths]) |operand| try cg.processDeath(operand, .{}); |
| 175037 | | 179416 | |
| 175038 | cg.performReloc(else_reloc); | 179417 | cg.performReloc(else_reloc); |
| 175039 | if (is_loop) { | 179418 | if (is_loop) { |
| ... | @@ -175151,7 +179530,7 @@ fn lowerSwitchBr( | ... | @@ -175151,7 +179530,7 @@ fn lowerSwitchBr( |
| 175151 | // The jump to skip this case if the conditions all failed. | 179530 | // The jump to skip this case if the conditions all failed. |
| 175152 | const skip_case_reloc = try cg.asmJmpReloc(undefined); | 179531 | const skip_case_reloc = try cg.asmJmpReloc(undefined); |
| 175153 | | 179532 | |
| 175154 | for (liveness.deaths[case.idx]) |operand| try cg.processDeath(operand); | 179533 | for (liveness.deaths[case.idx]) |operand| try cg.processDeath(operand, .{}); |
| 175155 | | 179534 | |
| 175156 | // Relocate all success cases to the body we're about to generate. | 179535 | // Relocate all success cases to the body we're about to generate. |
| 175157 | for (relocs) |reloc| cg.performReloc(reloc); | 179536 | for (relocs) |reloc| cg.performReloc(reloc); |
| ... | @@ -175170,7 +179549,7 @@ fn lowerSwitchBr( | ... | @@ -175170,7 +179549,7 @@ fn lowerSwitchBr( |
| 175170 | const else_body = cases_it.elseBody(); | 179549 | const else_body = cases_it.elseBody(); |
| 175171 | | 179550 | |
| 175172 | const else_deaths = liveness.deaths.len - 1; | 179551 | const else_deaths = liveness.deaths.len - 1; |
| 175173 | for (liveness.deaths[else_deaths]) |operand| try cg.processDeath(operand); | 179552 | for (liveness.deaths[else_deaths]) |operand| try cg.processDeath(operand, .{}); |
| 175174 | | 179553 | |
| 175175 | try cg.genBodyBlock(else_body); | 179554 | try cg.genBodyBlock(else_body); |
| 175176 | try cg.restoreState(state, &.{}, .{ | 179555 | try cg.restoreState(state, &.{}, .{ |
| ... | @@ -175191,7 +179570,7 @@ fn airSwitchBr(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -175191,7 +179570,7 @@ fn airSwitchBr(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 175191 | // whether it needs to be spilled in the branches | 179570 | // whether it needs to be spilled in the branches |
| 175192 | const condition_dies = self.liveness.operandDies(inst, 0); | 179571 | const condition_dies = self.liveness.operandDies(inst, 0); |
| 175193 | if (condition_dies) { | 179572 | if (condition_dies) { |
| 175194 | if (switch_br.operand.toIndex()) |op_inst| try self.processDeath(op_inst); | 179573 | if (switch_br.operand.toIndex()) |op_inst| try self.processDeath(op_inst, .{}); |
| 175195 | } | 179574 | } |
| 175196 | try self.lowerSwitchBr(inst, switch_br, condition, condition_dies, false); | 179575 | try self.lowerSwitchBr(inst, switch_br, condition, condition_dies, false); |
| 175197 | | 179576 | |
| ... | @@ -175216,7 +179595,7 @@ fn airLoopSwitchBr(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -175216,7 +179595,7 @@ fn airLoopSwitchBr(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 175216 | // that death now instead of later as this has an effect on | 179595 | // that death now instead of later as this has an effect on |
| 175217 | // whether it needs to be spilled in the branches | 179596 | // whether it needs to be spilled in the branches |
| 175218 | if (self.liveness.operandDies(inst, 0)) { | 179597 | if (self.liveness.operandDies(inst, 0)) { |
| 175219 | if (switch_br.operand.toIndex()) |op_inst| try self.processDeath(op_inst); | 179598 | if (switch_br.operand.toIndex()) |op_inst| try self.processDeath(op_inst, .{}); |
| 175220 | } | 179599 | } |
| 175221 | | 179600 | |
| 175222 | // Ensure a register is available for dispatch. | 179601 | // Ensure a register is available for dispatch. |
| ... | @@ -175231,11 +179610,11 @@ fn airLoopSwitchBr(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -175231,11 +179610,11 @@ fn airLoopSwitchBr(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 175231 | defer assert(self.loops.remove(inst)); | 179610 | defer assert(self.loops.remove(inst)); |
| 175232 | | 179611 | |
| 175233 | // Stop tracking block result without forgetting tracking info | 179612 | // Stop tracking block result without forgetting tracking info |
| 175234 | try self.freeValue(mat_cond); | 179613 | try self.freeValue(mat_cond, .{}); |
| 175235 | | 179614 | |
| 175236 | try self.lowerSwitchBr(inst, switch_br, mat_cond, true, true); | 179615 | try self.lowerSwitchBr(inst, switch_br, mat_cond, true, true); |
| 175237 | | 179616 | |
| 175238 | try self.processDeath(inst); | 179617 | try self.processDeath(inst, .{}); |
| 175239 | } | 179618 | } |
| 175240 | | 179619 | |
| 175241 | fn airSwitchDispatch(self: *CodeGen, inst: Air.Inst.Index) !void { | 179620 | fn airSwitchDispatch(self: *CodeGen, inst: Air.Inst.Index) !void { |
| ... | @@ -175262,7 +179641,7 @@ fn airSwitchDispatch(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -175262,7 +179641,7 @@ fn airSwitchDispatch(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 175262 | | 179641 | |
| 175263 | // Process operand death so that it is properly accounted for in the State below. | 179642 | // Process operand death so that it is properly accounted for in the State below. |
| 175264 | if (self.liveness.operandDies(inst, 0)) { | 179643 | if (self.liveness.operandDies(inst, 0)) { |
| 175265 | if (br.operand.toIndex()) |op_inst| try self.processDeath(op_inst); | 179644 | if (br.operand.toIndex()) |op_inst| try self.processDeath(op_inst, .{}); |
| 175266 | } | 179645 | } |
| 175267 | | 179646 | |
| 175268 | try self.restoreState(loop_data.state, &.{}, .{ | 179647 | try self.restoreState(loop_data.state, &.{}, .{ |
| ... | @@ -175340,7 +179719,7 @@ fn airSwitchDispatch(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -175340,7 +179719,7 @@ fn airSwitchDispatch(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 175340 | _ = try self.asmJmpReloc(loop_data.target); | 179719 | _ = try self.asmJmpReloc(loop_data.target); |
| 175341 | | 179720 | |
| 175342 | // Stop tracking block result without forgetting tracking info | 179721 | // Stop tracking block result without forgetting tracking info |
| 175343 | try self.freeValue(block_tracking.short); | 179722 | try self.freeValue(block_tracking.short, .{ .emit_instructions = false }); |
| 175344 | } | 179723 | } |
| 175345 | | 179724 | |
| 175346 | fn performReloc(self: *CodeGen, reloc: Mir.Inst.Index) void { | 179725 | fn performReloc(self: *CodeGen, reloc: Mir.Inst.Index) void { |
| ... | @@ -175389,10 +179768,14 @@ fn airBr(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -175389,10 +179768,14 @@ fn airBr(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 175389 | if (first_br) break :result src_mcv; | 179768 | if (first_br) break :result src_mcv; |
| 175390 | | 179769 | |
| 175391 | try self.getValue(block_tracking.short, br.block_inst); | 179770 | try self.getValue(block_tracking.short, br.block_inst); |
| 175392 | // .long = .none to avoid merging operand and block result stack frames. | 179771 | try InstTracking.materializeUnsafe( |
| 175393 | const current_tracking: InstTracking = .{ .long = .none, .short = src_mcv }; | 179772 | // .long = .none to avoid merging operand and block result stack frames. |
| 175394 | try current_tracking.materializeUnsafe(self, br.block_inst, block_tracking.*); | 179773 | .{ .long = .none, .short = src_mcv }, |
| 175395 | for (current_tracking.getRegs()) |src_reg| self.register_manager.freeReg(src_reg); | 179774 | self, |
| | 179775 | br.block_inst, |
| | 179776 | block_tracking.*, |
| | 179777 | ); |
| | 179778 | try self.freeValue(src_mcv, .{}); |
| 175396 | break :result block_tracking.short; | 179779 | break :result block_tracking.short; |
| 175397 | } | 179780 | } |
| 175398 | | 179781 | |
| ... | @@ -175406,7 +179789,7 @@ fn airBr(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -175406,7 +179789,7 @@ fn airBr(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 175406 | | 179789 | |
| 175407 | // Process operand death so that it is properly accounted for in the State below. | 179790 | // Process operand death so that it is properly accounted for in the State below. |
| 175408 | if (self.liveness.operandDies(inst, 0)) { | 179791 | if (self.liveness.operandDies(inst, 0)) { |
| 175409 | if (br.operand.toIndex()) |op_inst| try self.processDeath(op_inst); | 179792 | if (br.operand.toIndex()) |op_inst| try self.processDeath(op_inst, .{}); |
| 175410 | } | 179793 | } |
| 175411 | | 179794 | |
| 175412 | if (first_br) { | 179795 | if (first_br) { |
| ... | @@ -175425,7 +179808,7 @@ fn airBr(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -175425,7 +179808,7 @@ fn airBr(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 175425 | try block_data.relocs.append(self.gpa, jmp_reloc); | 179808 | try block_data.relocs.append(self.gpa, jmp_reloc); |
| 175426 | | 179809 | |
| 175427 | // Stop tracking block result without forgetting tracking info | 179810 | // Stop tracking block result without forgetting tracking info |
| 175428 | try self.freeValue(block_tracking.short); | 179811 | try self.freeValue(block_tracking.short, .{ .emit_instructions = false }); |
| 175429 | } | 179812 | } |
| 175430 | | 179813 | |
| 175431 | fn airAsm(self: *CodeGen, inst: Air.Inst.Index) !void { | 179814 | fn airAsm(self: *CodeGen, inst: Air.Inst.Index) !void { |
| ... | @@ -175802,7 +180185,7 @@ fn airAsm(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -175802,7 +180185,7 @@ fn airAsm(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 175802 | } }, | 180185 | } }, |
| 175803 | } }; | 180186 | } }; |
| 175804 | } else { | 180187 | } else { |
| 175805 | if (mnem_size.use()) |size| if (reg.bitSize() != size.bitSize(self.target)) | 180188 | if (mnem_size.use()) |size| if (reg.size().bitSize(self.target) != size.bitSize(self.target)) |
| 175806 | return self.fail("invalid register size: '{s}'", .{op_str}); | 180189 | return self.fail("invalid register size: '{s}'", .{op_str}); |
| 175807 | op.* = .{ .reg = reg }; | 180190 | op.* = .{ .reg = reg }; |
| 175808 | } | 180191 | } |
| ... | @@ -176181,7 +180564,7 @@ const MoveStrategy = union(enum) { | ... | @@ -176181,7 +180564,7 @@ const MoveStrategy = union(enum) { |
| 176181 | if (tag[0] == ._ps and tag[1] == .movl) try cg.asmRegisterRegister(.{ ._ps, .xor }, dst_reg, dst_reg); | 180564 | if (tag[0] == ._ps and tag[1] == .movl) try cg.asmRegisterRegister(.{ ._ps, .xor }, dst_reg, dst_reg); |
| 176182 | try cg.asmRegisterMemory(tag, switch (tag[1]) { | 180565 | try cg.asmRegisterMemory(tag, switch (tag[1]) { |
| 176183 | else => dst_reg, | 180566 | else => dst_reg, |
| 176184 | .lea => if (dst_reg.bitSize() >= 32) dst_reg else dst_reg.to32(), | 180567 | .lea => if (dst_reg.size().bitSize(cg.target) >= 32) dst_reg else dst_reg.to32(), |
| 176185 | }, src_mem); | 180568 | }, src_mem); |
| 176186 | }, | 180569 | }, |
| 176187 | .load_store_x87 => if (dst_reg != .st0 and cg.register_manager.isKnownRegFree(.st7)) { | 180570 | .load_store_x87 => if (dst_reg != .st0 and cg.register_manager.isKnownRegFree(.st7)) { |
| ... | @@ -176335,7 +180718,7 @@ fn moveStrategy(cg: *CodeGen, ty: Type, class: Register.Class, aligned: bool) !M | ... | @@ -176335,7 +180718,7 @@ fn moveStrategy(cg: *CodeGen, ty: Type, class: Register.Class, aligned: bool) !M |
| 176335 | else => {}, | 180718 | else => {}, |
| 176336 | } | 180719 | } |
| 176337 | }, | 180720 | }, |
| 176338 | .float => switch (ty.floatBits(cg.target.*)) { | 180721 | .float => switch (ty.floatBits(cg.target)) { |
| 176339 | 16 => return if (cg.hasFeature(.avx)) .{ .vex_insert_extract = .{ | 180722 | 16 => return if (cg.hasFeature(.avx)) .{ .vex_insert_extract = .{ |
| 176340 | .insert = .{ .vp_w, .insr }, | 180723 | .insert = .{ .vp_w, .insr }, |
| 176341 | .extract = .{ .vp_w, .extr }, | 180724 | .extract = .{ .vp_w, .extr }, |
| ... | @@ -176482,7 +180865,7 @@ fn moveStrategy(cg: *CodeGen, ty: Type, class: Register.Class, aligned: bool) !M | ... | @@ -176482,7 +180865,7 @@ fn moveStrategy(cg: *CodeGen, ty: Type, class: Register.Class, aligned: bool) !M |
| 176482 | } | 180865 | } |
| 176483 | else | 180866 | else |
| 176484 | unreachable, | 180867 | unreachable, |
| 176485 | .float => switch (ty.childType(zcu).floatBits(cg.target.*)) { | 180868 | .float => switch (ty.childType(zcu).floatBits(cg.target)) { |
| 176486 | 16 => switch (ty.vectorLen(zcu)) { | 180869 | 16 => switch (ty.vectorLen(zcu)) { |
| 176487 | 1...8 => return .{ .load_store = if (cg.hasFeature(.avx)) | 180870 | 1...8 => return .{ .load_store = if (cg.hasFeature(.avx)) |
| 176488 | .{ if (aligned) .v_dqa else .v_dqu, .mov } | 180871 | .{ if (aligned) .v_dqa else .v_dqu, .mov } |
| ... | @@ -176554,6 +180937,7 @@ fn genCopy(self: *CodeGen, ty: Type, dst_mcv: MCValue, src_mcv: MCValue, opts: C | ... | @@ -176554,6 +180937,7 @@ fn genCopy(self: *CodeGen, ty: Type, dst_mcv: MCValue, src_mcv: MCValue, opts: C |
| 176554 | .eflags, | 180937 | .eflags, |
| 176555 | .register_overflow, | 180938 | .register_overflow, |
| 176556 | .register_mask, | 180939 | .register_mask, |
| | 180940 | .indirect_load_frame, |
| 176557 | .lea_frame, | 180941 | .lea_frame, |
| 176558 | .lea_nav, | 180942 | .lea_nav, |
| 176559 | .lea_uav, | 180943 | .lea_uav, |
| ... | @@ -176750,12 +181134,13 @@ fn genSetReg( | ... | @@ -176750,12 +181134,13 @@ fn genSetReg( |
| 176750 | const zcu = pt.zcu; | 181134 | const zcu = pt.zcu; |
| 176751 | const abi_size: u32 = @intCast(ty.abiSize(zcu)); | 181135 | const abi_size: u32 = @intCast(ty.abiSize(zcu)); |
| 176752 | const dst_alias = registerAlias(dst_reg, abi_size); | 181136 | const dst_alias = registerAlias(dst_reg, abi_size); |
| 176753 | if (ty.bitSize(zcu) > dst_alias.bitSize()) | 181137 | if (ty.bitSize(zcu) > dst_alias.size().bitSize(self.target)) |
| 176754 | return self.fail("genSetReg called with a value larger than dst_reg", .{}); | 181138 | return self.fail("genSetReg called with a value larger than dst_reg", .{}); |
| 176755 | switch (src_mcv) { | 181139 | switch (src_mcv) { |
| 176756 | .none, | 181140 | .none, |
| 176757 | .unreach, | 181141 | .unreach, |
| 176758 | .dead, | 181142 | .dead, |
| | 181143 | .indirect_load_frame, |
| 176759 | .elementwise_args, | 181144 | .elementwise_args, |
| 176760 | .reserved_frame, | 181145 | .reserved_frame, |
| 176761 | => unreachable, | 181146 | => unreachable, |
| ... | @@ -177017,7 +181402,7 @@ fn genSetReg( | ... | @@ -177017,7 +181402,7 @@ fn genSetReg( |
| 177017 | 17...32 => if (self.hasFeature(.avx)) .{ .v_dqa, .mov } else null, | 181402 | 17...32 => if (self.hasFeature(.avx)) .{ .v_dqa, .mov } else null, |
| 177018 | else => null, | 181403 | else => null, |
| 177019 | }, | 181404 | }, |
| 177020 | .float => switch (ty.scalarType(zcu).floatBits(self.target.*)) { | 181405 | .float => switch (ty.scalarType(zcu).floatBits(self.target)) { |
| 177021 | 16, 128 => switch (abi_size) { | 181406 | 16, 128 => switch (abi_size) { |
| 177022 | 2...16 => if (self.hasFeature(.avx)) | 181407 | 2...16 => if (self.hasFeature(.avx)) |
| 177023 | .{ .v_dqa, .mov } | 181408 | .{ .v_dqa, .mov } |
| ... | @@ -177112,7 +181497,7 @@ fn genSetReg( | ... | @@ -177112,7 +181497,7 @@ fn genSetReg( |
| 177112 | ty, | 181497 | ty, |
| 177113 | dst_reg.class(), | 181498 | dst_reg.class(), |
| 177114 | self.getFrameAddrAlignment(frame_addr).compare(.gte, .fromLog2Units( | 181499 | self.getFrameAddrAlignment(frame_addr).compare(.gte, .fromLog2Units( |
| 177115 | std.math.log2_int_ceil(u10, @divExact(dst_reg.bitSize(), 8)), | 181500 | std.math.log2_int_ceil(u64, @divExact(dst_reg.size().bitSize(self.target), 8)), |
| 177116 | )), | 181501 | )), |
| 177117 | ), | 181502 | ), |
| 177118 | .lea_frame => .{ .load_store = .{ ._, .lea } }, | 181503 | .lea_frame => .{ .load_store = .{ ._, .lea } }, |
| ... | @@ -177318,6 +181703,7 @@ fn genSetMem( | ... | @@ -177318,6 +181703,7 @@ fn genSetMem( |
| 177318 | .none, | 181703 | .none, |
| 177319 | .unreach, | 181704 | .unreach, |
| 177320 | .dead, | 181705 | .dead, |
| | 181706 | .indirect_load_frame, |
| 177321 | .elementwise_args, | 181707 | .elementwise_args, |
| 177322 | .reserved_frame, | 181708 | .reserved_frame, |
| 177323 | => unreachable, | 181709 | => unreachable, |
| ... | @@ -177382,43 +181768,37 @@ fn genSetMem( | ... | @@ -177382,43 +181768,37 @@ fn genSetMem( |
| 177382 | const frame_abi_size = self.frame_allocs.items(.abi_size)[@intFromEnum(base_fi)]; | 181768 | const frame_abi_size = self.frame_allocs.items(.abi_size)[@intFromEnum(base_fi)]; |
| 177383 | const frame_spill_pad = self.frame_allocs.items(.spill_pad)[@intFromEnum(base_fi)]; | 181769 | const frame_spill_pad = self.frame_allocs.items(.spill_pad)[@intFromEnum(base_fi)]; |
| 177384 | assert(frame_abi_size - frame_spill_pad - disp >= abi_size); | 181770 | assert(frame_abi_size - frame_spill_pad - disp >= abi_size); |
| 177385 | break :mem_size if (frame_abi_size - frame_spill_pad - disp == abi_size) | 181771 | break :mem_size if (frame_abi_size - frame_spill_pad - disp == abi_size) frame_abi_size else abi_size; |
| 177386 | frame_abi_size | | |
| 177387 | else | | |
| 177388 | abi_size; | | |
| 177389 | }, | 181772 | }, |
| 177390 | else => abi_size, | 181773 | else => abi_size, |
| 177391 | }; | 181774 | }; |
| 177392 | const src_alias = registerAlias(src_reg, @intCast(self.unalignedSize(ty))); | 181775 | const src_alias = registerAlias(src_reg, @intCast(self.unalignedSize(ty))); |
| 177393 | const src_class = src_alias.class(); | 181776 | const src_class = src_alias.class(); |
| 177394 | const src_size: u32 = switch (src_class) { | 181777 | const src_size: Memory.Size = switch (src_class) { |
| 177395 | .general_purpose, .gphi, .segment, .ip, .cr, .dr => @intCast(@divExact(src_alias.bitSize(), 8)), | 181778 | .general_purpose, .gphi, .segment, .ip, .cr, .dr => src_alias.size(), |
| 177396 | .mmx, .sse => abi_size, | 181779 | .mmx, .sse => .fromSize(abi_size), |
| 177397 | .x87 => switch (abi.classifySystemV(ty, zcu, self.target, .other)[0]) { | 181780 | .x87 => switch (abi.classifySystemV(ty, zcu, self.target, .other)[0]) { |
| 177398 | else => unreachable, | 181781 | else => unreachable, |
| 177399 | .float, .float_combine => 4, | 181782 | .float => .dword, |
| 177400 | .sse => 8, | 181783 | .float_combine, .sse => .qword, |
| 177401 | .x87 => 10, | 181784 | .x87 => .tbyte, |
| 177402 | }, | 181785 | }, |
| 177403 | }; | 181786 | }; |
| 177404 | const src_align: InternPool.Alignment = .fromNonzeroByteUnits( | 181787 | const src_bit_size = src_size.bitSize(self.target); |
| 177405 | std.math.ceilPowerOfTwoAssert(u32, src_size), | 181788 | const src_align: InternPool.Alignment = .fromNonzeroByteUnits(std.math.ceilPowerOfTwoAssert(u64, src_bit_size)); |
| 177406 | ); | 181789 | const src_byte_size = @divExact(src_bit_size, 8); |
| 177407 | if (src_size > mem_size) { | 181790 | if (src_byte_size > mem_size) { |
| 177408 | const frame_index = try self.allocFrameIndex(.init(.{ | 181791 | const frame_index = try self.allocFrameIndex(.init(.{ |
| 177409 | .size = src_size, | 181792 | .size = src_byte_size, |
| 177410 | .alignment = src_align, | 181793 | .alignment = src_align, |
| 177411 | })); | 181794 | })); |
| 177412 | const frame_mcv: MCValue = .{ .load_frame = .{ .index = frame_index } }; | 181795 | const frame_mcv: MCValue = .{ .load_frame = .{ .index = frame_index } }; |
| 177413 | try (try self.moveStrategy(ty, src_class, true)).write( | 181796 | try (try self.moveStrategy(ty, src_class, true)).write(self, .{ |
| 177414 | self, | 181797 | .base = .{ .frame = frame_index }, |
| 177415 | .{ .base = .{ .frame = frame_index }, .mod = .{ .rm = .{ | 181798 | .mod = .{ .rm = .{ .size = src_size } }, |
| 177416 | .size = .fromSize(src_size), | 181799 | }, src_alias); |
| 177417 | } } }, | | |
| 177418 | src_alias, | | |
| 177419 | ); | | |
| 177420 | try self.genSetMem(base, disp, ty, frame_mcv, opts); | 181800 | try self.genSetMem(base, disp, ty, frame_mcv, opts); |
| 177421 | try self.freeValue(frame_mcv); | 181801 | try self.freeValue(frame_mcv, .{}); |
| 177422 | } else try (try self.moveStrategy(ty, src_class, switch (base) { | 181802 | } else try (try self.moveStrategy(ty, src_class, switch (base) { |
| 177423 | .none => src_align.check(@as(u32, @bitCast(disp))), | 181803 | .none => src_align.check(@as(u32, @bitCast(disp))), |
| 177424 | .reg => |reg| switch (reg) { | 181804 | .reg => |reg| switch (reg) { |
| ... | @@ -177432,17 +181812,10 @@ fn genSetMem( | ... | @@ -177432,17 +181812,10 @@ fn genSetMem( |
| 177432 | .table, .rip_inst, .lazy_sym, .extern_func => unreachable, | 181812 | .table, .rip_inst, .lazy_sym, .extern_func => unreachable, |
| 177433 | .nav => |nav| ip.getNav(nav).getAlignment().compare(.gte, src_align), | 181813 | .nav => |nav| ip.getNav(nav).getAlignment().compare(.gte, src_align), |
| 177434 | .uav => |uav| Type.fromInterned(uav.orig_ty).ptrAlignment(zcu).compare(.gte, src_align), | 181814 | .uav => |uav| Type.fromInterned(uav.orig_ty).ptrAlignment(zcu).compare(.gte, src_align), |
| 177435 | })).write( | 181815 | })).write(self, .{ |
| 177436 | self, | 181816 | .base = base, |
| 177437 | .{ .base = base, .mod = .{ .rm = .{ | 181817 | .mod = .{ .rm = .{ .size = src_size, .disp = disp } }, |
| 177438 | .size = .fromBitSize(@min( | 181818 | }, src_alias); |
| 177439 | self.memSize(ty).bitSize(self.target), | | |
| 177440 | src_alias.bitSize(), | | |
| 177441 | )), | | |
| 177442 | .disp = disp, | | |
| 177443 | } } }, | | |
| 177444 | src_alias, | | |
| 177445 | ); | | |
| 177446 | }, | 181819 | }, |
| 177447 | inline .register_pair, .register_triple, .register_quadruple => |src_regs| { | 181820 | inline .register_pair, .register_triple, .register_quadruple => |src_regs| { |
| 177448 | var part_disp: i32 = disp; | 181821 | var part_disp: i32 = disp; |
| ... | @@ -177776,7 +182149,7 @@ fn airFloatFromInt(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -177776,7 +182149,7 @@ fn airFloatFromInt(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 177776 | const ty_op = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_op; | 182149 | const ty_op = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_op; |
| 177777 | | 182150 | |
| 177778 | const dst_ty = self.typeOfIndex(inst); | 182151 | const dst_ty = self.typeOfIndex(inst); |
| 177779 | const dst_bits = dst_ty.floatBits(self.target.*); | 182152 | const dst_bits = dst_ty.floatBits(self.target); |
| 177780 | | 182153 | |
| 177781 | const src_ty = self.typeOf(ty_op.operand); | 182154 | const src_ty = self.typeOf(ty_op.operand); |
| 177782 | const src_bits: u32 = @intCast(src_ty.bitSize(zcu)); | 182155 | const src_bits: u32 = @intCast(src_ty.bitSize(zcu)); |
| ... | @@ -177828,7 +182201,7 @@ fn airFloatFromInt(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -177828,7 +182201,7 @@ fn airFloatFromInt(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 177828 | defer self.register_manager.unlockReg(dst_lock); | 182201 | defer self.register_manager.unlockReg(dst_lock); |
| 177829 | | 182202 | |
| 177830 | const mir_tag = @as(?Mir.Inst.FixedTag, switch (dst_ty.zigTypeTag(zcu)) { | 182203 | const mir_tag = @as(?Mir.Inst.FixedTag, switch (dst_ty.zigTypeTag(zcu)) { |
| 177831 | .float => switch (dst_ty.floatBits(self.target.*)) { | 182204 | .float => switch (dst_ty.floatBits(self.target)) { |
| 177832 | 32 => if (self.hasFeature(.avx)) .{ .v_ss, .cvtsi2 } else .{ ._ss, .cvtsi2 }, | 182205 | 32 => if (self.hasFeature(.avx)) .{ .v_ss, .cvtsi2 } else .{ ._ss, .cvtsi2 }, |
| 177833 | 64 => if (self.hasFeature(.avx)) .{ .v_sd, .cvtsi2 } else .{ ._sd, .cvtsi2 }, | 182206 | 64 => if (self.hasFeature(.avx)) .{ .v_sd, .cvtsi2 } else .{ ._sd, .cvtsi2 }, |
| 177834 | 16, 80, 128 => null, | 182207 | 16, 80, 128 => null, |
| ... | @@ -177865,7 +182238,7 @@ fn airIntFromFloat(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -177865,7 +182238,7 @@ fn airIntFromFloat(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 177865 | }, 32), 8) catch unreachable; | 182238 | }, 32), 8) catch unreachable; |
| 177866 | | 182239 | |
| 177867 | const src_ty = self.typeOf(ty_op.operand); | 182240 | const src_ty = self.typeOf(ty_op.operand); |
| 177868 | const src_bits = src_ty.floatBits(self.target.*); | 182241 | const src_bits = src_ty.floatBits(self.target); |
| 177869 | | 182242 | |
| 177870 | const result = result: { | 182243 | const result = result: { |
| 177871 | if (switch (src_bits) { | 182244 | if (switch (src_bits) { |
| ... | @@ -178136,22 +182509,22 @@ fn atomicOp( | ... | @@ -178136,22 +182509,22 @@ fn atomicOp( |
| 178136 | } | 182509 | } |
| 178137 | if (rmw_op) |op| if (use_sse) { | 182510 | if (rmw_op) |op| if (use_sse) { |
| 178138 | const mir_tag = @as(?Mir.Inst.FixedTag, switch (op) { | 182511 | const mir_tag = @as(?Mir.Inst.FixedTag, switch (op) { |
| 178139 | .Add => switch (val_ty.floatBits(self.target.*)) { | 182512 | .Add => switch (val_ty.floatBits(self.target)) { |
| 178140 | 32 => if (self.hasFeature(.avx)) .{ .v_ss, .add } else .{ ._ss, .add }, | 182513 | 32 => if (self.hasFeature(.avx)) .{ .v_ss, .add } else .{ ._ss, .add }, |
| 178141 | 64 => if (self.hasFeature(.avx)) .{ .v_sd, .add } else .{ ._sd, .add }, | 182514 | 64 => if (self.hasFeature(.avx)) .{ .v_sd, .add } else .{ ._sd, .add }, |
| 178142 | else => null, | 182515 | else => null, |
| 178143 | }, | 182516 | }, |
| 178144 | .Sub => switch (val_ty.floatBits(self.target.*)) { | 182517 | .Sub => switch (val_ty.floatBits(self.target)) { |
| 178145 | 32 => if (self.hasFeature(.avx)) .{ .v_ss, .sub } else .{ ._ss, .sub }, | 182518 | 32 => if (self.hasFeature(.avx)) .{ .v_ss, .sub } else .{ ._ss, .sub }, |
| 178146 | 64 => if (self.hasFeature(.avx)) .{ .v_sd, .sub } else .{ ._sd, .sub }, | 182519 | 64 => if (self.hasFeature(.avx)) .{ .v_sd, .sub } else .{ ._sd, .sub }, |
| 178147 | else => null, | 182520 | else => null, |
| 178148 | }, | 182521 | }, |
| 178149 | .Min => switch (val_ty.floatBits(self.target.*)) { | 182522 | .Min => switch (val_ty.floatBits(self.target)) { |
| 178150 | 32 => if (self.hasFeature(.avx)) .{ .v_ss, .min } else .{ ._ss, .min }, | 182523 | 32 => if (self.hasFeature(.avx)) .{ .v_ss, .min } else .{ ._ss, .min }, |
| 178151 | 64 => if (self.hasFeature(.avx)) .{ .v_sd, .min } else .{ ._sd, .min }, | 182524 | 64 => if (self.hasFeature(.avx)) .{ .v_sd, .min } else .{ ._sd, .min }, |
| 178152 | else => null, | 182525 | else => null, |
| 178153 | }, | 182526 | }, |
| 178154 | .Max => switch (val_ty.floatBits(self.target.*)) { | 182527 | .Max => switch (val_ty.floatBits(self.target)) { |
| 178155 | 32 => if (self.hasFeature(.avx)) .{ .v_ss, .max } else .{ ._ss, .max }, | 182528 | 32 => if (self.hasFeature(.avx)) .{ .v_ss, .max } else .{ ._ss, .max }, |
| 178156 | 64 => if (self.hasFeature(.avx)) .{ .v_sd, .max } else .{ ._sd, .max }, | 182529 | 64 => if (self.hasFeature(.avx)) .{ .v_sd, .max } else .{ ._sd, .max }, |
| 178157 | else => null, | 182530 | else => null, |
| ... | @@ -178582,271 +182955,6 @@ fn airMemset(self: *CodeGen, inst: Air.Inst.Index, safety: bool) !void { | ... | @@ -178582,271 +182955,6 @@ fn airMemset(self: *CodeGen, inst: Air.Inst.Index, safety: bool) !void { |
| 178582 | return self.finishAir(inst, .unreach, .{ bin_op.lhs, bin_op.rhs, .none }); | 182955 | return self.finishAir(inst, .unreach, .{ bin_op.lhs, bin_op.rhs, .none }); |
| 178583 | } | 182956 | } |
| 178584 | | 182957 | |
| 178585 | fn airMemcpy(self: *CodeGen, inst: Air.Inst.Index) !void { | | |
| 178586 | const pt = self.pt; | | |
| 178587 | const zcu = pt.zcu; | | |
| 178588 | const bin_op = self.air.instructions.items(.data)[@intFromEnum(inst)].bin_op; | | |
| 178589 | | | |
| 178590 | try self.spillRegisters(&.{ .rdi, .rsi, .rcx }); | | |
| 178591 | const reg_locks = self.register_manager.lockRegsAssumeUnused(3, .{ .rdi, .rsi, .rcx }); | | |
| 178592 | defer for (reg_locks) |lock| self.register_manager.unlockReg(lock); | | |
| 178593 | | | |
| 178594 | const dst = try self.resolveInst(bin_op.lhs); | | |
| 178595 | const dst_ty = self.typeOf(bin_op.lhs); | | |
| 178596 | const dst_locks: [2]?RegisterLock = switch (dst) { | | |
| 178597 | .register => |dst_reg| .{ self.register_manager.lockRegAssumeUnused(dst_reg), null }, | | |
| 178598 | .register_pair => |dst_regs| .{ | | |
| 178599 | self.register_manager.lockRegAssumeUnused(dst_regs[0]), | | |
| 178600 | self.register_manager.lockReg(dst_regs[1]), | | |
| 178601 | }, | | |
| 178602 | else => @splat(null), | | |
| 178603 | }; | | |
| 178604 | for (dst_locks) |dst_lock| if (dst_lock) |lock| self.register_manager.unlockReg(lock); | | |
| 178605 | | | |
| 178606 | const src = try self.resolveInst(bin_op.rhs); | | |
| 178607 | const src_locks: [2]?RegisterLock = switch (src) { | | |
| 178608 | .register => |src_reg| .{ self.register_manager.lockReg(src_reg), null }, | | |
| 178609 | .register_pair => |src_regs| .{ | | |
| 178610 | self.register_manager.lockRegAssumeUnused(src_regs[0]), | | |
| 178611 | self.register_manager.lockRegAssumeUnused(src_regs[1]), | | |
| 178612 | }, | | |
| 178613 | else => @splat(null), | | |
| 178614 | }; | | |
| 178615 | for (src_locks) |src_lock| if (src_lock) |lock| self.register_manager.unlockReg(lock); | | |
| 178616 | | | |
| 178617 | const len: MCValue = switch (dst_ty.ptrSize(zcu)) { | | |
| 178618 | .slice => len: { | | |
| 178619 | const len_reg = try self.register_manager.allocReg(null, abi.RegisterClass.gp); | | |
| 178620 | const len_lock = self.register_manager.lockRegAssumeUnused(len_reg); | | |
| 178621 | defer self.register_manager.unlockReg(len_lock); | | |
| 178622 | | | |
| 178623 | switch (dst) { | | |
| 178624 | .register_pair => |dst_regs| try self.asmRegisterRegisterImmediate( | | |
| 178625 | .{ .i_, .mul }, | | |
| 178626 | len_reg, | | |
| 178627 | dst_regs[1], | | |
| 178628 | .s(@intCast(dst_ty.childType(zcu).abiSize(zcu))), | | |
| 178629 | ), | | |
| 178630 | else => try self.asmRegisterMemoryImmediate( | | |
| 178631 | .{ .i_, .mul }, | | |
| 178632 | len_reg, | | |
| 178633 | try dst.address().offset(8).deref().mem(self, .{ .size = .qword }), | | |
| 178634 | .s(@intCast(dst_ty.childType(zcu).abiSize(zcu))), | | |
| 178635 | ), | | |
| 178636 | } | | |
| 178637 | break :len .{ .register = len_reg }; | | |
| 178638 | }, | | |
| 178639 | .one => len: { | | |
| 178640 | const array_ty = dst_ty.childType(zcu); | | |
| 178641 | break :len .{ .immediate = array_ty.arrayLen(zcu) * array_ty.childType(zcu).abiSize(zcu) }; | | |
| 178642 | }, | | |
| 178643 | .c, .many => unreachable, | | |
| 178644 | }; | | |
| 178645 | const len_lock: ?RegisterLock = switch (len) { | | |
| 178646 | .register => |reg| self.register_manager.lockReg(reg), | | |
| 178647 | else => null, | | |
| 178648 | }; | | |
| 178649 | defer if (len_lock) |lock| self.register_manager.unlockReg(lock); | | |
| 178650 | | | |
| 178651 | const dst_ptr: MCValue = switch (dst) { | | |
| 178652 | .register_pair => |dst_regs| .{ .register = dst_regs[0] }, | | |
| 178653 | else => dst, | | |
| 178654 | }; | | |
| 178655 | const src_ptr: MCValue = switch (src) { | | |
| 178656 | .register_pair => |src_regs| .{ .register = src_regs[0] }, | | |
| 178657 | else => src, | | |
| 178658 | }; | | |
| 178659 | | | |
| 178660 | try self.genInlineMemcpy(dst_ptr, src_ptr, len, .{ .no_alias = true }); | | |
| 178661 | | | |
| 178662 | return self.finishAir(inst, .unreach, .{ bin_op.lhs, bin_op.rhs, .none }); | | |
| 178663 | } | | |
| 178664 | | | |
| 178665 | fn airTagName(self: *CodeGen, inst: Air.Inst.Index, only_safety: bool) !void { | | |
| 178666 | const pt = self.pt; | | |
| 178667 | const zcu = pt.zcu; | | |
| 178668 | const un_op = self.air.instructions.items(.data)[@intFromEnum(inst)].un_op; | | |
| 178669 | const inst_ty = self.typeOfIndex(inst); | | |
| 178670 | const enum_ty = self.typeOf(un_op); | | |
| 178671 | | | |
| 178672 | // We need a properly aligned and sized call frame to be able to call this function. | | |
| 178673 | { | | |
| 178674 | const needed_call_frame: FrameAlloc = .init(.{ | | |
| 178675 | .size = inst_ty.abiSize(zcu), | | |
| 178676 | .alignment = inst_ty.abiAlignment(zcu), | | |
| 178677 | }); | | |
| 178678 | const frame_allocs_slice = self.frame_allocs.slice(); | | |
| 178679 | const stack_frame_size = | | |
| 178680 | &frame_allocs_slice.items(.abi_size)[@intFromEnum(FrameIndex.call_frame)]; | | |
| 178681 | stack_frame_size.* = @max(stack_frame_size.*, needed_call_frame.abi_size); | | |
| 178682 | const stack_frame_align = | | |
| 178683 | &frame_allocs_slice.items(.abi_align)[@intFromEnum(FrameIndex.call_frame)]; | | |
| 178684 | stack_frame_align.* = stack_frame_align.max(needed_call_frame.abi_align); | | |
| 178685 | } | | |
| 178686 | | | |
| 178687 | var param_gpr = abi.getCAbiIntParamRegs(.auto); | | |
| 178688 | const err_ret_trace_reg = if (zcu.comp.config.any_error_tracing) err_ret_trace_reg: { | | |
| 178689 | defer param_gpr = param_gpr[0 .. param_gpr.len - 1]; | | |
| 178690 | break :err_ret_trace_reg param_gpr[param_gpr.len - 1]; | | |
| 178691 | } else .none; | | |
| 178692 | | | |
| 178693 | try self.spillEflagsIfOccupied(); | | |
| 178694 | try self.spillCallerPreservedRegs(.auto, err_ret_trace_reg); | | |
| 178695 | | | |
| 178696 | const operand = try self.resolveInst(un_op); | | |
| 178697 | try self.genSetReg(param_gpr[0], enum_ty, operand, .{}); | | |
| 178698 | | | |
| 178699 | const enum_lazy_sym: link.File.LazySymbol = .{ .kind = .code, .ty = enum_ty.toIntern() }; | | |
| 178700 | try self.genLazySymbolRef(.call, abi.getCAbiLinkerScratchReg(.auto), enum_lazy_sym); | | |
| 178701 | | | |
| 178702 | const tag_name_regs = param_gpr[0..2].*; | | |
| 178703 | const dst_mcv: MCValue = if (only_safety) result: { | | |
| 178704 | try self.asmRegisterRegister(.{ ._, .@"test" }, tag_name_regs[0].to64(), tag_name_regs[0].to64()); | | |
| 178705 | break :result .{ .eflags = .nz }; | | |
| 178706 | } else .{ .register_pair = tag_name_regs }; | | |
| 178707 | return self.finishAir(inst, dst_mcv, .{ un_op, .none, .none }); | | |
| 178708 | } | | |
| 178709 | | | |
| 178710 | fn airErrorName(self: *CodeGen, inst: Air.Inst.Index) !void { | | |
| 178711 | const un_op = self.air.instructions.items(.data)[@intFromEnum(inst)].un_op; | | |
| 178712 | | | |
| 178713 | const err_ty = self.typeOf(un_op); | | |
| 178714 | const err_mcv = try self.resolveInst(un_op); | | |
| 178715 | const err_reg = try self.copyToTmpRegister(err_ty, err_mcv); | | |
| 178716 | const err_lock = self.register_manager.lockRegAssumeUnused(err_reg); | | |
| 178717 | defer self.register_manager.unlockReg(err_lock); | | |
| 178718 | | | |
| 178719 | const addr_reg = try self.register_manager.allocReg(null, abi.RegisterClass.gp); | | |
| 178720 | const addr_lock = self.register_manager.lockRegAssumeUnused(addr_reg); | | |
| 178721 | defer self.register_manager.unlockReg(addr_lock); | | |
| 178722 | const anyerror_lazy_sym: link.File.LazySymbol = .{ .kind = .const_data, .ty = .anyerror_type }; | | |
| 178723 | try self.genLazySymbolRef(.lea, addr_reg, anyerror_lazy_sym); | | |
| 178724 | | | |
| 178725 | const start_reg = try self.register_manager.allocReg(null, abi.RegisterClass.gp); | | |
| 178726 | const start_lock = self.register_manager.lockRegAssumeUnused(start_reg); | | |
| 178727 | defer self.register_manager.unlockReg(start_lock); | | |
| 178728 | | | |
| 178729 | const end_reg = try self.register_manager.allocReg(null, abi.RegisterClass.gp); | | |
| 178730 | const end_lock = self.register_manager.lockRegAssumeUnused(end_reg); | | |
| 178731 | defer self.register_manager.unlockReg(end_lock); | | |
| 178732 | | | |
| 178733 | try self.truncateRegister(err_ty, err_reg.to32()); | | |
| 178734 | | | |
| 178735 | try self.asmRegisterMemory( | | |
| 178736 | .{ ._, .mov }, | | |
| 178737 | start_reg.to32(), | | |
| 178738 | .{ | | |
| 178739 | .base = .{ .reg = addr_reg.to64() }, | | |
| 178740 | .mod = .{ .rm = .{ | | |
| 178741 | .size = .dword, | | |
| 178742 | .index = err_reg.to64(), | | |
| 178743 | .scale = .@"4", | | |
| 178744 | .disp = (1 - 1) * 4, | | |
| 178745 | } }, | | |
| 178746 | }, | | |
| 178747 | ); | | |
| 178748 | try self.asmRegisterMemory( | | |
| 178749 | .{ ._, .mov }, | | |
| 178750 | end_reg.to32(), | | |
| 178751 | .{ | | |
| 178752 | .base = .{ .reg = addr_reg.to64() }, | | |
| 178753 | .mod = .{ .rm = .{ | | |
| 178754 | .size = .dword, | | |
| 178755 | .index = err_reg.to64(), | | |
| 178756 | .scale = .@"4", | | |
| 178757 | .disp = (2 - 1) * 4, | | |
| 178758 | } }, | | |
| 178759 | }, | | |
| 178760 | ); | | |
| 178761 | try self.asmRegisterRegister(.{ ._, .sub }, end_reg.to32(), start_reg.to32()); | | |
| 178762 | try self.asmRegisterMemory( | | |
| 178763 | .{ ._, .lea }, | | |
| 178764 | start_reg.to64(), | | |
| 178765 | .{ | | |
| 178766 | .base = .{ .reg = addr_reg.to64() }, | | |
| 178767 | .mod = .{ .rm = .{ .index = start_reg.to64() } }, | | |
| 178768 | }, | | |
| 178769 | ); | | |
| 178770 | try self.asmRegisterMemory( | | |
| 178771 | .{ ._, .lea }, | | |
| 178772 | end_reg.to32(), | | |
| 178773 | .{ | | |
| 178774 | .base = .{ .reg = end_reg.to64() }, | | |
| 178775 | .mod = .{ .rm = .{ .disp = -1 } }, | | |
| 178776 | }, | | |
| 178777 | ); | | |
| 178778 | | | |
| 178779 | const dst_mcv = try self.allocRegOrMem(inst, false); | | |
| 178780 | try self.asmMemoryRegister( | | |
| 178781 | .{ ._, .mov }, | | |
| 178782 | .{ | | |
| 178783 | .base = .{ .frame = dst_mcv.load_frame.index }, | | |
| 178784 | .mod = .{ .rm = .{ | | |
| 178785 | .size = .qword, | | |
| 178786 | .disp = dst_mcv.load_frame.off, | | |
| 178787 | } }, | | |
| 178788 | }, | | |
| 178789 | start_reg.to64(), | | |
| 178790 | ); | | |
| 178791 | try self.asmMemoryRegister( | | |
| 178792 | .{ ._, .mov }, | | |
| 178793 | .{ | | |
| 178794 | .base = .{ .frame = dst_mcv.load_frame.index }, | | |
| 178795 | .mod = .{ .rm = .{ | | |
| 178796 | .size = .qword, | | |
| 178797 | .disp = dst_mcv.load_frame.off + 8, | | |
| 178798 | } }, | | |
| 178799 | }, | | |
| 178800 | end_reg.to64(), | | |
| 178801 | ); | | |
| 178802 | | | |
| 178803 | return self.finishAir(inst, dst_mcv, .{ un_op, .none, .none }); | | |
| 178804 | } | | |
| 178805 | | | |
| 178806 | fn airErrorSetHasValue(self: *CodeGen, inst: Air.Inst.Index) !void { | | |
| 178807 | const pt = self.pt; | | |
| 178808 | const zcu = pt.zcu; | | |
| 178809 | const ty_op = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_op; | | |
| 178810 | const inst_ty = self.typeOfIndex(inst); | | |
| 178811 | const err_ty = ty_op.ty.toType(); | | |
| 178812 | | | |
| 178813 | // We need a properly aligned and sized call frame to be able to call this function. | | |
| 178814 | { | | |
| 178815 | const needed_call_frame: FrameAlloc = .init(.{ | | |
| 178816 | .size = inst_ty.abiSize(zcu), | | |
| 178817 | .alignment = inst_ty.abiAlignment(zcu), | | |
| 178818 | }); | | |
| 178819 | const frame_allocs_slice = self.frame_allocs.slice(); | | |
| 178820 | const stack_frame_size = | | |
| 178821 | &frame_allocs_slice.items(.abi_size)[@intFromEnum(FrameIndex.call_frame)]; | | |
| 178822 | stack_frame_size.* = @max(stack_frame_size.*, needed_call_frame.abi_size); | | |
| 178823 | const stack_frame_align = | | |
| 178824 | &frame_allocs_slice.items(.abi_align)[@intFromEnum(FrameIndex.call_frame)]; | | |
| 178825 | stack_frame_align.* = stack_frame_align.max(needed_call_frame.abi_align); | | |
| 178826 | } | | |
| 178827 | | | |
| 178828 | var param_gpr = abi.getCAbiIntParamRegs(.auto); | | |
| 178829 | const err_ret_trace_reg = if (zcu.comp.config.any_error_tracing) err_ret_trace_reg: { | | |
| 178830 | defer param_gpr = param_gpr[0 .. param_gpr.len - 1]; | | |
| 178831 | break :err_ret_trace_reg param_gpr[param_gpr.len - 1]; | | |
| 178832 | } else .none; | | |
| 178833 | | | |
| 178834 | try self.spillEflagsIfOccupied(); | | |
| 178835 | try self.spillCallerPreservedRegs(.auto, err_ret_trace_reg); | | |
| 178836 | | | |
| 178837 | const operand = try self.resolveInst(ty_op.operand); | | |
| 178838 | try self.genSetReg(param_gpr[0], err_ty, operand, .{}); | | |
| 178839 | | | |
| 178840 | const enum_lazy_sym: link.File.LazySymbol = .{ .kind = .code, .ty = err_ty.toIntern() }; | | |
| 178841 | try self.genLazySymbolRef(.call, abi.getCAbiLinkerScratchReg(.auto), enum_lazy_sym); | | |
| 178842 | | | |
| 178843 | const res_reg = param_gpr[0]; | | |
| 178844 | try self.asmRegisterRegister(.{ ._, .@"test" }, res_reg.to32(), res_reg.to32()); | | |
| 178845 | | | |
| 178846 | const dst_mcv: MCValue = .{ .eflags = .nz }; | | |
| 178847 | return self.finishAir(inst, dst_mcv, .{ ty_op.operand, .none, .none }); | | |
| 178848 | } | | |
| 178849 | | | |
| 178850 | fn airSplat(self: *CodeGen, inst: Air.Inst.Index) !void { | 182958 | fn airSplat(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 178851 | const pt = self.pt; | 182959 | const pt = self.pt; |
| 178852 | const zcu = pt.zcu; | 182960 | const zcu = pt.zcu; |
| ... | @@ -178988,7 +183096,7 @@ fn airSplat(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -178988,7 +183096,7 @@ fn airSplat(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 178988 | ); | 183096 | ); |
| 178989 | break :result .{ .register = dst_reg }; | 183097 | break :result .{ .register = dst_reg }; |
| 178990 | }, | 183098 | }, |
| 178991 | .float => switch (scalar_ty.floatBits(self.target.*)) { | 183099 | .float => switch (scalar_ty.floatBits(self.target)) { |
| 178992 | 32 => switch (vector_len) { | 183100 | 32 => switch (vector_len) { |
| 178993 | 1 => { | 183101 | 1 => { |
| 178994 | const src_mcv = try self.resolveInst(ty_op.operand); | 183102 | const src_mcv = try self.resolveInst(ty_op.operand); |
| ... | @@ -179581,7 +183689,7 @@ fn airSelect(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -179581,7 +183689,7 @@ fn airSelect(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 179581 | null, | 183689 | null, |
| 179582 | else => null, | 183690 | else => null, |
| 179583 | }, | 183691 | }, |
| 179584 | .float => switch (elem_ty.floatBits(self.target.*)) { | 183692 | .float => switch (elem_ty.floatBits(self.target)) { |
| 179585 | else => unreachable, | 183693 | else => unreachable, |
| 179586 | 16, 80, 128 => null, | 183694 | 16, 80, 128 => null, |
| 179587 | 32 => switch (vec_len) { | 183695 | 32 => switch (vec_len) { |
| ... | @@ -180308,7 +184416,7 @@ fn airShuffle(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -180308,7 +184416,7 @@ fn airShuffle(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 180308 | defer self.register_manager.unlockReg(mask_lock); | 184416 | defer self.register_manager.unlockReg(mask_lock); |
| 180309 | | 184417 | |
| 180310 | const mir_fixes: Mir.Inst.Fixes = if (elem_ty.isRuntimeFloat()) | 184418 | const mir_fixes: Mir.Inst.Fixes = if (elem_ty.isRuntimeFloat()) |
| 180311 | switch (elem_ty.floatBits(self.target.*)) { | 184419 | switch (elem_ty.floatBits(self.target)) { |
| 180312 | 16, 80, 128 => .p_, | 184420 | 16, 80, 128 => .p_, |
| 180313 | 32 => ._ps, | 184421 | 32 => ._ps, |
| 180314 | 64 => ._pd, | 184422 | 64 => ._pd, |
| ... | @@ -180414,7 +184522,7 @@ fn airShuffle(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -180414,7 +184522,7 @@ fn airShuffle(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 180414 | .{ switch (elem_ty.zigTypeTag(zcu)) { | 184522 | .{ switch (elem_ty.zigTypeTag(zcu)) { |
| 180415 | else => break :result null, | 184523 | else => break :result null, |
| 180416 | .int => .vp_, | 184524 | .int => .vp_, |
| 180417 | .float => switch (elem_ty.floatBits(self.target.*)) { | 184525 | .float => switch (elem_ty.floatBits(self.target)) { |
| 180418 | 32 => .v_ps, | 184526 | 32 => .v_ps, |
| 180419 | 64 => .v_pd, | 184527 | 64 => .v_pd, |
| 180420 | 16, 80, 128 => break :result null, | 184528 | 16, 80, 128 => break :result null, |
| ... | @@ -180428,7 +184536,7 @@ fn airShuffle(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -180428,7 +184536,7 @@ fn airShuffle(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 180428 | .{ switch (elem_ty.zigTypeTag(zcu)) { | 184536 | .{ switch (elem_ty.zigTypeTag(zcu)) { |
| 180429 | else => break :result null, | 184537 | else => break :result null, |
| 180430 | .int => .p_, | 184538 | .int => .p_, |
| 180431 | .float => switch (elem_ty.floatBits(self.target.*)) { | 184539 | .float => switch (elem_ty.floatBits(self.target)) { |
| 180432 | 32 => ._ps, | 184540 | 32 => ._ps, |
| 180433 | 64 => ._pd, | 184541 | 64 => ._pd, |
| 180434 | 16, 80, 128 => break :result null, | 184542 | 16, 80, 128 => break :result null, |
| ... | @@ -180451,120 +184559,6 @@ fn airShuffle(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -180451,120 +184559,6 @@ fn airShuffle(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 180451 | return self.finishAir(inst, result, .{ extra.a, extra.b, .none }); | 184559 | return self.finishAir(inst, result, .{ extra.a, extra.b, .none }); |
| 180452 | } | 184560 | } |
| 180453 | | 184561 | |
| 180454 | fn airReduce(self: *CodeGen, inst: Air.Inst.Index) !void { | | |
| 180455 | const pt = self.pt; | | |
| 180456 | const zcu = pt.zcu; | | |
| 180457 | const reduce = self.air.instructions.items(.data)[@intFromEnum(inst)].reduce; | | |
| 180458 | | | |
| 180459 | const result: MCValue = result: { | | |
| 180460 | const operand_ty = self.typeOf(reduce.operand); | | |
| 180461 | if (operand_ty.isVector(zcu) and operand_ty.childType(zcu).toIntern() == .bool_type) { | | |
| 180462 | try self.spillEflagsIfOccupied(); | | |
| 180463 | | | |
| 180464 | const abi_size: u32 = @intCast(operand_ty.abiSize(zcu)); | | |
| 180465 | const operand_mcv = try self.resolveInst(reduce.operand); | | |
| 180466 | const mask_len = operand_ty.vectorLen(zcu); | | |
| 180467 | const mask_len_minus_one = (std.math.cast(u6, mask_len - 1) orelse { | | |
| 180468 | const acc_reg = try self.register_manager.allocReg(null, abi.RegisterClass.gp); | | |
| 180469 | const acc_lock = self.register_manager.lockRegAssumeUnused(acc_reg); | | |
| 180470 | defer self.register_manager.unlockReg(acc_lock); | | |
| 180471 | var limb_offset: i31 = @intCast((mask_len - 1) / 64 * 8); | | |
| 180472 | const need_mask = mask_len % 64 != 0; | | |
| 180473 | if (need_mask) try self.asmRegisterImmediate( | | |
| 180474 | .{ ._, .mov }, | | |
| 180475 | if (mask_len % 64 <= 32) acc_reg.to32() else acc_reg.to64(), | | |
| 180476 | .u((@as(u64, std.math.maxInt(u64)) >> @truncate(-%mask_len))), | | |
| 180477 | ); | | |
| 180478 | const operand_mem_mcv: MCValue = if (!operand_mcv.isBase()) operand_mem: { | | |
| 180479 | const frame_index = try self.allocFrameIndex(.initSpill(operand_ty, zcu)); | | |
| 180480 | try self.genSetMem(.{ .frame = frame_index }, 0, operand_ty, operand_mcv, .{}); | | |
| 180481 | break :operand_mem .{ .load_frame = .{ .index = frame_index } }; | | |
| 180482 | } else operand_mcv; | | |
| 180483 | var first = true; | | |
| 180484 | while (true) : (limb_offset -= 8) { | | |
| 180485 | try self.asmRegisterMemory( | | |
| 180486 | .{ ._, if (first) if (need_mask) .@"and" else .mov else switch (reduce.operation) { | | |
| 180487 | .Or => .@"or", | | |
| 180488 | .And => .@"and", | | |
| 180489 | else => return self.fail("TODO implement airReduce for {}", .{operand_ty.fmt(pt)}), | | |
| 180490 | } }, | | |
| 180491 | acc_reg.to64(), | | |
| 180492 | try operand_mem_mcv.mem(self, .{ | | |
| 180493 | .size = .qword, | | |
| 180494 | .disp = limb_offset, | | |
| 180495 | }), | | |
| 180496 | ); | | |
| 180497 | if (limb_offset == 0) break; | | |
| 180498 | first = false; | | |
| 180499 | } | | |
| 180500 | switch (reduce.operation) { | | |
| 180501 | .Or => { | | |
| 180502 | try self.asmRegisterRegister(.{ ._, .@"test" }, acc_reg.to64(), acc_reg.to64()); | | |
| 180503 | break :result .{ .eflags = .nz }; | | |
| 180504 | }, | | |
| 180505 | .And => { | | |
| 180506 | try self.asmRegisterImmediate(.{ ._, .cmp }, acc_reg.to64(), .s(-1)); | | |
| 180507 | break :result .{ .eflags = .z }; | | |
| 180508 | }, | | |
| 180509 | else => unreachable, | | |
| 180510 | } | | |
| 180511 | }); | | |
| 180512 | const mask = @as(u64, std.math.maxInt(u64)) >> ~mask_len_minus_one; | | |
| 180513 | switch (reduce.operation) { | | |
| 180514 | .Or => { | | |
| 180515 | if (operand_mcv.isBase()) try self.asmMemoryImmediate( | | |
| 180516 | .{ ._, .@"test" }, | | |
| 180517 | try operand_mcv.mem(self, .{ .size = .fromSize(abi_size) }), | | |
| 180518 | if (mask_len < abi_size * 8) | | |
| 180519 | .u(mask) | | |
| 180520 | else | | |
| 180521 | .s(-1), | | |
| 180522 | ) else { | | |
| 180523 | const operand_reg = registerAlias(operand_reg: { | | |
| 180524 | if (operand_mcv.isRegister()) { | | |
| 180525 | const operand_reg = operand_mcv.getReg().?; | | |
| 180526 | if (operand_reg.isClass(.general_purpose)) break :operand_reg operand_reg; | | |
| 180527 | } | | |
| 180528 | break :operand_reg try self.copyToTmpRegister(operand_ty, operand_mcv); | | |
| 180529 | }, abi_size); | | |
| 180530 | const operand_lock = self.register_manager.lockReg(operand_reg); | | |
| 180531 | defer if (operand_lock) |lock| self.register_manager.unlockReg(lock); | | |
| 180532 | | | |
| 180533 | if (mask_len < abi_size * 8) try self.asmRegisterImmediate( | | |
| 180534 | .{ ._, .@"test" }, | | |
| 180535 | operand_reg, | | |
| 180536 | .u(mask), | | |
| 180537 | ) else try self.asmRegisterRegister( | | |
| 180538 | .{ ._, .@"test" }, | | |
| 180539 | operand_reg, | | |
| 180540 | operand_reg, | | |
| 180541 | ); | | |
| 180542 | } | | |
| 180543 | break :result .{ .eflags = .nz }; | | |
| 180544 | }, | | |
| 180545 | .And => { | | |
| 180546 | const tmp_reg = registerAlias( | | |
| 180547 | try self.copyToTmpRegister(operand_ty, operand_mcv), | | |
| 180548 | abi_size, | | |
| 180549 | ); | | |
| 180550 | const tmp_lock = self.register_manager.lockRegAssumeUnused(tmp_reg); | | |
| 180551 | defer self.register_manager.unlockReg(tmp_lock); | | |
| 180552 | | | |
| 180553 | try self.asmRegister(.{ ._, .not }, tmp_reg); | | |
| 180554 | if (mask_len < abi_size * 8) | | |
| 180555 | try self.asmRegisterImmediate(.{ ._, .@"test" }, tmp_reg, .u(mask)) | | |
| 180556 | else | | |
| 180557 | try self.asmRegisterRegister(.{ ._, .@"test" }, tmp_reg, tmp_reg); | | |
| 180558 | break :result .{ .eflags = .z }; | | |
| 180559 | }, | | |
| 180560 | else => return self.fail("TODO implement airReduce for {}", .{operand_ty.fmt(pt)}), | | |
| 180561 | } | | |
| 180562 | } | | |
| 180563 | return self.fail("TODO implement airReduce for {}", .{operand_ty.fmt(pt)}); | | |
| 180564 | }; | | |
| 180565 | return self.finishAir(inst, result, .{ reduce.operand, .none, .none }); | | |
| 180566 | } | | |
| 180567 | | | |
| 180568 | fn airAggregateInit(self: *CodeGen, inst: Air.Inst.Index) !void { | 184562 | fn airAggregateInit(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 180569 | const pt = self.pt; | 184563 | const pt = self.pt; |
| 180570 | const zcu = pt.zcu; | 184564 | const zcu = pt.zcu; |
| ... | @@ -180800,7 +184794,7 @@ fn airMulAdd(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -180800,7 +184794,7 @@ fn airMulAdd(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 180800 | | 184794 | |
| 180801 | const ops = [3]Air.Inst.Ref{ extra.lhs, extra.rhs, pl_op.operand }; | 184795 | const ops = [3]Air.Inst.Ref{ extra.lhs, extra.rhs, pl_op.operand }; |
| 180802 | const result = result: { | 184796 | const result = result: { |
| 180803 | if (switch (ty.scalarType(zcu).floatBits(self.target.*)) { | 184797 | if (switch (ty.scalarType(zcu).floatBits(self.target)) { |
| 180804 | 16, 80, 128 => true, | 184798 | 16, 80, 128 => true, |
| 180805 | 32, 64 => !self.hasFeature(.fma), | 184799 | 32, 64 => !self.hasFeature(.fma), |
| 180806 | else => unreachable, | 184800 | else => unreachable, |
| ... | @@ -180855,14 +184849,14 @@ fn airMulAdd(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -180855,14 +184849,14 @@ fn airMulAdd(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 180855 | const mir_tag = @as(?Mir.Inst.FixedTag, if (std.mem.eql(u2, &order, &.{ 1, 3, 2 }) or | 184849 | const mir_tag = @as(?Mir.Inst.FixedTag, if (std.mem.eql(u2, &order, &.{ 1, 3, 2 }) or |
| 180856 | std.mem.eql(u2, &order, &.{ 3, 1, 2 })) | 184850 | std.mem.eql(u2, &order, &.{ 3, 1, 2 })) |
| 180857 | switch (ty.zigTypeTag(zcu)) { | 184851 | switch (ty.zigTypeTag(zcu)) { |
| 180858 | .float => switch (ty.floatBits(self.target.*)) { | 184852 | .float => switch (ty.floatBits(self.target)) { |
| 180859 | 32 => .{ .v_ss, .fmadd132 }, | 184853 | 32 => .{ .v_ss, .fmadd132 }, |
| 180860 | 64 => .{ .v_sd, .fmadd132 }, | 184854 | 64 => .{ .v_sd, .fmadd132 }, |
| 180861 | 16, 80, 128 => null, | 184855 | 16, 80, 128 => null, |
| 180862 | else => unreachable, | 184856 | else => unreachable, |
| 180863 | }, | 184857 | }, |
| 180864 | .vector => switch (ty.childType(zcu).zigTypeTag(zcu)) { | 184858 | .vector => switch (ty.childType(zcu).zigTypeTag(zcu)) { |
| 180865 | .float => switch (ty.childType(zcu).floatBits(self.target.*)) { | 184859 | .float => switch (ty.childType(zcu).floatBits(self.target)) { |
| 180866 | 32 => switch (ty.vectorLen(zcu)) { | 184860 | 32 => switch (ty.vectorLen(zcu)) { |
| 180867 | 1 => .{ .v_ss, .fmadd132 }, | 184861 | 1 => .{ .v_ss, .fmadd132 }, |
| 180868 | 2...8 => .{ .v_ps, .fmadd132 }, | 184862 | 2...8 => .{ .v_ps, .fmadd132 }, |
| ... | @@ -180882,14 +184876,14 @@ fn airMulAdd(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -180882,14 +184876,14 @@ fn airMulAdd(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 180882 | } | 184876 | } |
| 180883 | else if (std.mem.eql(u2, &order, &.{ 2, 1, 3 }) or std.mem.eql(u2, &order, &.{ 1, 2, 3 })) | 184877 | else if (std.mem.eql(u2, &order, &.{ 2, 1, 3 }) or std.mem.eql(u2, &order, &.{ 1, 2, 3 })) |
| 180884 | switch (ty.zigTypeTag(zcu)) { | 184878 | switch (ty.zigTypeTag(zcu)) { |
| 180885 | .float => switch (ty.floatBits(self.target.*)) { | 184879 | .float => switch (ty.floatBits(self.target)) { |
| 180886 | 32 => .{ .v_ss, .fmadd213 }, | 184880 | 32 => .{ .v_ss, .fmadd213 }, |
| 180887 | 64 => .{ .v_sd, .fmadd213 }, | 184881 | 64 => .{ .v_sd, .fmadd213 }, |
| 180888 | 16, 80, 128 => null, | 184882 | 16, 80, 128 => null, |
| 180889 | else => unreachable, | 184883 | else => unreachable, |
| 180890 | }, | 184884 | }, |
| 180891 | .vector => switch (ty.childType(zcu).zigTypeTag(zcu)) { | 184885 | .vector => switch (ty.childType(zcu).zigTypeTag(zcu)) { |
| 180892 | .float => switch (ty.childType(zcu).floatBits(self.target.*)) { | 184886 | .float => switch (ty.childType(zcu).floatBits(self.target)) { |
| 180893 | 32 => switch (ty.vectorLen(zcu)) { | 184887 | 32 => switch (ty.vectorLen(zcu)) { |
| 180894 | 1 => .{ .v_ss, .fmadd213 }, | 184888 | 1 => .{ .v_ss, .fmadd213 }, |
| 180895 | 2...8 => .{ .v_ps, .fmadd213 }, | 184889 | 2...8 => .{ .v_ps, .fmadd213 }, |
| ... | @@ -180909,14 +184903,14 @@ fn airMulAdd(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -180909,14 +184903,14 @@ fn airMulAdd(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 180909 | } | 184903 | } |
| 180910 | else if (std.mem.eql(u2, &order, &.{ 2, 3, 1 }) or std.mem.eql(u2, &order, &.{ 3, 2, 1 })) | 184904 | else if (std.mem.eql(u2, &order, &.{ 2, 3, 1 }) or std.mem.eql(u2, &order, &.{ 3, 2, 1 })) |
| 180911 | switch (ty.zigTypeTag(zcu)) { | 184905 | switch (ty.zigTypeTag(zcu)) { |
| 180912 | .float => switch (ty.floatBits(self.target.*)) { | 184906 | .float => switch (ty.floatBits(self.target)) { |
| 180913 | 32 => .{ .v_ss, .fmadd231 }, | 184907 | 32 => .{ .v_ss, .fmadd231 }, |
| 180914 | 64 => .{ .v_sd, .fmadd231 }, | 184908 | 64 => .{ .v_sd, .fmadd231 }, |
| 180915 | 16, 80, 128 => null, | 184909 | 16, 80, 128 => null, |
| 180916 | else => unreachable, | 184910 | else => unreachable, |
| 180917 | }, | 184911 | }, |
| 180918 | .vector => switch (ty.childType(zcu).zigTypeTag(zcu)) { | 184912 | .vector => switch (ty.childType(zcu).zigTypeTag(zcu)) { |
| 180919 | .float => switch (ty.childType(zcu).floatBits(self.target.*)) { | 184913 | .float => switch (ty.childType(zcu).floatBits(self.target)) { |
| 180920 | 32 => switch (ty.vectorLen(zcu)) { | 184914 | 32 => switch (ty.vectorLen(zcu)) { |
| 180921 | 1 => .{ .v_ss, .fmadd231 }, | 184915 | 1 => .{ .v_ss, .fmadd231 }, |
| 180922 | 2...8 => .{ .v_ps, .fmadd231 }, | 184916 | 2...8 => .{ .v_ps, .fmadd231 }, |
| ... | @@ -181278,14 +185272,16 @@ const CallMCValues = struct { | ... | @@ -181278,14 +185272,16 @@ const CallMCValues = struct { |
| 181278 | } | 185272 | } |
| 181279 | }; | 185273 | }; |
| 181280 | | 185274 | |
| | 185275 | const win64_shadow_space = 8 * 4; |
| | 185276 | |
| 181281 | /// Caller must call `CallMCValues.deinit`. | 185277 | /// Caller must call `CallMCValues.deinit`. |
| 181282 | fn resolveCallingConventionValues( | 185278 | fn resolveCallingConventionValues( |
| 181283 | self: *CodeGen, | 185279 | cg: *CodeGen, |
| 181284 | fn_info: InternPool.Key.FuncType, | 185280 | fn_info: InternPool.Key.FuncType, |
| 181285 | var_args: []const Type, | 185281 | var_args: []const Type, |
| 181286 | stack_frame_base: FrameIndex, | 185282 | stack_frame_base: FrameIndex, |
| 181287 | ) !CallMCValues { | 185283 | ) !CallMCValues { |
| 181288 | const pt = self.pt; | 185284 | const pt = cg.pt; |
| 181289 | const zcu = pt.zcu; | 185285 | const zcu = pt.zcu; |
| 181290 | const ip = &zcu.intern_pool; | 185286 | const ip = &zcu.intern_pool; |
| 181291 | const cc = fn_info.cc; | 185287 | const cc = fn_info.cc; |
| ... | @@ -181294,7 +185290,7 @@ fn resolveCallingConventionValues( | ... | @@ -181294,7 +185290,7 @@ fn resolveCallingConventionValues( |
| 181294 | param_types: [32][@sizeOf(Type)]u8 align(@alignOf(Type)), | 185290 | param_types: [32][@sizeOf(Type)]u8 align(@alignOf(Type)), |
| 181295 | }; | 185291 | }; |
| 181296 | var stack align(@max(@alignOf(ExpectedContents), @alignOf(std.heap.StackFallbackAllocator(0)))) = | 185292 | var stack align(@max(@alignOf(ExpectedContents), @alignOf(std.heap.StackFallbackAllocator(0)))) = |
| 181297 | std.heap.stackFallback(@sizeOf(ExpectedContents), self.gpa); | 185293 | std.heap.stackFallback(@sizeOf(ExpectedContents), cg.gpa); |
| 181298 | const allocator = stack.get(); | 185294 | const allocator = stack.get(); |
| 181299 | | 185295 | |
| 181300 | const param_types = try allocator.alloc(Type, fn_info.param_types.len + var_args.len); | 185296 | const param_types = try allocator.alloc(Type, fn_info.param_types.len + var_args.len); |
| ... | @@ -181303,10 +185299,10 @@ fn resolveCallingConventionValues( | ... | @@ -181303,10 +185299,10 @@ fn resolveCallingConventionValues( |
| 181303 | for (param_types[0..fn_info.param_types.len], fn_info.param_types.get(ip)) |*param_ty, arg_ty| | 185299 | for (param_types[0..fn_info.param_types.len], fn_info.param_types.get(ip)) |*param_ty, arg_ty| |
| 181304 | param_ty.* = .fromInterned(arg_ty); | 185300 | param_ty.* = .fromInterned(arg_ty); |
| 181305 | for (param_types[fn_info.param_types.len..], var_args) |*param_ty, arg_ty| | 185301 | for (param_types[fn_info.param_types.len..], var_args) |*param_ty, arg_ty| |
| 181306 | param_ty.* = self.promoteVarArg(arg_ty); | 185302 | param_ty.* = cg.promoteVarArg(arg_ty); |
| 181307 | | 185303 | |
| 181308 | var result: CallMCValues = .{ | 185304 | var result: CallMCValues = .{ |
| 181309 | .args = try self.gpa.alloc(MCValue, param_types.len), | 185305 | .args = try cg.gpa.alloc(MCValue, param_types.len), |
| 181310 | .air_arg_count = 0, | 185306 | .air_arg_count = 0, |
| 181311 | // These undefined values must be populated before returning from this function. | 185307 | // These undefined values must be populated before returning from this function. |
| 181312 | .return_value = undefined, | 185308 | .return_value = undefined, |
| ... | @@ -181316,29 +185312,30 @@ fn resolveCallingConventionValues( | ... | @@ -181316,29 +185312,30 @@ fn resolveCallingConventionValues( |
| 181316 | .fp_count = 0, | 185312 | .fp_count = 0, |
| 181317 | .err_ret_trace_reg = .none, | 185313 | .err_ret_trace_reg = .none, |
| 181318 | }; | 185314 | }; |
| 181319 | errdefer self.gpa.free(result.args); | 185315 | errdefer cg.gpa.free(result.args); |
| 181320 | | 185316 | |
| 181321 | const ret_ty: Type = .fromInterned(fn_info.return_type); | 185317 | const ret_ty: Type = .fromInterned(fn_info.return_type); |
| 181322 | switch (cc) { | 185318 | switch (cc) { |
| 181323 | .naked => { | 185319 | .naked => { |
| 181324 | assert(result.args.len == 0); | 185320 | assert(result.args.len == 0); |
| 181325 | result.return_value = .init(.unreach); | 185321 | result.return_value = .init(.unreach); |
| 181326 | result.stack_align = switch (self.target.cpu.arch) { | 185322 | result.stack_align = switch (cg.target.cpu.arch) { |
| 181327 | else => unreachable, | 185323 | else => unreachable, |
| 181328 | .x86 => .@"4", | 185324 | .x86 => .@"4", |
| 181329 | .x86_64 => .@"8", | 185325 | .x86_64 => .@"8", |
| 181330 | }; | 185326 | }; |
| 181331 | }, | 185327 | }, |
| 181332 | .x86_64_sysv, .x86_64_win => |cc_opts| { | 185328 | .x86_64_sysv, .x86_64_win => |cc_opts| { |
| 181333 | var ret_int_reg_i: u32 = 0; | 185329 | const param_gpr = abi.getCAbiIntParamRegs(cc); |
| 181334 | var ret_sse_reg_i: u32 = 0; | 185330 | var param_gpr_index: u32 = 0; |
| 181335 | var param_int_reg_i: u32 = 0; | 185331 | const param_sse = abi.getCAbiSseParamRegs(cc, cg.target); |
| 181336 | var param_sse_reg_i: u32 = 0; | 185332 | var param_sse_index: u32 = 0; |
| | 185333 | |
| 181337 | result.stack_align = .fromByteUnits(cc_opts.incoming_stack_alignment orelse 16); | 185334 | result.stack_align = .fromByteUnits(cc_opts.incoming_stack_alignment orelse 16); |
| 181338 | | 185335 | |
| 181339 | switch (cc) { | 185336 | switch (cc) { |
| 181340 | .x86_64_sysv => {}, | 185337 | .x86_64_sysv => {}, |
| 181341 | .x86_64_win => result.stack_byte_count += @intCast(4 * 8), | 185338 | .x86_64_win => result.stack_byte_count += @intCast(win64_shadow_space), |
| 181342 | else => unreachable, | 185339 | else => unreachable, |
| 181343 | } | 185340 | } |
| 181344 | | 185341 | |
| ... | @@ -181350,62 +185347,56 @@ fn resolveCallingConventionValues( | ... | @@ -181350,62 +185347,56 @@ fn resolveCallingConventionValues( |
| 181350 | result.return_value = .init(.none); | 185347 | result.return_value = .init(.none); |
| 181351 | } else { | 185348 | } else { |
| 181352 | var ret_tracking: [4]InstTracking = undefined; | 185349 | var ret_tracking: [4]InstTracking = undefined; |
| 181353 | var ret_tracking_i: usize = 0; | 185350 | var ret_tracking_len: u32 = 0; |
| | 185351 | var ret_gpr = abi.getCAbiIntReturnRegs(cc); |
| | 185352 | var ret_sse = abi.getCAbiSseReturnRegs(cc); |
| | 185353 | var ret_x87 = abi.getCAbiX87ReturnRegs(cc); |
| 181354 | | 185354 | |
| 181355 | const classes = switch (cc) { | 185355 | const classes = switch (cc) { |
| 181356 | .x86_64_sysv => std.mem.sliceTo(&abi.classifySystemV(ret_ty, zcu, self.target, .ret), .none), | 185356 | .x86_64_sysv => std.mem.sliceTo(&abi.classifySystemV(ret_ty, zcu, cg.target, .ret), .none), |
| 181357 | .x86_64_win => &.{abi.classifyWindows(ret_ty, zcu)}, | 185357 | .x86_64_win => &.{abi.classifyWindows(ret_ty, zcu, cg.target)}, |
| 181358 | else => unreachable, | 185358 | else => unreachable, |
| 181359 | }; | 185359 | }; |
| 181360 | for (classes) |class| switch (class) { | 185360 | for (classes) |class| switch (class) { |
| 181361 | .integer => { | 185361 | .integer => { |
| 181362 | const ret_int_reg = registerAlias( | 185362 | ret_tracking[ret_tracking_len] = .init(.{ .register = registerAlias( |
| 181363 | abi.getCAbiIntReturnRegs(cc)[ret_int_reg_i], | 185363 | ret_gpr[0], |
| 181364 | @intCast(@min(ret_ty.abiSize(zcu), 8)), | 185364 | @intCast(@min(ret_ty.abiSize(zcu), 8)), |
| 181365 | ); | 185365 | ) }); |
| 181366 | ret_int_reg_i += 1; | 185366 | ret_tracking_len += 1; |
| 181367 | | 185367 | ret_gpr = ret_gpr[1..]; |
| 181368 | ret_tracking[ret_tracking_i] = .init(.{ .register = ret_int_reg }); | | |
| 181369 | ret_tracking_i += 1; | | |
| 181370 | }, | 185368 | }, |
| 181371 | .sse, .float, .float_combine, .win_i128 => { | 185369 | .sse, .float, .float_combine, .win_i128 => { |
| 181372 | const ret_sse_regs = abi.getCAbiSseReturnRegs(cc); | | |
| 181373 | const abi_size: u32 = @intCast(ret_ty.abiSize(zcu)); | 185370 | const abi_size: u32 = @intCast(ret_ty.abiSize(zcu)); |
| 181374 | const reg_size = @min(abi_size, self.vectorSize(.float)); | 185371 | const reg_size = @min(abi_size, cg.vectorSize(.float)); |
| 181375 | var byte_offset: u32 = 0; | 185372 | var byte_offset: u32 = 0; |
| 181376 | while (byte_offset < abi_size) : (byte_offset += reg_size) { | 185373 | while (byte_offset < abi_size) : (byte_offset += reg_size) { |
| 181377 | const ret_sse_reg = registerAlias(ret_sse_regs[ret_sse_reg_i], reg_size); | 185374 | const ret_sse_reg = registerAlias(ret_sse[0], reg_size); |
| 181378 | ret_sse_reg_i += 1; | 185375 | ret_sse = ret_sse[1..]; |
| 181379 | | 185376 | |
| 181380 | ret_tracking[ret_tracking_i] = .init(.{ .register = ret_sse_reg }); | 185377 | ret_tracking[ret_tracking_len] = .init(.{ .register = ret_sse_reg }); |
| 181381 | ret_tracking_i += 1; | 185378 | ret_tracking_len += 1; |
| 181382 | } | 185379 | } |
| 181383 | }, | 185380 | }, |
| 181384 | .sseup => assert(ret_tracking[ret_tracking_i - 1].short.register.isClass(.sse)), | 185381 | .sseup => assert(ret_tracking[ret_tracking_len - 1].short.register.isClass(.sse)), |
| 181385 | .x87 => { | 185382 | .x87 => { |
| 181386 | ret_tracking[ret_tracking_i] = .init(.{ .register = abi.getCAbiX87ReturnRegs(cc)[0] }); | 185383 | ret_tracking[ret_tracking_len] = .init(.{ .register = ret_x87[0] }); |
| 181387 | ret_tracking_i += 1; | 185384 | ret_tracking_len += 1; |
| 181388 | }, | 185385 | ret_x87 = ret_x87[1..]; |
| 181389 | .x87up => assert(ret_tracking[ret_tracking_i - 1].short.register.isClass(.x87)), | 185386 | }, |
| 181390 | .complex_x87 => { | 185387 | .x87up => assert(ret_tracking[ret_tracking_len - 1].short.register.isClass(.x87)), |
| 181391 | ret_tracking[ret_tracking_i] = .init(.{ .register_pair = abi.getCAbiX87ReturnRegs(cc)[0..2].* }); | 185388 | .memory, .integer_per_element => { |
| 181392 | ret_tracking_i += 1; | 185389 | ret_tracking[ret_tracking_len] = .{ |
| 181393 | }, | 185390 | .short = .{ .indirect = .{ .reg = ret_gpr[0].to64() } }, |
| 181394 | .memory => { | 185391 | .long = .{ .indirect = .{ .reg = param_gpr[param_gpr_index].to64() } }, |
| 181395 | const ret_int_reg = abi.getCAbiIntReturnRegs(cc)[ret_int_reg_i].to64(); | | |
| 181396 | ret_int_reg_i += 1; | | |
| 181397 | const ret_indirect_reg = abi.getCAbiIntParamRegs(cc)[param_int_reg_i]; | | |
| 181398 | param_int_reg_i += 1; | | |
| 181399 | | | |
| 181400 | ret_tracking[ret_tracking_i] = .{ | | |
| 181401 | .short = .{ .indirect = .{ .reg = ret_int_reg } }, | | |
| 181402 | .long = .{ .indirect = .{ .reg = ret_indirect_reg } }, | | |
| 181403 | }; | 185392 | }; |
| 181404 | ret_tracking_i += 1; | 185393 | ret_tracking_len += 1; |
| | 185394 | ret_gpr = ret_gpr[1..]; |
| | 185395 | param_gpr_index += 1; |
| 181405 | }, | 185396 | }, |
| 181406 | .none, .integer_per_element => unreachable, | 185397 | .none => unreachable, |
| 181407 | }; | 185398 | }; |
| 181408 | result.return_value = switch (ret_tracking_i) { | 185399 | result.return_value = switch (ret_tracking_len) { |
| 181409 | else => unreachable, | 185400 | else => unreachable, |
| 181410 | 1 => ret_tracking[0], | 185401 | 1 => ret_tracking[0], |
| 181411 | 2 => .init(.{ .register_pair = .{ | 185402 | 2 => .init(.{ .register_pair = .{ |
| ... | @@ -181427,97 +185418,96 @@ fn resolveCallingConventionValues( | ... | @@ -181427,97 +185418,96 @@ fn resolveCallingConventionValues( |
| 181427 | } | 185418 | } |
| 181428 | | 185419 | |
| 181429 | // Input params | 185420 | // Input params |
| 181430 | for (param_types, result.args) |ty, *arg| { | 185421 | params: for (param_types, result.args) |ty, *arg| { |
| 181431 | assert(ty.hasRuntimeBitsIgnoreComptime(zcu)); | 185422 | assert(ty.hasRuntimeBitsIgnoreComptime(zcu)); |
| 181432 | result.air_arg_count += 1; | 185423 | result.air_arg_count += 1; |
| 181433 | switch (cc) { | 185424 | switch (cc) { |
| 181434 | .x86_64_sysv => {}, | 185425 | .x86_64_sysv => {}, |
| 181435 | .x86_64_win => { | 185426 | .x86_64_win => { |
| 181436 | param_int_reg_i = @max(param_int_reg_i, param_sse_reg_i); | 185427 | param_gpr_index = @max(param_gpr_index, param_sse_index); |
| 181437 | param_sse_reg_i = param_int_reg_i; | 185428 | param_sse_index = param_gpr_index; |
| 181438 | }, | 185429 | }, |
| 181439 | else => unreachable, | 185430 | else => unreachable, |
| 181440 | } | 185431 | } |
| 181441 | | 185432 | |
| 181442 | var arg_mcv: [4]MCValue = undefined; | 185433 | var arg_mcv: [4]MCValue = undefined; |
| 181443 | var arg_mcv_i: usize = 0; | 185434 | var arg_mcv_len: u32 = 0; |
| 181444 | | 185435 | |
| 181445 | const classes = switch (cc) { | 185436 | const classes = switch (cc) { |
| 181446 | .x86_64_sysv => std.mem.sliceTo(&abi.classifySystemV(ty, zcu, self.target, .arg), .none), | 185437 | .x86_64_sysv => std.mem.sliceTo(&abi.classifySystemV(ty, zcu, cg.target, .arg), .none), |
| 181447 | .x86_64_win => &.{abi.classifyWindows(ty, zcu)}, | 185438 | .x86_64_win => &.{abi.classifyWindows(ty, zcu, cg.target)}, |
| 181448 | else => unreachable, | 185439 | else => unreachable, |
| 181449 | }; | 185440 | }; |
| 181450 | classes: for (classes) |class| switch (class) { | 185441 | classes: for (classes) |class| switch (class) { |
| 181451 | .integer => { | 185442 | .integer => { |
| 181452 | const param_int_regs = abi.getCAbiIntParamRegs(cc); | 185443 | if (param_gpr_index >= param_gpr.len) break; |
| 181453 | if (param_int_reg_i >= param_int_regs.len) break; | 185444 | arg_mcv[arg_mcv_len] = .{ |
| 181454 | | 185445 | .register = registerAlias(param_gpr[param_gpr_index], @intCast(@min(ty.abiSize(zcu), 8))), |
| 181455 | const param_int_reg = | 185446 | }; |
| 181456 | registerAlias(param_int_regs[param_int_reg_i], @intCast(@min(ty.abiSize(zcu), 8))); | 185447 | arg_mcv_len += 1; |
| 181457 | param_int_reg_i += 1; | 185448 | param_gpr_index += 1; |
| 181458 | | | |
| 181459 | arg_mcv[arg_mcv_i] = .{ .register = param_int_reg }; | | |
| 181460 | arg_mcv_i += 1; | | |
| 181461 | }, | 185449 | }, |
| 181462 | .sse, .float, .float_combine => { | 185450 | .sse, .float, .float_combine => { |
| 181463 | const param_sse_regs = abi.getCAbiSseParamRegs(cc, self.target); | | |
| 181464 | const abi_size: u32 = @intCast(ty.abiSize(zcu)); | 185451 | const abi_size: u32 = @intCast(ty.abiSize(zcu)); |
| 181465 | const reg_size = @min(abi_size, self.vectorSize(.float)); | 185452 | const reg_size = @min(abi_size, cg.vectorSize(.float)); |
| 181466 | var byte_offset: u32 = 0; | 185453 | var byte_offset: u32 = 0; |
| 181467 | while (byte_offset < abi_size) : (byte_offset += reg_size) { | 185454 | while (byte_offset < abi_size) : (byte_offset += reg_size) { |
| 181468 | if (param_sse_reg_i >= param_sse_regs.len) break :classes; | 185455 | if (param_sse_index >= param_sse.len) break :classes; |
| 181469 | | 185456 | |
| 181470 | const param_sse_reg = registerAlias(param_sse_regs[param_sse_reg_i], reg_size); | 185457 | const param_sse_reg = registerAlias(param_sse[param_sse_index], reg_size); |
| 181471 | param_sse_reg_i += 1; | 185458 | param_sse_index += 1; |
| 181472 | | 185459 | |
| 181473 | arg_mcv[arg_mcv_i] = .{ .register = param_sse_reg }; | 185460 | arg_mcv[arg_mcv_len] = .{ .register = param_sse_reg }; |
| 181474 | arg_mcv_i += 1; | 185461 | arg_mcv_len += 1; |
| 181475 | } | 185462 | } |
| 181476 | }, | 185463 | }, |
| 181477 | .sseup => assert(arg_mcv[arg_mcv_i - 1].register.isClass(.sse)), | 185464 | .sseup => assert(arg_mcv[arg_mcv_len - 1].register.isClass(.sse)), |
| 181478 | .x87, .x87up, .complex_x87, .memory, .win_i128 => switch (cc) { | 185465 | .x87, .x87up, .memory, .win_i128 => switch (cc) { |
| 181479 | .x86_64_sysv => switch (class) { | 185466 | .x86_64_sysv => switch (class) { |
| 181480 | .x87, .x87up, .complex_x87, .memory => break, | 185467 | .x87, .x87up, .memory => break, |
| 181481 | else => unreachable, | 185468 | else => unreachable, |
| 181482 | }, | 185469 | }, |
| 181483 | .x86_64_win => if (ty.abiSize(zcu) > 8) { | 185470 | .x86_64_win => if (ty.abiSize(zcu) > 8) { |
| 181484 | const param_int_reg = abi.getCAbiIntParamRegs(cc)[param_int_reg_i].to64(); | 185471 | if (param_gpr_index < param_gpr.len) { |
| 181485 | param_int_reg_i += 1; | 185472 | arg_mcv[arg_mcv_len] = .{ .indirect = .{ .reg = param_gpr[param_gpr_index].to64() } }; |
| 181486 | | 185473 | arg_mcv_len += 1; |
| 181487 | arg_mcv[arg_mcv_i] = .{ .indirect = .{ .reg = param_int_reg } }; | 185474 | param_gpr_index += 1; |
| 181488 | arg_mcv_i += 1; | 185475 | } else { |
| | 185476 | assert(arg_mcv_len == 0); |
| | 185477 | const param_align = Type.usize.abiAlignment(zcu); |
| | 185478 | result.stack_byte_count = @intCast(param_align.forward(result.stack_byte_count)); |
| | 185479 | result.stack_align = result.stack_align.max(param_align); |
| | 185480 | arg.* = .{ .indirect_load_frame = .{ |
| | 185481 | .index = stack_frame_base, |
| | 185482 | .off = result.stack_byte_count, |
| | 185483 | } }; |
| | 185484 | result.stack_byte_count += @intCast(Type.usize.abiSize(zcu)); |
| | 185485 | continue :params; |
| | 185486 | } |
| 181489 | } else break, | 185487 | } else break, |
| 181490 | else => unreachable, | 185488 | else => unreachable, |
| 181491 | }, | 185489 | }, |
| 181492 | .none => unreachable, | 185490 | .none => unreachable, |
| 181493 | .integer_per_element => { | 185491 | .integer_per_element => { |
| 181494 | const param_int_regs_len: u32 = | 185492 | const remaining_param_gpr_len: u3 = @intCast(param_gpr.len - param_gpr_index); |
| 181495 | @intCast(abi.getCAbiIntParamRegs(cc).len); | 185493 | param_gpr_index = @intCast(param_gpr.len); |
| 181496 | const remaining_param_int_regs: u3 = | | |
| 181497 | @intCast(param_int_regs_len - param_int_reg_i); | | |
| 181498 | param_int_reg_i = param_int_regs_len; | | |
| 181499 | | 185494 | |
| 181500 | const frame_elem_align = 8; | 185495 | const frame_elem_align = 8; |
| 181501 | const frame_elems_len = ty.vectorLen(zcu) - remaining_param_int_regs; | 185496 | const frame_elems_len = ty.vectorLen(zcu) - remaining_param_gpr_len; |
| 181502 | const frame_elem_size = std.mem.alignForward( | 185497 | const frame_elem_size = std.mem.alignForward(u64, ty.childType(zcu).abiSize(zcu), frame_elem_align); |
| 181503 | u64, | | |
| 181504 | ty.childType(zcu).abiSize(zcu), | | |
| 181505 | frame_elem_align, | | |
| 181506 | ); | | |
| 181507 | const frame_size: u31 = @intCast(frame_elems_len * frame_elem_size); | 185498 | const frame_size: u31 = @intCast(frame_elems_len * frame_elem_size); |
| 181508 | | 185499 | |
| 181509 | result.stack_byte_count = | 185500 | result.stack_byte_count = std.mem.alignForward(u31, result.stack_byte_count, frame_elem_align); |
| 181510 | std.mem.alignForward(u31, result.stack_byte_count, frame_elem_align); | 185501 | arg_mcv[arg_mcv_len] = .{ .elementwise_args = .{ |
| 181511 | arg_mcv[arg_mcv_i] = .{ .elementwise_args = .{ | 185502 | .regs = remaining_param_gpr_len, |
| 181512 | .regs = remaining_param_int_regs, | | |
| 181513 | .frame_off = @intCast(result.stack_byte_count), | 185503 | .frame_off = @intCast(result.stack_byte_count), |
| 181514 | .frame_index = stack_frame_base, | 185504 | .frame_index = stack_frame_base, |
| 181515 | } }; | 185505 | } }; |
| 181516 | arg_mcv_i += 1; | 185506 | arg_mcv_len += 1; |
| 181517 | result.stack_byte_count += frame_size; | 185507 | result.stack_byte_count += frame_size; |
| 181518 | }, | 185508 | }, |
| 181519 | } else { | 185509 | } else { |
| 181520 | arg.* = switch (arg_mcv_i) { | 185510 | arg.* = switch (arg_mcv_len) { |
| 181521 | else => unreachable, | 185511 | else => unreachable, |
| 181522 | 1 => arg_mcv[0], | 185512 | 1 => arg_mcv[0], |
| 181523 | 2 => .{ .register_pair = .{ | 185513 | 2 => .{ .register_pair = .{ |
| ... | @@ -181548,17 +185538,17 @@ fn resolveCallingConventionValues( | ... | @@ -181548,17 +185538,17 @@ fn resolveCallingConventionValues( |
| 181548 | } }; | 185538 | } }; |
| 181549 | result.stack_byte_count += @intCast(ty.abiSize(zcu)); | 185539 | result.stack_byte_count += @intCast(ty.abiSize(zcu)); |
| 181550 | } | 185540 | } |
| 181551 | assert(param_int_reg_i <= 6); | 185541 | assert(param_gpr_index <= 6); |
| 181552 | result.gp_count = param_int_reg_i; | 185542 | result.gp_count = param_gpr_index; |
| 181553 | assert(param_sse_reg_i <= 16); | 185543 | assert(param_sse_index <= 16); |
| 181554 | result.fp_count = param_sse_reg_i; | 185544 | result.fp_count = param_sse_index; |
| 181555 | }, | 185545 | }, |
| 181556 | .auto => { | 185546 | .auto => { |
| 181557 | result.stack_align = abi.zigcc.stack_align orelse .fromByteUnits(self.vectorSize(.float)); | 185547 | result.stack_align = abi.zigcc.stack_align orelse .fromByteUnits(cg.vectorSize(.float)); |
| 181558 | | 185548 | |
| 181559 | var param_gpr = abi.getCAbiIntParamRegs(cc); | 185549 | var param_gpr = abi.getCAbiIntParamRegs(cc); |
| 181560 | var param_x87 = abi.getCAbiX87ParamRegs(cc); | 185550 | var param_x87 = abi.getCAbiX87ParamRegs(cc); |
| 181561 | var param_sse = abi.getCAbiSseParamRegs(cc, self.target); | 185551 | var param_sse = abi.getCAbiSseParamRegs(cc, cg.target); |
| 181562 | | 185552 | |
| 181563 | if (zcu.comp.config.any_error_tracing) { | 185553 | if (zcu.comp.config.any_error_tracing) { |
| 181564 | result.err_ret_trace_reg = param_gpr[param_gpr.len - 1]; | 185554 | result.err_ret_trace_reg = param_gpr[param_gpr.len - 1]; |
| ... | @@ -181573,8 +185563,8 @@ fn resolveCallingConventionValues( | ... | @@ -181573,8 +185563,8 @@ fn resolveCallingConventionValues( |
| 181573 | else return_value: { | 185563 | else return_value: { |
| 181574 | const ret_gpr = abi.getCAbiIntReturnRegs(cc); | 185564 | const ret_gpr = abi.getCAbiIntReturnRegs(cc); |
| 181575 | const ret_size: u31 = @intCast(ret_ty.abiSize(zcu)); | 185565 | const ret_size: u31 = @intCast(ret_ty.abiSize(zcu)); |
| 181576 | if (abi.zigcc.return_in_regs) switch (self.regClassForType(ret_ty)) { | 185566 | if (abi.zigcc.return_in_regs) switch (cg.regClassForType(ret_ty)) { |
| 181577 | .general_purpose, .gphi => if (ret_size <= @as(u4, switch (self.target.cpu.arch) { | 185567 | .general_purpose, .gphi => if (ret_size <= @as(u4, switch (cg.target.cpu.arch) { |
| 181578 | else => unreachable, | 185568 | else => unreachable, |
| 181579 | .x86 => 4, | 185569 | .x86 => 4, |
| 181580 | .x86_64 => 8, | 185570 | .x86_64 => 8, |
| ... | @@ -181584,7 +185574,7 @@ fn resolveCallingConventionValues( | ... | @@ -181584,7 +185574,7 @@ fn resolveCallingConventionValues( |
| 181584 | break :return_value .init(.{ .register_pair = ret_gpr[0..2].* }), | 185574 | break :return_value .init(.{ .register_pair = ret_gpr[0..2].* }), |
| 181585 | .segment, .mmx, .ip, .cr, .dr => unreachable, | 185575 | .segment, .mmx, .ip, .cr, .dr => unreachable, |
| 181586 | .x87 => if (ret_size <= 16) break :return_value .init(.{ .register = .st0 }), | 185576 | .x87 => if (ret_size <= 16) break :return_value .init(.{ .register = .st0 }), |
| 181587 | .sse => if (ret_size <= self.vectorSize(.float)) break :return_value .init(.{ | 185577 | .sse => if (ret_size <= cg.vectorSize(.float)) break :return_value .init(.{ |
| 181588 | .register = registerAlias(abi.getCAbiSseReturnRegs(cc)[0], @max(ret_size, 16)), | 185578 | .register = registerAlias(abi.getCAbiSseReturnRegs(cc)[0], @max(ret_size, 16)), |
| 181589 | }), | 185579 | }), |
| 181590 | }; | 185580 | }; |
| ... | @@ -181604,8 +185594,8 @@ fn resolveCallingConventionValues( | ... | @@ -181604,8 +185594,8 @@ fn resolveCallingConventionValues( |
| 181604 | } | 185594 | } |
| 181605 | result.air_arg_count += 1; | 185595 | result.air_arg_count += 1; |
| 181606 | const param_size: u31 = @intCast(param_ty.abiSize(zcu)); | 185596 | const param_size: u31 = @intCast(param_ty.abiSize(zcu)); |
| 181607 | if (abi.zigcc.params_in_regs) switch (self.regClassForType(param_ty)) { | 185597 | if (abi.zigcc.params_in_regs) switch (cg.regClassForType(param_ty)) { |
| 181608 | .general_purpose, .gphi => if (param_gpr.len >= 1 and param_size <= @as(u4, switch (self.target.cpu.arch) { | 185598 | .general_purpose, .gphi => if (param_gpr.len >= 1 and param_size <= @as(u4, switch (cg.target.cpu.arch) { |
| 181609 | else => unreachable, | 185599 | else => unreachable, |
| 181610 | .x86 => 4, | 185600 | .x86 => 4, |
| 181611 | .x86_64 => 8, | 185601 | .x86_64 => 8, |
| ... | @@ -181624,7 +185614,7 @@ fn resolveCallingConventionValues( | ... | @@ -181624,7 +185614,7 @@ fn resolveCallingConventionValues( |
| 181624 | param_x87 = param_x87[1..]; | 185614 | param_x87 = param_x87[1..]; |
| 181625 | continue; | 185615 | continue; |
| 181626 | }, | 185616 | }, |
| 181627 | .sse => if (param_sse.len >= 1 and param_size <= self.vectorSize(.float)) { | 185617 | .sse => if (param_sse.len >= 1 and param_size <= cg.vectorSize(.float)) { |
| 181628 | arg.* = .{ | 185618 | arg.* = .{ |
| 181629 | .register = registerAlias(param_sse[0], @max(param_size, 16)), | 185619 | .register = registerAlias(param_sse[0], @max(param_size, 16)), |
| 181630 | }; | 185620 | }; |
| ... | @@ -181642,27 +185632,27 @@ fn resolveCallingConventionValues( | ... | @@ -181642,27 +185632,27 @@ fn resolveCallingConventionValues( |
| 181642 | result.stack_byte_count += param_size; | 185632 | result.stack_byte_count += param_size; |
| 181643 | } | 185633 | } |
| 181644 | }, | 185634 | }, |
| 181645 | else => return self.fail("TODO implement function parameters and return values for {} on x86_64", .{cc}), | 185635 | else => return cg.fail("TODO implement function parameters and return values for {} on x86_64", .{cc}), |
| 181646 | } | 185636 | } |
| 181647 | | 185637 | |
| 181648 | result.stack_byte_count = @intCast(result.stack_align.forward(result.stack_byte_count)); | 185638 | result.stack_byte_count = @intCast(result.stack_align.forward(result.stack_byte_count)); |
| 181649 | return result; | 185639 | return result; |
| 181650 | } | 185640 | } |
| 181651 | | 185641 | |
| 181652 | fn fail(self: *CodeGen, comptime format: []const u8, args: anytype) error{ OutOfMemory, CodegenFail } { | 185642 | fn fail(cg: *CodeGen, comptime format: []const u8, args: anytype) error{ OutOfMemory, CodegenFail } { |
| 181653 | @branchHint(.cold); | 185643 | @branchHint(.cold); |
| 181654 | const zcu = self.pt.zcu; | 185644 | const zcu = cg.pt.zcu; |
| 181655 | switch (self.owner) { | 185645 | switch (cg.owner) { |
| 181656 | .nav_index => |i| return zcu.codegenFail(i, format, args), | 185646 | .nav_index => |i| return zcu.codegenFail(i, format, args), |
| 181657 | .lazy_sym => |s| return zcu.codegenFailType(s.ty, format, args), | 185647 | .lazy_sym => |s| return zcu.codegenFailType(s.ty, format, args), |
| 181658 | } | 185648 | } |
| 181659 | return error.CodegenFail; | 185649 | return error.CodegenFail; |
| 181660 | } | 185650 | } |
| 181661 | | 185651 | |
| 181662 | fn failMsg(self: *CodeGen, msg: *Zcu.ErrorMsg) error{ OutOfMemory, CodegenFail } { | 185652 | fn failMsg(cg: *CodeGen, msg: *Zcu.ErrorMsg) error{ OutOfMemory, CodegenFail } { |
| 181663 | @branchHint(.cold); | 185653 | @branchHint(.cold); |
| 181664 | const zcu = self.pt.zcu; | 185654 | const zcu = cg.pt.zcu; |
| 181665 | switch (self.owner) { | 185655 | switch (cg.owner) { |
| 181666 | .nav_index => |i| return zcu.codegenFailMsg(i, msg), | 185656 | .nav_index => |i| return zcu.codegenFailMsg(i, msg), |
| 181667 | .lazy_sym => |s| return zcu.codegenFailTypeMsg(s.ty, msg), | 185657 | .lazy_sym => |s| return zcu.codegenFailTypeMsg(s.ty, msg), |
| 181668 | } | 185658 | } |
| ... | @@ -181979,7 +185969,7 @@ fn promoteInt(self: *CodeGen, ty: Type) Type { | ... | @@ -181979,7 +185969,7 @@ fn promoteInt(self: *CodeGen, ty: Type) Type { |
| 181979 | | 185969 | |
| 181980 | fn promoteVarArg(self: *CodeGen, ty: Type) Type { | 185970 | fn promoteVarArg(self: *CodeGen, ty: Type) Type { |
| 181981 | if (!ty.isRuntimeFloat()) return self.promoteInt(ty); | 185971 | if (!ty.isRuntimeFloat()) return self.promoteInt(ty); |
| 181982 | switch (ty.floatBits(self.target.*)) { | 185972 | switch (ty.floatBits(self.target)) { |
| 181983 | 32, 64 => return .f64, | 185973 | 32, 64 => return .f64, |
| 181984 | else => |float_bits| { | 185974 | else => |float_bits| { |
| 181985 | assert(float_bits == self.target.cTypeBitSize(.longdouble)); | 185975 | assert(float_bits == self.target.cTypeBitSize(.longdouble)); |
| ... | @@ -182080,7 +186070,7 @@ fn intInfo(cg: *CodeGen, ty: Type) ?std.builtin.Type.Int { | ... | @@ -182080,7 +186070,7 @@ fn intInfo(cg: *CodeGen, ty: Type) ?std.builtin.Type.Int { |
| 182080 | } | 186070 | } |
| 182081 | | 186071 | |
| 182082 | fn floatBits(cg: *CodeGen, ty: Type) ?u16 { | 186072 | fn floatBits(cg: *CodeGen, ty: Type) ?u16 { |
| 182083 | return if (ty.isRuntimeFloat()) ty.floatBits(cg.target.*) else null; | 186073 | return if (ty.isRuntimeFloat()) ty.floatBits(cg.target) else null; |
| 182084 | } | 186074 | } |
| 182085 | | 186075 | |
| 182086 | const Temp = struct { | 186076 | const Temp = struct { |
| ... | @@ -182127,6 +186117,7 @@ const Temp = struct { | ... | @@ -182127,6 +186117,7 @@ const Temp = struct { |
| 182127 | .register_mask, | 186117 | .register_mask, |
| 182128 | .memory, | 186118 | .memory, |
| 182129 | .indirect, | 186119 | .indirect, |
| | 186120 | .indirect_load_frame, |
| 182130 | .lea_frame, | 186121 | .lea_frame, |
| 182131 | .load_nav, | 186122 | .load_nav, |
| 182132 | .lea_nav, | 186123 | .lea_nav, |
| ... | @@ -182200,7 +186191,7 @@ const Temp = struct { | ... | @@ -182200,7 +186191,7 @@ const Temp = struct { |
| 182200 | switch (temp_tracking.short) { | 186191 | switch (temp_tracking.short) { |
| 182201 | else => {}, | 186192 | else => {}, |
| 182202 | .register => |reg| { | 186193 | .register => |reg| { |
| 182203 | try cg.freeValue(temp_tracking.long); | 186194 | try cg.freeValue(temp_tracking.long, .{}); |
| 182204 | temp_tracking.* = .init(.{ .register_offset = .{ | 186195 | temp_tracking.* = .init(.{ .register_offset = .{ |
| 182205 | .reg = reg, | 186196 | .reg = reg, |
| 182206 | .off = off, | 186197 | .off = off, |
| ... | @@ -182208,7 +186199,7 @@ const Temp = struct { | ... | @@ -182208,7 +186199,7 @@ const Temp = struct { |
| 182208 | return; | 186199 | return; |
| 182209 | }, | 186200 | }, |
| 182210 | .register_offset => |reg_off| { | 186201 | .register_offset => |reg_off| { |
| 182211 | try cg.freeValue(temp_tracking.long); | 186202 | try cg.freeValue(temp_tracking.long, .{}); |
| 182212 | temp_tracking.* = .init(.{ .register_offset = .{ | 186203 | temp_tracking.* = .init(.{ .register_offset = .{ |
| 182213 | .reg = reg_off.reg, | 186204 | .reg = reg_off.reg, |
| 182214 | .off = reg_off.off + off, | 186205 | .off = reg_off.off + off, |
| ... | @@ -182598,6 +186589,7 @@ const Temp = struct { | ... | @@ -182598,6 +186589,7 @@ const Temp = struct { |
| 182598 | .register_quadruple, | 186589 | .register_quadruple, |
| 182599 | .register_overflow, | 186590 | .register_overflow, |
| 182600 | .register_mask, | 186591 | .register_mask, |
| | 186592 | .indirect_load_frame, |
| 182601 | .elementwise_args, | 186593 | .elementwise_args, |
| 182602 | .reserved_frame, | 186594 | .reserved_frame, |
| 182603 | .air_ref, | 186595 | .air_ref, |
| ... | @@ -182675,7 +186667,7 @@ const Temp = struct { | ... | @@ -182675,7 +186667,7 @@ const Temp = struct { |
| 182675 | .register_quadruple, | 186667 | .register_quadruple, |
| 182676 | => |val_regs| for (val_regs) |val_reg| { | 186668 | => |val_regs| for (val_regs) |val_reg| { |
| 182677 | try ptr.loadReg(val_ty, val_reg, cg); | 186669 | try ptr.loadReg(val_ty, val_reg, cg); |
| 182678 | try ptr.toOffset(@divExact(val_reg.bitSize(), 8), cg); | 186670 | try ptr.toOffset(@intCast(@divExact(val_reg.size().bitSize(cg.target), 8)), cg); |
| 182679 | while (try ptr.toLea(cg)) {} | 186671 | while (try ptr.toLea(cg)) {} |
| 182680 | }, | 186672 | }, |
| 182681 | .register_offset => |val_reg_off| switch (val_reg_off.off) { | 186673 | .register_offset => |val_reg_off| switch (val_reg_off.off) { |
| ... | @@ -182820,7 +186812,7 @@ const Temp = struct { | ... | @@ -182820,7 +186812,7 @@ const Temp = struct { |
| 182820 | var disp = opts.disp; | 186812 | var disp = opts.disp; |
| 182821 | for (val_regs) |val_reg| { | 186813 | for (val_regs) |val_reg| { |
| 182822 | try src.readReg(disp, val_ty, val_reg, cg); | 186814 | try src.readReg(disp, val_ty, val_reg, cg); |
| 182823 | disp += @divExact(val_reg.bitSize(), 8); | 186815 | disp += @intCast(@divExact(val_reg.size().bitSize(cg.target), 8)); |
| 182824 | } | 186816 | } |
| 182825 | }, | 186817 | }, |
| 182826 | .register_offset => |val_reg_off| switch (val_reg_off.off) { | 186818 | .register_offset => |val_reg_off| switch (val_reg_off.off) { |
| ... | @@ -182950,25 +186942,59 @@ const Temp = struct { | ... | @@ -182950,25 +186942,59 @@ const Temp = struct { |
| 182950 | while (try ptr.toRegClass(false, .general_purpose, cg)) {}, | 186942 | while (try ptr.toRegClass(false, .general_purpose, cg)) {}, |
| 182951 | } | 186943 | } |
| 182952 | try strat.read(cg, dst_reg, try ptr.tracking(cg).short.deref().mem(cg, .{ | 186944 | try strat.read(cg, dst_reg, try ptr.tracking(cg).short.deref().mem(cg, .{ |
| 182953 | .size = .fromBitSize(@min(8 * dst_ty.abiSize(cg.pt.zcu), dst_reg.bitSize())), | 186945 | .size = cg.memSize(dst_ty), |
| 182954 | })); | 186946 | })); |
| 182955 | } | 186947 | } |
| 182956 | | 186948 | |
| 182957 | fn storeRegs(ptr: *Temp, src_ty: Type, src_regs: []const Register, cg: *CodeGen) InnerError!void { | 186949 | fn storeRegs(ptr: *Temp, src_ty: Type, src_regs: []const Register, cg: *CodeGen) InnerError!void { |
| | 186950 | const zcu = cg.pt.zcu; |
| | 186951 | const ip = &zcu.intern_pool; |
| 182958 | var part_disp: u31 = 0; | 186952 | var part_disp: u31 = 0; |
| 182959 | var deferred_disp: u31 = 0; | 186953 | var deferred_disp: u31 = 0; |
| 182960 | var src_abi_size: u32 = @intCast(src_ty.abiSize(cg.pt.zcu)); | 186954 | var src_abi_size: u32 = @intCast(src_ty.abiSize(cg.pt.zcu)); |
| 182961 | for (src_regs) |src_reg| { | 186955 | for (src_regs, 0..) |src_reg, part_index| { |
| | 186956 | const part_ty: Type = if (src_regs.len == 1) |
| | 186957 | src_ty |
| | 186958 | else if (cg.intInfo(src_ty)) |int_info| part_ty: { |
| | 186959 | assert(src_regs.len == std.math.divCeil(u16, int_info.bits, 64) catch unreachable); |
| | 186960 | break :part_ty .u64; |
| | 186961 | } else part_ty: switch (ip.indexToKey(src_ty.toIntern())) { |
| | 186962 | else => std.debug.panic("{s}: {}\n", .{ @src().fn_name, src_ty.fmt(cg.pt) }), |
| | 186963 | .ptr_type => |ptr_info| { |
| | 186964 | assert(ptr_info.flags.size == .slice); |
| | 186965 | assert(src_regs.len == 2); |
| | 186966 | break :part_ty .usize; |
| | 186967 | }, |
| | 186968 | .array_type => { |
| | 186969 | assert(src_regs.len - part_index == std.math.divCeil(u32, src_abi_size, 8) catch unreachable); |
| | 186970 | break :part_ty try cg.pt.intType(.unsigned, @as(u16, 8) * @min(src_abi_size, 8)); |
| | 186971 | }, |
| | 186972 | .opt_type => |opt_child| switch (ip.indexToKey(opt_child)) { |
| | 186973 | else => std.debug.panic("{s}: {}\n", .{ @src().fn_name, src_ty.fmt(cg.pt) }), |
| | 186974 | .ptr_type => |ptr_info| { |
| | 186975 | assert(ptr_info.flags.size == .slice); |
| | 186976 | assert(src_regs.len == 2); |
| | 186977 | break :part_ty .usize; |
| | 186978 | }, |
| | 186979 | }, |
| | 186980 | .struct_type => { |
| | 186981 | assert(src_regs.len - part_index == std.math.divCeil(u32, src_abi_size, 8) catch unreachable); |
| | 186982 | break :part_ty .u64; |
| | 186983 | }, |
| | 186984 | }; |
| | 186985 | const part_size: u31 = @intCast(part_ty.abiSize(zcu)); |
| 182962 | const src_rc = src_reg.class(); | 186986 | const src_rc = src_reg.class(); |
| 182963 | const part_bit_size = @min(8 * src_abi_size, src_reg.bitSize()); | 186987 | const part_bit_size = switch (src_rc) { |
| 182964 | const part_size = @divExact(part_bit_size, 8); | 186988 | else => 8 * part_size, |
| | 186989 | .x87 => part_ty.bitSize(zcu), |
| | 186990 | }; |
| 182965 | if (src_rc == .x87 or std.math.isPowerOfTwo(part_size)) { | 186991 | if (src_rc == .x87 or std.math.isPowerOfTwo(part_size)) { |
| 182966 | // hack around linker relocation bugs | 186992 | // hack around linker relocation bugs |
| 182967 | switch (ptr.tracking(cg).short) { | 186993 | switch (ptr.tracking(cg).short) { |
| 182968 | else => {}, | 186994 | else => {}, |
| 182969 | .lea_nav, .lea_uav, .lea_lazy_sym => while (try ptr.toRegClass(false, .general_purpose, cg)) {}, | 186995 | .lea_nav, .lea_uav, .lea_lazy_sym => while (try ptr.toRegClass(false, .general_purpose, cg)) {}, |
| 182970 | } | 186996 | } |
| 182971 | const strat = try cg.moveStrategy(src_ty, src_rc, false); | 186997 | const strat = try cg.moveStrategy(part_ty, src_rc, false); |
| 182972 | try strat.write(cg, try ptr.tracking(cg).short.deref().mem(cg, .{ | 186998 | try strat.write(cg, try ptr.tracking(cg).short.deref().mem(cg, .{ |
| 182973 | .size = .fromBitSize(part_bit_size), | 186999 | .size = .fromBitSize(part_bit_size), |
| 182974 | .disp = part_disp, | 187000 | .disp = part_disp, |
| ... | @@ -182979,7 +187005,7 @@ const Temp = struct { | ... | @@ -182979,7 +187005,7 @@ const Temp = struct { |
| 182979 | .size = frame_size, | 187005 | .size = frame_size, |
| 182980 | .alignment = .fromNonzeroByteUnits(frame_size), | 187006 | .alignment = .fromNonzeroByteUnits(frame_size), |
| 182981 | })); | 187007 | })); |
| 182982 | const strat = try cg.moveStrategy(src_ty, src_rc, true); | 187008 | const strat = try cg.moveStrategy(part_ty, src_rc, true); |
| 182983 | try strat.write(cg, .{ | 187009 | try strat.write(cg, .{ |
| 182984 | .base = .{ .frame = frame_index }, | 187010 | .base = .{ .frame = frame_index }, |
| 182985 | .mod = .{ .rm = .{ .size = .fromSize(frame_size) } }, | 187011 | .mod = .{ .rm = .{ .size = .fromSize(frame_size) } }, |
| ... | @@ -183001,7 +187027,7 @@ const Temp = struct { | ... | @@ -183001,7 +187027,7 @@ const Temp = struct { |
| 183001 | fn readReg(src: Temp, disp: i32, dst_ty: Type, dst_reg: Register, cg: *CodeGen) InnerError!void { | 187027 | fn readReg(src: Temp, disp: i32, dst_ty: Type, dst_reg: Register, cg: *CodeGen) InnerError!void { |
| 183002 | const strat = try cg.moveStrategy(dst_ty, dst_reg.class(), false); | 187028 | const strat = try cg.moveStrategy(dst_ty, dst_reg.class(), false); |
| 183003 | try strat.read(cg, dst_reg, try src.tracking(cg).short.mem(cg, .{ | 187029 | try strat.read(cg, dst_reg, try src.tracking(cg).short.mem(cg, .{ |
| 183004 | .size = .fromBitSize(@min(8 * dst_ty.abiSize(cg.pt.zcu), dst_reg.bitSize())), | 187030 | .size = cg.memSize(dst_ty), |
| 183005 | .disp = disp, | 187031 | .disp = disp, |
| 183006 | })); | 187032 | })); |
| 183007 | } | 187033 | } |
| ... | @@ -183012,7 +187038,7 @@ const Temp = struct { | ... | @@ -183012,7 +187038,7 @@ const Temp = struct { |
| 183012 | if (src_rc == .x87 or std.math.isPowerOfTwo(src_abi_size)) { | 187038 | if (src_rc == .x87 or std.math.isPowerOfTwo(src_abi_size)) { |
| 183013 | const strat = try cg.moveStrategy(src_ty, src_rc, false); | 187039 | const strat = try cg.moveStrategy(src_ty, src_rc, false); |
| 183014 | try strat.write(cg, try dst.tracking(cg).short.mem(cg, .{ | 187040 | try strat.write(cg, try dst.tracking(cg).short.mem(cg, .{ |
| 183015 | .size = .fromBitSize(@min(8 * src_abi_size, src_reg.bitSize())), | 187041 | .size = cg.memSize(src_ty), |
| 183016 | .disp = disp, | 187042 | .disp = disp, |
| 183017 | }), registerAlias(src_reg, src_abi_size)); | 187043 | }), registerAlias(src_reg, src_abi_size)); |
| 183018 | } else { | 187044 | } else { |
| ... | @@ -183050,14 +187076,14 @@ const Temp = struct { | ... | @@ -183050,14 +187076,14 @@ const Temp = struct { |
| 183050 | .integer, .memory, .float, .float_combine => class_index + 1, | 187076 | .integer, .memory, .float, .float_combine => class_index + 1, |
| 183051 | .sse => std.mem.indexOfNonePos(abi.Class, classes, class_index + 1, &.{.sseup}) orelse classes.len, | 187077 | .sse => std.mem.indexOfNonePos(abi.Class, classes, class_index + 1, &.{.sseup}) orelse classes.len, |
| 183052 | .x87 => std.mem.indexOfNonePos(abi.Class, classes, class_index + 1, &.{.x87up}) orelse classes.len, | 187078 | .x87 => std.mem.indexOfNonePos(abi.Class, classes, class_index + 1, &.{.x87up}) orelse classes.len, |
| 183053 | .sseup, .x87up, .complex_x87, .none, .win_i128, .integer_per_element => unreachable, | 187079 | .sseup, .x87up, .none, .win_i128, .integer_per_element => unreachable, |
| 183054 | }); | 187080 | }); |
| 183055 | const part_size = switch (class) { | 187081 | const part_size = switch (class) { |
| 183056 | .integer, .sse, .memory => @min(8 * @as(u7, next_class_index - class_index), remaining_abi_size), | 187082 | .integer, .sse, .memory => @min(8 * @as(u7, next_class_index - class_index), remaining_abi_size), |
| 183057 | .x87 => 16, | 187083 | .x87 => 16, |
| 183058 | .float => 4, | 187084 | .float => 4, |
| 183059 | .float_combine => 8, | 187085 | .float_combine => 8, |
| 183060 | .sseup, .x87up, .complex_x87, .none, .win_i128, .integer_per_element => unreachable, | 187086 | .sseup, .x87up, .none, .win_i128, .integer_per_element => unreachable, |
| 183061 | }; | 187087 | }; |
| 183062 | try dst.writeReg(part_disp, switch (class) { | 187088 | try dst.writeReg(part_disp, switch (class) { |
| 183063 | .integer => .u64, | 187089 | .integer => .u64, |
| ... | @@ -183070,7 +187096,7 @@ const Temp = struct { | ... | @@ -183070,7 +187096,7 @@ const Temp = struct { |
| 183070 | .x87 => .f80, | 187096 | .x87 => .f80, |
| 183071 | .float => .f32, | 187097 | .float => .f32, |
| 183072 | .float_combine => .vector_2_f32, | 187098 | .float_combine => .vector_2_f32, |
| 183073 | .sseup, .x87up, .complex_x87, .memory, .none, .win_i128, .integer_per_element => unreachable, | 187099 | .sseup, .x87up, .memory, .none, .win_i128, .integer_per_element => unreachable, |
| 183074 | }, src_reg, cg); | 187100 | }, src_reg, cg); |
| 183075 | part_disp += part_size; | 187101 | part_disp += part_size; |
| 183076 | remaining_abi_size -= part_size; | 187102 | remaining_abi_size -= part_size; |
| ... | @@ -186718,12 +190744,12 @@ const Temp = struct { | ... | @@ -186718,12 +190744,12 @@ const Temp = struct { |
| 186718 | .{ ._, ._, .div, .src1q, ._, ._, ._ }, | 190744 | .{ ._, ._, .div, .src1q, ._, ._, ._ }, |
| 186719 | } }, | 190745 | } }, |
| 186720 | }, .{ | 190746 | }, .{ |
| 186721 | .required_features = .{ .@"64bit", null, null, null }, | 190747 | .required_cc_abi = .sysv64, |
| 186722 | .src_constraints = .{ .{ .signed_int = .xword }, .{ .signed_int = .xword }, .any }, | 190748 | .src_constraints = .{ .{ .signed_int = .xword }, .{ .signed_int = .xword }, .any }, |
| 186723 | .patterns = &.{ | 190749 | .patterns = &.{ |
| 186724 | .{ .src = .{ | 190750 | .{ .src = .{ |
| 186725 | .{ .to_param_gpr_pair = .{ .cc = .ccc, .at = 0 } }, | 190751 | .{ .to_param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| 186726 | .{ .to_param_gpr_pair = .{ .cc = .ccc, .at = 2 } }, | 190752 | .{ .to_param_gpr_pair = .{ .cc = .ccc, .after = 2, .at = 2 } }, |
| 186727 | .none, | 190753 | .none, |
| 186728 | } }, | 190754 | } }, |
| 186729 | }, | 190755 | }, |
| ... | @@ -186741,18 +190767,46 @@ const Temp = struct { | ... | @@ -186741,18 +190767,46 @@ const Temp = struct { |
| 186741 | .unused, | 190767 | .unused, |
| 186742 | .unused, | 190768 | .unused, |
| 186743 | }, | 190769 | }, |
| 186744 | .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .at = 0 } }, .unused }, | 190770 | .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 186745 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 190771 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 186746 | .each = .{ .once = &.{ | 190772 | .each = .{ .once = &.{ |
| 186747 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 190773 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 186748 | } }, | 190774 | } }, |
| 186749 | }, .{ | 190775 | }, .{ |
| 186750 | .required_features = .{ .@"64bit", null, null, null }, | 190776 | .required_cc_abi = .win64, |
| | 190777 | .required_features = .{ .sse, null, null, null }, |
| | 190778 | .src_constraints = .{ .{ .signed_int = .xword }, .{ .signed_int = .xword }, .any }, |
| | 190779 | .patterns = &.{ |
| | 190780 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 190781 | }, |
| | 190782 | .call_frame = .{ .alignment = .@"16" }, |
| | 190783 | .extra_temps = .{ |
| | 190784 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 190785 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 190786 | .{ .type = .usize, .kind = .{ .extern_func = "__divti3" } }, |
| | 190787 | .unused, |
| | 190788 | .unused, |
| | 190789 | .unused, |
| | 190790 | .unused, |
| | 190791 | .unused, |
| | 190792 | .unused, |
| | 190793 | .unused, |
| | 190794 | .unused, |
| | 190795 | }, |
| | 190796 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| | 190797 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 190798 | .each = .{ .once = &.{ |
| | 190799 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| | 190800 | .{ ._, ._, .lea, .tmp1p, .mem(.src1), ._, ._ }, |
| | 190801 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 190802 | } }, |
| | 190803 | }, .{ |
| | 190804 | .required_cc_abi = .sysv64, |
| 186751 | .src_constraints = .{ .{ .unsigned_int = .xword }, .{ .unsigned_int = .xword }, .any }, | 190805 | .src_constraints = .{ .{ .unsigned_int = .xword }, .{ .unsigned_int = .xword }, .any }, |
| 186752 | .patterns = &.{ | 190806 | .patterns = &.{ |
| 186753 | .{ .src = .{ | 190807 | .{ .src = .{ |
| 186754 | .{ .to_param_gpr_pair = .{ .cc = .ccc, .at = 0 } }, | 190808 | .{ .to_param_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, |
| 186755 | .{ .to_param_gpr_pair = .{ .cc = .ccc, .at = 2 } }, | 190809 | .{ .to_param_gpr_pair = .{ .cc = .ccc, .after = 2, .at = 2 } }, |
| 186756 | .none, | 190810 | .none, |
| 186757 | } }, | 190811 | } }, |
| 186758 | }, | 190812 | }, |
| ... | @@ -186770,11 +190824,39 @@ const Temp = struct { | ... | @@ -186770,11 +190824,39 @@ const Temp = struct { |
| 186770 | .unused, | 190824 | .unused, |
| 186771 | .unused, | 190825 | .unused, |
| 186772 | }, | 190826 | }, |
| 186773 | .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .at = 0 } }, .unused }, | 190827 | .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| 186774 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 190828 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 186775 | .each = .{ .once = &.{ | 190829 | .each = .{ .once = &.{ |
| 186776 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 190830 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 186777 | } }, | 190831 | } }, |
| | 190832 | }, .{ |
| | 190833 | .required_cc_abi = .win64, |
| | 190834 | .required_features = .{ .sse, null, null, null }, |
| | 190835 | .src_constraints = .{ .{ .unsigned_int = .xword }, .{ .unsigned_int = .xword }, .any }, |
| | 190836 | .patterns = &.{ |
| | 190837 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 190838 | }, |
| | 190839 | .call_frame = .{ .alignment = .@"16" }, |
| | 190840 | .extra_temps = .{ |
| | 190841 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 190842 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 190843 | .{ .type = .usize, .kind = .{ .extern_func = "__udivti3" } }, |
| | 190844 | .unused, |
| | 190845 | .unused, |
| | 190846 | .unused, |
| | 190847 | .unused, |
| | 190848 | .unused, |
| | 190849 | .unused, |
| | 190850 | .unused, |
| | 190851 | .unused, |
| | 190852 | }, |
| | 190853 | .dst_temps = .{ .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } }, .unused }, |
| | 190854 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 190855 | .each = .{ .once = &.{ |
| | 190856 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| | 190857 | .{ ._, ._, .lea, .tmp1p, .mem(.src1), ._, ._ }, |
| | 190858 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 190859 | } }, |
| 186778 | }, .{ | 190860 | }, .{ |
| 186779 | .required_features = .{ .@"64bit", null, null, null }, | 190861 | .required_features = .{ .@"64bit", null, null, null }, |
| 186780 | .src_constraints = .{ | 190862 | .src_constraints = .{ |
| ... | @@ -186787,10 +190869,10 @@ const Temp = struct { | ... | @@ -186787,10 +190869,10 @@ const Temp = struct { |
| 186787 | }, | 190869 | }, |
| 186788 | .call_frame = .{ .alignment = .@"16" }, | 190870 | .call_frame = .{ .alignment = .@"16" }, |
| 186789 | .extra_temps = .{ | 190871 | .extra_temps = .{ |
| 186790 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 0 } } }, | 190872 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 186791 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 1 } } }, | 190873 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 186792 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 2 } } }, | 190874 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| 186793 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 3 } } }, | 190875 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 3, .at = 3 } } }, |
| 186794 | .{ .type = .usize, .kind = .{ .extern_func = "__divei4" } }, | 190876 | .{ .type = .usize, .kind = .{ .extern_func = "__divei4" } }, |
| 186795 | .unused, | 190877 | .unused, |
| 186796 | .unused, | 190878 | .unused, |
| ... | @@ -186820,10 +190902,10 @@ const Temp = struct { | ... | @@ -186820,10 +190902,10 @@ const Temp = struct { |
| 186820 | }, | 190902 | }, |
| 186821 | .call_frame = .{ .alignment = .@"16" }, | 190903 | .call_frame = .{ .alignment = .@"16" }, |
| 186822 | .extra_temps = .{ | 190904 | .extra_temps = .{ |
| 186823 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 0 } } }, | 190905 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 186824 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 1 } } }, | 190906 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 186825 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 2 } } }, | 190907 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| 186826 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 3 } } }, | 190908 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 3, .at = 3 } } }, |
| 186827 | .{ .type = .usize, .kind = .{ .extern_func = "__udivei4" } }, | 190909 | .{ .type = .usize, .kind = .{ .extern_func = "__udivei4" } }, |
| 186828 | .unused, | 190910 | .unused, |
| 186829 | .unused, | 190911 | .unused, |
| ... | @@ -187172,7 +191254,7 @@ const Temp = struct { | ... | @@ -187172,7 +191254,7 @@ const Temp = struct { |
| 187172 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 191254 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 187173 | } }, | 191255 | } }, |
| 187174 | }, .{ | 191256 | }, .{ |
| 187175 | .required_features = .{ .@"64bit", null, null, null }, | 191257 | .required_cc_abi = .sysv64, |
| 187176 | .src_constraints = .{ | 191258 | .src_constraints = .{ |
| 187177 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, | 191259 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, |
| 187178 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, | 191260 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, |
| ... | @@ -187184,12 +191266,12 @@ const Temp = struct { | ... | @@ -187184,12 +191266,12 @@ const Temp = struct { |
| 187184 | .call_frame = .{ .alignment = .@"16" }, | 191266 | .call_frame = .{ .alignment = .@"16" }, |
| 187185 | .extra_temps = .{ | 191267 | .extra_temps = .{ |
| 187186 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 191268 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 187187 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 0 } } }, | 191269 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 187188 | .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 1 } } }, | 191270 | .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 187189 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 2 } } }, | 191271 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| 187190 | .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 3 } } }, | 191272 | .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 3, .at = 3 } } }, |
| 187191 | .{ .type = .usize, .kind = .{ .extern_func = "__divti3" } }, | 191273 | .{ .type = .usize, .kind = .{ .extern_func = "__divti3" } }, |
| 187192 | .{ .type = .u64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .at = 0 } } }, | 191274 | .{ .type = .u64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 187193 | .unused, | 191275 | .unused, |
| 187194 | .unused, | 191276 | .unused, |
| 187195 | .unused, | 191277 | .unused, |
| ... | @@ -187210,7 +191292,115 @@ const Temp = struct { | ... | @@ -187210,7 +191292,115 @@ const Temp = struct { |
| 187210 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 191292 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 187211 | } }, | 191293 | } }, |
| 187212 | }, .{ | 191294 | }, .{ |
| 187213 | .required_features = .{ .@"64bit", null, null, null }, | 191295 | .required_cc_abi = .win64, |
| | 191296 | .required_features = .{ .avx, null, null, null }, |
| | 191297 | .src_constraints = .{ |
| | 191298 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, |
| | 191299 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, |
| | 191300 | .any, |
| | 191301 | }, |
| | 191302 | .patterns = &.{ |
| | 191303 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 191304 | }, |
| | 191305 | .call_frame = .{ .alignment = .@"16" }, |
| | 191306 | .extra_temps = .{ |
| | 191307 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 191308 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 191309 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 191310 | .{ .type = .usize, .kind = .{ .extern_func = "__divti3" } }, |
| | 191311 | .{ .type = .i128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 191312 | .unused, |
| | 191313 | .unused, |
| | 191314 | .unused, |
| | 191315 | .unused, |
| | 191316 | .unused, |
| | 191317 | .unused, |
| | 191318 | }, |
| | 191319 | .dst_temps = .{ .mem, .unused }, |
| | 191320 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 191321 | .each = .{ .once = &.{ |
| | 191322 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 191323 | .{ .@"0:", ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 191324 | .{ ._, ._, .lea, .tmp2p, .memia(.src1, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 191325 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 191326 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp4x, ._, ._ }, |
| | 191327 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| | 191328 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 191329 | } }, |
| | 191330 | }, .{ |
| | 191331 | .required_cc_abi = .win64, |
| | 191332 | .required_features = .{ .sse2, null, null, null }, |
| | 191333 | .src_constraints = .{ |
| | 191334 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, |
| | 191335 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, |
| | 191336 | .any, |
| | 191337 | }, |
| | 191338 | .patterns = &.{ |
| | 191339 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 191340 | }, |
| | 191341 | .call_frame = .{ .alignment = .@"16" }, |
| | 191342 | .extra_temps = .{ |
| | 191343 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 191344 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 191345 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 191346 | .{ .type = .usize, .kind = .{ .extern_func = "__divti3" } }, |
| | 191347 | .{ .type = .i128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 191348 | .unused, |
| | 191349 | .unused, |
| | 191350 | .unused, |
| | 191351 | .unused, |
| | 191352 | .unused, |
| | 191353 | .unused, |
| | 191354 | }, |
| | 191355 | .dst_temps = .{ .mem, .unused }, |
| | 191356 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 191357 | .each = .{ .once = &.{ |
| | 191358 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 191359 | .{ .@"0:", ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 191360 | .{ ._, ._, .lea, .tmp2p, .memia(.src1, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 191361 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 191362 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp4x, ._, ._ }, |
| | 191363 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| | 191364 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 191365 | } }, |
| | 191366 | }, .{ |
| | 191367 | .required_cc_abi = .win64, |
| | 191368 | .required_features = .{ .sse, null, null, null }, |
| | 191369 | .src_constraints = .{ |
| | 191370 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, |
| | 191371 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, |
| | 191372 | .any, |
| | 191373 | }, |
| | 191374 | .patterns = &.{ |
| | 191375 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 191376 | }, |
| | 191377 | .call_frame = .{ .alignment = .@"16" }, |
| | 191378 | .extra_temps = .{ |
| | 191379 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 191380 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 191381 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 191382 | .{ .type = .usize, .kind = .{ .extern_func = "__divti3" } }, |
| | 191383 | .{ .type = .i128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 191384 | .unused, |
| | 191385 | .unused, |
| | 191386 | .unused, |
| | 191387 | .unused, |
| | 191388 | .unused, |
| | 191389 | .unused, |
| | 191390 | }, |
| | 191391 | .dst_temps = .{ .mem, .unused }, |
| | 191392 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 191393 | .each = .{ .once = &.{ |
| | 191394 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 191395 | .{ .@"0:", ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 191396 | .{ ._, ._, .lea, .tmp2p, .memia(.src1, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 191397 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 191398 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp4x, ._, ._ }, |
| | 191399 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| | 191400 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 191401 | } }, |
| | 191402 | }, .{ |
| | 191403 | .required_cc_abi = .sysv64, |
| 187214 | .src_constraints = .{ | 191404 | .src_constraints = .{ |
| 187215 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, | 191405 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| 187216 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, | 191406 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| ... | @@ -187222,12 +191412,12 @@ const Temp = struct { | ... | @@ -187222,12 +191412,12 @@ const Temp = struct { |
| 187222 | .call_frame = .{ .alignment = .@"16" }, | 191412 | .call_frame = .{ .alignment = .@"16" }, |
| 187223 | .extra_temps = .{ | 191413 | .extra_temps = .{ |
| 187224 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 191414 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 187225 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 0 } } }, | 191415 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 187226 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 1 } } }, | 191416 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 187227 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 2 } } }, | 191417 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| 187228 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 3 } } }, | 191418 | .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 3, .at = 3 } } }, |
| 187229 | .{ .type = .usize, .kind = .{ .extern_func = "__udivti3" } }, | 191419 | .{ .type = .usize, .kind = .{ .extern_func = "__udivti3" } }, |
| 187230 | .{ .type = .u64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .at = 0 } } }, | 191420 | .{ .type = .u64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 187231 | .unused, | 191421 | .unused, |
| 187232 | .unused, | 191422 | .unused, |
| 187233 | .unused, | 191423 | .unused, |
| ... | @@ -187247,6 +191437,114 @@ const Temp = struct { | ... | @@ -187247,6 +191437,114 @@ const Temp = struct { |
| 187247 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 191437 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 187248 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 191438 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 187249 | } }, | 191439 | } }, |
| | 191440 | }, .{ |
| | 191441 | .required_cc_abi = .win64, |
| | 191442 | .required_features = .{ .avx, null, null, null }, |
| | 191443 | .src_constraints = .{ |
| | 191444 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| | 191445 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| | 191446 | .any, |
| | 191447 | }, |
| | 191448 | .patterns = &.{ |
| | 191449 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 191450 | }, |
| | 191451 | .call_frame = .{ .alignment = .@"16" }, |
| | 191452 | .extra_temps = .{ |
| | 191453 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 191454 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 191455 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 191456 | .{ .type = .usize, .kind = .{ .extern_func = "__udivti3" } }, |
| | 191457 | .{ .type = .u128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 191458 | .unused, |
| | 191459 | .unused, |
| | 191460 | .unused, |
| | 191461 | .unused, |
| | 191462 | .unused, |
| | 191463 | .unused, |
| | 191464 | }, |
| | 191465 | .dst_temps = .{ .mem, .unused }, |
| | 191466 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 191467 | .each = .{ .once = &.{ |
| | 191468 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 191469 | .{ .@"0:", ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 191470 | .{ ._, ._, .lea, .tmp2p, .memia(.src1, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 191471 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 191472 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp4x, ._, ._ }, |
| | 191473 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| | 191474 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 191475 | } }, |
| | 191476 | }, .{ |
| | 191477 | .required_cc_abi = .win64, |
| | 191478 | .required_features = .{ .sse2, null, null, null }, |
| | 191479 | .src_constraints = .{ |
| | 191480 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| | 191481 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| | 191482 | .any, |
| | 191483 | }, |
| | 191484 | .patterns = &.{ |
| | 191485 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 191486 | }, |
| | 191487 | .call_frame = .{ .alignment = .@"16" }, |
| | 191488 | .extra_temps = .{ |
| | 191489 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 191490 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 191491 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 191492 | .{ .type = .usize, .kind = .{ .extern_func = "__udivti3" } }, |
| | 191493 | .{ .type = .u128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 191494 | .unused, |
| | 191495 | .unused, |
| | 191496 | .unused, |
| | 191497 | .unused, |
| | 191498 | .unused, |
| | 191499 | .unused, |
| | 191500 | }, |
| | 191501 | .dst_temps = .{ .mem, .unused }, |
| | 191502 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 191503 | .each = .{ .once = &.{ |
| | 191504 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 191505 | .{ .@"0:", ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 191506 | .{ ._, ._, .lea, .tmp2p, .memia(.src1, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 191507 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 191508 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp4x, ._, ._ }, |
| | 191509 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| | 191510 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 191511 | } }, |
| | 191512 | }, .{ |
| | 191513 | .required_cc_abi = .win64, |
| | 191514 | .required_features = .{ .sse, null, null, null }, |
| | 191515 | .src_constraints = .{ |
| | 191516 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| | 191517 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| | 191518 | .any, |
| | 191519 | }, |
| | 191520 | .patterns = &.{ |
| | 191521 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 191522 | }, |
| | 191523 | .call_frame = .{ .alignment = .@"16" }, |
| | 191524 | .extra_temps = .{ |
| | 191525 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 191526 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 191527 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| | 191528 | .{ .type = .usize, .kind = .{ .extern_func = "__udivti3" } }, |
| | 191529 | .{ .type = .u128, .kind = .{ .ret_sse = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| | 191530 | .unused, |
| | 191531 | .unused, |
| | 191532 | .unused, |
| | 191533 | .unused, |
| | 191534 | .unused, |
| | 191535 | .unused, |
| | 191536 | }, |
| | 191537 | .dst_temps = .{ .mem, .unused }, |
| | 191538 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 191539 | .each = .{ .once = &.{ |
| | 191540 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 191541 | .{ .@"0:", ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 191542 | .{ ._, ._, .lea, .tmp2p, .memia(.src1, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 191543 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 191544 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp4x, ._, ._ }, |
| | 191545 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| | 191546 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 191547 | } }, |
| 187250 | }, .{ | 191548 | }, .{ |
| 187251 | .required_features = .{ .@"64bit", null, null, null }, | 191549 | .required_features = .{ .@"64bit", null, null, null }, |
| 187252 | .src_constraints = .{ | 191550 | .src_constraints = .{ |
| ... | @@ -187260,10 +191558,10 @@ const Temp = struct { | ... | @@ -187260,10 +191558,10 @@ const Temp = struct { |
| 187260 | .call_frame = .{ .alignment = .@"16" }, | 191558 | .call_frame = .{ .alignment = .@"16" }, |
| 187261 | .extra_temps = .{ | 191559 | .extra_temps = .{ |
| 187262 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 191560 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 187263 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 0 } } }, | 191561 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 187264 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 1 } } }, | 191562 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 187265 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 2 } } }, | 191563 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| 187266 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 3 } } }, | 191564 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 3, .at = 3 } } }, |
| 187267 | .{ .type = .usize, .kind = .{ .extern_func = "__divei4" } }, | 191565 | .{ .type = .usize, .kind = .{ .extern_func = "__divei4" } }, |
| 187268 | .unused, | 191566 | .unused, |
| 187269 | .unused, | 191567 | .unused, |
| ... | @@ -187296,10 +191594,10 @@ const Temp = struct { | ... | @@ -187296,10 +191594,10 @@ const Temp = struct { |
| 187296 | .call_frame = .{ .alignment = .@"16" }, | 191594 | .call_frame = .{ .alignment = .@"16" }, |
| 187297 | .extra_temps = .{ | 191595 | .extra_temps = .{ |
| 187298 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 191596 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 187299 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 0 } } }, | 191597 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 0, .at = 0 } } }, |
| 187300 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 1 } } }, | 191598 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 1, .at = 1 } } }, |
| 187301 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 2 } } }, | 191599 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 2, .at = 2 } } }, |
| 187302 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .at = 3 } } }, | 191600 | .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .after = 3, .at = 3 } } }, |
| 187303 | .{ .type = .usize, .kind = .{ .extern_func = "__udivei4" } }, | 191601 | .{ .type = .usize, .kind = .{ .extern_func = "__udivei4" } }, |
| 187304 | .unused, | 191602 | .unused, |
| 187305 | .unused, | 191603 | .unused, |
| ... | @@ -187337,14 +191635,21 @@ const Temp = struct { | ... | @@ -187337,14 +191635,21 @@ const Temp = struct { |
| 187337 | if (op_temp.tracking(cg).short != .dead) try op_temp.die(cg); | 191635 | if (op_temp.tracking(cg).short != .dead) try op_temp.die(cg); |
| 187338 | if (tomb_bits & @as(Air.Liveness.Bpi, 1) << @intCast(op_index) == 0) continue; | 191636 | if (tomb_bits & @as(Air.Liveness.Bpi, 1) << @intCast(op_index) == 0) continue; |
| 187339 | if (cg.reused_operands.isSet(op_index)) continue; | 191637 | if (cg.reused_operands.isSet(op_index)) continue; |
| 187340 | try cg.processDeath(op_ref.toIndexAllowNone() orelse continue); | 191638 | try cg.processDeath(op_ref.toIndexAllowNone() orelse continue, .{}); |
| 187341 | } | 191639 | } |
| 187342 | if (cg.liveness.isUnused(inst)) try temp.die(cg) else { | 191640 | if (cg.liveness.isUnused(inst)) try temp.die(cg) else { |
| 187343 | switch (temp.unwrap(cg)) { | 191641 | switch (temp.unwrap(cg)) { |
| 187344 | .ref, .err_ret_trace => { | 191642 | .ref, .err_ret_trace => { |
| 187345 | const temp_mcv = temp.tracking(cg).short; | 191643 | const temp_mcv = temp.tracking(cg).short; |
| 187346 | const result = result: switch (temp_mcv) { | 191644 | const result = result: switch (temp_mcv) { |
| 187347 | .none, .unreach, .dead, .elementwise_args, .reserved_frame, .air_ref => unreachable, | 191645 | .none, |
| | 191646 | .unreach, |
| | 191647 | .dead, |
| | 191648 | .indirect_load_frame, |
| | 191649 | .elementwise_args, |
| | 191650 | .reserved_frame, |
| | 191651 | .air_ref, |
| | 191652 | => unreachable, |
| 187348 | .undef, .immediate, .lea_frame => temp_mcv, | 191653 | .undef, .immediate, .lea_frame => temp_mcv, |
| 187349 | .eflags, | 191654 | .eflags, |
| 187350 | .register, | 191655 | .register, |
| ... | @@ -187386,14 +191691,14 @@ const Temp = struct { | ... | @@ -187386,14 +191691,14 @@ const Temp = struct { |
| 187386 | if (op_temp.index != temp.index) continue; | 191691 | if (op_temp.index != temp.index) continue; |
| 187387 | if (tomb_bits & @as(Air.Liveness.Bpi, 1) << @intCast(op_index) == 0) continue; | 191692 | if (tomb_bits & @as(Air.Liveness.Bpi, 1) << @intCast(op_index) == 0) continue; |
| 187388 | if (cg.reused_operands.isSet(op_index)) continue; | 191693 | if (cg.reused_operands.isSet(op_index)) continue; |
| 187389 | try cg.processDeath(op_ref.toIndexAllowNone() orelse continue); | 191694 | try cg.processDeath(op_ref.toIndexAllowNone() orelse continue, .{}); |
| 187390 | } | 191695 | } |
| 187391 | } | 191696 | } |
| 187392 | | 191697 | |
| 187393 | fn die(temp: Temp, cg: *CodeGen) InnerError!void { | 191698 | fn die(temp: Temp, cg: *CodeGen) InnerError!void { |
| 187394 | switch (temp.unwrap(cg)) { | 191699 | switch (temp.unwrap(cg)) { |
| 187395 | .ref, .err_ret_trace => {}, | 191700 | .ref, .err_ret_trace => {}, |
| 187396 | .temp => |temp_index| try temp_index.tracking(cg).die(cg, temp_index.toIndex()), | 191701 | .temp => |temp_index| try temp_index.tracking(cg).die(cg, temp_index.toIndex(), .{}), |
| 187397 | } | 191702 | } |
| 187398 | } | 191703 | } |
| 187399 | | 191704 | |
| ... | @@ -187779,6 +192084,8 @@ const Select = struct { | ... | @@ -187779,6 +192084,8 @@ const Select = struct { |
| 187779 | } | 192084 | } |
| 187780 | | 192085 | |
| 187781 | const Case = struct { | 192086 | const Case = struct { |
| | 192087 | required_abi: enum { any, gnu, msvc } = .any, |
| | 192088 | required_cc_abi: enum { any, sysv64, win64 } = .any, |
| 187782 | required_features: [4]?std.Target.x86.Feature = @splat(null), | 192089 | required_features: [4]?std.Target.x86.Feature = @splat(null), |
| 187783 | src_constraints: [@intFromEnum(Select.Operand.Ref.none) - @intFromEnum(Select.Operand.Ref.src0)]Constraint = @splat(.any), | 192090 | src_constraints: [@intFromEnum(Select.Operand.Ref.none) - @intFromEnum(Select.Operand.Ref.src0)]Constraint = @splat(.any), |
| 187784 | dst_constraints: [@intFromEnum(Select.Operand.Ref.src0) - @intFromEnum(Select.Operand.Ref.dst0)]Constraint = @splat(.any), | 192091 | dst_constraints: [@intFromEnum(Select.Operand.Ref.src0) - @intFromEnum(Select.Operand.Ref.dst0)]Constraint = @splat(.any), |
| ... | @@ -188151,6 +192458,7 @@ const Select = struct { | ... | @@ -188151,6 +192458,7 @@ const Select = struct { |
| 188151 | to_reg_pair: [2]Register, | 192458 | to_reg_pair: [2]Register, |
| 188152 | to_param_gpr: TempSpec.Kind.CallConvRegSpec, | 192459 | to_param_gpr: TempSpec.Kind.CallConvRegSpec, |
| 188153 | to_param_gpr_pair: TempSpec.Kind.CallConvRegSpec, | 192460 | to_param_gpr_pair: TempSpec.Kind.CallConvRegSpec, |
| | 192461 | to_param_sse: TempSpec.Kind.CallConvRegSpec, |
| 188154 | to_ret_gpr: TempSpec.Kind.CallConvRegSpec, | 192462 | to_ret_gpr: TempSpec.Kind.CallConvRegSpec, |
| 188155 | to_ret_gpr_pair: TempSpec.Kind.CallConvRegSpec, | 192463 | to_ret_gpr_pair: TempSpec.Kind.CallConvRegSpec, |
| 188156 | mem, | 192464 | mem, |
| ... | @@ -188238,7 +192546,7 @@ const Select = struct { | ... | @@ -188238,7 +192546,7 @@ const Select = struct { |
| 188238 | .mem => temp.tracking(cg).short.isMemory(), | 192546 | .mem => temp.tracking(cg).short.isMemory(), |
| 188239 | .to_mem, .to_mut_mem => true, | 192547 | .to_mem, .to_mut_mem => true, |
| 188240 | .mut_mem => temp.isMut(cg) and temp.tracking(cg).short.isMemory(), | 192548 | .mut_mem => temp.isMut(cg) and temp.tracking(cg).short.isMemory(), |
| 188241 | .to_reg, .to_reg_pair, .to_param_gpr, .to_param_gpr_pair, .to_ret_gpr, .to_ret_gpr_pair => true, | 192549 | .to_reg, .to_reg_pair, .to_param_gpr, .to_param_gpr_pair, .to_param_sse, .to_ret_gpr, .to_ret_gpr_pair => true, |
| 188242 | .gpr => temp.typeOf(cg).abiSize(cg.pt.zcu) <= 8 and switch (temp.tracking(cg).short) { | 192550 | .gpr => temp.typeOf(cg).abiSize(cg.pt.zcu) <= 8 and switch (temp.tracking(cg).short) { |
| 188243 | .register => |reg| reg.isClass(.general_purpose), | 192551 | .register => |reg| reg.isClass(.general_purpose), |
| 188244 | .register_offset => |reg_off| reg_off.reg.isClass(.general_purpose) and reg_off.off == 0, | 192552 | .register_offset => |reg_off| reg_off.reg.isClass(.general_purpose) and reg_off.off == 0, |
| ... | @@ -188343,10 +192651,11 @@ const Select = struct { | ... | @@ -188343,10 +192651,11 @@ const Select = struct { |
| 188343 | .mut_mem, .to_mut_mem => try temp.toBase(true, cg), | 192651 | .mut_mem, .to_mut_mem => try temp.toBase(true, cg), |
| 188344 | .to_reg => |reg| try temp.toReg(reg, cg), | 192652 | .to_reg => |reg| try temp.toReg(reg, cg), |
| 188345 | .to_reg_pair => |regs| try temp.toRegPair(regs, cg), | 192653 | .to_reg_pair => |regs| try temp.toRegPair(regs, cg), |
| 188346 | .to_param_gpr => |param_spec| try temp.toReg(abi.getCAbiIntParamRegs(param_spec.tag(cg))[param_spec.at], cg), | 192654 | .to_param_gpr => |param_spec| try temp.toReg(abi.getCAbiIntParamRegs(param_spec.tag(cg))[param_spec.index(cg)], cg), |
| 188347 | .to_param_gpr_pair => |param_spec| try temp.toRegPair(abi.getCAbiIntParamRegs(param_spec.tag(cg))[param_spec.at..][0..2].*, cg), | 192655 | .to_param_gpr_pair => |param_spec| try temp.toRegPair(abi.getCAbiIntParamRegs(param_spec.tag(cg))[param_spec.index(cg)..][0..2].*, cg), |
| 188348 | .to_ret_gpr => |ret_spec| try temp.toReg(abi.getCAbiIntReturnRegs(ret_spec.tag(cg))[ret_spec.at], cg), | 192656 | .to_param_sse => |param_spec| try temp.toReg(abi.getCAbiSseParamRegs(param_spec.tag(cg), cg.target)[param_spec.index(cg)], cg), |
| 188349 | .to_ret_gpr_pair => |ret_spec| try temp.toRegPair(abi.getCAbiIntReturnRegs(ret_spec.tag(cg))[ret_spec.at..][0..2].*, cg), | 192657 | .to_ret_gpr => |ret_spec| try temp.toReg(abi.getCAbiIntReturnRegs(ret_spec.tag(cg))[ret_spec.index(cg)], cg), |
| | 192658 | .to_ret_gpr_pair => |ret_spec| try temp.toRegPair(abi.getCAbiIntReturnRegs(ret_spec.tag(cg))[ret_spec.index(cg)..][0..2].*, cg), |
| 188350 | .gpr, .immut_gpr, .to_gpr => try temp.toRegClass(false, .general_purpose, cg), | 192659 | .gpr, .immut_gpr, .to_gpr => try temp.toRegClass(false, .general_purpose, cg), |
| 188351 | .mut_gpr, .to_mut_gpr => try temp.toRegClass(true, .general_purpose, cg), | 192660 | .mut_gpr, .to_mut_gpr => try temp.toRegClass(true, .general_purpose, cg), |
| 188352 | .to_gphi => try temp.toRegClass(false, .gphi, cg), | 192661 | .to_gphi => try temp.toRegClass(false, .gphi, cg), |
| ... | @@ -188381,8 +192690,10 @@ const Select = struct { | ... | @@ -188381,8 +192690,10 @@ const Select = struct { |
| 188381 | reg_pair: [2]Register, | 192690 | reg_pair: [2]Register, |
| 188382 | param_gpr: CallConvRegSpec, | 192691 | param_gpr: CallConvRegSpec, |
| 188383 | param_gpr_pair: CallConvRegSpec, | 192692 | param_gpr_pair: CallConvRegSpec, |
| | 192693 | param_sse: CallConvRegSpec, |
| 188384 | ret_gpr: CallConvRegSpec, | 192694 | ret_gpr: CallConvRegSpec, |
| 188385 | ret_gpr_pair: CallConvRegSpec, | 192695 | ret_gpr_pair: CallConvRegSpec, |
| | 192696 | ret_sse: CallConvRegSpec, |
| 188386 | rc: Register.Class, | 192697 | rc: Register.Class, |
| 188387 | rc_pair: Register.Class, | 192698 | rc_pair: Register.Class, |
| 188388 | mut_rc: struct { ref: Select.Operand.Ref, rc: Register.Class }, | 192699 | mut_rc: struct { ref: Select.Operand.Ref, rc: Register.Class }, |
| ... | @@ -188422,6 +192733,7 @@ const Select = struct { | ... | @@ -188422,6 +192733,7 @@ const Select = struct { |
| 188422 | | 192733 | |
| 188423 | const CallConvRegSpec = struct { | 192734 | const CallConvRegSpec = struct { |
| 188424 | cc: Case.CallConv, | 192735 | cc: Case.CallConv, |
| | 192736 | after: u2, |
| 188425 | at: u2, | 192737 | at: u2, |
| 188426 | | 192738 | |
| 188427 | fn tag(spec: CallConvRegSpec, cg: *const CodeGen) std.builtin.CallingConvention.Tag { | 192739 | fn tag(spec: CallConvRegSpec, cg: *const CodeGen) std.builtin.CallingConvention.Tag { |
| ... | @@ -188431,6 +192743,14 @@ const Select = struct { | ... | @@ -188431,6 +192743,14 @@ const Select = struct { |
| 188431 | .zigcc => .auto, | 192743 | .zigcc => .auto, |
| 188432 | }; | 192744 | }; |
| 188433 | } | 192745 | } |
| | 192746 | |
| | 192747 | fn index(spec: CallConvRegSpec, cg: *const CodeGen) u2 { |
| | 192748 | return switch (spec.tag(cg)) { |
| | 192749 | .auto, .x86_64_sysv => spec.after, |
| | 192750 | .x86_64_win => spec.at, |
| | 192751 | else => unreachable, |
| | 192752 | }; |
| | 192753 | } |
| 188434 | }; | 192754 | }; |
| 188435 | | 192755 | |
| 188436 | fn lock(kind: Kind, cg: *CodeGen) ![2]?RegisterLock { | 192756 | fn lock(kind: Kind, cg: *CodeGen) ![2]?RegisterLock { |
| ... | @@ -188439,10 +192759,12 @@ const Select = struct { | ... | @@ -188439,10 +192759,12 @@ const Select = struct { |
| 188439 | else => return reg_locks, | 192759 | else => return reg_locks, |
| 188440 | .reg => |reg| .{ reg, .none }, | 192760 | .reg => |reg| .{ reg, .none }, |
| 188441 | .reg_pair => |regs| regs, | 192761 | .reg_pair => |regs| regs, |
| 188442 | .param_gpr => |param_spec| abi.getCAbiIntParamRegs(param_spec.tag(cg))[param_spec.at..][0..1].* ++ .{.none}, | 192762 | .param_gpr => |param_spec| abi.getCAbiIntParamRegs(param_spec.tag(cg))[param_spec.index(cg)..][0..1].* ++ .{.none}, |
| 188443 | .param_gpr_pair => |param_spec| abi.getCAbiIntParamRegs(param_spec.tag(cg))[param_spec.at..][0..2].*, | 192763 | .param_gpr_pair => |param_spec| abi.getCAbiIntParamRegs(param_spec.tag(cg))[param_spec.index(cg)..][0..2].*, |
| 188444 | .ret_gpr => |ret_spec| abi.getCAbiIntReturnRegs(ret_spec.tag(cg))[ret_spec.at..][0..1].* ++ .{.none}, | 192764 | .param_sse => |param_spec| abi.getCAbiSseParamRegs(param_spec.tag(cg), cg.target)[param_spec.index(cg)..][0..1].* ++ .{.none}, |
| 188445 | .ret_gpr_pair => |ret_spec| abi.getCAbiIntReturnRegs(ret_spec.tag(cg))[ret_spec.at..][0..2].*, | 192765 | .ret_gpr => |ret_spec| abi.getCAbiIntReturnRegs(ret_spec.tag(cg))[ret_spec.index(cg)..][0..1].* ++ .{.none}, |
| | 192766 | .ret_gpr_pair => |ret_spec| abi.getCAbiIntReturnRegs(ret_spec.tag(cg))[ret_spec.index(cg)..][0..2].*, |
| | 192767 | .ret_sse => |ret_spec| abi.getCAbiSseReturnRegs(ret_spec.tag(cg))[ret_spec.index(cg)..][0..1].* ++ .{.none}, |
| 188446 | }; | 192768 | }; |
| 188447 | for (regs, &reg_locks) |reg, *reg_lock| { | 192769 | for (regs, &reg_locks) |reg, *reg_lock| { |
| 188448 | if (reg == .none) continue; | 192770 | if (reg == .none) continue; |
| ... | @@ -188476,16 +192798,22 @@ const Select = struct { | ... | @@ -188476,16 +192798,22 @@ const Select = struct { |
| 188476 | .reg => |reg| .{ try cg.tempInit(spec.type, .{ .register = reg }), true }, | 192798 | .reg => |reg| .{ try cg.tempInit(spec.type, .{ .register = reg }), true }, |
| 188477 | .reg_pair => |regs| .{ try cg.tempInit(spec.type, .{ .register_pair = regs }), true }, | 192799 | .reg_pair => |regs| .{ try cg.tempInit(spec.type, .{ .register_pair = regs }), true }, |
| 188478 | .param_gpr => |param_spec| .{ try cg.tempInit(spec.type, .{ | 192800 | .param_gpr => |param_spec| .{ try cg.tempInit(spec.type, .{ |
| 188479 | .register = abi.getCAbiIntParamRegs(param_spec.tag(cg))[param_spec.at], | 192801 | .register = abi.getCAbiIntParamRegs(param_spec.tag(cg))[param_spec.index(cg)], |
| 188480 | }), true }, | 192802 | }), true }, |
| 188481 | .param_gpr_pair => |param_spec| .{ try cg.tempInit(spec.type, .{ | 192803 | .param_gpr_pair => |param_spec| .{ try cg.tempInit(spec.type, .{ |
| 188482 | .register_pair = abi.getCAbiIntParamRegs(param_spec.tag(cg))[param_spec.at..][0..2].*, | 192804 | .register_pair = abi.getCAbiIntParamRegs(param_spec.tag(cg))[param_spec.index(cg)..][0..2].*, |
| | 192805 | }), true }, |
| | 192806 | .param_sse => |param_spec| .{ try cg.tempInit(spec.type, .{ |
| | 192807 | .register = abi.getCAbiSseParamRegs(param_spec.tag(cg), cg.target)[param_spec.index(cg)], |
| 188483 | }), true }, | 192808 | }), true }, |
| 188484 | .ret_gpr => |ret_spec| .{ try cg.tempInit(spec.type, .{ | 192809 | .ret_gpr => |ret_spec| .{ try cg.tempInit(spec.type, .{ |
| 188485 | .register = abi.getCAbiIntReturnRegs(ret_spec.tag(cg))[ret_spec.at], | 192810 | .register = abi.getCAbiIntReturnRegs(ret_spec.tag(cg))[ret_spec.index(cg)], |
| 188486 | }), true }, | 192811 | }), true }, |
| 188487 | .ret_gpr_pair => |ret_spec| .{ try cg.tempInit(spec.type, .{ | 192812 | .ret_gpr_pair => |ret_spec| .{ try cg.tempInit(spec.type, .{ |
| 188488 | .register_pair = abi.getCAbiIntReturnRegs(ret_spec.tag(cg))[ret_spec.at..][0..2].*, | 192813 | .register_pair = abi.getCAbiIntReturnRegs(ret_spec.tag(cg))[ret_spec.index(cg)..][0..2].*, |
| | 192814 | }), true }, |
| | 192815 | .ret_sse => |ret_spec| .{ try cg.tempInit(spec.type, .{ |
| | 192816 | .register = abi.getCAbiSseReturnRegs(ret_spec.tag(cg))[ret_spec.index(cg)], |
| 188489 | }), true }, | 192817 | }), true }, |
| 188490 | .rc => |rc| .{ try cg.tempAllocReg(spec.type, regSetForRegClass(rc)), true }, | 192818 | .rc => |rc| .{ try cg.tempAllocReg(spec.type, regSetForRegClass(rc)), true }, |
| 188491 | .rc_pair => |rc| .{ try cg.tempAllocRegPair(spec.type, regSetForRegClass(rc)), true }, | 192819 | .rc_pair => |rc| .{ try cg.tempAllocRegPair(spec.type, regSetForRegClass(rc)), true }, |
| ... | @@ -188842,7 +193170,17 @@ const Select = struct { | ... | @@ -188842,7 +193170,17 @@ const Select = struct { |
| 188842 | .storage = .{ .elems = elems }, | 193170 | .storage = .{ .elems = elems }, |
| 188843 | } }))), true }; | 193171 | } }))), true }; |
| 188844 | }, | 193172 | }, |
| 188845 | .frame => |frame_index| .{ try cg.tempInit(spec.type, .{ .load_frame = .{ .index = frame_index } }), true }, | 193173 | .frame => |frame_index| .{ try cg.tempInit(spec.type, .{ .load_frame = .{ |
| | 193174 | .index = frame_index, |
| | 193175 | .off = switch (frame_index) { |
| | 193176 | .call_frame => switch (cg.target.cCallingConvention().?) { |
| | 193177 | .x86_64_sysv => 0, |
| | 193178 | .x86_64_win => win64_shadow_space, |
| | 193179 | else => unreachable, |
| | 193180 | }, |
| | 193181 | else => 0, |
| | 193182 | }, |
| | 193183 | } }), true }, |
| 188846 | .lazy_sym => |lazy_symbol_spec| { | 193184 | .lazy_sym => |lazy_symbol_spec| { |
| 188847 | const ip = &pt.zcu.intern_pool; | 193185 | const ip = &pt.zcu.intern_pool; |
| 188848 | const ty = if (lazy_symbol_spec.ref == .none) spec.type else lazy_symbol_spec.ref.typeOf(s); | 193186 | const ty = if (lazy_symbol_spec.ref == .none) spec.type else lazy_symbol_spec.ref.typeOf(s); |
| ... | @@ -188997,6 +193335,7 @@ const Select = struct { | ... | @@ -188997,6 +193335,7 @@ const Select = struct { |
| 188997 | const add_src0_elem_size_mul_src1: Adjust = .{ .sign = .pos, .lhs = .src0_elem_size_mul_src1, .op = .mul, .rhs = .@"1" }; | 193335 | const add_src0_elem_size_mul_src1: Adjust = .{ .sign = .pos, .lhs = .src0_elem_size_mul_src1, .op = .mul, .rhs = .@"1" }; |
| 188998 | const sub_src0_elem_size_mul_src1: Adjust = .{ .sign = .neg, .lhs = .src0_elem_size_mul_src1, .op = .mul, .rhs = .@"1" }; | 193336 | const sub_src0_elem_size_mul_src1: Adjust = .{ .sign = .neg, .lhs = .src0_elem_size_mul_src1, .op = .mul, .rhs = .@"1" }; |
| 188999 | const add_dst0_elem_size: Adjust = .{ .sign = .pos, .lhs = .dst0_elem_size, .op = .mul, .rhs = .@"1" }; | 193337 | const add_dst0_elem_size: Adjust = .{ .sign = .pos, .lhs = .dst0_elem_size, .op = .mul, .rhs = .@"1" }; |
| | 193338 | const sub_dst0_elem_size: Adjust = .{ .sign = .neg, .lhs = .dst0_elem_size, .op = .mul, .rhs = .@"1" }; |
| 189000 | const add_src1_div_8_down_4: Adjust = .{ .sign = .pos, .lhs = .src1, .op = .div_8_down, .rhs = .@"4" }; | 193339 | const add_src1_div_8_down_4: Adjust = .{ .sign = .pos, .lhs = .src1, .op = .div_8_down, .rhs = .@"4" }; |
| 189001 | const add_src1_rem_32: Adjust = .{ .sign = .pos, .lhs = .src1, .op = .rem_8_mul, .rhs = .@"4" }; | 193340 | const add_src1_rem_32: Adjust = .{ .sign = .pos, .lhs = .src1, .op = .rem_8_mul, .rhs = .@"4" }; |
| 189002 | const add_src1_rem_64: Adjust = .{ .sign = .pos, .lhs = .src1, .op = .rem_8_mul, .rhs = .@"8" }; | 193341 | const add_src1_rem_64: Adjust = .{ .sign = .pos, .lhs = .src1, .op = .rem_8_mul, .rhs = .@"8" }; |
| ... | @@ -189287,7 +193626,11 @@ const Select = struct { | ... | @@ -189287,7 +193626,11 @@ const Select = struct { |
| 189287 | const tmp0t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp0t } }; | 193626 | const tmp0t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp0t } }; |
| 189288 | const tmp0x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp0x } }; | 193627 | const tmp0x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp0x } }; |
| 189289 | const tmp0y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp0y } }; | 193628 | const tmp0y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp0y } }; |
| | 193629 | const tmp0w0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp0w }, .imm = 1 }; |
| | 193630 | const tmp0d0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp0d }, .imm = 1 }; |
| 189290 | const tmp0q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp0q }, .imm = 1 }; | 193631 | const tmp0q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp0q }, .imm = 1 }; |
| | 193632 | const tmp0w1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp0w }, .imm = 2 }; |
| | 193633 | const tmp0d1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp0d }, .imm = 2 }; |
| 189291 | const tmp0q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp0q }, .imm = 2 }; | 193634 | const tmp0q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp0q }, .imm = 2 }; |
| 189292 | | 193635 | |
| 189293 | const tmp1l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp1l } }; | 193636 | const tmp1l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp1l } }; |
| ... | @@ -189301,7 +193644,11 @@ const Select = struct { | ... | @@ -189301,7 +193644,11 @@ const Select = struct { |
| 189301 | const tmp1t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp1t } }; | 193644 | const tmp1t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp1t } }; |
| 189302 | const tmp1x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp1x } }; | 193645 | const tmp1x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp1x } }; |
| 189303 | const tmp1y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp1y } }; | 193646 | const tmp1y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp1y } }; |
| | 193647 | const tmp1w0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp1w }, .imm = 1 }; |
| | 193648 | const tmp1d0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp1d }, .imm = 1 }; |
| 189304 | const tmp1q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp1q }, .imm = 1 }; | 193649 | const tmp1q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp1q }, .imm = 1 }; |
| | 193650 | const tmp1w1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp1w }, .imm = 2 }; |
| | 193651 | const tmp1d1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp1d }, .imm = 2 }; |
| 189305 | const tmp1q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp1q }, .imm = 2 }; | 193652 | const tmp1q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp1q }, .imm = 2 }; |
| 189306 | | 193653 | |
| 189307 | const tmp2l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp2l } }; | 193654 | const tmp2l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp2l } }; |
| ... | @@ -189315,7 +193662,11 @@ const Select = struct { | ... | @@ -189315,7 +193662,11 @@ const Select = struct { |
| 189315 | const tmp2t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp2t } }; | 193662 | const tmp2t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp2t } }; |
| 189316 | const tmp2x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp2x } }; | 193663 | const tmp2x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp2x } }; |
| 189317 | const tmp2y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp2y } }; | 193664 | const tmp2y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp2y } }; |
| | 193665 | const tmp2w0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp2w }, .imm = 1 }; |
| | 193666 | const tmp2d0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp2d }, .imm = 1 }; |
| 189318 | const tmp2q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp2q }, .imm = 1 }; | 193667 | const tmp2q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp2q }, .imm = 1 }; |
| | 193668 | const tmp2w1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp2w }, .imm = 2 }; |
| | 193669 | const tmp2d1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp2d }, .imm = 2 }; |
| 189319 | const tmp2q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp2q }, .imm = 2 }; | 193670 | const tmp2q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp2q }, .imm = 2 }; |
| 189320 | | 193671 | |
| 189321 | const tmp3l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp3l } }; | 193672 | const tmp3l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp3l } }; |
| ... | @@ -189329,7 +193680,11 @@ const Select = struct { | ... | @@ -189329,7 +193680,11 @@ const Select = struct { |
| 189329 | const tmp3t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp3t } }; | 193680 | const tmp3t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp3t } }; |
| 189330 | const tmp3x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp3x } }; | 193681 | const tmp3x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp3x } }; |
| 189331 | const tmp3y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp3y } }; | 193682 | const tmp3y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp3y } }; |
| | 193683 | const tmp3w0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp3w }, .imm = 1 }; |
| | 193684 | const tmp3d0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp3d }, .imm = 1 }; |
| 189332 | const tmp3q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp3q }, .imm = 1 }; | 193685 | const tmp3q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp3q }, .imm = 1 }; |
| | 193686 | const tmp3w1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp3w }, .imm = 2 }; |
| | 193687 | const tmp3d1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp3d }, .imm = 2 }; |
| 189333 | const tmp3q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp3q }, .imm = 2 }; | 193688 | const tmp3q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp3q }, .imm = 2 }; |
| 189334 | | 193689 | |
| 189335 | const tmp4l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp4l } }; | 193690 | const tmp4l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp4l } }; |
| ... | @@ -189343,7 +193698,11 @@ const Select = struct { | ... | @@ -189343,7 +193698,11 @@ const Select = struct { |
| 189343 | const tmp4t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp4t } }; | 193698 | const tmp4t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp4t } }; |
| 189344 | const tmp4x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp4x } }; | 193699 | const tmp4x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp4x } }; |
| 189345 | const tmp4y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp4y } }; | 193700 | const tmp4y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp4y } }; |
| | 193701 | const tmp4w0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp4w }, .imm = 1 }; |
| | 193702 | const tmp4d0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp4d }, .imm = 1 }; |
| 189346 | const tmp4q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp4q }, .imm = 1 }; | 193703 | const tmp4q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp4q }, .imm = 1 }; |
| | 193704 | const tmp4w1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp4w }, .imm = 2 }; |
| | 193705 | const tmp4d1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp4d }, .imm = 2 }; |
| 189347 | const tmp4q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp4q }, .imm = 2 }; | 193706 | const tmp4q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp4q }, .imm = 2 }; |
| 189348 | | 193707 | |
| 189349 | const tmp5l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp5l } }; | 193708 | const tmp5l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp5l } }; |
| ... | @@ -189357,7 +193716,11 @@ const Select = struct { | ... | @@ -189357,7 +193716,11 @@ const Select = struct { |
| 189357 | const tmp5t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp5t } }; | 193716 | const tmp5t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp5t } }; |
| 189358 | const tmp5x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp5x } }; | 193717 | const tmp5x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp5x } }; |
| 189359 | const tmp5y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp5y } }; | 193718 | const tmp5y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp5y } }; |
| | 193719 | const tmp5w0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp5w }, .imm = 1 }; |
| | 193720 | const tmp5d0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp5d }, .imm = 1 }; |
| 189360 | const tmp5q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp5q }, .imm = 1 }; | 193721 | const tmp5q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp5q }, .imm = 1 }; |
| | 193722 | const tmp5w1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp5w }, .imm = 2 }; |
| | 193723 | const tmp5d1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp5d }, .imm = 2 }; |
| 189361 | const tmp5q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp5q }, .imm = 2 }; | 193724 | const tmp5q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp5q }, .imm = 2 }; |
| 189362 | | 193725 | |
| 189363 | const tmp6l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp6l } }; | 193726 | const tmp6l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp6l } }; |
| ... | @@ -189371,7 +193734,11 @@ const Select = struct { | ... | @@ -189371,7 +193734,11 @@ const Select = struct { |
| 189371 | const tmp6t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp6t } }; | 193734 | const tmp6t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp6t } }; |
| 189372 | const tmp6x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp6x } }; | 193735 | const tmp6x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp6x } }; |
| 189373 | const tmp6y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp6y } }; | 193736 | const tmp6y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp6y } }; |
| | 193737 | const tmp6w0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp6w }, .imm = 1 }; |
| | 193738 | const tmp6d0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp6d }, .imm = 1 }; |
| 189374 | const tmp6q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp6q }, .imm = 1 }; | 193739 | const tmp6q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp6q }, .imm = 1 }; |
| | 193740 | const tmp6w1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp6w }, .imm = 2 }; |
| | 193741 | const tmp6d1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp6d }, .imm = 2 }; |
| 189375 | const tmp6q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp6q }, .imm = 2 }; | 193742 | const tmp6q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp6q }, .imm = 2 }; |
| 189376 | | 193743 | |
| 189377 | const tmp7l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp7l } }; | 193744 | const tmp7l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp7l } }; |
| ... | @@ -189385,7 +193752,11 @@ const Select = struct { | ... | @@ -189385,7 +193752,11 @@ const Select = struct { |
| 189385 | const tmp7t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp7t } }; | 193752 | const tmp7t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp7t } }; |
| 189386 | const tmp7x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp7x } }; | 193753 | const tmp7x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp7x } }; |
| 189387 | const tmp7y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp7y } }; | 193754 | const tmp7y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp7y } }; |
| | 193755 | const tmp7w0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp7w }, .imm = 1 }; |
| | 193756 | const tmp7d0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp7d }, .imm = 1 }; |
| 189388 | const tmp7q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp7q }, .imm = 1 }; | 193757 | const tmp7q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp7q }, .imm = 1 }; |
| | 193758 | const tmp7w1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp7w }, .imm = 2 }; |
| | 193759 | const tmp7d1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp7d }, .imm = 2 }; |
| 189389 | const tmp7q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp7q }, .imm = 2 }; | 193760 | const tmp7q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp7q }, .imm = 2 }; |
| 189390 | | 193761 | |
| 189391 | const tmp8l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp8l } }; | 193762 | const tmp8l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp8l } }; |
| ... | @@ -189399,7 +193770,11 @@ const Select = struct { | ... | @@ -189399,7 +193770,11 @@ const Select = struct { |
| 189399 | const tmp8t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp8t } }; | 193770 | const tmp8t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp8t } }; |
| 189400 | const tmp8x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp8x } }; | 193771 | const tmp8x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp8x } }; |
| 189401 | const tmp8y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp8y } }; | 193772 | const tmp8y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp8y } }; |
| | 193773 | const tmp8w0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp8w }, .imm = 1 }; |
| | 193774 | const tmp8d0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp8d }, .imm = 1 }; |
| 189402 | const tmp8q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp8q }, .imm = 1 }; | 193775 | const tmp8q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp8q }, .imm = 1 }; |
| | 193776 | const tmp8w1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp8w }, .imm = 2 }; |
| | 193777 | const tmp8d1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp8d }, .imm = 2 }; |
| 189403 | const tmp8q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp8q }, .imm = 2 }; | 193778 | const tmp8q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp8q }, .imm = 2 }; |
| 189404 | | 193779 | |
| 189405 | const tmp9l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp9l } }; | 193780 | const tmp9l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp9l } }; |
| ... | @@ -189413,7 +193788,11 @@ const Select = struct { | ... | @@ -189413,7 +193788,11 @@ const Select = struct { |
| 189413 | const tmp9t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp9t } }; | 193788 | const tmp9t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp9t } }; |
| 189414 | const tmp9x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp9x } }; | 193789 | const tmp9x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp9x } }; |
| 189415 | const tmp9y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp9y } }; | 193790 | const tmp9y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp9y } }; |
| | 193791 | const tmp9w0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp9w }, .imm = 1 }; |
| | 193792 | const tmp9d0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp9d }, .imm = 1 }; |
| 189416 | const tmp9q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp9q }, .imm = 1 }; | 193793 | const tmp9q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp9q }, .imm = 1 }; |
| | 193794 | const tmp9w1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp9w }, .imm = 2 }; |
| | 193795 | const tmp9d1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp9d }, .imm = 2 }; |
| 189417 | const tmp9q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp9q }, .imm = 2 }; | 193796 | const tmp9q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp9q }, .imm = 2 }; |
| 189418 | | 193797 | |
| 189419 | const tmp10l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp10l } }; | 193798 | const tmp10l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp10l } }; |
| ... | @@ -189427,7 +193806,11 @@ const Select = struct { | ... | @@ -189427,7 +193806,11 @@ const Select = struct { |
| 189427 | const tmp10t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp10t } }; | 193806 | const tmp10t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp10t } }; |
| 189428 | const tmp10x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp10x } }; | 193807 | const tmp10x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp10x } }; |
| 189429 | const tmp10y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp10y } }; | 193808 | const tmp10y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp10y } }; |
| | 193809 | const tmp10w0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp10w }, .imm = 1 }; |
| | 193810 | const tmp10d0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp10d }, .imm = 1 }; |
| 189430 | const tmp10q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp10q }, .imm = 1 }; | 193811 | const tmp10q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp10q }, .imm = 1 }; |
| | 193812 | const tmp10w1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp10w }, .imm = 2 }; |
| | 193813 | const tmp10d1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp10d }, .imm = 2 }; |
| 189431 | const tmp10q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp10q }, .imm = 2 }; | 193814 | const tmp10q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .tmp10q }, .imm = 2 }; |
| 189432 | | 193815 | |
| 189433 | const dst0l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst0l } }; | 193816 | const dst0l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst0l } }; |
| ... | @@ -189441,7 +193824,11 @@ const Select = struct { | ... | @@ -189441,7 +193824,11 @@ const Select = struct { |
| 189441 | const dst0t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst0t } }; | 193824 | const dst0t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst0t } }; |
| 189442 | const dst0x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst0x } }; | 193825 | const dst0x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst0x } }; |
| 189443 | const dst0y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst0y } }; | 193826 | const dst0y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst0y } }; |
| | 193827 | const dst0w0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst0w }, .imm = 1 }; |
| | 193828 | const dst0d0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst0d }, .imm = 1 }; |
| 189444 | const dst0q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst0q }, .imm = 1 }; | 193829 | const dst0q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst0q }, .imm = 1 }; |
| | 193830 | const dst0w1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst0w }, .imm = 2 }; |
| | 193831 | const dst0d1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst0d }, .imm = 2 }; |
| 189445 | const dst0q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst0q }, .imm = 2 }; | 193832 | const dst0q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst0q }, .imm = 2 }; |
| 189446 | | 193833 | |
| 189447 | const dst1l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst1l } }; | 193834 | const dst1l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst1l } }; |
| ... | @@ -189455,7 +193842,11 @@ const Select = struct { | ... | @@ -189455,7 +193842,11 @@ const Select = struct { |
| 189455 | const dst1t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst1t } }; | 193842 | const dst1t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst1t } }; |
| 189456 | const dst1x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst1x } }; | 193843 | const dst1x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst1x } }; |
| 189457 | const dst1y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst1y } }; | 193844 | const dst1y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst1y } }; |
| | 193845 | const dst1w0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst1w }, .imm = 1 }; |
| | 193846 | const dst1d0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst1d }, .imm = 1 }; |
| 189458 | const dst1q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst1q }, .imm = 1 }; | 193847 | const dst1q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst1q }, .imm = 1 }; |
| | 193848 | const dst1w1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst1w }, .imm = 2 }; |
| | 193849 | const dst1d1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst1d }, .imm = 2 }; |
| 189459 | const dst1q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst1q }, .imm = 2 }; | 193850 | const dst1q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .dst1q }, .imm = 2 }; |
| 189460 | | 193851 | |
| 189461 | const src0l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src0l } }; | 193852 | const src0l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src0l } }; |
| ... | @@ -189469,7 +193860,11 @@ const Select = struct { | ... | @@ -189469,7 +193860,11 @@ const Select = struct { |
| 189469 | const src0t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src0t } }; | 193860 | const src0t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src0t } }; |
| 189470 | const src0x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src0x } }; | 193861 | const src0x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src0x } }; |
| 189471 | const src0y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src0y } }; | 193862 | const src0y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src0y } }; |
| | 193863 | const src0w0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src0w }, .imm = 1 }; |
| | 193864 | const src0d0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src0d }, .imm = 1 }; |
| 189472 | const src0q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src0q }, .imm = 1 }; | 193865 | const src0q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src0q }, .imm = 1 }; |
| | 193866 | const src0w1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src0w }, .imm = 2 }; |
| | 193867 | const src0d1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src0d }, .imm = 2 }; |
| 189473 | const src0q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src0q }, .imm = 2 }; | 193868 | const src0q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src0q }, .imm = 2 }; |
| 189474 | | 193869 | |
| 189475 | const src1l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src1l } }; | 193870 | const src1l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src1l } }; |
| ... | @@ -189483,7 +193878,11 @@ const Select = struct { | ... | @@ -189483,7 +193878,11 @@ const Select = struct { |
| 189483 | const src1t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src1t } }; | 193878 | const src1t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src1t } }; |
| 189484 | const src1x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src1x } }; | 193879 | const src1x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src1x } }; |
| 189485 | const src1y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src1y } }; | 193880 | const src1y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src1y } }; |
| | 193881 | const src1w0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src1w }, .imm = 1 }; |
| | 193882 | const src1d0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src1d }, .imm = 1 }; |
| 189486 | const src1q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src1q }, .imm = 1 }; | 193883 | const src1q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src1q }, .imm = 1 }; |
| | 193884 | const src1w1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src1w }, .imm = 2 }; |
| | 193885 | const src1d1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src1d }, .imm = 2 }; |
| 189487 | const src1q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src1q }, .imm = 2 }; | 193886 | const src1q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src1q }, .imm = 2 }; |
| 189488 | | 193887 | |
| 189489 | const src2l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src2l } }; | 193888 | const src2l: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src2l } }; |
| ... | @@ -189497,7 +193896,11 @@ const Select = struct { | ... | @@ -189497,7 +193896,11 @@ const Select = struct { |
| 189497 | const src2t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src2t } }; | 193896 | const src2t: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src2t } }; |
| 189498 | const src2x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src2x } }; | 193897 | const src2x: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src2x } }; |
| 189499 | const src2y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src2y } }; | 193898 | const src2y: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src2y } }; |
| | 193899 | const src2w0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src2w }, .imm = 1 }; |
| | 193900 | const src2d0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src2d }, .imm = 1 }; |
| 189500 | const src2q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src2q }, .imm = 1 }; | 193901 | const src2q0: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src2q }, .imm = 1 }; |
| | 193902 | const src2w1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src2w }, .imm = 2 }; |
| | 193903 | const src2d1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src2d }, .imm = 2 }; |
| 189501 | const src2q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src2q }, .imm = 2 }; | 193904 | const src2q1: Select.Operand = .{ .flags = .{ .tag = .ref, .base = .src2q }, .imm = 2 }; |
| 189502 | | 193905 | |
| 189503 | fn si(imm: i32) Select.Operand { | 193906 | fn si(imm: i32) Select.Operand { |
| ... | @@ -189956,6 +194359,22 @@ fn select( | ... | @@ -189956,6 +194359,22 @@ fn select( |
| 189956 | ) Select.Error!void { | 194359 | ) Select.Error!void { |
| 189957 | @setEvalBranchQuota(33_500); | 194360 | @setEvalBranchQuota(33_500); |
| 189958 | cases: for (cases) |case| { | 194361 | cases: for (cases) |case| { |
| | 194362 | switch (case.required_abi) { |
| | 194363 | .any => {}, |
| | 194364 | .gnu => if (switch (cg.target.abi) { |
| | 194365 | .none, .msvc, .itanium => cg.target.os.tag == .windows, |
| | 194366 | else => false, |
| | 194367 | }) continue :cases, |
| | 194368 | .msvc => if (switch (cg.target.abi) { |
| | 194369 | .none, .msvc, .itanium => cg.target.os.tag != .windows, |
| | 194370 | else => true, |
| | 194371 | }) continue :cases, |
| | 194372 | } |
| | 194373 | switch (case.required_cc_abi) { |
| | 194374 | .any => {}, |
| | 194375 | .sysv64 => if (cg.target.cCallingConvention().? != .x86_64_sysv) continue :cases, |
| | 194376 | .win64 => if (cg.target.cCallingConvention().? != .x86_64_win) continue :cases, |
| | 194377 | } |
| 189959 | for (case.required_features) |required_feature| if (required_feature) |feature| if (!cg.hasFeature(feature)) continue :cases; | 194378 | for (case.required_features) |required_feature| if (required_feature) |feature| if (!cg.hasFeature(feature)) continue :cases; |
| 189960 | for (case.src_constraints[0..src_temps.len], src_temps) |src_constraint, src_temp| if (!src_constraint.accepts(src_temp.typeOf(cg), cg)) continue :cases; | 194379 | for (case.src_constraints[0..src_temps.len], src_temps) |src_constraint, src_temp| if (!src_constraint.accepts(src_temp.typeOf(cg), cg)) continue :cases; |
| 189961 | for (case.dst_constraints[0..dst_temps.len], dst_tys) |dst_constraint, dst_ty| if (!dst_constraint.accepts(dst_ty, cg)) continue :cases; | 194380 | for (case.dst_constraints[0..dst_temps.len], dst_tys) |dst_constraint, dst_ty| if (!dst_constraint.accepts(dst_ty, cg)) continue :cases; |
| ... | @@ -189972,7 +194391,11 @@ fn select( | ... | @@ -189972,7 +194391,11 @@ fn select( |
| 189972 | const frame_allocs_slice = cg.frame_allocs.slice(); | 194391 | const frame_allocs_slice = cg.frame_allocs.slice(); |
| 189973 | const stack_frame_size = | 194392 | const stack_frame_size = |
| 189974 | &frame_allocs_slice.items(.abi_size)[@intFromEnum(FrameIndex.call_frame)]; | 194393 | &frame_allocs_slice.items(.abi_size)[@intFromEnum(FrameIndex.call_frame)]; |
| 189975 | stack_frame_size.* = @max(stack_frame_size.*, case.call_frame.size); | 194394 | stack_frame_size.* = @max(stack_frame_size.*, switch (cg.target.cCallingConvention().?) { |
| | 194395 | .x86_64_sysv => case.call_frame.size, |
| | 194396 | .x86_64_win => win64_shadow_space + case.call_frame.size, |
| | 194397 | else => unreachable, |
| | 194398 | }); |
| 189976 | const stack_frame_align = | 194399 | const stack_frame_align = |
| 189977 | &frame_allocs_slice.items(.abi_align)[@intFromEnum(FrameIndex.call_frame)]; | 194400 | &frame_allocs_slice.items(.abi_align)[@intFromEnum(FrameIndex.call_frame)]; |
| 189978 | stack_frame_align.* = stack_frame_align.max(case.call_frame.alignment); | 194401 | stack_frame_align.* = stack_frame_align.max(case.call_frame.alignment); |