authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-02-15 12:33:09-08:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2025-02-15 12:33:09-08:00
loge5174c7441e42a1ecc4d31ed505301f6d2c26d50
treeb3b99935a516b3aff1e58d5d9cdae7b52393eefe
parent5ab5113077bf82237978168b32e2b549a4a71feb
parentdcc9fe322e16fd01248a3fe5848604c65980354e
signaturebadge-check Signed by PGP key B5690EEEBB952194

Merge pull request #22876 from jacobly0/x86_64-rewrite

x86_64: implement error set and enum safety

172 files changed, 12077 insertions(+), 6311 deletions(-)

lib/compiler_rt.zig+1
......@@ -230,6 +230,7 @@ comptime {
230230 _ = @import("compiler_rt/trunc.zig");
231231
232232 // BigInt. Alphabetically sorted.
233 _ = @import("compiler_rt/divmodei4.zig");
233234 _ = @import("compiler_rt/udivmodei4.zig");
234235 _ = @import("compiler_rt/udivmodti4.zig");
235236
lib/compiler_rt/divmodei4.zig created+50
......@@ -0,0 +1,50 @@
1const std = @import("std");
2const builtin = @import("builtin");
3const common = @import("common.zig");
4const udivmod = @import("udivmodei4.zig").divmod;
5
6comptime {
7 @export(&__divei4, .{ .name = "__divei4", .linkage = common.linkage, .visibility = common.visibility });
8 @export(&__modei4, .{ .name = "__modei4", .linkage = common.linkage, .visibility = common.visibility });
9}
10
11const endian = builtin.cpu.arch.endian();
12
13inline fn limb(x: []u32, i: usize) *u32 {
14 return if (endian == .little) &x[i] else &x[x.len - 1 - i];
15}
16
17inline fn neg(x: []u32) void {
18 var ov: u1 = 1;
19 for (0..x.len) |limb_index| {
20 const l = limb(x, limb_index);
21 l.*, ov = @addWithOverflow(~l.*, ov);
22 }
23}
24
25/// Mutates the arguments!
26fn divmod(q: ?[]u32, r: ?[]u32, u: []u32, v: []u32) !void {
27 const u_sign: i32 = @bitCast(u[u.len - 1]);
28 const v_sign: i32 = @bitCast(v[v.len - 1]);
29 if (u_sign < 0) neg(u);
30 if (v_sign < 0) neg(v);
31 try @call(.always_inline, udivmod, .{ q, r, u, v });
32 if (q) |x| if (u_sign ^ v_sign < 0) neg(x);
33 if (r) |x| if (u_sign < 0) neg(x);
34}
35
36pub fn __divei4(r_q: [*]u32, u_p: [*]u32, v_p: [*]u32, bits: usize) callconv(.C) void {
37 @setRuntimeSafety(builtin.is_test);
38 const u = u_p[0 .. std.math.divCeil(usize, bits, 32) catch unreachable];
39 const v = v_p[0 .. std.math.divCeil(usize, bits, 32) catch unreachable];
40 const q = r_q[0 .. std.math.divCeil(usize, bits, 32) catch unreachable];
41 @call(.always_inline, divmod, .{ q, null, u, v }) catch unreachable;
42}
43
44pub fn __modei4(r_p: [*]u32, u_p: [*]u32, v_p: [*]u32, bits: usize) callconv(.C) void {
45 @setRuntimeSafety(builtin.is_test);
46 const u = u_p[0 .. std.math.divCeil(usize, bits, 32) catch unreachable];
47 const v = v_p[0 .. std.math.divCeil(usize, bits, 32) catch unreachable];
48 const r = r_p[0 .. std.math.divCeil(usize, bits, 32) catch unreachable];
49 @call(.always_inline, divmod, .{ null, r, u, v }) catch unreachable;
50}
lib/compiler_rt/udivmodei4.zig+2-2
......@@ -27,8 +27,8 @@ inline fn limb_set(x: []u32, i: usize, v: u32) void {
2727 }
2828}
2929
30// Uses Knuth's Algorithm D, 4.3.1, p. 272.
31fn divmod(q: ?[]u32, r: ?[]u32, u: []const u32, v: []const u32) !void {
30/// Uses Knuth's Algorithm D, 4.3.1, p. 272.
31pub fn divmod(q: ?[]u32, r: ?[]u32, u: []const u32, v: []const u32) !void {
3232 if (q) |q_| @memset(q_[0..], 0);
3333 if (r) |r_| @memset(r_[0..], 0);
3434
src/Sema.zig+1-1
......@@ -8850,7 +8850,7 @@ fn zirEnumFromInt(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError
88508850 // Use `intCast`, since it'll set up the Sema-emitted safety checks for us!
88518851 const int_val = try sema.intCast(block, src, int_tag_ty, src, operand, src, true, true);
88528852 const result = try block.addBitCast(dest_ty, int_val);
8853 if (zcu.backendSupportsFeature(.is_named_enum_value)) {
8853 if (!dest_ty.isNonexhaustiveEnum(zcu) and zcu.backendSupportsFeature(.is_named_enum_value)) {
88548854 const ok = try block.addUnOp(.is_named_enum_value, result);
88558855 try sema.addSafetyCheck(block, src, ok, .invalid_enum_value);
88568856 }
src/Type.zig+4-4
......@@ -4190,11 +4190,11 @@ pub const @"c_longlong": Type = .{ .ip_index = .c_longlong_type };
41904190pub const @"c_ulonglong": Type = .{ .ip_index = .c_ulonglong_type };
41914191pub const @"c_longdouble": Type = .{ .ip_index = .c_longdouble_type };
41924192
4193pub const slice_const_u8: Type = .{ .ip_index = .slice_const_u8_type };
41944193pub const manyptr_u8: Type = .{ .ip_index = .manyptr_u8_type };
4195pub const single_const_pointer_to_comptime_int: Type = .{
4196 .ip_index = .single_const_pointer_to_comptime_int_type,
4197};
4194pub const manyptr_const_u8: Type = .{ .ip_index = .manyptr_const_u8_type };
4195pub const manyptr_const_u8_sentinel_0: Type = .{ .ip_index = .manyptr_const_u8_sentinel_0_type };
4196pub const single_const_pointer_to_comptime_int: Type = .{ .ip_index = .single_const_pointer_to_comptime_int_type };
4197pub const slice_const_u8: Type = .{ .ip_index = .slice_const_u8_type };
41984198pub const slice_const_u8_sentinel_0: Type = .{ .ip_index = .slice_const_u8_sentinel_0_type };
41994199
42004200pub const vector_16_i8: Type = .{ .ip_index = .vector_16_i8_type };
src/arch/x86_64/CodeGen.zig+11377-5927
......@@ -33,6 +33,10 @@ const FrameIndex = bits.FrameIndex;
3333
3434const InnerError = codegen.CodeGenError || error{OutOfRegisters};
3535
36/// Set this to `false` to uncover Sema OPV bugs.
37/// https://github.com/ziglang/zig/issues/22419
38const hack_around_sema_opv_bugs = true;
39
3640const err_ret_trace_index: Air.Inst.Index = @enumFromInt(std.math.maxInt(u32));
3741
3842gpa: Allocator,
......@@ -2414,7 +2418,7 @@ fn genBodyBlock(self: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24142418}
24152419
24162420fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2417 @setEvalBranchQuota(11_900);
2421 @setEvalBranchQuota(12_400);
24182422 const pt = cg.pt;
24192423 const zcu = pt.zcu;
24202424 const ip = &zcu.intern_pool;
......@@ -2450,9 +2454,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24502454 try cg.inst_tracking.ensureUnusedCapacity(cg.gpa, 1);
24512455 switch (air_tags[@intFromEnum(inst)]) {
24522456 // zig fmt: off
2453 .add_wrap,
2454 .sub_wrap,
2455 => |air_tag| try cg.airBinOp(inst, air_tag),
2457 .add_wrap => try cg.airBinOp(inst, .add_wrap),
2458 .sub_wrap => try cg.airBinOp(inst, .sub_wrap),
24562459
24572460 .shr, .shr_exact => try cg.airShlShrBinOp(inst),
24582461 .shl, .shl_exact => try cg.airShlShrBinOp(inst),
......@@ -2470,57 +2473,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24702473 .mul_with_overflow => try cg.airMulWithOverflow(inst),
24712474 .shl_with_overflow => try cg.airShlWithOverflow(inst),
24722475
2473 .cmp_lt_errors_len => try cg.airCmpLtErrorsLen(inst),
2474
24752476 .bitcast => try cg.airBitCast(inst),
2476 .is_non_null => try cg.airIsNonNull(inst),
2477 .is_null => try cg.airIsNull(inst),
2478 .is_non_err => try cg.airIsNonErr(inst),
2479 .is_err => try cg.airIsErr(inst),
2480 .cmpxchg_strong => try cg.airCmpxchg(inst),
2481 .cmpxchg_weak => try cg.airCmpxchg(inst),
2482 .atomic_rmw => try cg.airAtomicRmw(inst),
2483 .atomic_load => try cg.airAtomicLoad(inst),
2484 .memcpy => try cg.airMemcpy(inst),
2485 .memset => try cg.airMemset(inst, false),
2486 .memset_safe => try cg.airMemset(inst, true),
2477
24872478 .ctz => try cg.airCtz(inst),
24882479 .popcount => try cg.airPopCount(inst),
24892480 .byte_swap => try cg.airByteSwap(inst),
24902481 .bit_reverse => try cg.airBitReverse(inst),
2491 .tag_name => try cg.airTagName(inst),
2492 .error_name => try cg.airErrorName(inst),
24932482 .splat => try cg.airSplat(inst),
24942483 .select => try cg.airSelect(inst),
24952484 .shuffle => try cg.airShuffle(inst),
24962485 .reduce => try cg.airReduce(inst),
2486 .reduce_optimized => try cg.airReduce(inst),
24972487 .aggregate_init => try cg.airAggregateInit(inst),
24982488 .prefetch => try cg.airPrefetch(inst),
2499
2500 .atomic_store_unordered => try cg.airAtomicStore(inst, .unordered),
2501 .atomic_store_monotonic => try cg.airAtomicStore(inst, .monotonic),
2502 .atomic_store_release => try cg.airAtomicStore(inst, .release),
2503 .atomic_store_seq_cst => try cg.airAtomicStore(inst, .seq_cst),
2504
2505 .array_elem_val => try cg.airArrayElemVal(inst),
2506
2507 .optional_payload => try cg.airOptionalPayload(inst),
2508 .unwrap_errunion_err => try cg.airUnwrapErrUnionErr(inst),
2509 .unwrap_errunion_payload => try cg.airUnwrapErrUnionPayload(inst),
2510
2511 .wrap_optional => try cg.airWrapOptional(inst),
2512 .wrap_errunion_payload => try cg.airWrapErrUnionPayload(inst),
2513 .wrap_errunion_err => try cg.airWrapErrUnionErr(inst),
25142489 // zig fmt: on
25152490
2516 .add_safe,
2517 .sub_safe,
2518 .mul_safe,
2519 .intcast_safe,
2520 => return cg.fail("TODO implement safety_checked_instructions", .{}),
2521
2522 .reduce_optimized => try cg.airReduce(inst),
2523
25242491 .arg => if (cg.debug_output != .none) {
25252492 // skip zero-bit arguments as they don't have a corresponding arg instruction
25262493 var arg_index = cg.arg_index;
......@@ -2535,24 +2502,96 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25352502 if (arg != .none) break;
25362503 } else try cg.airDbgVarArgs();
25372504 },
2538 .add, .add_optimized => |air_tag| if (use_old) try cg.airBinOp(inst, .add) else fallback: {
2505 .add, .add_optimized => |air_tag| if (use_old) try cg.airBinOp(inst, .add) else {
25392506 const bin_op = air_datas[@intFromEnum(inst)].bin_op;
2540 if (cg.floatBits(cg.typeOf(bin_op.lhs).scalarType(zcu)) == null) break :fallback try cg.airBinOp(inst, air_tag);
25412507 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });
25422508 var res: [1]Temp = undefined;
25432509 cg.select(&res, &.{cg.typeOf(bin_op.lhs)}, &ops, comptime &.{ .{
2544 .required_features = .{ .f16c, null, null, null },
2510 .src_constraints = .{ .{ .int = .byte }, .{ .int = .byte }, .any },
2511 .patterns = &.{
2512 .{ .src = .{ .mut_mem, .imm8, .none } },
2513 .{ .src = .{ .imm8, .mut_mem, .none }, .commute = .{ 0, 1 } },
2514 .{ .src = .{ .to_mut_gpr, .imm8, .none } },
2515 .{ .src = .{ .imm8, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
2516 .{ .src = .{ .mut_mem, .to_gpr, .none } },
2517 .{ .src = .{ .to_gpr, .mut_mem, .none }, .commute = .{ 0, 1 } },
2518 .{ .src = .{ .to_mut_gpr, .mem, .none } },
2519 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
2520 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
2521 },
2522 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2523 .clobbers = .{ .eflags = true },
2524 .each = .{ .once = &.{
2525 .{ ._, ._, .add, .dst0b, .src1b, ._, ._ },
2526 } },
2527 }, .{
2528 .src_constraints = .{ .{ .int = .word }, .{ .int = .word }, .any },
2529 .patterns = &.{
2530 .{ .src = .{ .mut_mem, .imm16, .none } },
2531 .{ .src = .{ .imm16, .mut_mem, .none }, .commute = .{ 0, 1 } },
2532 .{ .src = .{ .to_mut_gpr, .imm16, .none } },
2533 .{ .src = .{ .imm16, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
2534 .{ .src = .{ .mut_mem, .to_gpr, .none } },
2535 .{ .src = .{ .to_gpr, .mut_mem, .none }, .commute = .{ 0, 1 } },
2536 .{ .src = .{ .to_mut_gpr, .mem, .none } },
2537 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
2538 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
2539 },
2540 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2541 .clobbers = .{ .eflags = true },
2542 .each = .{ .once = &.{
2543 .{ ._, ._, .add, .dst0w, .src1w, ._, ._ },
2544 } },
2545 }, .{
2546 .src_constraints = .{ .{ .int = .dword }, .{ .int = .dword }, .any },
2547 .patterns = &.{
2548 .{ .src = .{ .mut_mem, .imm32, .none } },
2549 .{ .src = .{ .imm32, .mut_mem, .none }, .commute = .{ 0, 1 } },
2550 .{ .src = .{ .to_mut_gpr, .imm32, .none } },
2551 .{ .src = .{ .imm32, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
2552 .{ .src = .{ .mut_mem, .to_gpr, .none } },
2553 .{ .src = .{ .to_gpr, .mut_mem, .none }, .commute = .{ 0, 1 } },
2554 .{ .src = .{ .to_mut_gpr, .mem, .none } },
2555 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
2556 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
2557 },
2558 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2559 .clobbers = .{ .eflags = true },
2560 .each = .{ .once = &.{
2561 .{ ._, ._, .add, .dst0d, .src1d, ._, ._ },
2562 } },
2563 }, .{
2564 .required_features = .{ .@"64bit", null, null, null },
2565 .src_constraints = .{ .{ .int = .qword }, .{ .int = .qword }, .any },
2566 .patterns = &.{
2567 .{ .src = .{ .mut_mem, .simm32, .none } },
2568 .{ .src = .{ .simm32, .mut_mem, .none }, .commute = .{ 0, 1 } },
2569 .{ .src = .{ .to_mut_gpr, .simm32, .none } },
2570 .{ .src = .{ .simm32, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
2571 .{ .src = .{ .mut_mem, .to_gpr, .none } },
2572 .{ .src = .{ .to_gpr, .mut_mem, .none }, .commute = .{ 0, 1 } },
2573 .{ .src = .{ .to_mut_gpr, .mem, .none } },
2574 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
2575 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
2576 },
2577 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2578 .clobbers = .{ .eflags = true },
2579 .each = .{ .once = &.{
2580 .{ ._, ._, .add, .dst0q, .src1q, ._, ._ },
2581 } },
2582 }, .{
2583 .required_features = .{ .@"64bit", null, null, null },
25452584 .src_constraints = .{
2546 .{ .scalar_float = .{ .of = .word, .is = .word } },
2547 .{ .scalar_float = .{ .of = .word, .is = .word } },
2585 .{ .remainder_int = .{ .of = .qword, .is = .qword } },
2586 .{ .remainder_int = .{ .of = .qword, .is = .qword } },
25482587 .any,
25492588 },
25502589 .patterns = &.{
2551 .{ .src = .{ .to_sse, .to_sse, .none } },
2590 .{ .src = .{ .to_mem, .to_mem, .none } },
25522591 },
25532592 .extra_temps = .{
2554 .{ .type = .f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },
2555 .unused,
2593 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
2594 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
25562595 .unused,
25572596 .unused,
25582597 .unused,
......@@ -2561,27 +2600,29 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25612600 .unused,
25622601 .unused,
25632602 },
2564 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
2603 .dst_temps = .{ .mem, .unused },
2604 .clobbers = .{ .eflags = true },
25652605 .each = .{ .once = &.{
2566 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
2567 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
2568 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0d, ._ },
2569 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
2606 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_8), ._, ._ },
2607 .{ ._, ._c, .cl, ._, ._, ._, ._ },
2608 .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"8", .tmp0, .add_size), ._, ._ },
2609 .{ ._, ._, .adc, .tmp1q, .memsia(.src1q, .@"8", .tmp0, .add_size), ._, ._ },
2610 .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp0, .add_size), .tmp1q, ._, ._ },
2611 .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
2612 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
25702613 } },
25712614 }, .{
2572 .required_features = .{ .sse, null, null, null },
25732615 .src_constraints = .{
2574 .{ .scalar_float = .{ .of = .word, .is = .word } },
2575 .{ .scalar_float = .{ .of = .word, .is = .word } },
2616 .{ .remainder_int = .{ .of = .dword, .is = .dword } },
2617 .{ .remainder_int = .{ .of = .dword, .is = .dword } },
25762618 .any,
25772619 },
25782620 .patterns = &.{
2579 .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } },
2621 .{ .src = .{ .to_mem, .to_mem, .none } },
25802622 },
2581 .call_frame = .{ .alignment = .@"16" },
25822623 .extra_temps = .{
2583 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
2584 .unused,
2624 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
2625 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
25852626 .unused,
25862627 .unused,
25872628 .unused,
......@@ -2590,78 +2631,70 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
25902631 .unused,
25912632 .unused,
25922633 },
2593 .dst_temps = .{.{ .ref = .src0 }},
2594 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2634 .dst_temps = .{ .mem, .unused },
2635 .clobbers = .{ .eflags = true },
25952636 .each = .{ .once = &.{
2596 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
2637 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_4), ._, ._ },
2638 .{ ._, ._c, .cl, ._, ._, ._, ._ },
2639 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_size), ._, ._ },
2640 .{ ._, ._, .adc, .tmp1d, .memsia(.src1d, .@"4", .tmp0, .add_size), ._, ._ },
2641 .{ ._, ._, .mov, .memsia(.dst0d, .@"4", .tmp0, .add_size), .tmp1d, ._, ._ },
2642 .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
2643 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
25972644 } },
25982645 }, .{
2599 .required_features = .{ .f16c, null, null, null },
2646 .required_features = .{ .avx, null, null, null },
26002647 .src_constraints = .{
2601 .{ .scalar_float = .{ .of = .qword, .is = .word } },
2602 .{ .scalar_float = .{ .of = .qword, .is = .word } },
2648 .{ .scalar_int = .{ .of = .xword, .is = .byte } },
2649 .{ .scalar_int = .{ .of = .xword, .is = .byte } },
26032650 .any,
26042651 },
26052652 .patterns = &.{
2606 .{ .src = .{ .mem, .mem, .none } },
26072653 .{ .src = .{ .to_sse, .mem, .none } },
2608 .{ .src = .{ .mem, .to_sse, .none } },
2654 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
26092655 .{ .src = .{ .to_sse, .to_sse, .none } },
26102656 },
2611 .extra_temps = .{
2612 .{ .type = .vector_4_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },
2613 .unused,
2614 .unused,
2615 .unused,
2616 .unused,
2617 .unused,
2618 .unused,
2619 .unused,
2620 .unused,
2657 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
2658 .each = .{ .once = &.{
2659 .{ ._, .vp_b, .add, .dst0x, .src0x, .src1x, ._ },
2660 } },
2661 }, .{
2662 .required_features = .{ .sse2, null, null, null },
2663 .src_constraints = .{
2664 .{ .scalar_int = .{ .of = .xword, .is = .byte } },
2665 .{ .scalar_int = .{ .of = .xword, .is = .byte } },
2666 .any,
26212667 },
2622 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
2668 .patterns = &.{
2669 .{ .src = .{ .to_mut_sse, .mem, .none } },
2670 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
2671 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
2672 },
2673 .dst_temps = .{ .{ .ref = .src0 }, .unused },
26232674 .each = .{ .once = &.{
2624 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
2625 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
2626 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ },
2627 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
2675 .{ ._, .p_b, .add, .dst0x, .src1x, ._, ._ },
26282676 } },
26292677 }, .{
2630 .required_features = .{ .f16c, null, null, null },
2678 .required_features = .{ .avx2, null, null, null },
26312679 .src_constraints = .{
2632 .{ .scalar_float = .{ .of = .xword, .is = .word } },
2633 .{ .scalar_float = .{ .of = .xword, .is = .word } },
2680 .{ .scalar_int = .{ .of = .yword, .is = .byte } },
2681 .{ .scalar_int = .{ .of = .yword, .is = .byte } },
26342682 .any,
26352683 },
26362684 .patterns = &.{
2637 .{ .src = .{ .mem, .mem, .none } },
26382685 .{ .src = .{ .to_sse, .mem, .none } },
2639 .{ .src = .{ .mem, .to_sse, .none } },
2686 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
26402687 .{ .src = .{ .to_sse, .to_sse, .none } },
26412688 },
2642 .extra_temps = .{
2643 .{ .type = .vector_8_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },
2644 .unused,
2645 .unused,
2646 .unused,
2647 .unused,
2648 .unused,
2649 .unused,
2650 .unused,
2651 .unused,
2652 },
2653 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
2689 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
26542690 .each = .{ .once = &.{
2655 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
2656 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },
2657 .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp0y, ._ },
2658 .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ },
2691 .{ ._, .vp_b, .add, .dst0y, .src0y, .src1y, ._ },
26592692 } },
26602693 }, .{
2661 .required_features = .{ .f16c, null, null, null },
2694 .required_features = .{ .avx2, null, null, null },
26622695 .src_constraints = .{
2663 .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } },
2664 .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } },
2696 .{ .multiple_scalar_int = .{ .of = .yword, .is = .byte } },
2697 .{ .multiple_scalar_int = .{ .of = .yword, .is = .byte } },
26652698 .any,
26662699 },
26672700 .patterns = &.{
......@@ -2669,8 +2702,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26692702 },
26702703 .extra_temps = .{
26712704 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
2672 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
2673 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
2705 .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } },
2706 .unused,
26742707 .unused,
26752708 .unused,
26762709 .unused,
......@@ -2678,198 +2711,139 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
26782711 .unused,
26792712 .unused,
26802713 },
2681 .dst_temps = .{.mem},
2682 .clobbers = .{ .eflags = true },
2714 .dst_temps = .{ .mem, .unused },
26832715 .each = .{ .once = &.{
26842716 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2685 .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
2686 .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
2687 .{ ._, .v_ps, .add, .tmp1y, .tmp1y, .tmp2y, ._ },
2688 .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ },
2689 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
2717 .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
2718 .{ ._, .vp_b, .add, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
2719 .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
2720 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
26902721 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
26912722 } },
26922723 }, .{
26932724 .required_features = .{ .avx, null, null, null },
26942725 .src_constraints = .{
2695 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
2696 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
2726 .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } },
2727 .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } },
26972728 .any,
26982729 },
26992730 .patterns = &.{
27002731 .{ .src = .{ .to_mem, .to_mem, .none } },
27012732 },
2702 .call_frame = .{ .alignment = .@"16" },
27032733 .extra_temps = .{
27042734 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
2705 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
2706 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
2707 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
2735 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
2736 .unused,
2737 .unused,
27082738 .unused,
27092739 .unused,
27102740 .unused,
27112741 .unused,
27122742 .unused,
27132743 },
2714 .dst_temps = .{.mem},
2715 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2744 .dst_temps = .{ .mem, .unused },
27162745 .each = .{ .once = &.{
27172746 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2718 .{ .@"0:", .vp_, .xor, .tmp2x, .tmp2x, .tmp2x, ._ },
2719 .{ ._, .vp_w, .insr, .tmp1x, .tmp2x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) },
2720 .{ ._, .vp_w, .insr, .tmp2x, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0) },
2721 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
2722 .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ },
2723 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
2747 .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
2748 .{ ._, .vp_b, .add, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._ },
2749 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2750 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
27242751 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
27252752 } },
27262753 }, .{
2727 .required_features = .{ .sse4_1, null, null, null },
2754 .required_features = .{ .sse2, null, null, null },
27282755 .src_constraints = .{
2729 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
2730 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
2756 .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } },
2757 .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } },
27312758 .any,
27322759 },
27332760 .patterns = &.{
27342761 .{ .src = .{ .to_mem, .to_mem, .none } },
27352762 },
2736 .call_frame = .{ .alignment = .@"16" },
27372763 .extra_temps = .{
27382764 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
2739 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
2740 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
2741 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
2765 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
2766 .unused,
2767 .unused,
27422768 .unused,
27432769 .unused,
27442770 .unused,
27452771 .unused,
27462772 .unused,
27472773 },
2748 .dst_temps = .{.mem},
2749 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2774 .dst_temps = .{ .mem, .unused },
27502775 .each = .{ .once = &.{
27512776 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2752 .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ },
2753 .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ },
2754 .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ },
2755 .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ },
2756 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
2757 .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ },
2758 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
2777 .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
2778 .{ ._, .p_b, .add, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
2779 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2780 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
27592781 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
27602782 } },
27612783 }, .{
2762 .required_features = .{ .sse2, null, null, null },
2784 .required_features = .{ .slow_incdec, null, null, null },
27632785 .src_constraints = .{
2764 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
2765 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
2786 .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } },
2787 .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } },
27662788 .any,
27672789 },
27682790 .patterns = &.{
27692791 .{ .src = .{ .to_mem, .to_mem, .none } },
27702792 },
2771 .call_frame = .{ .alignment = .@"16" },
27722793 .extra_temps = .{
27732794 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
2774 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
2775 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
2776 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
2777 .{ .type = .f16, .kind = .{ .reg = .ax } },
2795 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
2796 .unused,
2797 .unused,
2798 .unused,
27782799 .unused,
27792800 .unused,
27802801 .unused,
27812802 .unused,
27822803 },
2783 .dst_temps = .{.mem},
2784 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2804 .dst_temps = .{ .mem, .unused },
27852805 .each = .{ .once = &.{
27862806 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2787 .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ },
2788 .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ },
2789 .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ },
2790 .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ },
2791 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
2792 .{ ._, .p_w, .extr, .tmp4d, .tmp1x, .ui(0), ._ },
2793 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp4w, ._, ._ },
2794 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
2807 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
2808 .{ ._, ._, .add, .tmp1b, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._ },
2809 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
2810 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
27952811 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
27962812 } },
27972813 }, .{
2798 .required_features = .{ .sse, null, null, null },
27992814 .src_constraints = .{
2800 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
2801 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
2815 .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } },
2816 .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } },
28022817 .any,
28032818 },
28042819 .patterns = &.{
28052820 .{ .src = .{ .to_mem, .to_mem, .none } },
28062821 },
2807 .call_frame = .{ .alignment = .@"16" },
28082822 .extra_temps = .{
28092823 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
2810 .{ .type = .f16, .kind = .{ .reg = .ax } },
2811 .{ .type = .f32, .kind = .mem },
2812 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
2813 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
2814 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
2824 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
2825 .unused,
2826 .unused,
2827 .unused,
2828 .unused,
28152829 .unused,
28162830 .unused,
28172831 .unused,
28182832 },
2819 .dst_temps = .{.mem},
2820 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2833 .dst_temps = .{ .mem, .unused },
28212834 .each = .{ .once = &.{
28222835 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2823 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
2824 .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ },
2825 .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ },
2826 .{ ._, ._, .movzx, .tmp1d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ },
2827 .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ },
2828 .{ ._, ._ss, .mov, .tmp4x, .mem(.tmp2d), ._, ._ },
2829 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
2830 .{ ._, ._ss, .mov, .mem(.tmp2d), .tmp3x, ._, ._ },
2831 .{ ._, ._, .mov, .tmp1d, .mem(.tmp2d), ._, ._ },
2832 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },
2833 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
2834 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
2835 } },
2836 }, .{
2837 .required_features = .{ .avx, null, null, null },
2838 .src_constraints = .{
2839 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
2840 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
2841 .any,
2842 },
2843 .patterns = &.{
2844 .{ .src = .{ .to_sse, .mem, .none } },
2845 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
2846 .{ .src = .{ .to_sse, .to_sse, .none } },
2847 },
2848 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
2849 .each = .{ .once = &.{
2850 .{ ._, .v_ss, .add, .dst0x, .src0x, .src1d, ._ },
2851 } },
2852 }, .{
2853 .required_features = .{ .sse, null, null, null },
2854 .src_constraints = .{
2855 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
2856 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
2857 .any,
2858 },
2859 .patterns = &.{
2860 .{ .src = .{ .to_mut_sse, .mem, .none } },
2861 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
2862 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
2863 },
2864 .dst_temps = .{.{ .ref = .src0 }},
2865 .each = .{ .once = &.{
2866 .{ ._, ._ss, .add, .dst0x, .src1d, ._, ._ },
2836 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
2837 .{ ._, ._, .add, .tmp1b, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._ },
2838 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
2839 .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
2840 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
28672841 } },
28682842 }, .{
28692843 .required_features = .{ .avx, null, null, null },
28702844 .src_constraints = .{
2871 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
2872 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
2845 .{ .scalar_int = .{ .of = .xword, .is = .word } },
2846 .{ .scalar_int = .{ .of = .xword, .is = .word } },
28732847 .any,
28742848 },
28752849 .patterns = &.{
......@@ -2877,15 +2851,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28772851 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
28782852 .{ .src = .{ .to_sse, .to_sse, .none } },
28792853 },
2880 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
2854 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
28812855 .each = .{ .once = &.{
2882 .{ ._, .v_ps, .add, .dst0x, .src0x, .src1x, ._ },
2856 .{ ._, .vp_w, .add, .dst0x, .src0x, .src1x, ._ },
28832857 } },
28842858 }, .{
2885 .required_features = .{ .sse, null, null, null },
2859 .required_features = .{ .sse2, null, null, null },
28862860 .src_constraints = .{
2887 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
2888 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
2861 .{ .scalar_int = .{ .of = .xword, .is = .word } },
2862 .{ .scalar_int = .{ .of = .xword, .is = .word } },
28892863 .any,
28902864 },
28912865 .patterns = &.{
......@@ -2893,15 +2867,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
28932867 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
28942868 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
28952869 },
2896 .dst_temps = .{.{ .ref = .src0 }},
2870 .dst_temps = .{ .{ .ref = .src0 }, .unused },
28972871 .each = .{ .once = &.{
2898 .{ ._, ._ps, .add, .dst0x, .src1x, ._, ._ },
2872 .{ ._, .p_w, .add, .dst0x, .src1x, ._, ._ },
28992873 } },
29002874 }, .{
2901 .required_features = .{ .avx, null, null, null },
2875 .required_features = .{ .avx2, null, null, null },
29022876 .src_constraints = .{
2903 .{ .scalar_float = .{ .of = .yword, .is = .dword } },
2904 .{ .scalar_float = .{ .of = .yword, .is = .dword } },
2877 .{ .scalar_int = .{ .of = .yword, .is = .word } },
2878 .{ .scalar_int = .{ .of = .yword, .is = .word } },
29052879 .any,
29062880 },
29072881 .patterns = &.{
......@@ -2909,15 +2883,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
29092883 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
29102884 .{ .src = .{ .to_sse, .to_sse, .none } },
29112885 },
2912 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
2886 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
29132887 .each = .{ .once = &.{
2914 .{ ._, .v_ps, .add, .dst0y, .src0y, .src1y, ._ },
2888 .{ ._, .vp_w, .add, .dst0y, .src0y, .src1y, ._ },
29152889 } },
29162890 }, .{
2917 .required_features = .{ .avx, null, null, null },
2891 .required_features = .{ .avx2, null, null, null },
29182892 .src_constraints = .{
2919 .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } },
2920 .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } },
2893 .{ .multiple_scalar_int = .{ .of = .yword, .is = .word } },
2894 .{ .multiple_scalar_int = .{ .of = .yword, .is = .word } },
29212895 .any,
29222896 },
29232897 .patterns = &.{
......@@ -2925,7 +2899,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
29252899 },
29262900 .extra_temps = .{
29272901 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
2928 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
2902 .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } },
29292903 .unused,
29302904 .unused,
29312905 .unused,
......@@ -2934,21 +2908,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
29342908 .unused,
29352909 .unused,
29362910 },
2937 .dst_temps = .{.mem},
2938 .clobbers = .{ .eflags = true },
2911 .dst_temps = .{ .mem, .unused },
29392912 .each = .{ .once = &.{
29402913 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2941 .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
2942 .{ ._, .v_ps, .add, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
2943 .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
2914 .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
2915 .{ ._, .vp_w, .add, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
2916 .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
29442917 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
29452918 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
29462919 } },
29472920 }, .{
2948 .required_features = .{ .sse, null, null, null },
2921 .required_features = .{ .avx, null, null, null },
29492922 .src_constraints = .{
2950 .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } },
2951 .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } },
2923 .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } },
2924 .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } },
29522925 .any,
29532926 },
29542927 .patterns = &.{
......@@ -2956,7 +2929,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
29562929 },
29572930 .extra_temps = .{
29582931 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
2959 .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } },
2932 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
29602933 .unused,
29612934 .unused,
29622935 .unused,
......@@ -2965,61 +2938,57 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
29652938 .unused,
29662939 .unused,
29672940 },
2968 .dst_temps = .{.mem},
2969 .clobbers = .{ .eflags = true },
2941 .dst_temps = .{ .mem, .unused },
29702942 .each = .{ .once = &.{
29712943 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2972 .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
2973 .{ ._, ._ps, .add, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
2974 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2944 .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
2945 .{ ._, .vp_w, .add, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._ },
2946 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
29752947 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
29762948 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
29772949 } },
2978 }, .{
2979 .required_features = .{ .avx, null, null, null },
2980 .src_constraints = .{
2981 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
2982 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
2983 .any,
2984 },
2985 .patterns = &.{
2986 .{ .src = .{ .to_sse, .mem, .none } },
2987 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
2988 .{ .src = .{ .to_sse, .to_sse, .none } },
2989 },
2990 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
2991 .each = .{ .once = &.{
2992 .{ ._, .v_sd, .add, .dst0x, .src0x, .src1q, ._ },
2993 } },
29942950 }, .{
29952951 .required_features = .{ .sse2, null, null, null },
29962952 .src_constraints = .{
2997 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
2998 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
2953 .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } },
2954 .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } },
29992955 .any,
30002956 },
30012957 .patterns = &.{
3002 .{ .src = .{ .to_mut_sse, .mem, .none } },
3003 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
3004 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
2958 .{ .src = .{ .to_mem, .to_mem, .none } },
2959 },
2960 .extra_temps = .{
2961 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
2962 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
2963 .unused,
2964 .unused,
2965 .unused,
2966 .unused,
2967 .unused,
2968 .unused,
2969 .unused,
30052970 },
3006 .dst_temps = .{.{ .ref = .src0 }},
2971 .dst_temps = .{ .mem, .unused },
30072972 .each = .{ .once = &.{
3008 .{ ._, ._sd, .add, .dst0x, .src1q, ._, ._ },
2973 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
2974 .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
2975 .{ ._, .p_w, .add, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
2976 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
2977 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
2978 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
30092979 } },
30102980 }, .{
3011 .required_features = .{ .x87, null, null, null },
30122981 .src_constraints = .{
3013 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
3014 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
2982 .{ .multiple_scalar_int = .{ .of = .word, .is = .word } },
2983 .{ .multiple_scalar_int = .{ .of = .word, .is = .word } },
30152984 .any,
30162985 },
30172986 .patterns = &.{
30182987 .{ .src = .{ .to_mem, .to_mem, .none } },
30192988 },
30202989 .extra_temps = .{
3021 .{ .type = .f64, .kind = .{ .reg = .st6 } },
3022 .{ .type = .f64, .kind = .{ .reg = .st7 } },
2990 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
2991 .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
30232992 .unused,
30242993 .unused,
30252994 .unused,
......@@ -3028,17 +2997,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30282997 .unused,
30292998 .unused,
30302999 },
3031 .dst_temps = .{.mem},
3000 .dst_temps = .{ .mem, .unused },
30323001 .each = .{ .once = &.{
3033 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
3034 .{ ._, .f_, .add, .src1q, ._, ._, ._ },
3035 .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },
3002 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
3003 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
3004 .{ ._, ._, .add, .tmp1w, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ },
3005 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },
3006 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
3007 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
30363008 } },
30373009 }, .{
30383010 .required_features = .{ .avx, null, null, null },
30393011 .src_constraints = .{
3040 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
3041 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
3012 .{ .scalar_int = .{ .of = .xword, .is = .dword } },
3013 .{ .scalar_int = .{ .of = .xword, .is = .dword } },
30423014 .any,
30433015 },
30443016 .patterns = &.{
......@@ -3046,15 +3018,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30463018 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
30473019 .{ .src = .{ .to_sse, .to_sse, .none } },
30483020 },
3049 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
3021 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
30503022 .each = .{ .once = &.{
3051 .{ ._, .v_pd, .add, .dst0x, .src0x, .src1x, ._ },
3023 .{ ._, .vp_d, .add, .dst0x, .src0x, .src1x, ._ },
30523024 } },
30533025 }, .{
30543026 .required_features = .{ .sse2, null, null, null },
30553027 .src_constraints = .{
3056 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
3057 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
3028 .{ .scalar_int = .{ .of = .xword, .is = .dword } },
3029 .{ .scalar_int = .{ .of = .xword, .is = .dword } },
30583030 .any,
30593031 },
30603032 .patterns = &.{
......@@ -3062,15 +3034,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30623034 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
30633035 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
30643036 },
3065 .dst_temps = .{.{ .ref = .src0 }},
3037 .dst_temps = .{ .{ .ref = .src0 }, .unused },
30663038 .each = .{ .once = &.{
3067 .{ ._, ._pd, .add, .dst0x, .src1x, ._, ._ },
3039 .{ ._, .p_d, .add, .dst0x, .src1x, ._, ._ },
30683040 } },
30693041 }, .{
3070 .required_features = .{ .avx, null, null, null },
3042 .required_features = .{ .avx2, null, null, null },
30713043 .src_constraints = .{
3072 .{ .scalar_float = .{ .of = .yword, .is = .qword } },
3073 .{ .scalar_float = .{ .of = .yword, .is = .qword } },
3044 .{ .scalar_int = .{ .of = .yword, .is = .dword } },
3045 .{ .scalar_int = .{ .of = .yword, .is = .dword } },
30743046 .any,
30753047 },
30763048 .patterns = &.{
......@@ -3078,15 +3050,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30783050 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
30793051 .{ .src = .{ .to_sse, .to_sse, .none } },
30803052 },
3081 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
3053 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
30823054 .each = .{ .once = &.{
3083 .{ ._, .v_pd, .add, .dst0y, .src0y, .src1y, ._ },
3055 .{ ._, .vp_d, .add, .dst0y, .src0y, .src1y, ._ },
30843056 } },
30853057 }, .{
3086 .required_features = .{ .avx, null, null, null },
3058 .required_features = .{ .avx2, null, null, null },
30873059 .src_constraints = .{
3088 .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } },
3089 .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } },
3060 .{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } },
3061 .{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } },
30903062 .any,
30913063 },
30923064 .patterns = &.{
......@@ -3094,7 +3066,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
30943066 },
30953067 .extra_temps = .{
30963068 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
3097 .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } },
3069 .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } },
30983070 .unused,
30993071 .unused,
31003072 .unused,
......@@ -3103,21 +3075,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31033075 .unused,
31043076 .unused,
31053077 },
3106 .dst_temps = .{.mem},
3107 .clobbers = .{ .eflags = true },
3078 .dst_temps = .{ .mem, .unused },
31083079 .each = .{ .once = &.{
31093080 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
3110 .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
3111 .{ ._, .v_pd, .add, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
3112 .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
3081 .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
3082 .{ ._, .vp_d, .add, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
3083 .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
31133084 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
31143085 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31153086 } },
31163087 }, .{
3117 .required_features = .{ .sse2, null, null, null },
3088 .required_features = .{ .avx, null, null, null },
31183089 .src_constraints = .{
3119 .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } },
3120 .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } },
3090 .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } },
3091 .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } },
31213092 .any,
31223093 },
31233094 .patterns = &.{
......@@ -3125,7 +3096,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31253096 },
31263097 .extra_temps = .{
31273098 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
3128 .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } },
3099 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
31293100 .unused,
31303101 .unused,
31313102 .unused,
......@@ -3134,21 +3105,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31343105 .unused,
31353106 .unused,
31363107 },
3137 .dst_temps = .{.mem},
3138 .clobbers = .{ .eflags = true },
3108 .dst_temps = .{ .mem, .unused },
31393109 .each = .{ .once = &.{
31403110 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
3141 .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
3142 .{ ._, ._pd, .add, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
3143 .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
3111 .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
3112 .{ ._, .vp_d, .add, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._ },
3113 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
31443114 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
31453115 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31463116 } },
31473117 }, .{
3148 .required_features = .{ .x87, null, null, null },
3118 .required_features = .{ .sse2, null, null, null },
31493119 .src_constraints = .{
3150 .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },
3151 .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },
3120 .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } },
3121 .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } },
31523122 .any,
31533123 },
31543124 .patterns = &.{
......@@ -3156,8 +3126,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31563126 },
31573127 .extra_temps = .{
31583128 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
3159 .{ .type = .f64, .kind = .{ .reg = .st6 } },
3160 .{ .type = .f64, .kind = .{ .reg = .st7 } },
3129 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
3130 .unused,
31613131 .unused,
31623132 .unused,
31633133 .unused,
......@@ -3165,28 +3135,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31653135 .unused,
31663136 .unused,
31673137 },
3168 .dst_temps = .{.mem},
3138 .dst_temps = .{ .mem, .unused },
31693139 .each = .{ .once = &.{
31703140 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
3171 .{ .@"0:", .f_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ },
3172 .{ ._, .f_, .add, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._, ._ },
3173 .{ ._, .f_p, .st, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ },
3174 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
3141 .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
3142 .{ ._, .p_d, .add, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
3143 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
3144 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
31753145 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
31763146 } },
31773147 }, .{
3178 .required_features = .{ .x87, null, null, null },
31793148 .src_constraints = .{
3180 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
3181 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
3149 .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } },
3150 .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } },
31823151 .any,
31833152 },
31843153 .patterns = &.{
3185 .{ .src = .{ .mem, .mem, .none } },
3154 .{ .src = .{ .to_mem, .to_mem, .none } },
31863155 },
31873156 .extra_temps = .{
3188 .{ .type = .f80, .kind = .{ .reg = .st6 } },
3189 .{ .type = .f80, .kind = .{ .reg = .st7 } },
3157 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
3158 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
31903159 .unused,
31913160 .unused,
31923161 .unused,
......@@ -3195,47 +3164,68 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
31953164 .unused,
31963165 .unused,
31973166 },
3198 .dst_temps = .{.{ .rc = .x87 }},
3167 .dst_temps = .{ .mem, .unused },
31993168 .each = .{ .once = &.{
3200 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
3201 .{ ._, .f_, .ld, .src1t, ._, ._, ._ },
3202 .{ ._, .f_p, .add, ._, ._, ._, ._ },
3203 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
3169 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
3170 .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
3171 .{ ._, ._, .add, .tmp1d, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._ },
3172 .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1d, ._, ._ },
3173 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
3174 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32043175 } },
32053176 }, .{
3206 .required_features = .{ .x87, null, null, null },
3177 .required_features = .{ .avx, null, null, null },
32073178 .src_constraints = .{
3208 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
3209 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
3179 .{ .scalar_int = .{ .of = .xword, .is = .qword } },
3180 .{ .scalar_int = .{ .of = .xword, .is = .qword } },
32103181 .any,
32113182 },
32123183 .patterns = &.{
3213 .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } },
3214 .{ .src = .{ .mem, .to_x87, .none } },
3215 .{ .src = .{ .to_x87, .to_x87, .none } },
3184 .{ .src = .{ .to_sse, .mem, .none } },
3185 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
3186 .{ .src = .{ .to_sse, .to_sse, .none } },
32163187 },
3217 .extra_temps = .{
3218 .{ .type = .f80, .kind = .{ .reg = .st7 } },
3219 .unused,
3220 .unused,
3221 .unused,
3222 .unused,
3223 .unused,
3224 .unused,
3225 .unused,
3226 .unused,
3188 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3189 .each = .{ .once = &.{
3190 .{ ._, .vp_q, .add, .dst0x, .src0x, .src1x, ._ },
3191 } },
3192 }, .{
3193 .required_features = .{ .sse2, null, null, null },
3194 .src_constraints = .{
3195 .{ .scalar_int = .{ .of = .xword, .is = .qword } },
3196 .{ .scalar_int = .{ .of = .xword, .is = .qword } },
3197 .any,
32273198 },
3228 .dst_temps = .{.{ .rc = .x87 }},
3199 .patterns = &.{
3200 .{ .src = .{ .to_mut_sse, .mem, .none } },
3201 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
3202 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
3203 },
3204 .dst_temps = .{ .{ .ref = .src0 }, .unused },
32293205 .each = .{ .once = &.{
3230 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
3231 .{ ._, .f_, .add, .tmp0t, .src1t, ._, ._ },
3232 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
3206 .{ ._, .p_q, .add, .dst0x, .src1x, ._, ._ },
32333207 } },
32343208 }, .{
3235 .required_features = .{ .x87, null, null, null },
3209 .required_features = .{ .avx2, null, null, null },
32363210 .src_constraints = .{
3237 .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } },
3238 .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } },
3211 .{ .scalar_int = .{ .of = .yword, .is = .qword } },
3212 .{ .scalar_int = .{ .of = .yword, .is = .qword } },
3213 .any,
3214 },
3215 .patterns = &.{
3216 .{ .src = .{ .to_sse, .mem, .none } },
3217 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
3218 .{ .src = .{ .to_sse, .to_sse, .none } },
3219 },
3220 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3221 .each = .{ .once = &.{
3222 .{ ._, .vp_q, .add, .dst0y, .src0y, .src1y, ._ },
3223 } },
3224 }, .{
3225 .required_features = .{ .avx2, null, null, null },
3226 .src_constraints = .{
3227 .{ .multiple_scalar_int = .{ .of = .yword, .is = .qword } },
3228 .{ .multiple_scalar_int = .{ .of = .yword, .is = .qword } },
32393229 .any,
32403230 },
32413231 .patterns = &.{
......@@ -3243,8 +3233,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32433233 },
32443234 .extra_temps = .{
32453235 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
3246 .{ .type = .f80, .kind = .{ .reg = .st6 } },
3247 .{ .type = .f80, .kind = .{ .reg = .st7 } },
3236 .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } },
3237 .unused,
32483238 .unused,
32493239 .unused,
32503240 .unused,
......@@ -3252,30 +3242,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32523242 .unused,
32533243 .unused,
32543244 },
3255 .dst_temps = .{.mem},
3245 .dst_temps = .{ .mem, .unused },
32563246 .each = .{ .once = &.{
32573247 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
3258 .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ },
3259 .{ ._, .f_, .ld, .memia(.src1t, .tmp0, .add_unaligned_size), ._, ._, ._ },
3260 .{ ._, .f_p, .add, ._, ._, ._, ._ },
3261 .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ },
3262 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
3248 .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
3249 .{ ._, .vp_q, .add, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
3250 .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
3251 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
32633252 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32643253 } },
32653254 }, .{
3266 .required_features = .{ .sse, null, null, null },
3255 .required_features = .{ .avx, null, null, null },
32673256 .src_constraints = .{
3268 .{ .scalar_float = .{ .of = .xword, .is = .xword } },
3269 .{ .scalar_float = .{ .of = .xword, .is = .xword } },
3257 .{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } },
3258 .{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } },
32703259 .any,
32713260 },
32723261 .patterns = &.{
3273 .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } },
3262 .{ .src = .{ .to_mem, .to_mem, .none } },
32743263 },
3275 .call_frame = .{ .alignment = .@"16" },
32763264 .extra_temps = .{
3277 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } },
3278 .unused,
3265 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
3266 .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } },
32793267 .unused,
32803268 .unused,
32813269 .unused,
......@@ -3284,127 +3272,149 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
32843272 .unused,
32853273 .unused,
32863274 },
3287 .dst_temps = .{.{ .ref = .src0 }},
3288 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3275 .dst_temps = .{ .mem, .unused },
32893276 .each = .{ .once = &.{
3290 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
3277 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
3278 .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
3279 .{ ._, .vp_q, .add, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._ },
3280 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
3281 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
3282 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
32913283 } },
32923284 }, .{
3293 .required_features = .{ .avx, null, null, null },
3285 .required_features = .{ .sse2, null, null, null },
32943286 .src_constraints = .{
3295 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
3296 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
3287 .{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } },
3288 .{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } },
32973289 .any,
32983290 },
32993291 .patterns = &.{
33003292 .{ .src = .{ .to_mem, .to_mem, .none } },
33013293 },
3302 .call_frame = .{ .alignment = .@"16" },
33033294 .extra_temps = .{
33043295 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
3305 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
3306 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
3307 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } },
3296 .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } },
3297 .unused,
3298 .unused,
33083299 .unused,
33093300 .unused,
33103301 .unused,
33113302 .unused,
33123303 .unused,
33133304 },
3314 .dst_temps = .{.mem},
3315 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3305 .dst_temps = .{ .mem, .unused },
33163306 .each = .{ .once = &.{
33173307 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
3318 .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
3319 .{ ._, .v_dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
3320 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
3321 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
3308 .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
3309 .{ ._, .p_q, .add, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
3310 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
33223311 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
33233312 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
33243313 } },
33253314 }, .{
3326 .required_features = .{ .sse2, null, null, null },
3315 .required_features = .{ .@"64bit", null, null, null },
33273316 .src_constraints = .{
3328 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
3329 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
3317 .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } },
3318 .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } },
33303319 .any,
33313320 },
33323321 .patterns = &.{
33333322 .{ .src = .{ .to_mem, .to_mem, .none } },
33343323 },
3335 .call_frame = .{ .alignment = .@"16" },
33363324 .extra_temps = .{
33373325 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
3338 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
3339 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
3340 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } },
3326 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
3327 .unused,
3328 .unused,
33413329 .unused,
33423330 .unused,
33433331 .unused,
33443332 .unused,
33453333 .unused,
33463334 },
3347 .dst_temps = .{.mem},
3348 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3335 .dst_temps = .{ .mem, .unused },
33493336 .each = .{ .once = &.{
33503337 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
3351 .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
3352 .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
3353 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
3354 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
3355 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
3338 .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
3339 .{ ._, ._, .add, .tmp1q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ },
3340 .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1q, ._, ._ },
3341 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
33563342 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
33573343 } },
33583344 }, .{
3359 .required_features = .{ .sse, null, null, null },
3345 .required_features = .{ .@"64bit", null, null, null },
33603346 .src_constraints = .{
3361 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
3362 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
3347 .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } },
3348 .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } },
33633349 .any,
33643350 },
33653351 .patterns = &.{
33663352 .{ .src = .{ .to_mem, .to_mem, .none } },
33673353 },
3368 .call_frame = .{ .alignment = .@"16" },
33693354 .extra_temps = .{
33703355 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
3371 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
3372 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
3373 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } },
3356 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
3357 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
3358 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
3359 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
3360 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
3361 .unused,
33743362 .unused,
33753363 .unused,
3364 },
3365 .dst_temps = .{ .mem, .unused },
3366 .each = .{ .once = &.{
3367 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
3368 .{ .@"0:", ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_size_add_elem_size), ._, ._ },
3369 .{ ._, ._, .lea, .tmp2p, .memia(.src1, .tmp0, .add_size_add_elem_size), ._, ._ },
3370 .{ ._, ._, .lea, .tmp3p, .memia(.dst0, .tmp0, .add_size_add_elem_size), ._, ._ },
3371 .{ ._, ._, .mov, .tmp4p, .sa(.src0, .sub_elem_size_div_8), ._, ._ },
3372 .{ ._, ._c, .cl, ._, ._, ._, ._ },
3373 .{ .@"1:", ._, .mov, .tmp5q, .leasi(.tmp1q, .@"8", .tmp4), ._, ._ },
3374 .{ ._, ._, .adc, .tmp5q, .leasi(.tmp2q, .@"8", .tmp4), ._, ._ },
3375 .{ ._, ._, .mov, .leasi(.tmp3q, .@"8", .tmp4), .tmp5q, ._, ._ },
3376 .{ ._, ._c, .in, .tmp4p, ._, ._, ._ },
3377 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
3378 .{ ._, ._, .add, .tmp0p, .sa(.src0, .add_elem_size), ._, ._ },
3379 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
3380 } },
3381 }, .{
3382 .src_constraints = .{
3383 .{ .scalar_remainder_int = .{ .of = .dword, .is = .dword } },
3384 .{ .scalar_remainder_int = .{ .of = .dword, .is = .dword } },
3385 .any,
3386 },
3387 .patterns = &.{
3388 .{ .src = .{ .to_mem, .to_mem, .none } },
3389 },
3390 .extra_temps = .{
3391 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
3392 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
3393 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
3394 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
3395 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
3396 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
33763397 .unused,
33773398 .unused,
33783399 .unused,
33793400 },
3380 .dst_temps = .{.mem},
3381 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3401 .dst_temps = .{ .mem, .unused },
33823402 .each = .{ .once = &.{
3383 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
3384 .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
3385 .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
3386 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
3387 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
3388 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
3403 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
3404 .{ .@"0:", ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_size_add_elem_size), ._, ._ },
3405 .{ ._, ._, .lea, .tmp2p, .memia(.src1, .tmp0, .add_size_add_elem_size), ._, ._ },
3406 .{ ._, ._, .lea, .tmp3p, .memia(.dst0, .tmp0, .add_size_add_elem_size), ._, ._ },
3407 .{ ._, ._, .mov, .tmp4p, .sa(.src0, .sub_elem_size_div_4), ._, ._ },
3408 .{ ._, ._c, .cl, ._, ._, ._, ._ },
3409 .{ .@"1:", ._, .mov, .tmp5d, .leasi(.tmp1d, .@"4", .tmp4), ._, ._ },
3410 .{ ._, ._, .adc, .tmp5d, .leasi(.tmp2d, .@"4", .tmp4), ._, ._ },
3411 .{ ._, ._, .mov, .leasi(.tmp3d, .@"4", .tmp4), .tmp5d, ._, ._ },
3412 .{ ._, ._c, .in, .tmp4p, ._, ._, ._ },
3413 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
3414 .{ ._, ._, .add, .tmp0p, .sa(.src0, .add_elem_size), ._, ._ },
33893415 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
33903416 } },
3391 } }) catch |err| switch (err) {
3392 error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{
3393 @tagName(air_tag),
3394 cg.typeOf(bin_op.lhs).fmt(pt),
3395 ops[0].tracking(cg),
3396 ops[1].tracking(cg),
3397 }),
3398 else => |e| return e,
3399 };
3400 try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg);
3401 },
3402 .sub, .sub_optimized => |air_tag| if (use_old) try cg.airBinOp(inst, .sub) else fallback: {
3403 const bin_op = air_datas[@intFromEnum(inst)].bin_op;
3404 if (cg.floatBits(cg.typeOf(bin_op.lhs).scalarType(zcu)) == null) break :fallback try cg.airBinOp(inst, air_tag);
3405 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });
3406 var res: [1]Temp = undefined;
3407 cg.select(&res, &.{cg.typeOf(bin_op.lhs)}, &ops, comptime &.{ .{
3417 }, .{
34083418 .required_features = .{ .f16c, null, null, null },
34093419 .src_constraints = .{
34103420 .{ .scalar_float = .{ .of = .word, .is = .word } },
......@@ -3425,11 +3435,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34253435 .unused,
34263436 .unused,
34273437 },
3428 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
3438 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
34293439 .each = .{ .once = &.{
34303440 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
34313441 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
3432 .{ ._, .v_ss, .sub, .dst0x, .dst0x, .tmp0d, ._ },
3442 .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0d, ._ },
34333443 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
34343444 } },
34353445 }, .{
......@@ -3444,7 +3454,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34443454 },
34453455 .call_frame = .{ .alignment = .@"16" },
34463456 .extra_temps = .{
3447 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subhf3" } } },
3457 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
34483458 .unused,
34493459 .unused,
34503460 .unused,
......@@ -3454,7 +3464,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34543464 .unused,
34553465 .unused,
34563466 },
3457 .dst_temps = .{.{ .ref = .src0 }},
3467 .dst_temps = .{ .{ .ref = .src0 }, .unused },
34583468 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
34593469 .each = .{ .once = &.{
34603470 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -3483,11 +3493,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
34833493 .unused,
34843494 .unused,
34853495 },
3486 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
3496 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
34873497 .each = .{ .once = &.{
34883498 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
34893499 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
3490 .{ ._, .v_ps, .sub, .dst0x, .dst0x, .tmp0x, ._ },
3500 .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ },
34913501 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
34923502 } },
34933503 }, .{
......@@ -3514,11 +3524,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35143524 .unused,
35153525 .unused,
35163526 },
3517 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
3527 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
35183528 .each = .{ .once = &.{
35193529 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
35203530 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },
3521 .{ ._, .v_ps, .sub, .dst0y, .dst0y, .tmp0y, ._ },
3531 .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp0y, ._ },
35223532 .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ },
35233533 } },
35243534 }, .{
......@@ -3542,13 +3552,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35423552 .unused,
35433553 .unused,
35443554 },
3545 .dst_temps = .{.mem},
3555 .dst_temps = .{ .mem, .unused },
35463556 .clobbers = .{ .eflags = true },
35473557 .each = .{ .once = &.{
35483558 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
35493559 .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
35503560 .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
3551 .{ ._, .v_ps, .sub, .tmp1y, .tmp1y, .tmp2y, ._ },
3561 .{ ._, .v_ps, .add, .tmp1y, .tmp1y, .tmp2y, ._ },
35523562 .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ },
35533563 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
35543564 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
......@@ -3568,14 +3578,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
35683578 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
35693579 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
35703580 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
3571 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subhf3" } } },
3581 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
35723582 .unused,
35733583 .unused,
35743584 .unused,
35753585 .unused,
35763586 .unused,
35773587 },
3578 .dst_temps = .{.mem},
3588 .dst_temps = .{ .mem, .unused },
35793589 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
35803590 .each = .{ .once = &.{
35813591 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -3602,14 +3612,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36023612 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
36033613 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
36043614 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
3605 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subhf3" } } },
3615 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
36063616 .unused,
36073617 .unused,
36083618 .unused,
36093619 .unused,
36103620 .unused,
36113621 },
3612 .dst_temps = .{.mem},
3622 .dst_temps = .{ .mem, .unused },
36133623 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
36143624 .each = .{ .once = &.{
36153625 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -3637,14 +3647,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36373647 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
36383648 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
36393649 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
3640 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subhf3" } } },
3650 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
36413651 .{ .type = .f16, .kind = .{ .reg = .ax } },
36423652 .unused,
36433653 .unused,
36443654 .unused,
36453655 .unused,
36463656 },
3647 .dst_temps = .{.mem},
3657 .dst_temps = .{ .mem, .unused },
36483658 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
36493659 .each = .{ .once = &.{
36503660 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -3675,12 +3685,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
36753685 .{ .type = .f32, .kind = .mem },
36763686 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
36773687 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
3678 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subhf3" } } },
3688 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
36793689 .unused,
36803690 .unused,
36813691 .unused,
36823692 },
3683 .dst_temps = .{.mem},
3693 .dst_temps = .{ .mem, .unused },
36843694 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
36853695 .each = .{ .once = &.{
36863696 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -3706,11 +3716,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37063716 },
37073717 .patterns = &.{
37083718 .{ .src = .{ .to_sse, .mem, .none } },
3719 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
37093720 .{ .src = .{ .to_sse, .to_sse, .none } },
37103721 },
3711 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
3722 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
37123723 .each = .{ .once = &.{
3713 .{ ._, .v_ss, .sub, .dst0x, .src0x, .src1d, ._ },
3724 .{ ._, .v_ss, .add, .dst0x, .src0x, .src1d, ._ },
37143725 } },
37153726 }, .{
37163727 .required_features = .{ .sse, null, null, null },
......@@ -3721,11 +3732,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37213732 },
37223733 .patterns = &.{
37233734 .{ .src = .{ .to_mut_sse, .mem, .none } },
3735 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
37243736 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
37253737 },
3726 .dst_temps = .{.{ .ref = .src0 }},
3738 .dst_temps = .{ .{ .ref = .src0 }, .unused },
37273739 .each = .{ .once = &.{
3728 .{ ._, ._ss, .sub, .dst0x, .src1d, ._, ._ },
3740 .{ ._, ._ss, .add, .dst0x, .src1d, ._, ._ },
37293741 } },
37303742 }, .{
37313743 .required_features = .{ .avx, null, null, null },
......@@ -3736,11 +3748,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37363748 },
37373749 .patterns = &.{
37383750 .{ .src = .{ .to_sse, .mem, .none } },
3751 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
37393752 .{ .src = .{ .to_sse, .to_sse, .none } },
37403753 },
3741 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
3754 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
37423755 .each = .{ .once = &.{
3743 .{ ._, .v_ps, .sub, .dst0x, .src0x, .src1x, ._ },
3756 .{ ._, .v_ps, .add, .dst0x, .src0x, .src1x, ._ },
37443757 } },
37453758 }, .{
37463759 .required_features = .{ .sse, null, null, null },
......@@ -3751,11 +3764,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37513764 },
37523765 .patterns = &.{
37533766 .{ .src = .{ .to_mut_sse, .mem, .none } },
3767 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
37543768 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
37553769 },
3756 .dst_temps = .{.{ .ref = .src0 }},
3770 .dst_temps = .{ .{ .ref = .src0 }, .unused },
37573771 .each = .{ .once = &.{
3758 .{ ._, ._ps, .sub, .dst0x, .src1x, ._, ._ },
3772 .{ ._, ._ps, .add, .dst0x, .src1x, ._, ._ },
37593773 } },
37603774 }, .{
37613775 .required_features = .{ .avx, null, null, null },
......@@ -3766,11 +3780,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37663780 },
37673781 .patterns = &.{
37683782 .{ .src = .{ .to_sse, .mem, .none } },
3783 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
37693784 .{ .src = .{ .to_sse, .to_sse, .none } },
37703785 },
3771 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
3786 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
37723787 .each = .{ .once = &.{
3773 .{ ._, .v_ps, .sub, .dst0y, .src0y, .src1y, ._ },
3788 .{ ._, .v_ps, .add, .dst0y, .src0y, .src1y, ._ },
37743789 } },
37753790 }, .{
37763791 .required_features = .{ .avx, null, null, null },
......@@ -3793,12 +3808,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
37933808 .unused,
37943809 .unused,
37953810 },
3796 .dst_temps = .{.mem},
3811 .dst_temps = .{ .mem, .unused },
37973812 .clobbers = .{ .eflags = true },
37983813 .each = .{ .once = &.{
37993814 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
38003815 .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
3801 .{ ._, .v_ps, .sub, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
3816 .{ ._, .v_ps, .add, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
38023817 .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
38033818 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
38043819 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
......@@ -3824,12 +3839,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38243839 .unused,
38253840 .unused,
38263841 },
3827 .dst_temps = .{.mem},
3842 .dst_temps = .{ .mem, .unused },
38283843 .clobbers = .{ .eflags = true },
38293844 .each = .{ .once = &.{
38303845 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
38313846 .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
3832 .{ ._, ._ps, .sub, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
3847 .{ ._, ._ps, .add, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
38333848 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
38343849 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
38353850 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
......@@ -3843,11 +3858,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38433858 },
38443859 .patterns = &.{
38453860 .{ .src = .{ .to_sse, .mem, .none } },
3861 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
38463862 .{ .src = .{ .to_sse, .to_sse, .none } },
38473863 },
3848 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
3864 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
38493865 .each = .{ .once = &.{
3850 .{ ._, .v_sd, .sub, .dst0x, .src0x, .src1q, ._ },
3866 .{ ._, .v_sd, .add, .dst0x, .src0x, .src1q, ._ },
38513867 } },
38523868 }, .{
38533869 .required_features = .{ .sse2, null, null, null },
......@@ -3858,11 +3874,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38583874 },
38593875 .patterns = &.{
38603876 .{ .src = .{ .to_mut_sse, .mem, .none } },
3877 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
38613878 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
38623879 },
3863 .dst_temps = .{.{ .ref = .src0 }},
3880 .dst_temps = .{ .{ .ref = .src0 }, .unused },
38643881 .each = .{ .once = &.{
3865 .{ ._, ._sd, .sub, .dst0x, .src1q, ._, ._ },
3882 .{ ._, ._sd, .add, .dst0x, .src1q, ._, ._ },
38663883 } },
38673884 }, .{
38683885 .required_features = .{ .x87, null, null, null },
......@@ -3885,10 +3902,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
38853902 .unused,
38863903 .unused,
38873904 },
3888 .dst_temps = .{.mem},
3905 .dst_temps = .{ .mem, .unused },
38893906 .each = .{ .once = &.{
38903907 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
3891 .{ ._, .f_, .sub, .src1q, ._, ._, ._ },
3908 .{ ._, .f_, .add, .src1q, ._, ._, ._ },
38923909 .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },
38933910 } },
38943911 }, .{
......@@ -3900,11 +3917,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39003917 },
39013918 .patterns = &.{
39023919 .{ .src = .{ .to_sse, .mem, .none } },
3920 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
39033921 .{ .src = .{ .to_sse, .to_sse, .none } },
39043922 },
3905 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
3923 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
39063924 .each = .{ .once = &.{
3907 .{ ._, .v_pd, .sub, .dst0x, .src0x, .src1x, ._ },
3925 .{ ._, .v_pd, .add, .dst0x, .src0x, .src1x, ._ },
39083926 } },
39093927 }, .{
39103928 .required_features = .{ .sse2, null, null, null },
......@@ -3915,11 +3933,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39153933 },
39163934 .patterns = &.{
39173935 .{ .src = .{ .to_mut_sse, .mem, .none } },
3936 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
39183937 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
39193938 },
3920 .dst_temps = .{.{ .ref = .src0 }},
3939 .dst_temps = .{ .{ .ref = .src0 }, .unused },
39213940 .each = .{ .once = &.{
3922 .{ ._, ._pd, .sub, .dst0x, .src1x, ._, ._ },
3941 .{ ._, ._pd, .add, .dst0x, .src1x, ._, ._ },
39233942 } },
39243943 }, .{
39253944 .required_features = .{ .avx, null, null, null },
......@@ -3930,11 +3949,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39303949 },
39313950 .patterns = &.{
39323951 .{ .src = .{ .to_sse, .mem, .none } },
3952 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
39333953 .{ .src = .{ .to_sse, .to_sse, .none } },
39343954 },
3935 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
3955 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
39363956 .each = .{ .once = &.{
3937 .{ ._, .v_pd, .sub, .dst0y, .src0y, .src1y, ._ },
3957 .{ ._, .v_pd, .add, .dst0y, .src0y, .src1y, ._ },
39383958 } },
39393959 }, .{
39403960 .required_features = .{ .avx, null, null, null },
......@@ -3957,12 +3977,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39573977 .unused,
39583978 .unused,
39593979 },
3960 .dst_temps = .{.mem},
3980 .dst_temps = .{ .mem, .unused },
39613981 .clobbers = .{ .eflags = true },
39623982 .each = .{ .once = &.{
39633983 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
39643984 .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
3965 .{ ._, .v_pd, .sub, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
3985 .{ ._, .v_pd, .add, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
39663986 .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
39673987 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
39683988 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
......@@ -3988,12 +4008,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
39884008 .unused,
39894009 .unused,
39904010 },
3991 .dst_temps = .{.mem},
4011 .dst_temps = .{ .mem, .unused },
39924012 .clobbers = .{ .eflags = true },
39934013 .each = .{ .once = &.{
39944014 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
39954015 .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
3996 .{ ._, ._pd, .sub, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
4016 .{ ._, ._pd, .add, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
39974017 .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
39984018 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
39994019 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
......@@ -4019,11 +4039,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40194039 .unused,
40204040 .unused,
40214041 },
4022 .dst_temps = .{.mem},
4042 .dst_temps = .{ .mem, .unused },
40234043 .each = .{ .once = &.{
40244044 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
40254045 .{ .@"0:", .f_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ },
4026 .{ ._, .f_, .sub, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._, ._ },
4046 .{ ._, .f_, .add, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._, ._ },
40274047 .{ ._, .f_p, .st, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ },
40284048 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
40294049 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
......@@ -4049,11 +4069,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40494069 .unused,
40504070 .unused,
40514071 },
4052 .dst_temps = .{.{ .rc = .x87 }},
4072 .dst_temps = .{ .{ .rc = .x87 }, .unused },
40534073 .each = .{ .once = &.{
40544074 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
40554075 .{ ._, .f_, .ld, .src1t, ._, ._, ._ },
4056 .{ ._, .f_p, .sub, ._, ._, ._, ._ },
4076 .{ ._, .f_p, .add, ._, ._, ._, ._ },
40574077 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
40584078 } },
40594079 }, .{
......@@ -4065,32 +4085,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
40654085 },
40664086 .patterns = &.{
40674087 .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } },
4068 },
4069 .extra_temps = .{
4070 .{ .type = .f80, .kind = .{ .reg = .st7 } },
4071 .unused,
4072 .unused,
4073 .unused,
4074 .unused,
4075 .unused,
4076 .unused,
4077 .unused,
4078 .unused,
4079 },
4080 .dst_temps = .{.{ .rc = .x87 }},
4081 .each = .{ .once = &.{
4082 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
4083 .{ ._, .f_, .subr, .tmp0t, .src1t, ._, ._ },
4084 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
4085 } },
4086 }, .{
4087 .required_features = .{ .x87, null, null, null },
4088 .src_constraints = .{
4089 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
4090 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
4091 .any,
4092 },
4093 .patterns = &.{
40944088 .{ .src = .{ .mem, .to_x87, .none } },
40954089 .{ .src = .{ .to_x87, .to_x87, .none } },
40964090 },
......@@ -4105,10 +4099,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41054099 .unused,
41064100 .unused,
41074101 },
4108 .dst_temps = .{.{ .rc = .x87 }},
4102 .dst_temps = .{ .{ .rc = .x87 }, .unused },
41094103 .each = .{ .once = &.{
41104104 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
4111 .{ ._, .f_, .sub, .tmp0t, .src1t, ._, ._ },
4105 .{ ._, .f_, .add, .tmp0t, .src1t, ._, ._ },
41124106 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
41134107 } },
41144108 }, .{
......@@ -4132,12 +4126,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41324126 .unused,
41334127 .unused,
41344128 },
4135 .dst_temps = .{.mem},
4129 .dst_temps = .{ .mem, .unused },
41364130 .each = .{ .once = &.{
41374131 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
41384132 .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ },
41394133 .{ ._, .f_, .ld, .memia(.src1t, .tmp0, .add_unaligned_size), ._, ._, ._ },
4140 .{ ._, .f_p, .sub, ._, ._, ._, ._ },
4134 .{ ._, .f_p, .add, ._, ._, ._, ._ },
41414135 .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ },
41424136 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
41434137 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
......@@ -4154,7 +4148,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41544148 },
41554149 .call_frame = .{ .alignment = .@"16" },
41564150 .extra_temps = .{
4157 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subtf3" } } },
4151 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } },
41584152 .unused,
41594153 .unused,
41604154 .unused,
......@@ -4164,7 +4158,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41644158 .unused,
41654159 .unused,
41664160 },
4167 .dst_temps = .{.{ .ref = .src0 }},
4161 .dst_temps = .{ .{ .ref = .src0 }, .unused },
41684162 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
41694163 .each = .{ .once = &.{
41704164 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -4184,14 +4178,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
41844178 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
41854179 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
41864180 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
4187 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subtf3" } } },
4181 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } },
41884182 .unused,
41894183 .unused,
41904184 .unused,
41914185 .unused,
41924186 .unused,
41934187 },
4194 .dst_temps = .{.mem},
4188 .dst_temps = .{ .mem, .unused },
41954189 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
41964190 .each = .{ .once = &.{
41974191 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -4217,14 +4211,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42174211 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
42184212 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
42194213 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
4220 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subtf3" } } },
4214 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } },
42214215 .unused,
42224216 .unused,
42234217 .unused,
42244218 .unused,
42254219 .unused,
42264220 },
4227 .dst_temps = .{.mem},
4221 .dst_temps = .{ .mem, .unused },
42284222 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
42294223 .each = .{ .once = &.{
42304224 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -4250,14 +4244,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42504244 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
42514245 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
42524246 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
4253 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subtf3" } } },
4247 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } },
42544248 .unused,
42554249 .unused,
42564250 .unused,
42574251 .unused,
42584252 .unused,
42594253 },
4260 .dst_temps = .{.mem},
4254 .dst_temps = .{ .mem, .unused },
42614255 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
42624256 .each = .{ .once = &.{
42634257 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -4279,24 +4273,81 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
42794273 };
42804274 try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg);
42814275 },
4282 .mul, .mul_optimized => |air_tag| if (use_old) try cg.airMulDivBinOp(inst, .mul) else fallback: {
4276 .add_safe => unreachable,
4277 .sub, .sub_optimized => |air_tag| if (use_old) try cg.airBinOp(inst, .sub) else {
42834278 const bin_op = air_datas[@intFromEnum(inst)].bin_op;
4284 if (cg.floatBits(cg.typeOf(bin_op.lhs).scalarType(zcu)) == null) break :fallback try cg.airMulDivBinOp(inst, .mul);
42854279 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });
42864280 var res: [1]Temp = undefined;
42874281 cg.select(&res, &.{cg.typeOf(bin_op.lhs)}, &ops, comptime &.{ .{
4288 .required_features = .{ .f16c, null, null, null },
4282 .src_constraints = .{ .{ .int = .byte }, .{ .int = .byte }, .any },
4283 .patterns = &.{
4284 .{ .src = .{ .mut_mem, .imm8, .none } },
4285 .{ .src = .{ .to_mut_gpr, .imm8, .none } },
4286 .{ .src = .{ .mut_mem, .to_gpr, .none } },
4287 .{ .src = .{ .to_mut_gpr, .mem, .none } },
4288 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
4289 },
4290 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4291 .clobbers = .{ .eflags = true },
4292 .each = .{ .once = &.{
4293 .{ ._, ._, .sub, .dst0b, .src1b, ._, ._ },
4294 } },
4295 }, .{
4296 .src_constraints = .{ .{ .int = .word }, .{ .int = .word }, .any },
4297 .patterns = &.{
4298 .{ .src = .{ .mut_mem, .imm16, .none } },
4299 .{ .src = .{ .to_mut_gpr, .imm16, .none } },
4300 .{ .src = .{ .mut_mem, .to_gpr, .none } },
4301 .{ .src = .{ .to_mut_gpr, .mem, .none } },
4302 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
4303 },
4304 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4305 .clobbers = .{ .eflags = true },
4306 .each = .{ .once = &.{
4307 .{ ._, ._, .sub, .dst0w, .src1w, ._, ._ },
4308 } },
4309 }, .{
4310 .src_constraints = .{ .{ .int = .dword }, .{ .int = .dword }, .any },
4311 .patterns = &.{
4312 .{ .src = .{ .mut_mem, .imm32, .none } },
4313 .{ .src = .{ .to_mut_gpr, .imm32, .none } },
4314 .{ .src = .{ .mut_mem, .to_gpr, .none } },
4315 .{ .src = .{ .to_mut_gpr, .mem, .none } },
4316 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
4317 },
4318 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4319 .clobbers = .{ .eflags = true },
4320 .each = .{ .once = &.{
4321 .{ ._, ._, .sub, .dst0d, .src1d, ._, ._ },
4322 } },
4323 }, .{
4324 .required_features = .{ .@"64bit", null, null, null },
4325 .src_constraints = .{ .{ .int = .qword }, .{ .int = .qword }, .any },
4326 .patterns = &.{
4327 .{ .src = .{ .mut_mem, .simm32, .none } },
4328 .{ .src = .{ .to_mut_gpr, .simm32, .none } },
4329 .{ .src = .{ .mut_mem, .to_gpr, .none } },
4330 .{ .src = .{ .to_mut_gpr, .mem, .none } },
4331 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
4332 },
4333 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4334 .clobbers = .{ .eflags = true },
4335 .each = .{ .once = &.{
4336 .{ ._, ._, .sub, .dst0q, .src1q, ._, ._ },
4337 } },
4338 }, .{
4339 .required_features = .{ .@"64bit", null, null, null },
42894340 .src_constraints = .{
4290 .{ .scalar_float = .{ .of = .word, .is = .word } },
4291 .{ .scalar_float = .{ .of = .word, .is = .word } },
4341 .{ .remainder_int = .{ .of = .qword, .is = .qword } },
4342 .{ .remainder_int = .{ .of = .qword, .is = .qword } },
42924343 .any,
42934344 },
42944345 .patterns = &.{
4295 .{ .src = .{ .to_sse, .to_sse, .none } },
4346 .{ .src = .{ .to_mem, .to_mem, .none } },
42964347 },
42974348 .extra_temps = .{
4298 .{ .type = .f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },
4299 .unused,
4349 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4350 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
43004351 .unused,
43014352 .unused,
43024353 .unused,
......@@ -4305,27 +4356,29 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43054356 .unused,
43064357 .unused,
43074358 },
4308 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
4359 .dst_temps = .{ .mem, .unused },
4360 .clobbers = .{ .eflags = true },
43094361 .each = .{ .once = &.{
4310 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
4311 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
4312 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0d, ._ },
4313 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
4362 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_8), ._, ._ },
4363 .{ ._, ._c, .cl, ._, ._, ._, ._ },
4364 .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"8", .tmp0, .add_size), ._, ._ },
4365 .{ ._, ._, .sbb, .tmp1q, .memsia(.src1q, .@"8", .tmp0, .add_size), ._, ._ },
4366 .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp0, .add_size), .tmp1q, ._, ._ },
4367 .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
4368 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
43144369 } },
43154370 }, .{
4316 .required_features = .{ .sse, null, null, null },
43174371 .src_constraints = .{
4318 .{ .scalar_float = .{ .of = .word, .is = .word } },
4319 .{ .scalar_float = .{ .of = .word, .is = .word } },
4372 .{ .remainder_int = .{ .of = .dword, .is = .dword } },
4373 .{ .remainder_int = .{ .of = .dword, .is = .dword } },
43204374 .any,
43214375 },
43224376 .patterns = &.{
4323 .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } },
4377 .{ .src = .{ .to_mem, .to_mem, .none } },
43244378 },
4325 .call_frame = .{ .alignment = .@"16" },
43264379 .extra_temps = .{
4327 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } },
4328 .unused,
4380 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4381 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
43294382 .unused,
43304383 .unused,
43314384 .unused,
......@@ -4334,78 +4387,67 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
43344387 .unused,
43354388 .unused,
43364389 },
4337 .dst_temps = .{.{ .ref = .src0 }},
4338 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4390 .dst_temps = .{ .mem, .unused },
4391 .clobbers = .{ .eflags = true },
43394392 .each = .{ .once = &.{
4340 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
4393 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_4), ._, ._ },
4394 .{ ._, ._c, .cl, ._, ._, ._, ._ },
4395 .{ .@"0:", ._, .mov, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_size), ._, ._ },
4396 .{ ._, ._, .sbb, .tmp1d, .memsia(.src1d, .@"4", .tmp0, .add_size), ._, ._ },
4397 .{ ._, ._, .mov, .memsia(.dst0d, .@"4", .tmp0, .add_size), .tmp1d, ._, ._ },
4398 .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
4399 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
43414400 } },
43424401 }, .{
4343 .required_features = .{ .f16c, null, null, null },
4402 .required_features = .{ .avx, null, null, null },
43444403 .src_constraints = .{
4345 .{ .scalar_float = .{ .of = .qword, .is = .word } },
4346 .{ .scalar_float = .{ .of = .qword, .is = .word } },
4404 .{ .scalar_int = .{ .of = .xword, .is = .byte } },
4405 .{ .scalar_int = .{ .of = .xword, .is = .byte } },
43474406 .any,
43484407 },
43494408 .patterns = &.{
4350 .{ .src = .{ .mem, .mem, .none } },
43514409 .{ .src = .{ .to_sse, .mem, .none } },
4352 .{ .src = .{ .mem, .to_sse, .none } },
43534410 .{ .src = .{ .to_sse, .to_sse, .none } },
43544411 },
4355 .extra_temps = .{
4356 .{ .type = .vector_4_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },
4357 .unused,
4358 .unused,
4359 .unused,
4360 .unused,
4361 .unused,
4362 .unused,
4363 .unused,
4364 .unused,
4412 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4413 .each = .{ .once = &.{
4414 .{ ._, .vp_b, .sub, .dst0x, .src0x, .src1x, ._ },
4415 } },
4416 }, .{
4417 .required_features = .{ .sse2, null, null, null },
4418 .src_constraints = .{
4419 .{ .scalar_int = .{ .of = .xword, .is = .byte } },
4420 .{ .scalar_int = .{ .of = .xword, .is = .byte } },
4421 .any,
4422 },
4423 .patterns = &.{
4424 .{ .src = .{ .to_mut_sse, .mem, .none } },
4425 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
43654426 },
4366 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
4427 .dst_temps = .{ .{ .ref = .src0 }, .unused },
43674428 .each = .{ .once = &.{
4368 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
4369 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
4370 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp0x, ._ },
4371 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
4429 .{ ._, .p_b, .sub, .dst0x, .src1x, ._, ._ },
43724430 } },
43734431 }, .{
4374 .required_features = .{ .f16c, null, null, null },
4432 .required_features = .{ .avx2, null, null, null },
43754433 .src_constraints = .{
4376 .{ .scalar_float = .{ .of = .xword, .is = .word } },
4377 .{ .scalar_float = .{ .of = .xword, .is = .word } },
4434 .{ .scalar_int = .{ .of = .yword, .is = .byte } },
4435 .{ .scalar_int = .{ .of = .yword, .is = .byte } },
43784436 .any,
43794437 },
43804438 .patterns = &.{
4381 .{ .src = .{ .mem, .mem, .none } },
43824439 .{ .src = .{ .to_sse, .mem, .none } },
4383 .{ .src = .{ .mem, .to_sse, .none } },
43844440 .{ .src = .{ .to_sse, .to_sse, .none } },
43854441 },
4386 .extra_temps = .{
4387 .{ .type = .vector_8_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },
4388 .unused,
4389 .unused,
4390 .unused,
4391 .unused,
4392 .unused,
4393 .unused,
4394 .unused,
4395 .unused,
4396 },
4397 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
4442 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
43984443 .each = .{ .once = &.{
4399 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
4400 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },
4401 .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp0y, ._ },
4402 .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ },
4444 .{ ._, .vp_b, .sub, .dst0y, .src0y, .src1y, ._ },
44034445 } },
44044446 }, .{
4405 .required_features = .{ .f16c, null, null, null },
4447 .required_features = .{ .avx2, null, null, null },
44064448 .src_constraints = .{
4407 .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } },
4408 .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } },
4449 .{ .multiple_scalar_int = .{ .of = .yword, .is = .byte } },
4450 .{ .multiple_scalar_int = .{ .of = .yword, .is = .byte } },
44094451 .any,
44104452 },
44114453 .patterns = &.{
......@@ -4413,8 +4455,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44134455 },
44144456 .extra_temps = .{
44154457 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4416 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
4417 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
4458 .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } },
4459 .unused,
44184460 .unused,
44194461 .unused,
44204462 .unused,
......@@ -4422,254 +4464,222 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
44224464 .unused,
44234465 .unused,
44244466 },
4425 .dst_temps = .{.mem},
4426 .clobbers = .{ .eflags = true },
4467 .dst_temps = .{ .mem, .unused },
44274468 .each = .{ .once = &.{
44284469 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4429 .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
4430 .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
4431 .{ ._, .v_ps, .mul, .tmp1y, .tmp1y, .tmp2y, ._ },
4432 .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ },
4433 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
4470 .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
4471 .{ ._, .vp_b, .sub, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
4472 .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
4473 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
44344474 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
44354475 } },
44364476 }, .{
44374477 .required_features = .{ .avx, null, null, null },
44384478 .src_constraints = .{
4439 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
4440 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
4479 .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } },
4480 .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } },
44414481 .any,
44424482 },
44434483 .patterns = &.{
44444484 .{ .src = .{ .to_mem, .to_mem, .none } },
44454485 },
4446 .call_frame = .{ .alignment = .@"16" },
44474486 .extra_temps = .{
44484487 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4449 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
4450 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
4451 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } },
4488 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
4489 .unused,
4490 .unused,
44524491 .unused,
44534492 .unused,
44544493 .unused,
44554494 .unused,
44564495 .unused,
44574496 },
4458 .dst_temps = .{.mem},
4459 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4497 .dst_temps = .{ .mem, .unused },
44604498 .each = .{ .once = &.{
44614499 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4462 .{ .@"0:", .vp_, .xor, .tmp2x, .tmp2x, .tmp2x, ._ },
4463 .{ ._, .vp_w, .insr, .tmp1x, .tmp2x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) },
4464 .{ ._, .vp_w, .insr, .tmp2x, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0) },
4465 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
4466 .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ },
4467 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
4500 .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
4501 .{ ._, .vp_b, .sub, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._ },
4502 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
4503 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
44684504 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
44694505 } },
44704506 }, .{
4471 .required_features = .{ .sse4_1, null, null, null },
4507 .required_features = .{ .sse2, null, null, null },
44724508 .src_constraints = .{
4473 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
4474 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
4509 .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } },
4510 .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } },
44754511 .any,
44764512 },
44774513 .patterns = &.{
44784514 .{ .src = .{ .to_mem, .to_mem, .none } },
44794515 },
4480 .call_frame = .{ .alignment = .@"16" },
44814516 .extra_temps = .{
44824517 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4483 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
4484 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
4485 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } },
4518 .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } },
4519 .unused,
4520 .unused,
44864521 .unused,
44874522 .unused,
44884523 .unused,
44894524 .unused,
44904525 .unused,
44914526 },
4492 .dst_temps = .{.mem},
4493 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4527 .dst_temps = .{ .mem, .unused },
44944528 .each = .{ .once = &.{
44954529 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4496 .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ },
4497 .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ },
4498 .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ },
4499 .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ },
4500 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
4501 .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ },
4502 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
4530 .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
4531 .{ ._, .p_b, .sub, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
4532 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
4533 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
45034534 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
45044535 } },
45054536 }, .{
4506 .required_features = .{ .sse2, null, null, null },
4537 .required_features = .{ .slow_incdec, null, null, null },
45074538 .src_constraints = .{
4508 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
4509 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
4539 .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } },
4540 .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } },
45104541 .any,
45114542 },
45124543 .patterns = &.{
45134544 .{ .src = .{ .to_mem, .to_mem, .none } },
45144545 },
4515 .call_frame = .{ .alignment = .@"16" },
45164546 .extra_temps = .{
45174547 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4518 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
4519 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
4520 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } },
4521 .{ .type = .f16, .kind = .{ .reg = .ax } },
4548 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
4549 .unused,
4550 .unused,
4551 .unused,
45224552 .unused,
45234553 .unused,
45244554 .unused,
45254555 .unused,
45264556 },
4527 .dst_temps = .{.mem},
4528 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4557 .dst_temps = .{ .mem, .unused },
45294558 .each = .{ .once = &.{
45304559 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4531 .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ },
4532 .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ },
4533 .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ },
4534 .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ },
4535 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
4536 .{ ._, .p_w, .extr, .tmp4d, .tmp1x, .ui(0), ._ },
4537 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp4w, ._, ._ },
4538 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
4560 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
4561 .{ ._, ._, .sub, .tmp1b, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._ },
4562 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
4563 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
45394564 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
45404565 } },
45414566 }, .{
4542 .required_features = .{ .sse, null, null, null },
45434567 .src_constraints = .{
4544 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
4545 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
4568 .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } },
4569 .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } },
45464570 .any,
45474571 },
45484572 .patterns = &.{
45494573 .{ .src = .{ .to_mem, .to_mem, .none } },
45504574 },
4551 .call_frame = .{ .alignment = .@"16" },
45524575 .extra_temps = .{
45534576 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4554 .{ .type = .f16, .kind = .{ .reg = .ax } },
4555 .{ .type = .f32, .kind = .mem },
4556 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
4557 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
4558 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } },
4577 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
4578 .unused,
4579 .unused,
4580 .unused,
4581 .unused,
45594582 .unused,
45604583 .unused,
45614584 .unused,
45624585 },
4563 .dst_temps = .{.mem},
4564 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4586 .dst_temps = .{ .mem, .unused },
45654587 .each = .{ .once = &.{
45664588 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4567 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
4568 .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ },
4569 .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ },
4570 .{ ._, ._, .movzx, .tmp1d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ },
4571 .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ },
4572 .{ ._, ._ss, .mov, .tmp4x, .mem(.tmp2d), ._, ._ },
4573 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
4574 .{ ._, ._ss, .mov, .mem(.tmp2d), .tmp3x, ._, ._ },
4575 .{ ._, ._, .mov, .tmp1d, .mem(.tmp2d), ._, ._ },
4576 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },
4577 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
4578 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
4589 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
4590 .{ ._, ._, .sub, .tmp1b, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._ },
4591 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
4592 .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
4593 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
45794594 } },
45804595 }, .{
45814596 .required_features = .{ .avx, null, null, null },
45824597 .src_constraints = .{
4583 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
4584 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
4598 .{ .scalar_int = .{ .of = .xword, .is = .word } },
4599 .{ .scalar_int = .{ .of = .xword, .is = .word } },
45854600 .any,
45864601 },
45874602 .patterns = &.{
45884603 .{ .src = .{ .to_sse, .mem, .none } },
4589 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
45904604 .{ .src = .{ .to_sse, .to_sse, .none } },
45914605 },
4592 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
4606 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
45934607 .each = .{ .once = &.{
4594 .{ ._, .v_ss, .mul, .dst0x, .src0x, .src1d, ._ },
4608 .{ ._, .vp_w, .sub, .dst0x, .src0x, .src1x, ._ },
45954609 } },
45964610 }, .{
4597 .required_features = .{ .sse, null, null, null },
4611 .required_features = .{ .sse2, null, null, null },
45984612 .src_constraints = .{
4599 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
4600 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
4613 .{ .scalar_int = .{ .of = .xword, .is = .word } },
4614 .{ .scalar_int = .{ .of = .xword, .is = .word } },
46014615 .any,
46024616 },
46034617 .patterns = &.{
46044618 .{ .src = .{ .to_mut_sse, .mem, .none } },
4605 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
46064619 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
46074620 },
4608 .dst_temps = .{.{ .ref = .src0 }},
4621 .dst_temps = .{ .{ .ref = .src0 }, .unused },
46094622 .each = .{ .once = &.{
4610 .{ ._, ._ss, .mul, .dst0x, .src1d, ._, ._ },
4623 .{ ._, .p_w, .sub, .dst0x, .src1x, ._, ._ },
46114624 } },
46124625 }, .{
4613 .required_features = .{ .avx, null, null, null },
4626 .required_features = .{ .avx2, null, null, null },
46144627 .src_constraints = .{
4615 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
4616 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
4628 .{ .scalar_int = .{ .of = .yword, .is = .word } },
4629 .{ .scalar_int = .{ .of = .yword, .is = .word } },
46174630 .any,
46184631 },
46194632 .patterns = &.{
46204633 .{ .src = .{ .to_sse, .mem, .none } },
4621 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
46224634 .{ .src = .{ .to_sse, .to_sse, .none } },
46234635 },
4624 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
4636 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
46254637 .each = .{ .once = &.{
4626 .{ ._, .v_ps, .mul, .dst0x, .src0x, .src1x, ._ },
4638 .{ ._, .vp_w, .sub, .dst0y, .src0y, .src1y, ._ },
46274639 } },
46284640 }, .{
4629 .required_features = .{ .sse, null, null, null },
4641 .required_features = .{ .avx2, null, null, null },
46304642 .src_constraints = .{
4631 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
4632 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
4643 .{ .multiple_scalar_int = .{ .of = .yword, .is = .word } },
4644 .{ .multiple_scalar_int = .{ .of = .yword, .is = .word } },
46334645 .any,
46344646 },
46354647 .patterns = &.{
4636 .{ .src = .{ .to_mut_sse, .mem, .none } },
4637 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
4638 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
4648 .{ .src = .{ .to_mem, .to_mem, .none } },
4649 },
4650 .extra_temps = .{
4651 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4652 .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } },
4653 .unused,
4654 .unused,
4655 .unused,
4656 .unused,
4657 .unused,
4658 .unused,
4659 .unused,
46394660 },
4640 .dst_temps = .{.{ .ref = .src0 }},
4661 .dst_temps = .{ .mem, .unused },
46414662 .each = .{ .once = &.{
4642 .{ ._, ._ps, .mul, .dst0x, .src1x, ._, ._ },
4663 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4664 .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
4665 .{ ._, .vp_w, .sub, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
4666 .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
4667 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
4668 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
46434669 } },
46444670 }, .{
46454671 .required_features = .{ .avx, null, null, null },
46464672 .src_constraints = .{
4647 .{ .scalar_float = .{ .of = .yword, .is = .dword } },
4648 .{ .scalar_float = .{ .of = .yword, .is = .dword } },
4673 .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } },
4674 .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } },
46494675 .any,
46504676 },
46514677 .patterns = &.{
4652 .{ .src = .{ .to_sse, .mem, .none } },
4653 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
4654 .{ .src = .{ .to_sse, .to_sse, .none } },
4655 },
4656 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
4657 .each = .{ .once = &.{
4658 .{ ._, .v_ps, .mul, .dst0y, .src0y, .src1y, ._ },
4659 } },
4660 }, .{
4661 .required_features = .{ .avx, null, null, null },
4662 .src_constraints = .{
4663 .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } },
4664 .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } },
4665 .any,
4666 },
4667 .patterns = &.{
4668 .{ .src = .{ .to_mem, .to_mem, .none } },
4678 .{ .src = .{ .to_mem, .to_mem, .none } },
46694679 },
46704680 .extra_temps = .{
46714681 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4672 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
4682 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
46734683 .unused,
46744684 .unused,
46754685 .unused,
......@@ -4678,21 +4688,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
46784688 .unused,
46794689 .unused,
46804690 },
4681 .dst_temps = .{.mem},
4682 .clobbers = .{ .eflags = true },
4691 .dst_temps = .{ .mem, .unused },
46834692 .each = .{ .once = &.{
46844693 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4685 .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
4686 .{ ._, .v_ps, .mul, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
4687 .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
4688 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
4694 .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
4695 .{ ._, .vp_w, .sub, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._ },
4696 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
4697 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
46894698 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
46904699 } },
46914700 }, .{
4692 .required_features = .{ .sse, null, null, null },
4701 .required_features = .{ .sse2, null, null, null },
46934702 .src_constraints = .{
4694 .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } },
4695 .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } },
4703 .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } },
4704 .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } },
46964705 .any,
46974706 },
46984707 .patterns = &.{
......@@ -4700,7 +4709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47004709 },
47014710 .extra_temps = .{
47024711 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4703 .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } },
4712 .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } },
47044713 .unused,
47054714 .unused,
47064715 .unused,
......@@ -4709,61 +4718,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47094718 .unused,
47104719 .unused,
47114720 },
4712 .dst_temps = .{.mem},
4713 .clobbers = .{ .eflags = true },
4721 .dst_temps = .{ .mem, .unused },
47144722 .each = .{ .once = &.{
47154723 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4716 .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
4717 .{ ._, ._ps, .mul, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
4718 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
4724 .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
4725 .{ ._, .p_w, .sub, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
4726 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
47194727 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
47204728 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
47214729 } },
47224730 }, .{
4723 .required_features = .{ .avx, null, null, null },
47244731 .src_constraints = .{
4725 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
4726 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
4732 .{ .multiple_scalar_int = .{ .of = .word, .is = .word } },
4733 .{ .multiple_scalar_int = .{ .of = .word, .is = .word } },
47274734 .any,
47284735 },
47294736 .patterns = &.{
4730 .{ .src = .{ .to_sse, .mem, .none } },
4731 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
4732 .{ .src = .{ .to_sse, .to_sse, .none } },
4733 },
4734 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
4735 .each = .{ .once = &.{
4736 .{ ._, .v_sd, .mul, .dst0x, .src0x, .src1q, ._ },
4737 } },
4738 }, .{
4739 .required_features = .{ .sse2, null, null, null },
4740 .src_constraints = .{
4741 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
4742 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
4743 .any,
4744 },
4745 .patterns = &.{
4746 .{ .src = .{ .to_mut_sse, .mem, .none } },
4747 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
4748 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
4749 },
4750 .dst_temps = .{.{ .ref = .src0 }},
4751 .each = .{ .once = &.{
4752 .{ ._, ._sd, .mul, .dst0x, .src1q, ._, ._ },
4753 } },
4754 }, .{
4755 .required_features = .{ .x87, null, null, null },
4756 .src_constraints = .{
4757 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
4758 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
4759 .any,
4760 },
4761 .patterns = &.{
4762 .{ .src = .{ .mem, .mem, .none } },
4737 .{ .src = .{ .to_mem, .to_mem, .none } },
47634738 },
47644739 .extra_temps = .{
4765 .{ .type = .f64, .kind = .{ .reg = .st6 } },
4766 .{ .type = .f64, .kind = .{ .reg = .st7 } },
4740 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4741 .{ .type = .u16, .kind = .{ .rc = .general_purpose } },
47674742 .unused,
47684743 .unused,
47694744 .unused,
......@@ -4772,65 +4747,65 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
47724747 .unused,
47734748 .unused,
47744749 },
4775 .dst_temps = .{.mem},
4750 .dst_temps = .{ .mem, .unused },
47764751 .each = .{ .once = &.{
4777 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
4778 .{ ._, .f_, .mul, .src1q, ._, ._, ._ },
4779 .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },
4752 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4753 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
4754 .{ ._, ._, .sub, .tmp1w, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ },
4755 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },
4756 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
4757 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
47804758 } },
47814759 }, .{
47824760 .required_features = .{ .avx, null, null, null },
47834761 .src_constraints = .{
4784 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
4785 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
4762 .{ .scalar_int = .{ .of = .xword, .is = .dword } },
4763 .{ .scalar_int = .{ .of = .xword, .is = .dword } },
47864764 .any,
47874765 },
47884766 .patterns = &.{
47894767 .{ .src = .{ .to_sse, .mem, .none } },
4790 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
47914768 .{ .src = .{ .to_sse, .to_sse, .none } },
47924769 },
4793 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
4770 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
47944771 .each = .{ .once = &.{
4795 .{ ._, .v_pd, .mul, .dst0x, .src0x, .src1x, ._ },
4772 .{ ._, .vp_d, .sub, .dst0x, .src0x, .src1x, ._ },
47964773 } },
47974774 }, .{
47984775 .required_features = .{ .sse2, null, null, null },
47994776 .src_constraints = .{
4800 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
4801 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
4777 .{ .scalar_int = .{ .of = .xword, .is = .dword } },
4778 .{ .scalar_int = .{ .of = .xword, .is = .dword } },
48024779 .any,
48034780 },
48044781 .patterns = &.{
48054782 .{ .src = .{ .to_mut_sse, .mem, .none } },
4806 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
48074783 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
48084784 },
4809 .dst_temps = .{.{ .ref = .src0 }},
4785 .dst_temps = .{ .{ .ref = .src0 }, .unused },
48104786 .each = .{ .once = &.{
4811 .{ ._, ._pd, .mul, .dst0x, .src1x, ._, ._ },
4787 .{ ._, .p_d, .sub, .dst0x, .src1x, ._, ._ },
48124788 } },
48134789 }, .{
4814 .required_features = .{ .avx, null, null, null },
4790 .required_features = .{ .avx2, null, null, null },
48154791 .src_constraints = .{
4816 .{ .scalar_float = .{ .of = .yword, .is = .qword } },
4817 .{ .scalar_float = .{ .of = .yword, .is = .qword } },
4792 .{ .scalar_int = .{ .of = .yword, .is = .dword } },
4793 .{ .scalar_int = .{ .of = .yword, .is = .dword } },
48184794 .any,
48194795 },
48204796 .patterns = &.{
48214797 .{ .src = .{ .to_sse, .mem, .none } },
4822 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
48234798 .{ .src = .{ .to_sse, .to_sse, .none } },
48244799 },
4825 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
4800 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
48264801 .each = .{ .once = &.{
4827 .{ ._, .v_pd, .mul, .dst0y, .src0y, .src1y, ._ },
4802 .{ ._, .vp_d, .sub, .dst0y, .src0y, .src1y, ._ },
48284803 } },
48294804 }, .{
4830 .required_features = .{ .avx, null, null, null },
4805 .required_features = .{ .avx2, null, null, null },
48314806 .src_constraints = .{
4832 .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } },
4833 .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } },
4807 .{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } },
4808 .{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } },
48344809 .any,
48354810 },
48364811 .patterns = &.{
......@@ -4838,7 +4813,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48384813 },
48394814 .extra_temps = .{
48404815 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4841 .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } },
4816 .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } },
48424817 .unused,
48434818 .unused,
48444819 .unused,
......@@ -4847,21 +4822,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48474822 .unused,
48484823 .unused,
48494824 },
4850 .dst_temps = .{.mem},
4851 .clobbers = .{ .eflags = true },
4825 .dst_temps = .{ .mem, .unused },
48524826 .each = .{ .once = &.{
48534827 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4854 .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
4855 .{ ._, .v_pd, .mul, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
4856 .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
4828 .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
4829 .{ ._, .vp_d, .sub, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
4830 .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
48574831 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
48584832 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
48594833 } },
48604834 }, .{
4861 .required_features = .{ .sse2, null, null, null },
4835 .required_features = .{ .avx, null, null, null },
48624836 .src_constraints = .{
4863 .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } },
4864 .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } },
4837 .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } },
4838 .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } },
48654839 .any,
48664840 },
48674841 .patterns = &.{
......@@ -4869,7 +4843,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48694843 },
48704844 .extra_temps = .{
48714845 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4872 .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } },
4846 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
48734847 .unused,
48744848 .unused,
48754849 .unused,
......@@ -4878,21 +4852,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
48784852 .unused,
48794853 .unused,
48804854 },
4881 .dst_temps = .{.mem},
4882 .clobbers = .{ .eflags = true },
4855 .dst_temps = .{ .mem, .unused },
48834856 .each = .{ .once = &.{
48844857 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4885 .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
4886 .{ ._, ._pd, .mul, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
4887 .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
4858 .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
4859 .{ ._, .vp_d, .sub, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._ },
4860 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
48884861 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
48894862 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
48904863 } },
48914864 }, .{
4892 .required_features = .{ .x87, null, null, null },
4865 .required_features = .{ .sse2, null, null, null },
48934866 .src_constraints = .{
4894 .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },
4895 .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },
4867 .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } },
4868 .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } },
48964869 .any,
48974870 },
48984871 .patterns = &.{
......@@ -4900,8 +4873,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49004873 },
49014874 .extra_temps = .{
49024875 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4903 .{ .type = .f64, .kind = .{ .reg = .st6 } },
4904 .{ .type = .f64, .kind = .{ .reg = .st7 } },
4876 .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } },
4877 .unused,
49054878 .unused,
49064879 .unused,
49074880 .unused,
......@@ -4909,28 +4882,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49094882 .unused,
49104883 .unused,
49114884 },
4912 .dst_temps = .{.mem},
4885 .dst_temps = .{ .mem, .unused },
49134886 .each = .{ .once = &.{
49144887 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4915 .{ .@"0:", .f_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ },
4916 .{ ._, .f_, .mul, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._, ._ },
4917 .{ ._, .f_p, .st, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ },
4918 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
4888 .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
4889 .{ ._, .p_d, .sub, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
4890 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
4891 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
49194892 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
49204893 } },
49214894 }, .{
4922 .required_features = .{ .x87, null, null, null },
49234895 .src_constraints = .{
4924 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
4925 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
4896 .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } },
4897 .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } },
49264898 .any,
49274899 },
49284900 .patterns = &.{
4929 .{ .src = .{ .mem, .mem, .none } },
4901 .{ .src = .{ .to_mem, .to_mem, .none } },
49304902 },
49314903 .extra_temps = .{
4932 .{ .type = .f80, .kind = .{ .reg = .st6 } },
4933 .{ .type = .f80, .kind = .{ .reg = .st7 } },
4904 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4905 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
49344906 .unused,
49354907 .unused,
49364908 .unused,
......@@ -4939,28 +4911,73 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49394911 .unused,
49404912 .unused,
49414913 },
4942 .dst_temps = .{.{ .rc = .x87 }},
4914 .dst_temps = .{ .mem, .unused },
49434915 .each = .{ .once = &.{
4944 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
4945 .{ ._, .f_, .ld, .src1t, ._, ._, ._ },
4946 .{ ._, .f_p, .mul, ._, ._, ._, ._ },
4947 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
4916 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4917 .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
4918 .{ ._, ._, .sub, .tmp1d, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._ },
4919 .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1d, ._, ._ },
4920 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
4921 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
49484922 } },
49494923 }, .{
4950 .required_features = .{ .x87, null, null, null },
4924 .required_features = .{ .avx, null, null, null },
49514925 .src_constraints = .{
4952 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
4953 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
4926 .{ .scalar_int = .{ .of = .xword, .is = .qword } },
4927 .{ .scalar_int = .{ .of = .xword, .is = .qword } },
49544928 .any,
49554929 },
49564930 .patterns = &.{
4957 .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } },
4958 .{ .src = .{ .mem, .to_x87, .none } },
4959 .{ .src = .{ .to_x87, .to_x87, .none } },
4931 .{ .src = .{ .to_sse, .mem, .none } },
4932 .{ .src = .{ .to_sse, .to_sse, .none } },
4933 },
4934 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4935 .each = .{ .once = &.{
4936 .{ ._, .vp_q, .sub, .dst0x, .src0x, .src1x, ._ },
4937 } },
4938 }, .{
4939 .required_features = .{ .sse2, null, null, null },
4940 .src_constraints = .{
4941 .{ .scalar_int = .{ .of = .xword, .is = .qword } },
4942 .{ .scalar_int = .{ .of = .xword, .is = .qword } },
4943 .any,
4944 },
4945 .patterns = &.{
4946 .{ .src = .{ .to_mut_sse, .mem, .none } },
4947 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
4948 },
4949 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4950 .each = .{ .once = &.{
4951 .{ ._, .p_q, .sub, .dst0x, .src1x, ._, ._ },
4952 } },
4953 }, .{
4954 .required_features = .{ .avx2, null, null, null },
4955 .src_constraints = .{
4956 .{ .scalar_int = .{ .of = .yword, .is = .qword } },
4957 .{ .scalar_int = .{ .of = .yword, .is = .qword } },
4958 .any,
4959 },
4960 .patterns = &.{
4961 .{ .src = .{ .to_sse, .mem, .none } },
4962 .{ .src = .{ .to_sse, .to_sse, .none } },
4963 },
4964 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4965 .each = .{ .once = &.{
4966 .{ ._, .vp_q, .sub, .dst0y, .src0y, .src1y, ._ },
4967 } },
4968 }, .{
4969 .required_features = .{ .avx2, null, null, null },
4970 .src_constraints = .{
4971 .{ .multiple_scalar_int = .{ .of = .yword, .is = .qword } },
4972 .{ .multiple_scalar_int = .{ .of = .yword, .is = .qword } },
4973 .any,
4974 },
4975 .patterns = &.{
4976 .{ .src = .{ .to_mem, .to_mem, .none } },
49604977 },
49614978 .extra_temps = .{
4962 .{ .type = .f80, .kind = .{ .reg = .st7 } },
4963 .unused,
4979 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4980 .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } },
49644981 .unused,
49654982 .unused,
49664983 .unused,
......@@ -4969,17 +4986,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49694986 .unused,
49704987 .unused,
49714988 },
4972 .dst_temps = .{.{ .rc = .x87 }},
4989 .dst_temps = .{ .mem, .unused },
49734990 .each = .{ .once = &.{
4974 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
4975 .{ ._, .f_, .mul, .tmp0t, .src1t, ._, ._ },
4976 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
4991 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4992 .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
4993 .{ ._, .vp_q, .sub, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
4994 .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
4995 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
4996 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
49774997 } },
49784998 }, .{
4979 .required_features = .{ .x87, null, null, null },
4999 .required_features = .{ .avx, null, null, null },
49805000 .src_constraints = .{
4981 .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } },
4982 .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } },
5001 .{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } },
5002 .{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } },
49835003 .any,
49845004 },
49855005 .patterns = &.{
......@@ -4987,8 +5007,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49875007 },
49885008 .extra_temps = .{
49895009 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
4990 .{ .type = .f80, .kind = .{ .reg = .st6 } },
4991 .{ .type = .f80, .kind = .{ .reg = .st7 } },
5010 .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } },
5011 .unused,
49925012 .unused,
49935013 .unused,
49945014 .unused,
......@@ -4996,30 +5016,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
49965016 .unused,
49975017 .unused,
49985018 },
4999 .dst_temps = .{.mem},
5019 .dst_temps = .{ .mem, .unused },
50005020 .each = .{ .once = &.{
50015021 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
5002 .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ },
5003 .{ ._, .f_, .ld, .memia(.src1t, .tmp0, .add_unaligned_size), ._, ._, ._ },
5004 .{ ._, .f_p, .mul, ._, ._, ._, ._ },
5005 .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ },
5022 .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
5023 .{ ._, .vp_q, .sub, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._ },
5024 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
50065025 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
50075026 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
50085027 } },
50095028 }, .{
5010 .required_features = .{ .sse, null, null, null },
5029 .required_features = .{ .sse2, null, null, null },
50115030 .src_constraints = .{
5012 .{ .scalar_float = .{ .of = .xword, .is = .xword } },
5013 .{ .scalar_float = .{ .of = .xword, .is = .xword } },
5031 .{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } },
5032 .{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } },
50145033 .any,
50155034 },
50165035 .patterns = &.{
5017 .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } },
5036 .{ .src = .{ .to_mem, .to_mem, .none } },
50185037 },
5019 .call_frame = .{ .alignment = .@"16" },
50205038 .extra_temps = .{
5021 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__multf3" } } },
5022 .unused,
5039 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
5040 .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } },
50235041 .unused,
50245042 .unused,
50255043 .unused,
......@@ -5028,131 +5046,119 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
50285046 .unused,
50295047 .unused,
50305048 },
5031 .dst_temps = .{.{ .ref = .src0 }},
5032 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5049 .dst_temps = .{ .mem, .unused },
50335050 .each = .{ .once = &.{
5034 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
5051 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
5052 .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
5053 .{ ._, .p_q, .sub, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
5054 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
5055 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
5056 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
50355057 } },
50365058 }, .{
5037 .required_features = .{ .avx, null, null, null },
5059 .required_features = .{ .@"64bit", null, null, null },
50385060 .src_constraints = .{
5039 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
5040 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
5061 .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } },
5062 .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } },
50415063 .any,
50425064 },
50435065 .patterns = &.{
50445066 .{ .src = .{ .to_mem, .to_mem, .none } },
50455067 },
5046 .call_frame = .{ .alignment = .@"16" },
50475068 .extra_temps = .{
50485069 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
5049 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
5050 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
5051 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__multf3" } } },
5070 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
5071 .unused,
5072 .unused,
50525073 .unused,
50535074 .unused,
50545075 .unused,
50555076 .unused,
50565077 .unused,
50575078 },
5058 .dst_temps = .{.mem},
5059 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5079 .dst_temps = .{ .mem, .unused },
50605080 .each = .{ .once = &.{
50615081 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
5062 .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
5063 .{ ._, .v_dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
5064 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
5065 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
5066 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
5082 .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
5083 .{ ._, ._, .sub, .tmp1q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ },
5084 .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1q, ._, ._ },
5085 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
50675086 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
50685087 } },
50695088 }, .{
5070 .required_features = .{ .sse2, null, null, null },
5089 .required_features = .{ .@"64bit", null, null, null },
50715090 .src_constraints = .{
5072 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
5073 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
5091 .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } },
5092 .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } },
50745093 .any,
50755094 },
50765095 .patterns = &.{
50775096 .{ .src = .{ .to_mem, .to_mem, .none } },
50785097 },
5079 .call_frame = .{ .alignment = .@"16" },
50805098 .extra_temps = .{
50815099 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
5082 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
5083 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
5084 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__multf3" } } },
5085 .unused,
5086 .unused,
5100 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
5101 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
5102 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
5103 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
5104 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
50875105 .unused,
50885106 .unused,
50895107 .unused,
50905108 },
5091 .dst_temps = .{.mem},
5092 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5109 .dst_temps = .{ .mem, .unused },
50935110 .each = .{ .once = &.{
5094 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
5095 .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
5096 .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
5097 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
5098 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
5099 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
5111 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
5112 .{ .@"0:", ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_size_add_elem_size), ._, ._ },
5113 .{ ._, ._, .lea, .tmp2p, .memia(.src1, .tmp0, .add_size_add_elem_size), ._, ._ },
5114 .{ ._, ._, .lea, .tmp3p, .memia(.dst0, .tmp0, .add_size_add_elem_size), ._, ._ },
5115 .{ ._, ._, .mov, .tmp4p, .sa(.src0, .sub_elem_size_div_8), ._, ._ },
5116 .{ ._, ._c, .cl, ._, ._, ._, ._ },
5117 .{ .@"1:", ._, .mov, .tmp5q, .leasi(.tmp1q, .@"8", .tmp4), ._, ._ },
5118 .{ ._, ._, .sbb, .tmp5q, .leasi(.tmp2q, .@"8", .tmp4), ._, ._ },
5119 .{ ._, ._, .mov, .leasi(.tmp3q, .@"8", .tmp4), .tmp5q, ._, ._ },
5120 .{ ._, ._c, .in, .tmp4p, ._, ._, ._ },
5121 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
5122 .{ ._, ._, .add, .tmp0p, .sa(.src0, .add_elem_size), ._, ._ },
51005123 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
51015124 } },
51025125 }, .{
5103 .required_features = .{ .sse, null, null, null },
51045126 .src_constraints = .{
5105 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
5106 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
5127 .{ .scalar_remainder_int = .{ .of = .dword, .is = .dword } },
5128 .{ .scalar_remainder_int = .{ .of = .dword, .is = .dword } },
51075129 .any,
51085130 },
51095131 .patterns = &.{
51105132 .{ .src = .{ .to_mem, .to_mem, .none } },
51115133 },
5112 .call_frame = .{ .alignment = .@"16" },
51135134 .extra_temps = .{
51145135 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
5115 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
5116 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
5117 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__multf3" } } },
5118 .unused,
5119 .unused,
5136 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
5137 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
5138 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
5139 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
5140 .{ .type = .u32, .kind = .{ .rc = .general_purpose } },
51205141 .unused,
51215142 .unused,
51225143 .unused,
51235144 },
5124 .dst_temps = .{.mem},
5125 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5145 .dst_temps = .{ .mem, .unused },
51265146 .each = .{ .once = &.{
5127 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
5128 .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
5129 .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
5130 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
5131 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
5132 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
5147 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
5148 .{ .@"0:", ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_size_add_elem_size), ._, ._ },
5149 .{ ._, ._, .lea, .tmp2p, .memia(.src1, .tmp0, .add_size_add_elem_size), ._, ._ },
5150 .{ ._, ._, .lea, .tmp3p, .memia(.dst0, .tmp0, .add_size_add_elem_size), ._, ._ },
5151 .{ ._, ._, .mov, .tmp4p, .sa(.src0, .sub_elem_size_div_4), ._, ._ },
5152 .{ ._, ._c, .cl, ._, ._, ._, ._ },
5153 .{ .@"1:", ._, .mov, .tmp5d, .leasi(.tmp1d, .@"4", .tmp4), ._, ._ },
5154 .{ ._, ._, .sbb, .tmp5d, .leasi(.tmp2d, .@"4", .tmp4), ._, ._ },
5155 .{ ._, ._, .mov, .leasi(.tmp3d, .@"4", .tmp4), .tmp5d, ._, ._ },
5156 .{ ._, ._c, .in, .tmp4p, ._, ._, ._ },
5157 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
5158 .{ ._, ._, .add, .tmp0p, .sa(.src0, .add_elem_size), ._, ._ },
51335159 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
51345160 } },
5135 } }) catch |err| switch (err) {
5136 error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{
5137 @tagName(air_tag),
5138 cg.typeOf(bin_op.lhs).fmt(pt),
5139 ops[0].tracking(cg),
5140 ops[1].tracking(cg),
5141 }),
5142 else => |e| return e,
5143 };
5144 try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg);
5145 },
5146 .div_float, .div_float_optimized, .div_exact, .div_exact_optimized => |air_tag| if (use_old) try cg.airMulDivBinOp(inst, switch (air_tag) {
5147 else => unreachable,
5148 .div_float, .div_float_optimized => .div_float,
5149 .div_exact, .div_exact_optimized => .div_exact,
5150 }) else fallback: {
5151 const bin_op = air_datas[@intFromEnum(inst)].bin_op;
5152 if (cg.floatBits(cg.typeOf(bin_op.lhs).scalarType(zcu)) == null) break :fallback try cg.airMulDivBinOp(inst, .div_exact);
5153 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });
5154 var res: [1]Temp = undefined;
5155 cg.select(&res, &.{cg.typeOf(bin_op.lhs)}, &ops, comptime &.{ .{
5161 }, .{
51565162 .required_features = .{ .f16c, null, null, null },
51575163 .src_constraints = .{
51585164 .{ .scalar_float = .{ .of = .word, .is = .word } },
......@@ -5173,11 +5179,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51735179 .unused,
51745180 .unused,
51755181 },
5176 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
5182 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
51775183 .each = .{ .once = &.{
51785184 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
51795185 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
5180 .{ ._, .v_ss, .div, .dst0x, .dst0x, .tmp0d, ._ },
5186 .{ ._, .v_ss, .sub, .dst0x, .dst0x, .tmp0d, ._ },
51815187 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
51825188 } },
51835189 }, .{
......@@ -5192,7 +5198,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
51925198 },
51935199 .call_frame = .{ .alignment = .@"16" },
51945200 .extra_temps = .{
5195 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
5201 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subhf3" } } },
51965202 .unused,
51975203 .unused,
51985204 .unused,
......@@ -5202,7 +5208,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52025208 .unused,
52035209 .unused,
52045210 },
5205 .dst_temps = .{.{ .ref = .src0 }},
5211 .dst_temps = .{ .{ .ref = .src0 }, .unused },
52065212 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
52075213 .each = .{ .once = &.{
52085214 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -5231,11 +5237,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52315237 .unused,
52325238 .unused,
52335239 },
5234 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
5240 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
52355241 .each = .{ .once = &.{
52365242 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
52375243 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
5238 .{ ._, .v_ps, .div, .dst0x, .dst0x, .tmp0x, ._ },
5244 .{ ._, .v_ps, .sub, .dst0x, .dst0x, .tmp0x, ._ },
52395245 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
52405246 } },
52415247 }, .{
......@@ -5262,11 +5268,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52625268 .unused,
52635269 .unused,
52645270 },
5265 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
5271 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
52665272 .each = .{ .once = &.{
52675273 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
52685274 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },
5269 .{ ._, .v_ps, .div, .dst0y, .dst0y, .tmp0y, ._ },
5275 .{ ._, .v_ps, .sub, .dst0y, .dst0y, .tmp0y, ._ },
52705276 .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ },
52715277 } },
52725278 }, .{
......@@ -5290,13 +5296,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
52905296 .unused,
52915297 .unused,
52925298 },
5293 .dst_temps = .{.mem},
5299 .dst_temps = .{ .mem, .unused },
52945300 .clobbers = .{ .eflags = true },
52955301 .each = .{ .once = &.{
52965302 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
52975303 .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
52985304 .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
5299 .{ ._, .v_ps, .div, .tmp1y, .tmp1y, .tmp2y, ._ },
5305 .{ ._, .v_ps, .sub, .tmp1y, .tmp1y, .tmp2y, ._ },
53005306 .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ },
53015307 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
53025308 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
......@@ -5316,14 +5322,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53165322 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
53175323 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
53185324 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
5319 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
5325 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subhf3" } } },
53205326 .unused,
53215327 .unused,
53225328 .unused,
53235329 .unused,
53245330 .unused,
53255331 },
5326 .dst_temps = .{.mem},
5332 .dst_temps = .{ .mem, .unused },
53275333 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
53285334 .each = .{ .once = &.{
53295335 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -5350,14 +5356,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53505356 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
53515357 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
53525358 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
5353 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
5359 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subhf3" } } },
53545360 .unused,
53555361 .unused,
53565362 .unused,
53575363 .unused,
53585364 .unused,
53595365 },
5360 .dst_temps = .{.mem},
5366 .dst_temps = .{ .mem, .unused },
53615367 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
53625368 .each = .{ .once = &.{
53635369 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -5385,14 +5391,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
53855391 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
53865392 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
53875393 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
5388 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
5394 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subhf3" } } },
53895395 .{ .type = .f16, .kind = .{ .reg = .ax } },
53905396 .unused,
53915397 .unused,
53925398 .unused,
53935399 .unused,
53945400 },
5395 .dst_temps = .{.mem},
5401 .dst_temps = .{ .mem, .unused },
53965402 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
53975403 .each = .{ .once = &.{
53985404 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -5423,12 +5429,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54235429 .{ .type = .f32, .kind = .mem },
54245430 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
54255431 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
5426 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
5432 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subhf3" } } },
54275433 .unused,
54285434 .unused,
54295435 .unused,
54305436 },
5431 .dst_temps = .{.mem},
5437 .dst_temps = .{ .mem, .unused },
54325438 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
54335439 .each = .{ .once = &.{
54345440 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -5456,9 +5462,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54565462 .{ .src = .{ .to_sse, .mem, .none } },
54575463 .{ .src = .{ .to_sse, .to_sse, .none } },
54585464 },
5459 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
5465 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
54605466 .each = .{ .once = &.{
5461 .{ ._, .v_ss, .div, .dst0x, .src0x, .src1d, ._ },
5467 .{ ._, .v_ss, .sub, .dst0x, .src0x, .src1d, ._ },
54625468 } },
54635469 }, .{
54645470 .required_features = .{ .sse, null, null, null },
......@@ -5471,9 +5477,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54715477 .{ .src = .{ .to_mut_sse, .mem, .none } },
54725478 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
54735479 },
5474 .dst_temps = .{.{ .ref = .src0 }},
5480 .dst_temps = .{ .{ .ref = .src0 }, .unused },
54755481 .each = .{ .once = &.{
5476 .{ ._, ._ss, .div, .dst0x, .src1d, ._, ._ },
5482 .{ ._, ._ss, .sub, .dst0x, .src1d, ._, ._ },
54775483 } },
54785484 }, .{
54795485 .required_features = .{ .avx, null, null, null },
......@@ -5486,9 +5492,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
54865492 .{ .src = .{ .to_sse, .mem, .none } },
54875493 .{ .src = .{ .to_sse, .to_sse, .none } },
54885494 },
5489 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
5495 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
54905496 .each = .{ .once = &.{
5491 .{ ._, .v_ps, .div, .dst0x, .src0x, .src1x, ._ },
5497 .{ ._, .v_ps, .sub, .dst0x, .src0x, .src1x, ._ },
54925498 } },
54935499 }, .{
54945500 .required_features = .{ .sse, null, null, null },
......@@ -5501,9 +5507,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55015507 .{ .src = .{ .to_mut_sse, .mem, .none } },
55025508 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
55035509 },
5504 .dst_temps = .{.{ .ref = .src0 }},
5510 .dst_temps = .{ .{ .ref = .src0 }, .unused },
55055511 .each = .{ .once = &.{
5506 .{ ._, ._ps, .div, .dst0x, .src1x, ._, ._ },
5512 .{ ._, ._ps, .sub, .dst0x, .src1x, ._, ._ },
55075513 } },
55085514 }, .{
55095515 .required_features = .{ .avx, null, null, null },
......@@ -5516,9 +5522,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55165522 .{ .src = .{ .to_sse, .mem, .none } },
55175523 .{ .src = .{ .to_sse, .to_sse, .none } },
55185524 },
5519 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
5525 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
55205526 .each = .{ .once = &.{
5521 .{ ._, .v_ps, .div, .dst0y, .src0y, .src1y, ._ },
5527 .{ ._, .v_ps, .sub, .dst0y, .src0y, .src1y, ._ },
55225528 } },
55235529 }, .{
55245530 .required_features = .{ .avx, null, null, null },
......@@ -5541,12 +5547,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55415547 .unused,
55425548 .unused,
55435549 },
5544 .dst_temps = .{.mem},
5550 .dst_temps = .{ .mem, .unused },
55455551 .clobbers = .{ .eflags = true },
55465552 .each = .{ .once = &.{
55475553 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
55485554 .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
5549 .{ ._, .v_ps, .div, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
5555 .{ ._, .v_ps, .sub, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
55505556 .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
55515557 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
55525558 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
......@@ -5572,12 +5578,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55725578 .unused,
55735579 .unused,
55745580 },
5575 .dst_temps = .{.mem},
5581 .dst_temps = .{ .mem, .unused },
55765582 .clobbers = .{ .eflags = true },
55775583 .each = .{ .once = &.{
55785584 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
55795585 .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
5580 .{ ._, ._ps, .div, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
5586 .{ ._, ._ps, .sub, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
55815587 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
55825588 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
55835589 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
......@@ -5593,9 +5599,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
55935599 .{ .src = .{ .to_sse, .mem, .none } },
55945600 .{ .src = .{ .to_sse, .to_sse, .none } },
55955601 },
5596 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
5602 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
55975603 .each = .{ .once = &.{
5598 .{ ._, .v_sd, .div, .dst0x, .src0x, .src1q, ._ },
5604 .{ ._, .v_sd, .sub, .dst0x, .src0x, .src1q, ._ },
55995605 } },
56005606 }, .{
56015607 .required_features = .{ .sse2, null, null, null },
......@@ -5608,9 +5614,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56085614 .{ .src = .{ .to_mut_sse, .mem, .none } },
56095615 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
56105616 },
5611 .dst_temps = .{.{ .ref = .src0 }},
5617 .dst_temps = .{ .{ .ref = .src0 }, .unused },
56125618 .each = .{ .once = &.{
5613 .{ ._, ._sd, .div, .dst0x, .src1q, ._, ._ },
5619 .{ ._, ._sd, .sub, .dst0x, .src1q, ._, ._ },
56145620 } },
56155621 }, .{
56165622 .required_features = .{ .x87, null, null, null },
......@@ -5620,7 +5626,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56205626 .any,
56215627 },
56225628 .patterns = &.{
5623 .{ .src = .{ .mem, .mem, .none } },
5629 .{ .src = .{ .to_mem, .to_mem, .none } },
56245630 },
56255631 .extra_temps = .{
56265632 .{ .type = .f64, .kind = .{ .reg = .st6 } },
......@@ -5633,10 +5639,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56335639 .unused,
56345640 .unused,
56355641 },
5636 .dst_temps = .{.mem},
5642 .dst_temps = .{ .mem, .unused },
56375643 .each = .{ .once = &.{
56385644 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
5639 .{ ._, .f_, .div, .src1q, ._, ._, ._ },
5645 .{ ._, .f_, .sub, .src1q, ._, ._, ._ },
56405646 .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },
56415647 } },
56425648 }, .{
......@@ -5650,9 +5656,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56505656 .{ .src = .{ .to_sse, .mem, .none } },
56515657 .{ .src = .{ .to_sse, .to_sse, .none } },
56525658 },
5653 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
5659 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
56545660 .each = .{ .once = &.{
5655 .{ ._, .v_pd, .div, .dst0x, .src0x, .src1x, ._ },
5661 .{ ._, .v_pd, .sub, .dst0x, .src0x, .src1x, ._ },
56565662 } },
56575663 }, .{
56585664 .required_features = .{ .sse2, null, null, null },
......@@ -5665,9 +5671,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56655671 .{ .src = .{ .to_mut_sse, .mem, .none } },
56665672 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
56675673 },
5668 .dst_temps = .{.{ .ref = .src0 }},
5674 .dst_temps = .{ .{ .ref = .src0 }, .unused },
56695675 .each = .{ .once = &.{
5670 .{ ._, ._pd, .div, .dst0x, .src1x, ._, ._ },
5676 .{ ._, ._pd, .sub, .dst0x, .src1x, ._, ._ },
56715677 } },
56725678 }, .{
56735679 .required_features = .{ .avx, null, null, null },
......@@ -5680,9 +5686,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
56805686 .{ .src = .{ .to_sse, .mem, .none } },
56815687 .{ .src = .{ .to_sse, .to_sse, .none } },
56825688 },
5683 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
5689 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
56845690 .each = .{ .once = &.{
5685 .{ ._, .v_pd, .div, .dst0y, .src0y, .src1y, ._ },
5691 .{ ._, .v_pd, .sub, .dst0y, .src0y, .src1y, ._ },
56865692 } },
56875693 }, .{
56885694 .required_features = .{ .avx, null, null, null },
......@@ -5705,12 +5711,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57055711 .unused,
57065712 .unused,
57075713 },
5708 .dst_temps = .{.mem},
5714 .dst_temps = .{ .mem, .unused },
57095715 .clobbers = .{ .eflags = true },
57105716 .each = .{ .once = &.{
57115717 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
57125718 .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
5713 .{ ._, .v_pd, .div, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
5719 .{ ._, .v_pd, .sub, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
57145720 .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
57155721 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
57165722 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
......@@ -5736,12 +5742,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57365742 .unused,
57375743 .unused,
57385744 },
5739 .dst_temps = .{.mem},
5745 .dst_temps = .{ .mem, .unused },
57405746 .clobbers = .{ .eflags = true },
57415747 .each = .{ .once = &.{
57425748 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
57435749 .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
5744 .{ ._, ._pd, .div, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
5750 .{ ._, ._pd, .sub, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
57455751 .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
57465752 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
57475753 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
......@@ -5767,11 +5773,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57675773 .unused,
57685774 .unused,
57695775 },
5770 .dst_temps = .{.mem},
5776 .dst_temps = .{ .mem, .unused },
57715777 .each = .{ .once = &.{
57725778 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
57735779 .{ .@"0:", .f_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ },
5774 .{ ._, .f_, .div, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._, ._ },
5780 .{ ._, .f_, .sub, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._, ._ },
57755781 .{ ._, .f_p, .st, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ },
57765782 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
57775783 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
......@@ -5797,11 +5803,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
57975803 .unused,
57985804 .unused,
57995805 },
5800 .dst_temps = .{.{ .rc = .x87 }},
5806 .dst_temps = .{ .{ .rc = .x87 }, .unused },
58015807 .each = .{ .once = &.{
58025808 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
58035809 .{ ._, .f_, .ld, .src1t, ._, ._, ._ },
5804 .{ ._, .f_p, .div, ._, ._, ._, ._ },
5810 .{ ._, .f_p, .sub, ._, ._, ._, ._ },
58055811 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
58065812 } },
58075813 }, .{
......@@ -5825,10 +5831,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58255831 .unused,
58265832 .unused,
58275833 },
5828 .dst_temps = .{.{ .rc = .x87 }},
5834 .dst_temps = .{ .{ .rc = .x87 }, .unused },
58295835 .each = .{ .once = &.{
58305836 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
5831 .{ ._, .f_, .divr, .tmp0t, .src1t, ._, ._ },
5837 .{ ._, .f_, .subr, .tmp0t, .src1t, ._, ._ },
58325838 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
58335839 } },
58345840 }, .{
......@@ -5853,10 +5859,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58535859 .unused,
58545860 .unused,
58555861 },
5856 .dst_temps = .{.{ .rc = .x87 }},
5862 .dst_temps = .{ .{ .rc = .x87 }, .unused },
58575863 .each = .{ .once = &.{
58585864 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
5859 .{ ._, .f_, .div, .tmp0t, .src1t, ._, ._ },
5865 .{ ._, .f_, .sub, .tmp0t, .src1t, ._, ._ },
58605866 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
58615867 } },
58625868 }, .{
......@@ -5880,12 +5886,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
58805886 .unused,
58815887 .unused,
58825888 },
5883 .dst_temps = .{.mem},
5889 .dst_temps = .{ .mem, .unused },
58845890 .each = .{ .once = &.{
58855891 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
58865892 .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ },
58875893 .{ ._, .f_, .ld, .memia(.src1t, .tmp0, .add_unaligned_size), ._, ._, ._ },
5888 .{ ._, .f_p, .div, ._, ._, ._, ._ },
5894 .{ ._, .f_p, .sub, ._, ._, ._, ._ },
58895895 .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ },
58905896 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
58915897 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
......@@ -5902,7 +5908,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59025908 },
59035909 .call_frame = .{ .alignment = .@"16" },
59045910 .extra_temps = .{
5905 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },
5911 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subtf3" } } },
59065912 .unused,
59075913 .unused,
59085914 .unused,
......@@ -5912,7 +5918,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59125918 .unused,
59135919 .unused,
59145920 },
5915 .dst_temps = .{.{ .ref = .src0 }},
5921 .dst_temps = .{ .{ .ref = .src0 }, .unused },
59165922 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
59175923 .each = .{ .once = &.{
59185924 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -5932,14 +5938,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59325938 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
59335939 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
59345940 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
5935 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },
5941 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subtf3" } } },
59365942 .unused,
59375943 .unused,
59385944 .unused,
59395945 .unused,
59405946 .unused,
59415947 },
5942 .dst_temps = .{.mem},
5948 .dst_temps = .{ .mem, .unused },
59435949 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
59445950 .each = .{ .once = &.{
59455951 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -5965,14 +5971,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59655971 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
59665972 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
59675973 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
5968 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },
5974 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subtf3" } } },
59695975 .unused,
59705976 .unused,
59715977 .unused,
59725978 .unused,
59735979 .unused,
59745980 },
5975 .dst_temps = .{.mem},
5981 .dst_temps = .{ .mem, .unused },
59765982 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
59775983 .each = .{ .once = &.{
59785984 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -5998,14 +6004,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
59986004 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
59996005 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
60006006 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
6001 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },
6007 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__subtf3" } } },
60026008 .unused,
60036009 .unused,
60046010 .unused,
60056011 .unused,
60066012 .unused,
60076013 },
6008 .dst_temps = .{.mem},
6014 .dst_temps = .{ .mem, .unused },
60096015 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
60106016 .each = .{ .once = &.{
60116017 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -6027,1071 +6033,3118 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
60276033 };
60286034 try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg);
60296035 },
6030 .div_trunc, .div_floor => |air_tag| if (use_old) try cg.airMulDivBinOp(inst, air_tag) else fallback: {
6036 .sub_safe => unreachable,
6037 .mul, .mul_optimized => |air_tag| if (use_old) try cg.airMulDivBinOp(inst, .mul) else fallback: {
60316038 const bin_op = air_datas[@intFromEnum(inst)].bin_op;
6032 if (cg.floatBits(cg.typeOf(bin_op.lhs).scalarType(zcu)) == null) break :fallback try cg.airMulDivBinOp(inst, air_tag);
6039 const ty = cg.typeOf(bin_op.lhs);
6040 if (ty.isVector(zcu) and cg.floatBits(ty.childType(zcu)) == null) break :fallback try cg.airMulDivBinOp(inst, .mul);
60336041 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });
60346042 var res: [1]Temp = undefined;
6035 cg.select(&res, &.{cg.typeOf(bin_op.lhs)}, &ops, switch (@as(bits.RoundMode.Direction, switch (air_tag) {
6036 else => unreachable,
6037 .div_trunc => .zero,
6038 .div_floor => .down,
6039 })) {
6040 else => unreachable,
6041 inline .zero, .down => |direction| comptime &.{ .{
6042 .required_features = .{ .f16c, null, null, null },
6043 .src_constraints = .{
6044 .{ .scalar_float = .{ .of = .word, .is = .word } },
6045 .{ .scalar_float = .{ .of = .word, .is = .word } },
6046 .any,
6047 },
6048 .patterns = &.{
6049 .{ .src = .{ .to_sse, .to_sse, .none } },
6050 },
6051 .extra_temps = .{
6052 .{ .type = .f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },
6053 .unused,
6054 .unused,
6055 .unused,
6056 .unused,
6057 .unused,
6058 .unused,
6059 .unused,
6060 .unused,
6061 },
6062 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
6063 .each = .{ .once = &.{
6064 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
6065 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
6066 .{ ._, .v_ss, .div, .dst0x, .dst0x, .tmp0d, ._ },
6067 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
6068 .{ ._, .v_ps, .cvtph2, .dst0x, .dst0q, ._, ._ },
6069 .{ ._, .v_ss, .round, .dst0x, .dst0x, .dst0d, .rm(.{ .direction = direction, .precision = .inexact }) },
6070 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
6071 } },
6072 }, .{
6073 .required_features = .{ .sse, null, null, null },
6074 .src_constraints = .{
6075 .{ .scalar_float = .{ .of = .word, .is = .word } },
6076 .{ .scalar_float = .{ .of = .word, .is = .word } },
6077 .any,
6078 },
6079 .patterns = &.{
6080 .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } },
6081 },
6082 .call_frame = .{ .alignment = .@"16" },
6083 .extra_temps = .{
6084 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
6085 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {
6086 else => unreachable,
6087 .zero => "__trunch",
6088 .down => "__floorh",
6089 } } } },
6090 .unused,
6091 .unused,
6092 .unused,
6093 .unused,
6094 .unused,
6095 .unused,
6096 .unused,
6097 },
6098 .dst_temps = .{.{ .ref = .src0 }},
6099 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6100 .each = .{ .once = &.{
6101 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
6102 .{ ._, ._, .call, .tmp1d, ._, ._, ._ },
6103 } },
6104 }, .{
6105 .required_features = .{ .f16c, null, null, null },
6106 .src_constraints = .{
6107 .{ .scalar_float = .{ .of = .qword, .is = .word } },
6108 .{ .scalar_float = .{ .of = .qword, .is = .word } },
6109 .any,
6110 },
6111 .patterns = &.{
6112 .{ .src = .{ .mem, .mem, .none } },
6113 .{ .src = .{ .to_sse, .mem, .none } },
6114 .{ .src = .{ .mem, .to_sse, .none } },
6115 .{ .src = .{ .to_sse, .to_sse, .none } },
6116 },
6117 .extra_temps = .{
6118 .{ .type = .vector_4_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },
6119 .unused,
6120 .unused,
6121 .unused,
6122 .unused,
6123 .unused,
6124 .unused,
6125 .unused,
6126 .unused,
6127 },
6128 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
6129 .each = .{ .once = &.{
6130 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
6131 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
6132 .{ ._, .v_ps, .div, .dst0x, .dst0x, .tmp0x, ._ },
6133 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
6134 .{ ._, .v_ps, .cvtph2, .dst0x, .dst0q, ._, ._ },
6135 .{ ._, .v_ps, .round, .dst0x, .dst0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
6136 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
6137 } },
6138 }, .{
6139 .required_features = .{ .f16c, null, null, null },
6140 .src_constraints = .{
6141 .{ .scalar_float = .{ .of = .xword, .is = .word } },
6142 .{ .scalar_float = .{ .of = .xword, .is = .word } },
6143 .any,
6144 },
6145 .patterns = &.{
6146 .{ .src = .{ .mem, .mem, .none } },
6147 .{ .src = .{ .to_sse, .mem, .none } },
6148 .{ .src = .{ .mem, .to_sse, .none } },
6149 .{ .src = .{ .to_sse, .to_sse, .none } },
6150 },
6151 .extra_temps = .{
6152 .{ .type = .vector_8_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },
6153 .unused,
6154 .unused,
6155 .unused,
6156 .unused,
6157 .unused,
6158 .unused,
6159 .unused,
6160 .unused,
6161 },
6162 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
6163 .each = .{ .once = &.{
6164 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
6165 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },
6166 .{ ._, .v_ps, .div, .dst0y, .dst0y, .tmp0y, ._ },
6167 .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ },
6168 .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ },
6169 .{ ._, .v_ps, .round, .dst0y, .dst0y, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
6170 .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ },
6171 } },
6172 }, .{
6173 .required_features = .{ .f16c, null, null, null },
6174 .src_constraints = .{
6175 .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } },
6176 .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } },
6177 .any,
6178 },
6179 .patterns = &.{
6180 .{ .src = .{ .to_mem, .to_mem, .none } },
6181 },
6182 .extra_temps = .{
6183 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6184 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
6185 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
6186 .unused,
6187 .unused,
6188 .unused,
6189 .unused,
6190 .unused,
6191 .unused,
6192 },
6193 .dst_temps = .{.mem},
6194 .clobbers = .{ .eflags = true },
6195 .each = .{ .once = &.{
6196 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6197 .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
6198 .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
6199 .{ ._, .v_ps, .div, .tmp1y, .tmp1y, .tmp2y, ._ },
6200 .{ ._, .v_, .cvtps2ph, .tmp1x, .tmp1y, .rm(.{}), ._ },
6201 .{ ._, .v_ps, .cvtph2, .tmp1y, .tmp1x, ._, ._ },
6202 .{ ._, .v_ps, .round, .tmp1y, .tmp1y, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
6203 .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ },
6204 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
6205 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
6206 } },
6207 }, .{
6208 .required_features = .{ .avx, null, null, null },
6209 .src_constraints = .{
6210 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
6211 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
6212 .any,
6213 },
6214 .patterns = &.{
6215 .{ .src = .{ .to_mem, .to_mem, .none } },
6216 },
6217 .call_frame = .{ .alignment = .@"16" },
6218 .extra_temps = .{
6219 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6220 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
6221 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
6222 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
6223 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {
6224 else => unreachable,
6225 .zero => "__trunch",
6226 .down => "__floorh",
6227 } } } },
6228 .unused,
6229 .unused,
6230 .unused,
6231 .unused,
6232 },
6233 .dst_temps = .{.mem},
6234 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6235 .each = .{ .once = &.{
6236 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6237 .{ .@"0:", .vp_, .xor, .tmp2x, .tmp2x, .tmp2x, ._ },
6238 .{ ._, .vp_w, .insr, .tmp1x, .tmp2x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) },
6239 .{ ._, .vp_w, .insr, .tmp2x, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0) },
6240 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
6241 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
6242 .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ },
6243 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
6244 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
6245 } },
6246 }, .{
6247 .required_features = .{ .sse4_1, null, null, null },
6248 .src_constraints = .{
6249 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
6250 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
6251 .any,
6252 },
6253 .patterns = &.{
6254 .{ .src = .{ .to_mem, .to_mem, .none } },
6255 },
6256 .call_frame = .{ .alignment = .@"16" },
6257 .extra_temps = .{
6258 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6259 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
6260 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
6261 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
6262 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {
6263 else => unreachable,
6264 .zero => "__trunch",
6265 .down => "__floorh",
6266 } } } },
6267 .unused,
6268 .unused,
6269 .unused,
6270 .unused,
6271 },
6272 .dst_temps = .{.mem},
6273 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6274 .each = .{ .once = &.{
6275 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6276 .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ },
6277 .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ },
6278 .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ },
6279 .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ },
6280 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
6281 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
6282 .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ },
6283 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
6284 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
6285 } },
6286 }, .{
6287 .required_features = .{ .sse2, null, null, null },
6288 .src_constraints = .{
6289 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
6290 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
6291 .any,
6292 },
6293 .patterns = &.{
6294 .{ .src = .{ .to_mem, .to_mem, .none } },
6295 },
6296 .call_frame = .{ .alignment = .@"16" },
6297 .extra_temps = .{
6298 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6299 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
6300 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
6301 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
6302 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {
6303 else => unreachable,
6304 .zero => "__trunch",
6305 .down => "__floorh",
6306 } } } },
6307 .{ .type = .f16, .kind = .{ .reg = .ax } },
6308 .unused,
6309 .unused,
6310 .unused,
6311 },
6312 .dst_temps = .{.mem},
6313 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6314 .each = .{ .once = &.{
6315 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6316 .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ },
6317 .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ },
6318 .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ },
6319 .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ },
6320 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
6321 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
6322 .{ ._, .p_w, .extr, .tmp5d, .tmp1x, .ui(0), ._ },
6323 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp5w, ._, ._ },
6324 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
6325 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
6326 } },
6327 }, .{
6328 .required_features = .{ .sse, null, null, null },
6329 .src_constraints = .{
6330 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
6331 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
6332 .any,
6333 },
6334 .patterns = &.{
6335 .{ .src = .{ .to_mem, .to_mem, .none } },
6336 },
6337 .call_frame = .{ .alignment = .@"16" },
6338 .extra_temps = .{
6339 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6340 .{ .type = .f16, .kind = .{ .reg = .ax } },
6341 .{ .type = .f32, .kind = .mem },
6342 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
6343 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
6344 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
6345 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {
6346 else => unreachable,
6347 .zero => "__trunch",
6348 .down => "__floorh",
6349 } } } },
6350 .unused,
6351 .unused,
6352 },
6353 .dst_temps = .{.mem},
6354 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6355 .each = .{ .once = &.{
6356 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6357 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
6358 .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ },
6359 .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ },
6360 .{ ._, ._, .movzx, .tmp1d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ },
6361 .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ },
6362 .{ ._, ._ss, .mov, .tmp4x, .mem(.tmp2d), ._, ._ },
6363 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
6364 .{ ._, ._, .call, .tmp6d, ._, ._, ._ },
6365 .{ ._, ._ss, .mov, .mem(.tmp2d), .tmp3x, ._, ._ },
6366 .{ ._, ._, .mov, .tmp1d, .mem(.tmp2d), ._, ._ },
6367 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },
6368 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
6369 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
6370 } },
6371 }, .{
6372 .required_features = .{ .avx, null, null, null },
6373 .src_constraints = .{
6374 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
6375 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
6376 .any,
6377 },
6378 .patterns = &.{
6379 .{ .src = .{ .to_sse, .mem, .none } },
6380 .{ .src = .{ .to_sse, .to_sse, .none } },
6381 },
6382 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
6383 .each = .{ .once = &.{
6384 .{ ._, .v_ss, .div, .dst0x, .src0x, .src1d, ._ },
6385 .{ ._, .v_ss, .round, .dst0x, .dst0x, .dst0d, .rm(.{ .direction = direction, .precision = .inexact }) },
6386 } },
6387 }, .{
6388 .required_features = .{ .sse4_1, null, null, null },
6389 .src_constraints = .{
6390 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
6391 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
6392 .any,
6393 },
6394 .patterns = &.{
6395 .{ .src = .{ .to_mut_sse, .mem, .none } },
6396 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
6397 },
6398 .dst_temps = .{.{ .ref = .src0 }},
6399 .each = .{ .once = &.{
6400 .{ ._, ._ss, .div, .dst0x, .src1d, ._, ._ },
6401 .{ ._, ._ss, .round, .dst0x, .dst0d, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
6402 } },
6403 }, .{
6404 .required_features = .{ .sse, null, null, null },
6405 .src_constraints = .{
6406 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
6407 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
6408 .any,
6409 },
6410 .patterns = &.{
6411 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_mem, .none } },
6412 },
6413 .call_frame = .{ .alignment = .@"16" },
6414 .extra_temps = .{
6415 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {
6416 else => unreachable,
6417 .zero => "truncf",
6418 .down => "floorf",
6419 } } } },
6420 .unused,
6421 .unused,
6422 .unused,
6423 .unused,
6424 .unused,
6425 .unused,
6426 .unused,
6427 .unused,
6428 },
6429 .dst_temps = .{.{ .ref = .src0 }},
6430 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6431 .each = .{ .once = &.{
6432 .{ ._, ._ss, .div, .dst0x, .src1d, ._, ._ },
6433 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
6434 } },
6435 }, .{
6436 .required_features = .{ .avx, null, null, null },
6437 .src_constraints = .{
6438 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
6439 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
6440 .any,
6441 },
6442 .patterns = &.{
6443 .{ .src = .{ .to_sse, .mem, .none } },
6444 .{ .src = .{ .to_sse, .to_sse, .none } },
6445 },
6446 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
6447 .each = .{ .once = &.{
6448 .{ ._, .v_ps, .div, .dst0x, .src0x, .src1x, ._ },
6449 .{ ._, .v_ps, .round, .dst0x, .dst0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
6450 } },
6451 }, .{
6452 .required_features = .{ .sse4_1, null, null, null },
6453 .src_constraints = .{
6454 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
6455 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
6456 .any,
6457 },
6458 .patterns = &.{
6459 .{ .src = .{ .to_mut_sse, .mem, .none } },
6460 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
6461 },
6462 .dst_temps = .{.{ .ref = .src0 }},
6463 .each = .{ .once = &.{
6464 .{ ._, ._ps, .div, .dst0x, .src1x, ._, ._ },
6465 .{ ._, ._ps, .round, .dst0x, .dst0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
6466 } },
6467 }, .{
6468 .required_features = .{ .sse, null, null, null },
6469 .src_constraints = .{
6470 .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } },
6471 .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } },
6472 .any,
6473 },
6474 .patterns = &.{
6475 .{ .src = .{ .to_mem, .to_mem, .none } },
6476 },
6477 .call_frame = .{ .alignment = .@"16" },
6478 .extra_temps = .{
6479 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6480 .{ .type = .f32, .kind = .{ .reg = .xmm0 } },
6481 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {
6482 else => unreachable,
6483 .zero => "truncf",
6484 .down => "floorf",
6485 } } } },
6486 .unused,
6487 .unused,
6488 .unused,
6489 .unused,
6490 .unused,
6491 .unused,
6492 },
6493 .dst_temps = .{.mem},
6494 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6495 .each = .{ .once = &.{
6496 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6497 .{ .@"0:", ._ss, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
6498 .{ ._, ._ss, .div, .tmp1x, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._ },
6499 .{ ._, ._, .call, .tmp2d, ._, ._, ._ },
6500 .{ ._, ._ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
6501 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
6502 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
6503 } },
6504 }, .{
6505 .required_features = .{ .avx, null, null, null },
6506 .src_constraints = .{
6507 .{ .scalar_float = .{ .of = .yword, .is = .dword } },
6508 .{ .scalar_float = .{ .of = .yword, .is = .dword } },
6509 .any,
6510 },
6511 .patterns = &.{
6512 .{ .src = .{ .to_sse, .mem, .none } },
6513 .{ .src = .{ .to_sse, .to_sse, .none } },
6514 },
6515 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
6516 .each = .{ .once = &.{
6517 .{ ._, .v_ps, .div, .dst0y, .src0y, .src1y, ._ },
6518 .{ ._, .v_ps, .round, .dst0y, .dst0y, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
6519 } },
6520 }, .{
6521 .required_features = .{ .avx, null, null, null },
6522 .src_constraints = .{
6523 .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } },
6524 .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } },
6525 .any,
6526 },
6527 .patterns = &.{
6528 .{ .src = .{ .to_mem, .to_mem, .none } },
6529 },
6530 .extra_temps = .{
6531 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6532 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
6533 .unused,
6534 .unused,
6535 .unused,
6536 .unused,
6537 .unused,
6538 .unused,
6539 .unused,
6540 },
6541 .dst_temps = .{.mem},
6542 .clobbers = .{ .eflags = true },
6543 .each = .{ .once = &.{
6544 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6545 .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
6546 .{ ._, .v_ps, .div, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
6547 .{ ._, .v_ps, .round, .tmp1y, .tmp1y, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
6548 .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
6549 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
6550 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
6551 } },
6552 }, .{
6553 .required_features = .{ .sse4_1, null, null, null },
6554 .src_constraints = .{
6555 .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } },
6556 .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } },
6557 .any,
6558 },
6559 .patterns = &.{
6560 .{ .src = .{ .to_mem, .to_mem, .none } },
6561 },
6562 .extra_temps = .{
6563 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6564 .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } },
6565 .unused,
6566 .unused,
6567 .unused,
6568 .unused,
6569 .unused,
6570 .unused,
6571 .unused,
6572 },
6573 .dst_temps = .{.mem},
6574 .clobbers = .{ .eflags = true },
6575 .each = .{ .once = &.{
6576 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6577 .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
6578 .{ ._, ._ps, .div, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
6579 .{ ._, ._ps, .round, .tmp1x, .tmp1x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
6580 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
6581 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
6582 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
6583 } },
6584 }, .{
6585 .required_features = .{ .avx, null, null, null },
6586 .src_constraints = .{
6587 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
6588 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
6589 .any,
6590 },
6591 .patterns = &.{
6592 .{ .src = .{ .to_sse, .mem, .none } },
6593 .{ .src = .{ .to_sse, .to_sse, .none } },
6594 },
6595 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
6596 .each = .{ .once = &.{
6597 .{ ._, .v_sd, .div, .dst0x, .src0x, .src1q, ._ },
6598 .{ ._, .v_sd, .round, .dst0x, .dst0x, .dst0q, .rm(.{ .direction = direction, .precision = .inexact }) },
6599 } },
6600 }, .{
6601 .required_features = .{ .sse4_1, null, null, null },
6602 .src_constraints = .{
6603 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
6604 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
6605 .any,
6606 },
6607 .patterns = &.{
6608 .{ .src = .{ .to_mut_sse, .mem, .none } },
6609 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
6610 },
6611 .dst_temps = .{.{ .ref = .src0 }},
6612 .each = .{ .once = &.{
6613 .{ ._, ._sd, .div, .dst0x, .src1q, ._, ._ },
6614 .{ ._, ._sd, .round, .dst0x, .dst0q, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
6615 } },
6616 }, .{
6617 .required_features = .{ .sse2, null, null, null },
6618 .src_constraints = .{
6619 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
6620 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
6621 .any,
6622 },
6623 .patterns = &.{
6624 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_mem, .none } },
6625 },
6626 .call_frame = .{ .alignment = .@"16" },
6627 .extra_temps = .{
6628 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {
6629 else => unreachable,
6630 .zero => "trunc",
6631 .down => "floor",
6632 } } } },
6633 .unused,
6634 .unused,
6635 .unused,
6636 .unused,
6637 .unused,
6638 .unused,
6639 .unused,
6640 .unused,
6641 },
6642 .dst_temps = .{.{ .ref = .src0 }},
6643 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6644 .each = .{ .once = &.{
6645 .{ ._, ._sd, .div, .dst0x, .src1q, ._, ._ },
6646 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
6647 } },
6648 }, .{
6649 .required_features = .{ .sse, null, null, null },
6650 .src_constraints = .{
6651 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
6652 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
6653 .any,
6654 },
6655 .patterns = &.{
6656 .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } },
6657 },
6658 .call_frame = .{ .alignment = .@"16" },
6659 .extra_temps = .{
6660 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divdf3" } } },
6661 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {
6662 else => unreachable,
6663 .zero => "trunc",
6664 .down => "floor",
6665 } } } },
6666 .unused,
6667 .unused,
6668 .unused,
6669 .unused,
6670 .unused,
6671 .unused,
6672 .unused,
6673 },
6674 .dst_temps = .{.{ .ref = .src0 }},
6675 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6676 .each = .{ .once = &.{
6677 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
6678 .{ ._, ._, .call, .tmp1d, ._, ._, ._ },
6679 } },
6680 }, .{
6681 .required_features = .{ .avx, null, null, null },
6682 .src_constraints = .{
6683 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
6684 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
6685 .any,
6686 },
6687 .patterns = &.{
6688 .{ .src = .{ .to_sse, .mem, .none } },
6689 .{ .src = .{ .to_sse, .to_sse, .none } },
6690 },
6691 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
6692 .each = .{ .once = &.{
6693 .{ ._, .v_pd, .div, .dst0x, .src0x, .src1x, ._ },
6694 .{ ._, .v_pd, .round, .dst0x, .dst0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
6695 } },
6696 }, .{
6697 .required_features = .{ .sse4_1, null, null, null },
6698 .src_constraints = .{
6699 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
6700 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
6701 .any,
6702 },
6703 .patterns = &.{
6704 .{ .src = .{ .to_mut_sse, .mem, .none } },
6705 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
6706 },
6707 .dst_temps = .{.{ .ref = .src0 }},
6708 .each = .{ .once = &.{
6709 .{ ._, ._pd, .div, .dst0x, .src1x, ._, ._ },
6710 .{ ._, ._pd, .round, .dst0x, .dst0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
6711 } },
6712 }, .{
6713 .required_features = .{ .avx, null, null, null },
6714 .src_constraints = .{
6715 .{ .scalar_float = .{ .of = .yword, .is = .qword } },
6716 .{ .scalar_float = .{ .of = .yword, .is = .qword } },
6717 .any,
6718 },
6719 .patterns = &.{
6720 .{ .src = .{ .to_sse, .mem, .none } },
6721 .{ .src = .{ .to_sse, .to_sse, .none } },
6722 },
6723 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
6724 .each = .{ .once = &.{
6725 .{ ._, .v_pd, .div, .dst0y, .src0y, .src1y, ._ },
6726 .{ ._, .v_pd, .round, .dst0y, .dst0y, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
6727 } },
6728 }, .{
6729 .required_features = .{ .avx, null, null, null },
6730 .src_constraints = .{
6731 .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } },
6732 .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } },
6733 .any,
6734 },
6735 .patterns = &.{
6736 .{ .src = .{ .to_mem, .to_mem, .none } },
6737 },
6738 .extra_temps = .{
6739 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6740 .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } },
6741 .unused,
6742 .unused,
6743 .unused,
6744 .unused,
6745 .unused,
6746 .unused,
6747 .unused,
6748 },
6749 .dst_temps = .{.mem},
6750 .clobbers = .{ .eflags = true },
6751 .each = .{ .once = &.{
6752 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6753 .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
6754 .{ ._, .v_pd, .div, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
6755 .{ ._, .v_pd, .round, .tmp1y, .tmp1y, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
6756 .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
6757 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
6758 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
6759 } },
6760 }, .{
6761 .required_features = .{ .sse4_1, null, null, null },
6762 .src_constraints = .{
6763 .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } },
6764 .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } },
6765 .any,
6766 },
6767 .patterns = &.{
6768 .{ .src = .{ .to_mem, .to_mem, .none } },
6769 },
6770 .extra_temps = .{
6771 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6772 .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } },
6773 .unused,
6774 .unused,
6775 .unused,
6776 .unused,
6777 .unused,
6778 .unused,
6779 .unused,
6780 },
6781 .dst_temps = .{.mem},
6782 .clobbers = .{ .eflags = true },
6783 .each = .{ .once = &.{
6784 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6785 .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
6786 .{ ._, ._pd, .div, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
6787 .{ ._, ._pd, .round, .tmp1x, .tmp1x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
6788 .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
6789 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
6790 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
6791 } },
6792 }, .{
6793 .required_features = .{ .sse2, null, null, null },
6794 .src_constraints = .{
6795 .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },
6796 .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },
6797 .any,
6798 },
6799 .patterns = &.{
6800 .{ .src = .{ .to_mem, .to_mem, .none } },
6801 },
6802 .call_frame = .{ .alignment = .@"16" },
6803 .extra_temps = .{
6804 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6805 .{ .type = .f64, .kind = .{ .reg = .xmm0 } },
6806 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {
6807 else => unreachable,
6808 .zero => "trunc",
6809 .down => "floor",
6810 } } } },
6811 .unused,
6812 .unused,
6813 .unused,
6814 .unused,
6815 .unused,
6816 .unused,
6817 },
6818 .dst_temps = .{.mem},
6819 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6820 .each = .{ .once = &.{
6821 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6822 .{ .@"0:", ._sd, .mov, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
6823 .{ ._, ._sd, .div, .tmp1x, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ },
6824 .{ ._, ._, .call, .tmp2d, ._, ._, ._ },
6825 .{ ._, ._sd, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
6826 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
6827 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
6828 } },
6829 }, .{
6830 .required_features = .{ .sse, null, null, null },
6831 .src_constraints = .{
6832 .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },
6833 .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },
6834 .any,
6835 },
6836 .patterns = &.{
6837 .{ .src = .{ .to_mem, .to_mem, .none } },
6838 },
6839 .call_frame = .{ .alignment = .@"16" },
6840 .extra_temps = .{
6841 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6842 .{ .type = .f64, .kind = .{ .reg = .xmm0 } },
6843 .{ .type = .f64, .kind = .{ .reg = .xmm1 } },
6844 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divdf3" } } },
6845 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {
6846 else => unreachable,
6847 .zero => "trunc",
6848 .down => "floor",
6849 } } } },
6850 .unused,
6851 .unused,
6852 .unused,
6853 .unused,
6854 },
6855 .dst_temps = .{.mem},
6856 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6857 .each = .{ .once = &.{
6858 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6859 .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ },
6860 .{ ._, ._ps, .xor, .tmp2x, .tmp2x, ._, ._ },
6861 .{ ._, ._ps, .movl, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
6862 .{ ._, ._ps, .movl, .tmp2x, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ },
6863 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
6864 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
6865 .{ ._, ._ps, .movl, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
6866 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
6867 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
6868 } },
6869 }, .{
6870 .required_features = .{ .x87, null, null, null },
6871 .src_constraints = .{
6872 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
6873 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
6874 .any,
6875 },
6876 .patterns = &.{
6877 .{ .src = .{ .to_mem, .to_mem, .none } },
6878 },
6879 .call_frame = .{ .size = 16, .alignment = .@"16" },
6880 .extra_temps = .{
6881 .{ .type = .f80, .kind = .{ .reg = .st6 } },
6882 .{ .type = .f80, .kind = .{ .reg = .st7 } },
6883 .{ .type = .f80, .kind = .{ .frame = .call_frame } },
6884 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {
6885 else => unreachable,
6886 .zero => "__truncx",
6887 .down => "__floorx",
6888 } } } },
6889 .unused,
6890 .unused,
6891 .unused,
6892 .unused,
6893 .unused,
6894 },
6895 .dst_temps = .{.{ .reg = .st0 }},
6896 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6897 .each = .{ .once = &.{
6898 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
6899 .{ ._, .f_, .ld, .src1t, ._, ._, ._ },
6900 .{ ._, .f_p, .div, ._, ._, ._, ._ },
6901 .{ ._, .f_p, .st, .mem(.tmp2t), ._, ._, ._ },
6902 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
6903 } },
6904 }, .{
6905 .required_features = .{ .x87, null, null, null },
6906 .src_constraints = .{
6907 .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } },
6908 .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } },
6909 .any,
6910 },
6911 .patterns = &.{
6912 .{ .src = .{ .to_mem, .to_mem, .none } },
6913 },
6914 .call_frame = .{ .size = 16, .alignment = .@"16" },
6915 .extra_temps = .{
6916 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6917 .{ .type = .f80, .kind = .{ .reg = .st6 } },
6918 .{ .type = .f80, .kind = .{ .reg = .st7 } },
6919 .{ .type = .f80, .kind = .{ .frame = .call_frame } },
6920 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {
6921 else => unreachable,
6922 .zero => "__truncx",
6923 .down => "__floorx",
6924 } } } },
6925 .unused,
6926 .unused,
6927 .unused,
6928 .unused,
6929 },
6930 .dst_temps = .{.mem},
6931 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6932 .each = .{ .once = &.{
6933 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6934 .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ },
6935 .{ ._, .f_, .ld, .memia(.src1t, .tmp0, .add_unaligned_size), ._, ._, ._ },
6936 .{ ._, .f_p, .div, ._, ._, ._, ._ },
6937 .{ ._, .f_p, .st, .mem(.tmp3t), ._, ._, ._ },
6938 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
6939 .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ },
6940 .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ },
6941 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
6942 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
6943 } },
6944 }, .{
6945 .required_features = .{ .sse, null, null, null },
6946 .src_constraints = .{
6947 .{ .scalar_float = .{ .of = .xword, .is = .xword } },
6948 .{ .scalar_float = .{ .of = .xword, .is = .xword } },
6949 .any,
6950 },
6951 .patterns = &.{
6952 .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } },
6953 },
6954 .call_frame = .{ .alignment = .@"16" },
6955 .extra_temps = .{
6956 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },
6957 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {
6958 else => unreachable,
6959 .zero => "truncq",
6960 .down => "floorq",
6961 } } } },
6962 .unused,
6963 .unused,
6964 .unused,
6965 .unused,
6966 .unused,
6967 .unused,
6968 .unused,
6969 },
6970 .dst_temps = .{.{ .ref = .src0 }},
6971 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6972 .each = .{ .once = &.{
6973 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
6974 .{ ._, ._, .call, .tmp1d, ._, ._, ._ },
6975 } },
6976 }, .{
6977 .required_features = .{ .avx, null, null, null },
6978 .src_constraints = .{
6979 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
6980 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
6981 .any,
6982 },
6983 .patterns = &.{
6984 .{ .src = .{ .to_mem, .to_mem, .none } },
6985 },
6986 .call_frame = .{ .alignment = .@"16" },
6987 .extra_temps = .{
6988 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6989 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
6990 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
6991 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },
6992 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {
6993 else => unreachable,
6994 .zero => "truncq",
6995 .down => "floorq",
6996 } } } },
6997 .unused,
6998 .unused,
6999 .unused,
7000 .unused,
7001 },
7002 .dst_temps = .{.mem},
7003 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7004 .each = .{ .once = &.{
7005 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7006 .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
7007 .{ ._, .v_dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
7008 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
7009 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
7010 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
7011 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
7012 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
7013 } },
7014 }, .{
7015 .required_features = .{ .sse2, null, null, null },
7016 .src_constraints = .{
7017 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
7018 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
7019 .any,
7020 },
7021 .patterns = &.{
7022 .{ .src = .{ .to_mem, .to_mem, .none } },
7023 },
7024 .call_frame = .{ .alignment = .@"16" },
7025 .extra_temps = .{
7026 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
7027 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
7028 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
7029 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },
7030 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {
7031 else => unreachable,
7032 .zero => "truncq",
7033 .down => "floorq",
7034 } } } },
7035 .unused,
7036 .unused,
7037 .unused,
7038 .unused,
7039 },
7040 .dst_temps = .{.mem},
7041 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7042 .each = .{ .once = &.{
7043 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7044 .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
7045 .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
7046 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
7047 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
7048 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
7049 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
7050 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
7051 } },
7052 }, .{
7053 .required_features = .{ .sse, null, null, null },
7054 .src_constraints = .{
7055 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
7056 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
7057 .any,
7058 },
7059 .patterns = &.{
7060 .{ .src = .{ .to_mem, .to_mem, .none } },
7061 },
7062 .call_frame = .{ .alignment = .@"16" },
7063 .extra_temps = .{
7064 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
7065 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
7066 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
7067 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },
7068 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {
7069 else => unreachable,
7070 .zero => "truncq",
7071 .down => "floorq",
7072 } } } },
7073 .unused,
7074 .unused,
7075 .unused,
7076 .unused,
7077 },
7078 .dst_temps = .{.mem},
7079 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7080 .each = .{ .once = &.{
7081 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7082 .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
7083 .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
7084 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
7085 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
7086 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
7087 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
7088 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
7089 } },
6043 cg.select(&res, &.{ty}, &ops, comptime &.{ .{
6044 .src_constraints = .{ .{ .signed_int = .byte }, .{ .signed_int = .byte }, .any },
6045 .patterns = &.{
6046 .{ .src = .{ .{ .to_reg = .al }, .mem, .none } },
6047 .{ .src = .{ .mem, .{ .to_reg = .al }, .none }, .commute = .{ 0, 1 } },
6048 .{ .src = .{ .{ .to_reg = .al }, .to_gpr, .none } },
6049 },
6050 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6051 .clobbers = .{ .eflags = true },
6052 .each = .{ .once = &.{
6053 .{ ._, .i_, .mul, .src1b, ._, ._, ._ },
6054 } },
6055 }, .{
6056 .src_constraints = .{ .{ .unsigned_int = .byte }, .{ .unsigned_int = .byte }, .any },
6057 .patterns = &.{
6058 .{ .src = .{ .{ .to_reg = .al }, .mem, .none } },
6059 .{ .src = .{ .mem, .{ .to_reg = .al }, .none }, .commute = .{ 0, 1 } },
6060 .{ .src = .{ .{ .to_reg = .al }, .to_gpr, .none } },
6061 },
6062 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6063 .clobbers = .{ .eflags = true },
6064 .each = .{ .once = &.{
6065 .{ ._, ._, .mul, .src1b, ._, ._, ._ },
6066 } },
6067 }, .{
6068 .src_constraints = .{ .{ .int = .word }, .{ .int = .word }, .any },
6069 .patterns = &.{
6070 .{ .src = .{ .mem, .imm16, .none } },
6071 .{ .src = .{ .imm16, .mem, .none }, .commute = .{ 0, 1 } },
6072 .{ .src = .{ .to_gpr, .imm16, .none } },
6073 .{ .src = .{ .imm16, .to_gpr, .none }, .commute = .{ 0, 1 } },
6074 },
6075 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused },
6076 .clobbers = .{ .eflags = true },
6077 .each = .{ .once = &.{
6078 .{ ._, .i_, .mul, .dst0w, .src0w, .src1w, ._ },
6079 } },
6080 }, .{
6081 .src_constraints = .{ .{ .int = .word }, .{ .int = .word }, .any },
6082 .patterns = &.{
6083 .{ .src = .{ .to_mut_gpr, .mem, .none } },
6084 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
6085 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
6086 },
6087 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6088 .clobbers = .{ .eflags = true },
6089 .each = .{ .once = &.{
6090 .{ ._, .i_, .mul, .dst0w, .src1w, ._, ._ },
6091 } },
6092 }, .{
6093 .src_constraints = .{ .{ .int = .dword }, .{ .int = .dword }, .any },
6094 .patterns = &.{
6095 .{ .src = .{ .mem, .imm32, .none } },
6096 .{ .src = .{ .imm32, .mem, .none }, .commute = .{ 0, 1 } },
6097 .{ .src = .{ .to_gpr, .imm32, .none } },
6098 .{ .src = .{ .imm32, .to_gpr, .none }, .commute = .{ 0, 1 } },
6099 },
6100 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused },
6101 .clobbers = .{ .eflags = true },
6102 .each = .{ .once = &.{
6103 .{ ._, .i_, .mul, .dst0d, .src0d, .src1d, ._ },
6104 } },
6105 }, .{
6106 .src_constraints = .{ .{ .int = .dword }, .{ .int = .dword }, .any },
6107 .patterns = &.{
6108 .{ .src = .{ .to_mut_gpr, .mem, .none } },
6109 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
6110 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
6111 },
6112 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6113 .clobbers = .{ .eflags = true },
6114 .each = .{ .once = &.{
6115 .{ ._, .i_, .mul, .dst0d, .src1d, ._, ._ },
6116 } },
6117 }, .{
6118 .required_features = .{ .@"64bit", null, null, null },
6119 .src_constraints = .{ .{ .int = .qword }, .{ .int = .qword }, .any },
6120 .patterns = &.{
6121 .{ .src = .{ .mem, .simm32, .none } },
6122 .{ .src = .{ .simm32, .mem, .none }, .commute = .{ 0, 1 } },
6123 .{ .src = .{ .to_gpr, .simm32, .none } },
6124 .{ .src = .{ .simm32, .to_gpr, .none }, .commute = .{ 0, 1 } },
6125 },
6126 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused },
6127 .clobbers = .{ .eflags = true },
6128 .each = .{ .once = &.{
6129 .{ ._, .i_, .mul, .dst0q, .src0q, .src1q, ._ },
6130 } },
6131 }, .{
6132 .required_features = .{ .@"64bit", null, null, null },
6133 .src_constraints = .{ .{ .int = .qword }, .{ .int = .qword }, .any },
6134 .patterns = &.{
6135 .{ .src = .{ .to_mut_gpr, .mem, .none } },
6136 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
6137 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
6138 },
6139 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6140 .clobbers = .{ .eflags = true },
6141 .each = .{ .once = &.{
6142 .{ ._, .i_, .mul, .dst0q, .src1q, ._, ._ },
6143 } },
6144 }, .{
6145 .required_features = .{ .@"64bit", null, null, null },
6146 .src_constraints = .{ .{ .int = .xword }, .{ .int = .xword }, .any },
6147 .patterns = &.{
6148 .{ .src = .{ .to_mem, .to_mem, .none } },
6149 },
6150 .extra_temps = .{
6151 .{ .type = .u64, .kind = .{ .reg = .rax } },
6152 .{ .type = .u64, .kind = .{ .reg = .rdx } },
6153 .unused,
6154 .unused,
6155 .unused,
6156 .unused,
6157 .unused,
6158 .unused,
6159 .unused,
6160 },
6161 .dst_temps = .{ .mem, .unused },
6162 .clobbers = .{ .eflags = true },
6163 .each = .{ .once = &.{
6164 .{ ._, ._, .mov, .tmp0q, .src0q, ._, ._ },
6165 .{ ._, ._, .mul, .src1q, ._, ._, ._ },
6166 .{ ._, ._, .mov, .dst0q, .tmp0q, ._, ._ },
6167 .{ ._, ._, .mov, .tmp0q, .src0q, ._, ._ },
6168 .{ ._, .i_, .mul, .tmp0q, .memd(.src1q, 8), ._, ._ },
6169 .{ ._, ._, .add, .tmp1q, .tmp0q, ._, ._ },
6170 .{ ._, ._, .mov, .tmp0q, .src1q, ._, ._ },
6171 .{ ._, .i_, .mul, .tmp0q, .memd(.src0q, 8), ._, ._ },
6172 .{ ._, ._, .add, .tmp1q, .tmp0q, ._, ._ },
6173 .{ ._, ._, .mov, .memd(.dst0q, 8), .tmp1q, ._, ._ },
6174 } },
6175 }, .{
6176 .required_features = .{ .@"64bit", .bmi2, .adx, null },
6177 .src_constraints = .{
6178 .{ .remainder_int = .{ .of = .qword, .is = .qword } },
6179 .{ .remainder_int = .{ .of = .qword, .is = .qword } },
6180 .any,
6181 },
6182 .patterns = &.{
6183 .{ .src = .{ .to_mem, .to_mem, .none } },
6184 },
6185 .extra_temps = .{
6186 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6187 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
6188 .{ .type = .u64, .kind = .{ .reg = .rdx } },
6189 .{ .type = .isize, .kind = .{ .reg = .rcx } },
6190 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
6191 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
6192 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
6193 .unused,
6194 .unused,
6195 },
6196 .dst_temps = .{ .mem, .unused },
6197 .clobbers = .{ .eflags = true },
6198 .each = .{ .once = &.{
6199 .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ },
6200 .{ ._, ._, .lea, .tmp1p, .mem(.src1), ._, ._ },
6201 .{ .@"0:", ._, .xor, .tmp2d, .tmp2d, ._, ._ },
6202 .{ ._, ._, .@"or", .tmp2q, .memi(.src0q, .tmp0), ._, ._ },
6203 .{ ._, ._z, .j, .@"2f", ._, ._, ._ },
6204 .{ ._, ._, .lea, .tmp3p, .leaad(.tmp0, .sub_src0_size, 8), ._, ._ },
6205 .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
6206 .{ .@"1:", ._x, .mul, .tmp6q, .tmp5q, .leai(.tmp1q, .tmp3), ._ },
6207 .{ ._, ._x, .adc, .tmp5q, .tmp4q, ._, ._ },
6208 .{ ._, ._, .mov, .memiad(.dst0q, .tmp3, .add_size, -8), .tmp5q, ._, ._ },
6209 .{ ._, ._rcxz, .j, .@"1f", ._, ._, ._ },
6210 .{ ._, ._x, .ado, .tmp6q, .memia(.dst0q, .tmp3, .add_size), ._, ._ },
6211 .{ ._, ._, .mov, .tmp4q, .tmp6q, ._, ._ },
6212 .{ ._, ._, .lea, .tmp3p, .lead(.tmp3, 8), ._, ._ },
6213 .{ ._, ._mp, .j, .@"1b", ._, ._, ._ },
6214 .{ .@"2:", ._, .mov, .memi(.dst0q, .tmp0), .tmp2q, ._, ._ },
6215 .{ .@"1:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ },
6216 .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
6217 .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
6218 } },
6219 }, .{
6220 .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null },
6221 .src_constraints = .{
6222 .{ .remainder_int = .{ .of = .qword, .is = .qword } },
6223 .{ .remainder_int = .{ .of = .qword, .is = .qword } },
6224 .any,
6225 },
6226 .patterns = &.{
6227 .{ .src = .{ .to_mem, .to_mem, .none } },
6228 },
6229 .extra_temps = .{
6230 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6231 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
6232 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6233 .{ .type = .u64, .kind = .{ .reg = .rdx } },
6234 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
6235 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
6236 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
6237 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
6238 .unused,
6239 },
6240 .dst_temps = .{ .mem, .unused },
6241 .clobbers = .{ .eflags = true },
6242 .each = .{ .once = &.{
6243 .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
6244 .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ },
6245 .{ .@"0:", ._, .lea, .tmp2p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
6246 .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ },
6247 .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
6248 .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ },
6249 .{ ._, ._, .@"or", .tmp3q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
6250 .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
6251 .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp3q, ._, ._ },
6252 .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
6253 .{ .@"1:", ._, .adc, .tmp7q, .memsia(.dst0q, .@"8", .tmp2, .add_size), ._, ._ },
6254 .{ ._, ._, .adc, .tmp4b, .si(0), ._, ._ },
6255 .{ ._, ._, .mov, .tmp5q, .tmp7q, ._, ._ },
6256 .{ ._, ._l, .sh, .tmp4b, .ui(4), ._, ._ },
6257 .{ .@"2:", ._x, .mul, .tmp7q, .tmp6q, .leasi(.tmp1q, .@"8", .tmp2), ._ },
6258 .{ ._, ._, .adc, .tmp6q, .tmp5q, ._, ._ },
6259 .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp2, .add_size), .tmp6q, ._, ._ },
6260 .{ ._, ._c, .in, .tmp2p, ._, ._, ._ },
6261 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
6262 .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ },
6263 .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
6264 .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
6265 } },
6266 }, .{
6267 .required_features = .{ .@"64bit", .bmi2, null, null },
6268 .src_constraints = .{
6269 .{ .remainder_int = .{ .of = .qword, .is = .qword } },
6270 .{ .remainder_int = .{ .of = .qword, .is = .qword } },
6271 .any,
6272 },
6273 .patterns = &.{
6274 .{ .src = .{ .to_mem, .to_mem, .none } },
6275 },
6276 .extra_temps = .{
6277 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6278 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
6279 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6280 .{ .type = .u64, .kind = .{ .reg = .rdx } },
6281 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
6282 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
6283 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
6284 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
6285 .unused,
6286 },
6287 .dst_temps = .{ .mem, .unused },
6288 .clobbers = .{ .eflags = true },
6289 .each = .{ .once = &.{
6290 .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
6291 .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ },
6292 .{ .@"0:", ._, .lea, .tmp2p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
6293 .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ },
6294 .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
6295 .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ },
6296 .{ ._, ._, .@"or", .tmp3q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
6297 .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
6298 .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp3q, ._, ._ },
6299 .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
6300 .{ .@"1:", ._, .adc, .tmp7q, .memsia(.dst0q, .@"8", .tmp2, .add_size), ._, ._ },
6301 .{ ._, ._, .adc, .tmp4b, .si(0), ._, ._ },
6302 .{ ._, ._, .mov, .tmp5q, .tmp7q, ._, ._ },
6303 .{ ._, ._l, .sh, .tmp4b, .ui(4), ._, ._ },
6304 .{ .@"2:", ._x, .mul, .tmp7q, .tmp6q, .leasi(.tmp1q, .@"8", .tmp2), ._ },
6305 .{ ._, ._, .adc, .tmp6q, .tmp5q, ._, ._ },
6306 .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp2, .add_size), .tmp6q, ._, ._ },
6307 .{ ._, ._c, .in, .tmp2p, ._, ._, ._ },
6308 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
6309 .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ },
6310 .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
6311 .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
6312 } },
6313 }, .{
6314 .required_features = .{ .@"64bit", .slow_incdec, null, null },
6315 .src_constraints = .{
6316 .{ .remainder_int = .{ .of = .qword, .is = .qword } },
6317 .{ .remainder_int = .{ .of = .qword, .is = .qword } },
6318 .any,
6319 },
6320 .patterns = &.{
6321 .{ .src = .{ .to_mem, .to_mem, .none } },
6322 },
6323 .extra_temps = .{
6324 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6325 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
6326 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6327 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
6328 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
6329 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
6330 .{ .type = .u64, .kind = .{ .reg = .rax } },
6331 .{ .type = .u64, .kind = .{ .reg = .rdx } },
6332 .unused,
6333 },
6334 .dst_temps = .{ .mem, .unused },
6335 .clobbers = .{ .eflags = true },
6336 .each = .{ .once = &.{
6337 .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
6338 .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ },
6339 .{ .@"0:", ._, .lea, .tmp2p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
6340 .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ },
6341 .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
6342 .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ },
6343 .{ ._, ._, .@"or", .tmp3q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
6344 .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
6345 .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp3q, ._, ._ },
6346 .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
6347 .{ .@"1:", ._, .adc, .tmp7q, .memsia(.dst0q, .@"8", .tmp2, .add_size), ._, ._ },
6348 .{ ._, ._, .adc, .tmp4b, .si(0), ._, ._ },
6349 .{ ._, ._, .mov, .tmp5q, .tmp7q, ._, ._ },
6350 .{ .@"2:", ._, .mov, .tmp6q, .tmp3q, ._, ._ },
6351 .{ ._, ._, .mul, .leasi(.tmp1q, .@"8", .tmp2), ._, ._, ._ },
6352 .{ ._, ._l, .sh, .tmp4b, .ui(4), ._, ._ },
6353 .{ ._, ._, .adc, .tmp6q, .tmp5q, ._, ._ },
6354 .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp2, .add_size), .tmp6q, ._, ._ },
6355 .{ ._, ._c, .in, .tmp2p, ._, ._, ._ },
6356 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
6357 .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ },
6358 .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ },
6359 .{ ._, ._ae, .j, .@"0b", ._, ._, ._ },
6360 } },
6361 }, .{
6362 .required_features = .{ .@"64bit", null, null, null },
6363 .src_constraints = .{
6364 .{ .remainder_int = .{ .of = .qword, .is = .qword } },
6365 .{ .remainder_int = .{ .of = .qword, .is = .qword } },
6366 .any,
6367 },
6368 .patterns = &.{
6369 .{ .src = .{ .to_mem, .to_mem, .none } },
6370 },
6371 .extra_temps = .{
6372 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6373 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
6374 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6375 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
6376 .{ .type = .u8, .kind = .{ .rc = .general_purpose } },
6377 .{ .type = .u64, .kind = .{ .rc = .general_purpose } },
6378 .{ .type = .u64, .kind = .{ .reg = .rax } },
6379 .{ .type = .u64, .kind = .{ .reg = .rdx } },
6380 .unused,
6381 },
6382 .dst_temps = .{ .mem, .unused },
6383 .clobbers = .{ .eflags = true },
6384 .each = .{ .once = &.{
6385 .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
6386 .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ },
6387 .{ .@"0:", ._, .lea, .tmp2p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ },
6388 .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ },
6389 .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
6390 .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ },
6391 .{ ._, ._, .@"or", .tmp3q, .memsi(.src0q, .@"8", .tmp0), ._, ._ },
6392 .{ ._, ._nz, .j, .@"2f", ._, ._, ._ },
6393 .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp3q, ._, ._ },
6394 .{ ._, ._mp, .j, .@"3f", ._, ._, ._ },
6395 .{ .@"1:", ._, .adc, .tmp7q, .memsia(.dst0q, .@"8", .tmp2, .add_size), ._, ._ },
6396 .{ ._, ._, .adc, .tmp4b, .si(0), ._, ._ },
6397 .{ ._, ._, .mov, .tmp5q, .tmp7q, ._, ._ },
6398 .{ .@"2:", ._, .mov, .tmp6q, .tmp3q, ._, ._ },
6399 .{ ._, ._, .mul, .leasi(.tmp1q, .@"8", .tmp2), ._, ._, ._ },
6400 .{ ._, ._l, .sh, .tmp4b, .ui(4), ._, ._ },
6401 .{ ._, ._, .adc, .tmp6q, .tmp5q, ._, ._ },
6402 .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp2, .add_size), .tmp6q, ._, ._ },
6403 .{ ._, ._c, .in, .tmp2p, ._, ._, ._ },
6404 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
6405 .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ },
6406 .{ ._, ._c, .de, .tmp0d, ._, ._, ._ },
6407 .{ ._, ._ns, .j, .@"0b", ._, ._, ._ },
6408 } },
6409 }, .{
6410 .required_features = .{ .f16c, null, null, null },
6411 .src_constraints = .{
6412 .{ .scalar_float = .{ .of = .word, .is = .word } },
6413 .{ .scalar_float = .{ .of = .word, .is = .word } },
6414 .any,
6415 },
6416 .patterns = &.{
6417 .{ .src = .{ .to_sse, .to_sse, .none } },
6418 },
6419 .extra_temps = .{
6420 .{ .type = .f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },
6421 .unused,
6422 .unused,
6423 .unused,
6424 .unused,
6425 .unused,
6426 .unused,
6427 .unused,
6428 .unused,
6429 },
6430 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6431 .each = .{ .once = &.{
6432 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
6433 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
6434 .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0d, ._ },
6435 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
6436 } },
6437 }, .{
6438 .required_features = .{ .sse, null, null, null },
6439 .src_constraints = .{
6440 .{ .scalar_float = .{ .of = .word, .is = .word } },
6441 .{ .scalar_float = .{ .of = .word, .is = .word } },
6442 .any,
6443 },
6444 .patterns = &.{
6445 .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } },
6446 },
6447 .call_frame = .{ .alignment = .@"16" },
6448 .extra_temps = .{
6449 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } },
6450 .unused,
6451 .unused,
6452 .unused,
6453 .unused,
6454 .unused,
6455 .unused,
6456 .unused,
6457 .unused,
6458 },
6459 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6460 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6461 .each = .{ .once = &.{
6462 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
6463 } },
6464 }, .{
6465 .required_features = .{ .f16c, null, null, null },
6466 .src_constraints = .{
6467 .{ .scalar_float = .{ .of = .qword, .is = .word } },
6468 .{ .scalar_float = .{ .of = .qword, .is = .word } },
6469 .any,
6470 },
6471 .patterns = &.{
6472 .{ .src = .{ .mem, .mem, .none } },
6473 .{ .src = .{ .to_sse, .mem, .none } },
6474 .{ .src = .{ .mem, .to_sse, .none } },
6475 .{ .src = .{ .to_sse, .to_sse, .none } },
6476 },
6477 .extra_temps = .{
6478 .{ .type = .vector_4_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },
6479 .unused,
6480 .unused,
6481 .unused,
6482 .unused,
6483 .unused,
6484 .unused,
6485 .unused,
6486 .unused,
6487 },
6488 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6489 .each = .{ .once = &.{
6490 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
6491 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
6492 .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp0x, ._ },
6493 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
6494 } },
6495 }, .{
6496 .required_features = .{ .f16c, null, null, null },
6497 .src_constraints = .{
6498 .{ .scalar_float = .{ .of = .xword, .is = .word } },
6499 .{ .scalar_float = .{ .of = .xword, .is = .word } },
6500 .any,
6501 },
6502 .patterns = &.{
6503 .{ .src = .{ .mem, .mem, .none } },
6504 .{ .src = .{ .to_sse, .mem, .none } },
6505 .{ .src = .{ .mem, .to_sse, .none } },
6506 .{ .src = .{ .to_sse, .to_sse, .none } },
6507 },
6508 .extra_temps = .{
6509 .{ .type = .vector_8_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },
6510 .unused,
6511 .unused,
6512 .unused,
6513 .unused,
6514 .unused,
6515 .unused,
6516 .unused,
6517 .unused,
6518 },
6519 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6520 .each = .{ .once = &.{
6521 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
6522 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },
6523 .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp0y, ._ },
6524 .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ },
6525 } },
6526 }, .{
6527 .required_features = .{ .f16c, null, null, null },
6528 .src_constraints = .{
6529 .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } },
6530 .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } },
6531 .any,
6532 },
6533 .patterns = &.{
6534 .{ .src = .{ .to_mem, .to_mem, .none } },
6535 },
6536 .extra_temps = .{
6537 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6538 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
6539 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
6540 .unused,
6541 .unused,
6542 .unused,
6543 .unused,
6544 .unused,
6545 .unused,
6546 },
6547 .dst_temps = .{ .mem, .unused },
6548 .clobbers = .{ .eflags = true },
6549 .each = .{ .once = &.{
6550 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6551 .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
6552 .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
6553 .{ ._, .v_ps, .mul, .tmp1y, .tmp1y, .tmp2y, ._ },
6554 .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ },
6555 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
6556 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
6557 } },
6558 }, .{
6559 .required_features = .{ .avx, null, null, null },
6560 .src_constraints = .{
6561 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
6562 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
6563 .any,
6564 },
6565 .patterns = &.{
6566 .{ .src = .{ .to_mem, .to_mem, .none } },
6567 },
6568 .call_frame = .{ .alignment = .@"16" },
6569 .extra_temps = .{
6570 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6571 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
6572 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
6573 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } },
6574 .unused,
6575 .unused,
6576 .unused,
6577 .unused,
6578 .unused,
6579 },
6580 .dst_temps = .{ .mem, .unused },
6581 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6582 .each = .{ .once = &.{
6583 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6584 .{ .@"0:", .vp_, .xor, .tmp2x, .tmp2x, .tmp2x, ._ },
6585 .{ ._, .vp_w, .insr, .tmp1x, .tmp2x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) },
6586 .{ ._, .vp_w, .insr, .tmp2x, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0) },
6587 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
6588 .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ },
6589 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
6590 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
6591 } },
6592 }, .{
6593 .required_features = .{ .sse4_1, null, null, null },
6594 .src_constraints = .{
6595 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
6596 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
6597 .any,
6598 },
6599 .patterns = &.{
6600 .{ .src = .{ .to_mem, .to_mem, .none } },
6601 },
6602 .call_frame = .{ .alignment = .@"16" },
6603 .extra_temps = .{
6604 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6605 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
6606 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
6607 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } },
6608 .unused,
6609 .unused,
6610 .unused,
6611 .unused,
6612 .unused,
6613 },
6614 .dst_temps = .{ .mem, .unused },
6615 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6616 .each = .{ .once = &.{
6617 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6618 .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ },
6619 .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ },
6620 .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ },
6621 .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ },
6622 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
6623 .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ },
6624 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
6625 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
6626 } },
6627 }, .{
6628 .required_features = .{ .sse2, null, null, null },
6629 .src_constraints = .{
6630 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
6631 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
6632 .any,
6633 },
6634 .patterns = &.{
6635 .{ .src = .{ .to_mem, .to_mem, .none } },
6636 },
6637 .call_frame = .{ .alignment = .@"16" },
6638 .extra_temps = .{
6639 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6640 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
6641 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
6642 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } },
6643 .{ .type = .f16, .kind = .{ .reg = .ax } },
6644 .unused,
6645 .unused,
6646 .unused,
6647 .unused,
6648 },
6649 .dst_temps = .{ .mem, .unused },
6650 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6651 .each = .{ .once = &.{
6652 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6653 .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ },
6654 .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ },
6655 .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ },
6656 .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ },
6657 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
6658 .{ ._, .p_w, .extr, .tmp4d, .tmp1x, .ui(0), ._ },
6659 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp4w, ._, ._ },
6660 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
6661 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
6662 } },
6663 }, .{
6664 .required_features = .{ .sse, null, null, null },
6665 .src_constraints = .{
6666 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
6667 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
6668 .any,
6669 },
6670 .patterns = &.{
6671 .{ .src = .{ .to_mem, .to_mem, .none } },
6672 },
6673 .call_frame = .{ .alignment = .@"16" },
6674 .extra_temps = .{
6675 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6676 .{ .type = .f16, .kind = .{ .reg = .ax } },
6677 .{ .type = .f32, .kind = .mem },
6678 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
6679 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
6680 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } },
6681 .unused,
6682 .unused,
6683 .unused,
6684 },
6685 .dst_temps = .{ .mem, .unused },
6686 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6687 .each = .{ .once = &.{
6688 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6689 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
6690 .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ },
6691 .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ },
6692 .{ ._, ._, .movzx, .tmp1d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ },
6693 .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ },
6694 .{ ._, ._ss, .mov, .tmp4x, .mem(.tmp2d), ._, ._ },
6695 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
6696 .{ ._, ._ss, .mov, .mem(.tmp2d), .tmp3x, ._, ._ },
6697 .{ ._, ._, .mov, .tmp1d, .mem(.tmp2d), ._, ._ },
6698 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },
6699 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
6700 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
6701 } },
6702 }, .{
6703 .required_features = .{ .avx, null, null, null },
6704 .src_constraints = .{
6705 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
6706 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
6707 .any,
6708 },
6709 .patterns = &.{
6710 .{ .src = .{ .to_sse, .mem, .none } },
6711 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
6712 .{ .src = .{ .to_sse, .to_sse, .none } },
6713 },
6714 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6715 .each = .{ .once = &.{
6716 .{ ._, .v_ss, .mul, .dst0x, .src0x, .src1d, ._ },
6717 } },
6718 }, .{
6719 .required_features = .{ .sse, null, null, null },
6720 .src_constraints = .{
6721 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
6722 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
6723 .any,
6724 },
6725 .patterns = &.{
6726 .{ .src = .{ .to_mut_sse, .mem, .none } },
6727 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
6728 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
6729 },
6730 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6731 .each = .{ .once = &.{
6732 .{ ._, ._ss, .mul, .dst0x, .src1d, ._, ._ },
6733 } },
6734 }, .{
6735 .required_features = .{ .avx, null, null, null },
6736 .src_constraints = .{
6737 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
6738 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
6739 .any,
6740 },
6741 .patterns = &.{
6742 .{ .src = .{ .to_sse, .mem, .none } },
6743 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
6744 .{ .src = .{ .to_sse, .to_sse, .none } },
6745 },
6746 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6747 .each = .{ .once = &.{
6748 .{ ._, .v_ps, .mul, .dst0x, .src0x, .src1x, ._ },
6749 } },
6750 }, .{
6751 .required_features = .{ .sse, null, null, null },
6752 .src_constraints = .{
6753 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
6754 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
6755 .any,
6756 },
6757 .patterns = &.{
6758 .{ .src = .{ .to_mut_sse, .mem, .none } },
6759 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
6760 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
6761 },
6762 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6763 .each = .{ .once = &.{
6764 .{ ._, ._ps, .mul, .dst0x, .src1x, ._, ._ },
6765 } },
6766 }, .{
6767 .required_features = .{ .avx, null, null, null },
6768 .src_constraints = .{
6769 .{ .scalar_float = .{ .of = .yword, .is = .dword } },
6770 .{ .scalar_float = .{ .of = .yword, .is = .dword } },
6771 .any,
6772 },
6773 .patterns = &.{
6774 .{ .src = .{ .to_sse, .mem, .none } },
6775 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
6776 .{ .src = .{ .to_sse, .to_sse, .none } },
6777 },
6778 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6779 .each = .{ .once = &.{
6780 .{ ._, .v_ps, .mul, .dst0y, .src0y, .src1y, ._ },
6781 } },
6782 }, .{
6783 .required_features = .{ .avx, null, null, null },
6784 .src_constraints = .{
6785 .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } },
6786 .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } },
6787 .any,
6788 },
6789 .patterns = &.{
6790 .{ .src = .{ .to_mem, .to_mem, .none } },
6791 },
6792 .extra_temps = .{
6793 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6794 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
6795 .unused,
6796 .unused,
6797 .unused,
6798 .unused,
6799 .unused,
6800 .unused,
6801 .unused,
6802 },
6803 .dst_temps = .{ .mem, .unused },
6804 .clobbers = .{ .eflags = true },
6805 .each = .{ .once = &.{
6806 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6807 .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
6808 .{ ._, .v_ps, .mul, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
6809 .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
6810 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
6811 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
6812 } },
6813 }, .{
6814 .required_features = .{ .sse, null, null, null },
6815 .src_constraints = .{
6816 .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } },
6817 .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } },
6818 .any,
6819 },
6820 .patterns = &.{
6821 .{ .src = .{ .to_mem, .to_mem, .none } },
6822 },
6823 .extra_temps = .{
6824 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6825 .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } },
6826 .unused,
6827 .unused,
6828 .unused,
6829 .unused,
6830 .unused,
6831 .unused,
6832 .unused,
6833 },
6834 .dst_temps = .{ .mem, .unused },
6835 .clobbers = .{ .eflags = true },
6836 .each = .{ .once = &.{
6837 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6838 .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
6839 .{ ._, ._ps, .mul, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
6840 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
6841 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
6842 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
6843 } },
6844 }, .{
6845 .required_features = .{ .avx, null, null, null },
6846 .src_constraints = .{
6847 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
6848 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
6849 .any,
6850 },
6851 .patterns = &.{
6852 .{ .src = .{ .to_sse, .mem, .none } },
6853 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
6854 .{ .src = .{ .to_sse, .to_sse, .none } },
6855 },
6856 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6857 .each = .{ .once = &.{
6858 .{ ._, .v_sd, .mul, .dst0x, .src0x, .src1q, ._ },
6859 } },
6860 }, .{
6861 .required_features = .{ .sse2, null, null, null },
6862 .src_constraints = .{
6863 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
6864 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
6865 .any,
6866 },
6867 .patterns = &.{
6868 .{ .src = .{ .to_mut_sse, .mem, .none } },
6869 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
6870 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
6871 },
6872 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6873 .each = .{ .once = &.{
6874 .{ ._, ._sd, .mul, .dst0x, .src1q, ._, ._ },
6875 } },
6876 }, .{
6877 .required_features = .{ .x87, null, null, null },
6878 .src_constraints = .{
6879 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
6880 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
6881 .any,
6882 },
6883 .patterns = &.{
6884 .{ .src = .{ .mem, .mem, .none } },
6885 },
6886 .extra_temps = .{
6887 .{ .type = .f64, .kind = .{ .reg = .st6 } },
6888 .{ .type = .f64, .kind = .{ .reg = .st7 } },
6889 .unused,
6890 .unused,
6891 .unused,
6892 .unused,
6893 .unused,
6894 .unused,
6895 .unused,
6896 },
6897 .dst_temps = .{ .mem, .unused },
6898 .each = .{ .once = &.{
6899 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
6900 .{ ._, .f_, .mul, .src1q, ._, ._, ._ },
6901 .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },
6902 } },
6903 }, .{
6904 .required_features = .{ .avx, null, null, null },
6905 .src_constraints = .{
6906 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
6907 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
6908 .any,
6909 },
6910 .patterns = &.{
6911 .{ .src = .{ .to_sse, .mem, .none } },
6912 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
6913 .{ .src = .{ .to_sse, .to_sse, .none } },
6914 },
6915 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6916 .each = .{ .once = &.{
6917 .{ ._, .v_pd, .mul, .dst0x, .src0x, .src1x, ._ },
6918 } },
6919 }, .{
6920 .required_features = .{ .sse2, null, null, null },
6921 .src_constraints = .{
6922 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
6923 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
6924 .any,
6925 },
6926 .patterns = &.{
6927 .{ .src = .{ .to_mut_sse, .mem, .none } },
6928 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
6929 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
6930 },
6931 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6932 .each = .{ .once = &.{
6933 .{ ._, ._pd, .mul, .dst0x, .src1x, ._, ._ },
6934 } },
6935 }, .{
6936 .required_features = .{ .avx, null, null, null },
6937 .src_constraints = .{
6938 .{ .scalar_float = .{ .of = .yword, .is = .qword } },
6939 .{ .scalar_float = .{ .of = .yword, .is = .qword } },
6940 .any,
6941 },
6942 .patterns = &.{
6943 .{ .src = .{ .to_sse, .mem, .none } },
6944 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
6945 .{ .src = .{ .to_sse, .to_sse, .none } },
6946 },
6947 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6948 .each = .{ .once = &.{
6949 .{ ._, .v_pd, .mul, .dst0y, .src0y, .src1y, ._ },
6950 } },
6951 }, .{
6952 .required_features = .{ .avx, null, null, null },
6953 .src_constraints = .{
6954 .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } },
6955 .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } },
6956 .any,
6957 },
6958 .patterns = &.{
6959 .{ .src = .{ .to_mem, .to_mem, .none } },
6960 },
6961 .extra_temps = .{
6962 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6963 .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } },
6964 .unused,
6965 .unused,
6966 .unused,
6967 .unused,
6968 .unused,
6969 .unused,
6970 .unused,
6971 },
6972 .dst_temps = .{ .mem, .unused },
6973 .clobbers = .{ .eflags = true },
6974 .each = .{ .once = &.{
6975 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6976 .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
6977 .{ ._, .v_pd, .mul, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
6978 .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
6979 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
6980 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
6981 } },
6982 }, .{
6983 .required_features = .{ .sse2, null, null, null },
6984 .src_constraints = .{
6985 .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } },
6986 .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } },
6987 .any,
6988 },
6989 .patterns = &.{
6990 .{ .src = .{ .to_mem, .to_mem, .none } },
6991 },
6992 .extra_temps = .{
6993 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
6994 .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } },
6995 .unused,
6996 .unused,
6997 .unused,
6998 .unused,
6999 .unused,
7000 .unused,
7001 .unused,
7002 },
7003 .dst_temps = .{ .mem, .unused },
7004 .clobbers = .{ .eflags = true },
7005 .each = .{ .once = &.{
7006 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7007 .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
7008 .{ ._, ._pd, .mul, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
7009 .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
7010 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
7011 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
7012 } },
7013 }, .{
7014 .required_features = .{ .x87, null, null, null },
7015 .src_constraints = .{
7016 .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },
7017 .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },
7018 .any,
7019 },
7020 .patterns = &.{
7021 .{ .src = .{ .to_mem, .to_mem, .none } },
7022 },
7023 .extra_temps = .{
7024 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
7025 .{ .type = .f64, .kind = .{ .reg = .st6 } },
7026 .{ .type = .f64, .kind = .{ .reg = .st7 } },
7027 .unused,
7028 .unused,
7029 .unused,
7030 .unused,
7031 .unused,
7032 .unused,
7033 },
7034 .dst_temps = .{ .mem, .unused },
7035 .each = .{ .once = &.{
7036 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7037 .{ .@"0:", .f_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ },
7038 .{ ._, .f_, .mul, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._, ._ },
7039 .{ ._, .f_p, .st, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ },
7040 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
7041 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
7042 } },
7043 }, .{
7044 .required_features = .{ .x87, null, null, null },
7045 .src_constraints = .{
7046 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
7047 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
7048 .any,
7049 },
7050 .patterns = &.{
7051 .{ .src = .{ .mem, .mem, .none } },
7052 },
7053 .extra_temps = .{
7054 .{ .type = .f80, .kind = .{ .reg = .st6 } },
7055 .{ .type = .f80, .kind = .{ .reg = .st7 } },
7056 .unused,
7057 .unused,
7058 .unused,
7059 .unused,
7060 .unused,
7061 .unused,
7062 .unused,
7063 },
7064 .dst_temps = .{ .{ .rc = .x87 }, .unused },
7065 .each = .{ .once = &.{
7066 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
7067 .{ ._, .f_, .ld, .src1t, ._, ._, ._ },
7068 .{ ._, .f_p, .mul, ._, ._, ._, ._ },
7069 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
7070 } },
7071 }, .{
7072 .required_features = .{ .x87, null, null, null },
7073 .src_constraints = .{
7074 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
7075 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
7076 .any,
7077 },
7078 .patterns = &.{
7079 .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } },
7080 .{ .src = .{ .mem, .to_x87, .none } },
7081 .{ .src = .{ .to_x87, .to_x87, .none } },
7082 },
7083 .extra_temps = .{
7084 .{ .type = .f80, .kind = .{ .reg = .st7 } },
7085 .unused,
7086 .unused,
7087 .unused,
7088 .unused,
7089 .unused,
7090 .unused,
7091 .unused,
7092 .unused,
7093 },
7094 .dst_temps = .{ .{ .rc = .x87 }, .unused },
7095 .each = .{ .once = &.{
7096 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
7097 .{ ._, .f_, .mul, .tmp0t, .src1t, ._, ._ },
7098 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
7099 } },
7100 }, .{
7101 .required_features = .{ .x87, null, null, null },
7102 .src_constraints = .{
7103 .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } },
7104 .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } },
7105 .any,
7106 },
7107 .patterns = &.{
7108 .{ .src = .{ .to_mem, .to_mem, .none } },
7109 },
7110 .extra_temps = .{
7111 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
7112 .{ .type = .f80, .kind = .{ .reg = .st6 } },
7113 .{ .type = .f80, .kind = .{ .reg = .st7 } },
7114 .unused,
7115 .unused,
7116 .unused,
7117 .unused,
7118 .unused,
7119 .unused,
7120 },
7121 .dst_temps = .{ .mem, .unused },
7122 .each = .{ .once = &.{
7123 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7124 .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ },
7125 .{ ._, .f_, .ld, .memia(.src1t, .tmp0, .add_unaligned_size), ._, ._, ._ },
7126 .{ ._, .f_p, .mul, ._, ._, ._, ._ },
7127 .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ },
7128 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
7129 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
7130 } },
7131 }, .{
7132 .required_features = .{ .sse, null, null, null },
7133 .src_constraints = .{
7134 .{ .scalar_float = .{ .of = .xword, .is = .xword } },
7135 .{ .scalar_float = .{ .of = .xword, .is = .xword } },
7136 .any,
7137 },
7138 .patterns = &.{
7139 .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } },
7140 },
7141 .call_frame = .{ .alignment = .@"16" },
7142 .extra_temps = .{
7143 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__multf3" } } },
7144 .unused,
7145 .unused,
7146 .unused,
7147 .unused,
7148 .unused,
7149 .unused,
7150 .unused,
7151 .unused,
7152 },
7153 .dst_temps = .{ .{ .ref = .src0 }, .unused },
7154 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7155 .each = .{ .once = &.{
7156 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
7157 } },
7158 }, .{
7159 .required_features = .{ .avx, null, null, null },
7160 .src_constraints = .{
7161 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
7162 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
7163 .any,
7164 },
7165 .patterns = &.{
7166 .{ .src = .{ .to_mem, .to_mem, .none } },
7167 },
7168 .call_frame = .{ .alignment = .@"16" },
7169 .extra_temps = .{
7170 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
7171 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
7172 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
7173 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__multf3" } } },
7174 .unused,
7175 .unused,
7176 .unused,
7177 .unused,
7178 .unused,
7179 },
7180 .dst_temps = .{ .mem, .unused },
7181 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7182 .each = .{ .once = &.{
7183 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7184 .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
7185 .{ ._, .v_dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
7186 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
7187 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
7188 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
7189 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
7190 } },
7191 }, .{
7192 .required_features = .{ .sse2, null, null, null },
7193 .src_constraints = .{
7194 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
7195 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
7196 .any,
7197 },
7198 .patterns = &.{
7199 .{ .src = .{ .to_mem, .to_mem, .none } },
7200 },
7201 .call_frame = .{ .alignment = .@"16" },
7202 .extra_temps = .{
7203 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
7204 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
7205 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
7206 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__multf3" } } },
7207 .unused,
7208 .unused,
7209 .unused,
7210 .unused,
7211 .unused,
7212 },
7213 .dst_temps = .{ .mem, .unused },
7214 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7215 .each = .{ .once = &.{
7216 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7217 .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
7218 .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
7219 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
7220 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
7221 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
7222 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
7223 } },
7224 }, .{
7225 .required_features = .{ .sse, null, null, null },
7226 .src_constraints = .{
7227 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
7228 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
7229 .any,
7230 },
7231 .patterns = &.{
7232 .{ .src = .{ .to_mem, .to_mem, .none } },
7233 },
7234 .call_frame = .{ .alignment = .@"16" },
7235 .extra_temps = .{
7236 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
7237 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
7238 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
7239 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__multf3" } } },
7240 .unused,
7241 .unused,
7242 .unused,
7243 .unused,
7244 .unused,
7245 },
7246 .dst_temps = .{ .mem, .unused },
7247 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7248 .each = .{ .once = &.{
7249 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7250 .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
7251 .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
7252 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
7253 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
7254 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
7255 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
7256 } },
7257 } }) catch |err| switch (err) {
7258 error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{
7259 @tagName(air_tag),
7260 ty.fmt(pt),
7261 ops[0].tracking(cg),
7262 ops[1].tracking(cg),
7263 }),
7264 else => |e| return e,
7265 };
7266 try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg);
7267 },
7268 .mul_safe => unreachable,
7269 .div_float, .div_float_optimized, .div_exact, .div_exact_optimized => |air_tag| if (use_old) try cg.airMulDivBinOp(inst, switch (air_tag) {
7270 else => unreachable,
7271 .div_float, .div_float_optimized => .div_float,
7272 .div_exact, .div_exact_optimized => .div_exact,
7273 }) else {
7274 const bin_op = air_datas[@intFromEnum(inst)].bin_op;
7275 const ty = cg.typeOf(bin_op.lhs);
7276 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });
7277 var res: [1]Temp = undefined;
7278 (if (cg.floatBits(ty.scalarType(zcu))) |_| cg.select(&res, &.{ty}, &ops, comptime &.{ .{
7279 .required_features = .{ .f16c, null, null, null },
7280 .src_constraints = .{
7281 .{ .scalar_float = .{ .of = .word, .is = .word } },
7282 .{ .scalar_float = .{ .of = .word, .is = .word } },
7283 .any,
7284 },
7285 .patterns = &.{
7286 .{ .src = .{ .to_sse, .to_sse, .none } },
7287 },
7288 .extra_temps = .{
7289 .{ .type = .f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },
7290 .unused,
7291 .unused,
7292 .unused,
7293 .unused,
7294 .unused,
7295 .unused,
7296 .unused,
7297 .unused,
7298 },
7299 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
7300 .each = .{ .once = &.{
7301 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
7302 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
7303 .{ ._, .v_ss, .div, .dst0x, .dst0x, .tmp0d, ._ },
7304 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
7305 } },
7306 }, .{
7307 .required_features = .{ .sse, null, null, null },
7308 .src_constraints = .{
7309 .{ .scalar_float = .{ .of = .word, .is = .word } },
7310 .{ .scalar_float = .{ .of = .word, .is = .word } },
7311 .any,
7312 },
7313 .patterns = &.{
7314 .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } },
7315 },
7316 .call_frame = .{ .alignment = .@"16" },
7317 .extra_temps = .{
7318 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
7319 .unused,
7320 .unused,
7321 .unused,
7322 .unused,
7323 .unused,
7324 .unused,
7325 .unused,
7326 .unused,
7327 },
7328 .dst_temps = .{ .{ .ref = .src0 }, .unused },
7329 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7330 .each = .{ .once = &.{
7331 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
7332 } },
7333 }, .{
7334 .required_features = .{ .f16c, null, null, null },
7335 .src_constraints = .{
7336 .{ .scalar_float = .{ .of = .qword, .is = .word } },
7337 .{ .scalar_float = .{ .of = .qword, .is = .word } },
7338 .any,
7339 },
7340 .patterns = &.{
7341 .{ .src = .{ .mem, .mem, .none } },
7342 .{ .src = .{ .to_sse, .mem, .none } },
7343 .{ .src = .{ .mem, .to_sse, .none } },
7344 .{ .src = .{ .to_sse, .to_sse, .none } },
7345 },
7346 .extra_temps = .{
7347 .{ .type = .vector_4_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },
7348 .unused,
7349 .unused,
7350 .unused,
7351 .unused,
7352 .unused,
7353 .unused,
7354 .unused,
7355 .unused,
7356 },
7357 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
7358 .each = .{ .once = &.{
7359 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
7360 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
7361 .{ ._, .v_ps, .div, .dst0x, .dst0x, .tmp0x, ._ },
7362 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
7363 } },
7364 }, .{
7365 .required_features = .{ .f16c, null, null, null },
7366 .src_constraints = .{
7367 .{ .scalar_float = .{ .of = .xword, .is = .word } },
7368 .{ .scalar_float = .{ .of = .xword, .is = .word } },
7369 .any,
7370 },
7371 .patterns = &.{
7372 .{ .src = .{ .mem, .mem, .none } },
7373 .{ .src = .{ .to_sse, .mem, .none } },
7374 .{ .src = .{ .mem, .to_sse, .none } },
7375 .{ .src = .{ .to_sse, .to_sse, .none } },
7376 },
7377 .extra_temps = .{
7378 .{ .type = .vector_8_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },
7379 .unused,
7380 .unused,
7381 .unused,
7382 .unused,
7383 .unused,
7384 .unused,
7385 .unused,
7386 .unused,
7387 },
7388 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
7389 .each = .{ .once = &.{
7390 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
7391 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },
7392 .{ ._, .v_ps, .div, .dst0y, .dst0y, .tmp0y, ._ },
7393 .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ },
7394 } },
7395 }, .{
7396 .required_features = .{ .f16c, null, null, null },
7397 .src_constraints = .{
7398 .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } },
7399 .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } },
7400 .any,
7401 },
7402 .patterns = &.{
7403 .{ .src = .{ .to_mem, .to_mem, .none } },
7404 },
7405 .extra_temps = .{
7406 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
7407 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
7408 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
7409 .unused,
7410 .unused,
7411 .unused,
7412 .unused,
7413 .unused,
7414 .unused,
7415 },
7416 .dst_temps = .{ .mem, .unused },
7417 .clobbers = .{ .eflags = true },
7418 .each = .{ .once = &.{
7419 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7420 .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
7421 .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
7422 .{ ._, .v_ps, .div, .tmp1y, .tmp1y, .tmp2y, ._ },
7423 .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ },
7424 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
7425 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
7426 } },
7427 }, .{
7428 .required_features = .{ .avx, null, null, null },
7429 .src_constraints = .{
7430 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
7431 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
7432 .any,
7433 },
7434 .patterns = &.{
7435 .{ .src = .{ .to_mem, .to_mem, .none } },
7436 },
7437 .call_frame = .{ .alignment = .@"16" },
7438 .extra_temps = .{
7439 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
7440 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
7441 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
7442 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
7443 .unused,
7444 .unused,
7445 .unused,
7446 .unused,
7447 .unused,
7448 },
7449 .dst_temps = .{ .mem, .unused },
7450 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7451 .each = .{ .once = &.{
7452 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7453 .{ .@"0:", .vp_, .xor, .tmp2x, .tmp2x, .tmp2x, ._ },
7454 .{ ._, .vp_w, .insr, .tmp1x, .tmp2x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) },
7455 .{ ._, .vp_w, .insr, .tmp2x, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0) },
7456 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
7457 .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ },
7458 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
7459 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
7460 } },
7461 }, .{
7462 .required_features = .{ .sse4_1, null, null, null },
7463 .src_constraints = .{
7464 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
7465 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
7466 .any,
7467 },
7468 .patterns = &.{
7469 .{ .src = .{ .to_mem, .to_mem, .none } },
7470 },
7471 .call_frame = .{ .alignment = .@"16" },
7472 .extra_temps = .{
7473 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
7474 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
7475 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
7476 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
7477 .unused,
7478 .unused,
7479 .unused,
7480 .unused,
7481 .unused,
7482 },
7483 .dst_temps = .{ .mem, .unused },
7484 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7485 .each = .{ .once = &.{
7486 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7487 .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ },
7488 .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ },
7489 .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ },
7490 .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ },
7491 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
7492 .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ },
7493 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
7494 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
7495 } },
7496 }, .{
7497 .required_features = .{ .sse2, null, null, null },
7498 .src_constraints = .{
7499 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
7500 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
7501 .any,
7502 },
7503 .patterns = &.{
7504 .{ .src = .{ .to_mem, .to_mem, .none } },
7505 },
7506 .call_frame = .{ .alignment = .@"16" },
7507 .extra_temps = .{
7508 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
7509 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
7510 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
7511 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
7512 .{ .type = .f16, .kind = .{ .reg = .ax } },
7513 .unused,
7514 .unused,
7515 .unused,
7516 .unused,
7517 },
7518 .dst_temps = .{ .mem, .unused },
7519 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7520 .each = .{ .once = &.{
7521 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7522 .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ },
7523 .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ },
7524 .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ },
7525 .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ },
7526 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
7527 .{ ._, .p_w, .extr, .tmp4d, .tmp1x, .ui(0), ._ },
7528 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp4w, ._, ._ },
7529 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
7530 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
7531 } },
7532 }, .{
7533 .required_features = .{ .sse, null, null, null },
7534 .src_constraints = .{
7535 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
7536 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
7537 .any,
7538 },
7539 .patterns = &.{
7540 .{ .src = .{ .to_mem, .to_mem, .none } },
7541 },
7542 .call_frame = .{ .alignment = .@"16" },
7543 .extra_temps = .{
7544 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
7545 .{ .type = .f16, .kind = .{ .reg = .ax } },
7546 .{ .type = .f32, .kind = .mem },
7547 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
7548 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
7549 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
7550 .unused,
7551 .unused,
7552 .unused,
7553 },
7554 .dst_temps = .{ .mem, .unused },
7555 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7556 .each = .{ .once = &.{
7557 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7558 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
7559 .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ },
7560 .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ },
7561 .{ ._, ._, .movzx, .tmp1d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ },
7562 .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ },
7563 .{ ._, ._ss, .mov, .tmp4x, .mem(.tmp2d), ._, ._ },
7564 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
7565 .{ ._, ._ss, .mov, .mem(.tmp2d), .tmp3x, ._, ._ },
7566 .{ ._, ._, .mov, .tmp1d, .mem(.tmp2d), ._, ._ },
7567 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },
7568 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
7569 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
7570 } },
7571 }, .{
7572 .required_features = .{ .avx, null, null, null },
7573 .src_constraints = .{
7574 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
7575 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
7576 .any,
7577 },
7578 .patterns = &.{
7579 .{ .src = .{ .to_sse, .mem, .none } },
7580 .{ .src = .{ .to_sse, .to_sse, .none } },
7581 },
7582 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
7583 .each = .{ .once = &.{
7584 .{ ._, .v_ss, .div, .dst0x, .src0x, .src1d, ._ },
7585 } },
7586 }, .{
7587 .required_features = .{ .sse, null, null, null },
7588 .src_constraints = .{
7589 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
7590 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
7591 .any,
7592 },
7593 .patterns = &.{
7594 .{ .src = .{ .to_mut_sse, .mem, .none } },
7595 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
7596 },
7597 .dst_temps = .{ .{ .ref = .src0 }, .unused },
7598 .each = .{ .once = &.{
7599 .{ ._, ._ss, .div, .dst0x, .src1d, ._, ._ },
7600 } },
7601 }, .{
7602 .required_features = .{ .avx, null, null, null },
7603 .src_constraints = .{
7604 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
7605 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
7606 .any,
7607 },
7608 .patterns = &.{
7609 .{ .src = .{ .to_sse, .mem, .none } },
7610 .{ .src = .{ .to_sse, .to_sse, .none } },
7611 },
7612 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
7613 .each = .{ .once = &.{
7614 .{ ._, .v_ps, .div, .dst0x, .src0x, .src1x, ._ },
7615 } },
7616 }, .{
7617 .required_features = .{ .sse, null, null, null },
7618 .src_constraints = .{
7619 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
7620 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
7621 .any,
7622 },
7623 .patterns = &.{
7624 .{ .src = .{ .to_mut_sse, .mem, .none } },
7625 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
7626 },
7627 .dst_temps = .{ .{ .ref = .src0 }, .unused },
7628 .each = .{ .once = &.{
7629 .{ ._, ._ps, .div, .dst0x, .src1x, ._, ._ },
7630 } },
7631 }, .{
7632 .required_features = .{ .avx, null, null, null },
7633 .src_constraints = .{
7634 .{ .scalar_float = .{ .of = .yword, .is = .dword } },
7635 .{ .scalar_float = .{ .of = .yword, .is = .dword } },
7636 .any,
7637 },
7638 .patterns = &.{
7639 .{ .src = .{ .to_sse, .mem, .none } },
7640 .{ .src = .{ .to_sse, .to_sse, .none } },
7641 },
7642 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
7643 .each = .{ .once = &.{
7644 .{ ._, .v_ps, .div, .dst0y, .src0y, .src1y, ._ },
7645 } },
7646 }, .{
7647 .required_features = .{ .avx, null, null, null },
7648 .src_constraints = .{
7649 .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } },
7650 .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } },
7651 .any,
7652 },
7653 .patterns = &.{
7654 .{ .src = .{ .to_mem, .to_mem, .none } },
7655 },
7656 .extra_temps = .{
7657 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
7658 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
7659 .unused,
7660 .unused,
7661 .unused,
7662 .unused,
7663 .unused,
7664 .unused,
7665 .unused,
7666 },
7667 .dst_temps = .{ .mem, .unused },
7668 .clobbers = .{ .eflags = true },
7669 .each = .{ .once = &.{
7670 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7671 .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
7672 .{ ._, .v_ps, .div, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
7673 .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
7674 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
7675 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
7676 } },
7677 }, .{
7678 .required_features = .{ .sse, null, null, null },
7679 .src_constraints = .{
7680 .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } },
7681 .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } },
7682 .any,
7683 },
7684 .patterns = &.{
7685 .{ .src = .{ .to_mem, .to_mem, .none } },
7686 },
7687 .extra_temps = .{
7688 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
7689 .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } },
7690 .unused,
7691 .unused,
7692 .unused,
7693 .unused,
7694 .unused,
7695 .unused,
7696 .unused,
7697 },
7698 .dst_temps = .{ .mem, .unused },
7699 .clobbers = .{ .eflags = true },
7700 .each = .{ .once = &.{
7701 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7702 .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
7703 .{ ._, ._ps, .div, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
7704 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
7705 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
7706 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
7707 } },
7708 }, .{
7709 .required_features = .{ .avx, null, null, null },
7710 .src_constraints = .{
7711 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
7712 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
7713 .any,
7714 },
7715 .patterns = &.{
7716 .{ .src = .{ .to_sse, .mem, .none } },
7717 .{ .src = .{ .to_sse, .to_sse, .none } },
7718 },
7719 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
7720 .each = .{ .once = &.{
7721 .{ ._, .v_sd, .div, .dst0x, .src0x, .src1q, ._ },
7722 } },
7723 }, .{
7724 .required_features = .{ .sse2, null, null, null },
7725 .src_constraints = .{
7726 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
7727 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
7728 .any,
7729 },
7730 .patterns = &.{
7731 .{ .src = .{ .to_mut_sse, .mem, .none } },
7732 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
7733 },
7734 .dst_temps = .{ .{ .ref = .src0 }, .unused },
7735 .each = .{ .once = &.{
7736 .{ ._, ._sd, .div, .dst0x, .src1q, ._, ._ },
7737 } },
7738 }, .{
7739 .required_features = .{ .x87, null, null, null },
7740 .src_constraints = .{
7741 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
7742 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
7743 .any,
7744 },
7745 .patterns = &.{
7746 .{ .src = .{ .mem, .mem, .none } },
7747 },
7748 .extra_temps = .{
7749 .{ .type = .f64, .kind = .{ .reg = .st6 } },
7750 .{ .type = .f64, .kind = .{ .reg = .st7 } },
7751 .unused,
7752 .unused,
7753 .unused,
7754 .unused,
7755 .unused,
7756 .unused,
7757 .unused,
7758 },
7759 .dst_temps = .{ .mem, .unused },
7760 .each = .{ .once = &.{
7761 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
7762 .{ ._, .f_, .div, .src1q, ._, ._, ._ },
7763 .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },
7764 } },
7765 }, .{
7766 .required_features = .{ .avx, null, null, null },
7767 .src_constraints = .{
7768 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
7769 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
7770 .any,
7771 },
7772 .patterns = &.{
7773 .{ .src = .{ .to_sse, .mem, .none } },
7774 .{ .src = .{ .to_sse, .to_sse, .none } },
7775 },
7776 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
7777 .each = .{ .once = &.{
7778 .{ ._, .v_pd, .div, .dst0x, .src0x, .src1x, ._ },
7779 } },
7780 }, .{
7781 .required_features = .{ .sse2, null, null, null },
7782 .src_constraints = .{
7783 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
7784 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
7785 .any,
7786 },
7787 .patterns = &.{
7788 .{ .src = .{ .to_mut_sse, .mem, .none } },
7789 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
7790 },
7791 .dst_temps = .{ .{ .ref = .src0 }, .unused },
7792 .each = .{ .once = &.{
7793 .{ ._, ._pd, .div, .dst0x, .src1x, ._, ._ },
7794 } },
7795 }, .{
7796 .required_features = .{ .avx, null, null, null },
7797 .src_constraints = .{
7798 .{ .scalar_float = .{ .of = .yword, .is = .qword } },
7799 .{ .scalar_float = .{ .of = .yword, .is = .qword } },
7800 .any,
7801 },
7802 .patterns = &.{
7803 .{ .src = .{ .to_sse, .mem, .none } },
7804 .{ .src = .{ .to_sse, .to_sse, .none } },
7805 },
7806 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
7807 .each = .{ .once = &.{
7808 .{ ._, .v_pd, .div, .dst0y, .src0y, .src1y, ._ },
7809 } },
7810 }, .{
7811 .required_features = .{ .avx, null, null, null },
7812 .src_constraints = .{
7813 .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } },
7814 .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } },
7815 .any,
7816 },
7817 .patterns = &.{
7818 .{ .src = .{ .to_mem, .to_mem, .none } },
7819 },
7820 .extra_temps = .{
7821 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
7822 .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } },
7823 .unused,
7824 .unused,
7825 .unused,
7826 .unused,
7827 .unused,
7828 .unused,
7829 .unused,
7830 },
7831 .dst_temps = .{ .mem, .unused },
7832 .clobbers = .{ .eflags = true },
7833 .each = .{ .once = &.{
7834 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7835 .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
7836 .{ ._, .v_pd, .div, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
7837 .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
7838 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
7839 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
7840 } },
7841 }, .{
7842 .required_features = .{ .sse2, null, null, null },
7843 .src_constraints = .{
7844 .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } },
7845 .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } },
7846 .any,
7847 },
7848 .patterns = &.{
7849 .{ .src = .{ .to_mem, .to_mem, .none } },
7850 },
7851 .extra_temps = .{
7852 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
7853 .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } },
7854 .unused,
7855 .unused,
7856 .unused,
7857 .unused,
7858 .unused,
7859 .unused,
7860 .unused,
7861 },
7862 .dst_temps = .{ .mem, .unused },
7863 .clobbers = .{ .eflags = true },
7864 .each = .{ .once = &.{
7865 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7866 .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
7867 .{ ._, ._pd, .div, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
7868 .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
7869 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
7870 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
7871 } },
7872 }, .{
7873 .required_features = .{ .x87, null, null, null },
7874 .src_constraints = .{
7875 .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },
7876 .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },
7877 .any,
7878 },
7879 .patterns = &.{
7880 .{ .src = .{ .to_mem, .to_mem, .none } },
7881 },
7882 .extra_temps = .{
7883 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
7884 .{ .type = .f64, .kind = .{ .reg = .st6 } },
7885 .{ .type = .f64, .kind = .{ .reg = .st7 } },
7886 .unused,
7887 .unused,
7888 .unused,
7889 .unused,
7890 .unused,
7891 .unused,
7892 },
7893 .dst_temps = .{ .mem, .unused },
7894 .each = .{ .once = &.{
7895 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7896 .{ .@"0:", .f_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ },
7897 .{ ._, .f_, .div, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._, ._ },
7898 .{ ._, .f_p, .st, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ },
7899 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
7900 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
7901 } },
7902 }, .{
7903 .required_features = .{ .x87, null, null, null },
7904 .src_constraints = .{
7905 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
7906 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
7907 .any,
7908 },
7909 .patterns = &.{
7910 .{ .src = .{ .mem, .mem, .none } },
7911 },
7912 .extra_temps = .{
7913 .{ .type = .f80, .kind = .{ .reg = .st6 } },
7914 .{ .type = .f80, .kind = .{ .reg = .st7 } },
7915 .unused,
7916 .unused,
7917 .unused,
7918 .unused,
7919 .unused,
7920 .unused,
7921 .unused,
7922 },
7923 .dst_temps = .{ .{ .rc = .x87 }, .unused },
7924 .each = .{ .once = &.{
7925 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
7926 .{ ._, .f_, .ld, .src1t, ._, ._, ._ },
7927 .{ ._, .f_p, .div, ._, ._, ._, ._ },
7928 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
7929 } },
7930 }, .{
7931 .required_features = .{ .x87, null, null, null },
7932 .src_constraints = .{
7933 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
7934 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
7935 .any,
7936 },
7937 .patterns = &.{
7938 .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } },
7939 },
7940 .extra_temps = .{
7941 .{ .type = .f80, .kind = .{ .reg = .st7 } },
7942 .unused,
7943 .unused,
7944 .unused,
7945 .unused,
7946 .unused,
7947 .unused,
7948 .unused,
7949 .unused,
7950 },
7951 .dst_temps = .{ .{ .rc = .x87 }, .unused },
7952 .each = .{ .once = &.{
7953 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
7954 .{ ._, .f_, .divr, .tmp0t, .src1t, ._, ._ },
7955 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
7956 } },
7957 }, .{
7958 .required_features = .{ .x87, null, null, null },
7959 .src_constraints = .{
7960 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
7961 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
7962 .any,
7963 },
7964 .patterns = &.{
7965 .{ .src = .{ .mem, .to_x87, .none } },
7966 .{ .src = .{ .to_x87, .to_x87, .none } },
7967 },
7968 .extra_temps = .{
7969 .{ .type = .f80, .kind = .{ .reg = .st7 } },
7970 .unused,
7971 .unused,
7972 .unused,
7973 .unused,
7974 .unused,
7975 .unused,
7976 .unused,
7977 .unused,
7978 },
7979 .dst_temps = .{ .{ .rc = .x87 }, .unused },
7980 .each = .{ .once = &.{
7981 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
7982 .{ ._, .f_, .div, .tmp0t, .src1t, ._, ._ },
7983 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
7984 } },
7985 }, .{
7986 .required_features = .{ .x87, null, null, null },
7987 .src_constraints = .{
7988 .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } },
7989 .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } },
7990 .any,
7991 },
7992 .patterns = &.{
7993 .{ .src = .{ .to_mem, .to_mem, .none } },
7994 },
7995 .extra_temps = .{
7996 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
7997 .{ .type = .f80, .kind = .{ .reg = .st6 } },
7998 .{ .type = .f80, .kind = .{ .reg = .st7 } },
7999 .unused,
8000 .unused,
8001 .unused,
8002 .unused,
8003 .unused,
8004 .unused,
8005 },
8006 .dst_temps = .{ .mem, .unused },
8007 .each = .{ .once = &.{
8008 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
8009 .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ },
8010 .{ ._, .f_, .ld, .memia(.src1t, .tmp0, .add_unaligned_size), ._, ._, ._ },
8011 .{ ._, .f_p, .div, ._, ._, ._, ._ },
8012 .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ },
8013 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
8014 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
8015 } },
8016 }, .{
8017 .required_features = .{ .sse, null, null, null },
8018 .src_constraints = .{
8019 .{ .scalar_float = .{ .of = .xword, .is = .xword } },
8020 .{ .scalar_float = .{ .of = .xword, .is = .xword } },
8021 .any,
8022 },
8023 .patterns = &.{
8024 .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } },
8025 },
8026 .call_frame = .{ .alignment = .@"16" },
8027 .extra_temps = .{
8028 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },
8029 .unused,
8030 .unused,
8031 .unused,
8032 .unused,
8033 .unused,
8034 .unused,
8035 .unused,
8036 .unused,
8037 },
8038 .dst_temps = .{ .{ .ref = .src0 }, .unused },
8039 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8040 .each = .{ .once = &.{
8041 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
8042 } },
8043 }, .{
8044 .required_features = .{ .avx, null, null, null },
8045 .src_constraints = .{
8046 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
8047 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
8048 .any,
8049 },
8050 .patterns = &.{
8051 .{ .src = .{ .to_mem, .to_mem, .none } },
8052 },
8053 .call_frame = .{ .alignment = .@"16" },
8054 .extra_temps = .{
8055 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
8056 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
8057 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
8058 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },
8059 .unused,
8060 .unused,
8061 .unused,
8062 .unused,
8063 .unused,
8064 },
8065 .dst_temps = .{ .mem, .unused },
8066 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8067 .each = .{ .once = &.{
8068 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
8069 .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
8070 .{ ._, .v_dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
8071 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
8072 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
8073 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
8074 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
8075 } },
8076 }, .{
8077 .required_features = .{ .sse2, null, null, null },
8078 .src_constraints = .{
8079 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
8080 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
8081 .any,
8082 },
8083 .patterns = &.{
8084 .{ .src = .{ .to_mem, .to_mem, .none } },
8085 },
8086 .call_frame = .{ .alignment = .@"16" },
8087 .extra_temps = .{
8088 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
8089 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
8090 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
8091 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },
8092 .unused,
8093 .unused,
8094 .unused,
8095 .unused,
8096 .unused,
8097 },
8098 .dst_temps = .{ .mem, .unused },
8099 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8100 .each = .{ .once = &.{
8101 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
8102 .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
8103 .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
8104 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
8105 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
8106 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
8107 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
8108 } },
8109 }, .{
8110 .required_features = .{ .sse, null, null, null },
8111 .src_constraints = .{
8112 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
8113 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
8114 .any,
8115 },
8116 .patterns = &.{
8117 .{ .src = .{ .to_mem, .to_mem, .none } },
8118 },
8119 .call_frame = .{ .alignment = .@"16" },
8120 .extra_temps = .{
8121 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
8122 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
8123 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
8124 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },
8125 .unused,
8126 .unused,
8127 .unused,
8128 .unused,
8129 .unused,
8130 },
8131 .dst_temps = .{ .mem, .unused },
8132 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8133 .each = .{ .once = &.{
8134 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
8135 .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
8136 .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
8137 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
8138 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
8139 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
8140 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
8141 } },
8142 } }) else err: {
8143 assert(air_tag == .div_exact);
8144 res[0] = ops[0].divTruncInts(&ops[1], cg) catch |err| break :err err;
8145 }) catch |err| switch (err) {
8146 error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{
8147 @tagName(air_tag),
8148 ty.fmt(pt),
8149 ops[0].tracking(cg),
8150 ops[1].tracking(cg),
8151 }),
8152 else => |e| return e,
8153 };
8154 try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg);
8155 },
8156 .div_trunc => |air_tag| if (use_old) try cg.airMulDivBinOp(inst, air_tag) else {
8157 const bin_op = air_datas[@intFromEnum(inst)].bin_op;
8158 const ty = cg.typeOf(bin_op.lhs);
8159 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });
8160 var res: [1]Temp = undefined;
8161 (if (cg.floatBits(ty.scalarType(zcu))) |_| cg.select(&res, &.{ty}, &ops, comptime &.{ .{
8162 .required_features = .{ .f16c, null, null, null },
8163 .src_constraints = .{
8164 .{ .scalar_float = .{ .of = .word, .is = .word } },
8165 .{ .scalar_float = .{ .of = .word, .is = .word } },
8166 .any,
8167 },
8168 .patterns = &.{
8169 .{ .src = .{ .to_sse, .to_sse, .none } },
8170 },
8171 .extra_temps = .{
8172 .{ .type = .f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },
8173 .unused,
8174 .unused,
8175 .unused,
8176 .unused,
8177 .unused,
8178 .unused,
8179 .unused,
8180 .unused,
8181 },
8182 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
8183 .each = .{ .once = &.{
8184 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
8185 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
8186 .{ ._, .v_ss, .div, .dst0x, .dst0x, .tmp0d, ._ },
8187 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
8188 .{ ._, .v_ps, .cvtph2, .dst0x, .dst0q, ._, ._ },
8189 .{ ._, .v_ss, .round, .dst0x, .dst0x, .dst0d, .rm(.{ .direction = .zero, .precision = .inexact }) },
8190 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
8191 } },
8192 }, .{
8193 .required_features = .{ .sse, null, null, null },
8194 .src_constraints = .{
8195 .{ .scalar_float = .{ .of = .word, .is = .word } },
8196 .{ .scalar_float = .{ .of = .word, .is = .word } },
8197 .any,
8198 },
8199 .patterns = &.{
8200 .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } },
8201 },
8202 .call_frame = .{ .alignment = .@"16" },
8203 .extra_temps = .{
8204 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
8205 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__trunch" } } },
8206 .unused,
8207 .unused,
8208 .unused,
8209 .unused,
8210 .unused,
8211 .unused,
8212 .unused,
8213 },
8214 .dst_temps = .{ .{ .ref = .src0 }, .unused },
8215 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8216 .each = .{ .once = &.{
8217 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
8218 .{ ._, ._, .call, .tmp1d, ._, ._, ._ },
8219 } },
8220 }, .{
8221 .required_features = .{ .f16c, null, null, null },
8222 .src_constraints = .{
8223 .{ .scalar_float = .{ .of = .qword, .is = .word } },
8224 .{ .scalar_float = .{ .of = .qword, .is = .word } },
8225 .any,
8226 },
8227 .patterns = &.{
8228 .{ .src = .{ .mem, .mem, .none } },
8229 .{ .src = .{ .to_sse, .mem, .none } },
8230 .{ .src = .{ .mem, .to_sse, .none } },
8231 .{ .src = .{ .to_sse, .to_sse, .none } },
8232 },
8233 .extra_temps = .{
8234 .{ .type = .vector_4_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },
8235 .unused,
8236 .unused,
8237 .unused,
8238 .unused,
8239 .unused,
8240 .unused,
8241 .unused,
8242 .unused,
8243 },
8244 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
8245 .each = .{ .once = &.{
8246 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
8247 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
8248 .{ ._, .v_ps, .div, .dst0x, .dst0x, .tmp0x, ._ },
8249 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
8250 .{ ._, .v_ps, .cvtph2, .dst0x, .dst0q, ._, ._ },
8251 .{ ._, .v_ps, .round, .dst0x, .dst0x, .rm(.{ .direction = .zero, .precision = .inexact }), ._ },
8252 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
8253 } },
8254 }, .{
8255 .required_features = .{ .f16c, null, null, null },
8256 .src_constraints = .{
8257 .{ .scalar_float = .{ .of = .xword, .is = .word } },
8258 .{ .scalar_float = .{ .of = .xword, .is = .word } },
8259 .any,
8260 },
8261 .patterns = &.{
8262 .{ .src = .{ .mem, .mem, .none } },
8263 .{ .src = .{ .to_sse, .mem, .none } },
8264 .{ .src = .{ .mem, .to_sse, .none } },
8265 .{ .src = .{ .to_sse, .to_sse, .none } },
8266 },
8267 .extra_temps = .{
8268 .{ .type = .vector_8_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },
8269 .unused,
8270 .unused,
8271 .unused,
8272 .unused,
8273 .unused,
8274 .unused,
8275 .unused,
8276 .unused,
8277 },
8278 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
8279 .each = .{ .once = &.{
8280 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
8281 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },
8282 .{ ._, .v_ps, .div, .dst0y, .dst0y, .tmp0y, ._ },
8283 .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ },
8284 .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ },
8285 .{ ._, .v_ps, .round, .dst0y, .dst0y, .rm(.{ .direction = .zero, .precision = .inexact }), ._ },
8286 .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ },
8287 } },
8288 }, .{
8289 .required_features = .{ .f16c, null, null, null },
8290 .src_constraints = .{
8291 .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } },
8292 .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } },
8293 .any,
8294 },
8295 .patterns = &.{
8296 .{ .src = .{ .to_mem, .to_mem, .none } },
8297 },
8298 .extra_temps = .{
8299 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
8300 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
8301 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
8302 .unused,
8303 .unused,
8304 .unused,
8305 .unused,
8306 .unused,
8307 .unused,
8308 },
8309 .dst_temps = .{ .mem, .unused },
8310 .clobbers = .{ .eflags = true },
8311 .each = .{ .once = &.{
8312 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
8313 .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
8314 .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
8315 .{ ._, .v_ps, .div, .tmp1y, .tmp1y, .tmp2y, ._ },
8316 .{ ._, .v_, .cvtps2ph, .tmp1x, .tmp1y, .rm(.{}), ._ },
8317 .{ ._, .v_ps, .cvtph2, .tmp1y, .tmp1x, ._, ._ },
8318 .{ ._, .v_ps, .round, .tmp1y, .tmp1y, .rm(.{ .direction = .zero, .precision = .inexact }), ._ },
8319 .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ },
8320 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
8321 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
8322 } },
8323 }, .{
8324 .required_features = .{ .avx, null, null, null },
8325 .src_constraints = .{
8326 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
8327 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
8328 .any,
8329 },
8330 .patterns = &.{
8331 .{ .src = .{ .to_mem, .to_mem, .none } },
8332 },
8333 .call_frame = .{ .alignment = .@"16" },
8334 .extra_temps = .{
8335 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
8336 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
8337 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
8338 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
8339 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__trunch" } } },
8340 .unused,
8341 .unused,
8342 .unused,
8343 .unused,
8344 },
8345 .dst_temps = .{ .mem, .unused },
8346 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8347 .each = .{ .once = &.{
8348 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
8349 .{ .@"0:", .vp_, .xor, .tmp2x, .tmp2x, .tmp2x, ._ },
8350 .{ ._, .vp_w, .insr, .tmp1x, .tmp2x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) },
8351 .{ ._, .vp_w, .insr, .tmp2x, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0) },
8352 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
8353 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8354 .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ },
8355 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
8356 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
8357 } },
8358 }, .{
8359 .required_features = .{ .sse4_1, null, null, null },
8360 .src_constraints = .{
8361 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
8362 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
8363 .any,
8364 },
8365 .patterns = &.{
8366 .{ .src = .{ .to_mem, .to_mem, .none } },
8367 },
8368 .call_frame = .{ .alignment = .@"16" },
8369 .extra_temps = .{
8370 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
8371 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
8372 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
8373 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
8374 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__trunch" } } },
8375 .unused,
8376 .unused,
8377 .unused,
8378 .unused,
8379 },
8380 .dst_temps = .{ .mem, .unused },
8381 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8382 .each = .{ .once = &.{
8383 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
8384 .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ },
8385 .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ },
8386 .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ },
8387 .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ },
8388 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
8389 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8390 .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ },
8391 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
8392 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
8393 } },
8394 }, .{
8395 .required_features = .{ .sse2, null, null, null },
8396 .src_constraints = .{
8397 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
8398 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
8399 .any,
8400 },
8401 .patterns = &.{
8402 .{ .src = .{ .to_mem, .to_mem, .none } },
8403 },
8404 .call_frame = .{ .alignment = .@"16" },
8405 .extra_temps = .{
8406 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
8407 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
8408 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
8409 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
8410 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__trunch" } } },
8411 .{ .type = .f16, .kind = .{ .reg = .ax } },
8412 .unused,
8413 .unused,
8414 .unused,
8415 },
8416 .dst_temps = .{ .mem, .unused },
8417 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8418 .each = .{ .once = &.{
8419 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
8420 .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ },
8421 .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ },
8422 .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ },
8423 .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ },
8424 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
8425 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8426 .{ ._, .p_w, .extr, .tmp5d, .tmp1x, .ui(0), ._ },
8427 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp5w, ._, ._ },
8428 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
8429 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
8430 } },
8431 }, .{
8432 .required_features = .{ .sse, null, null, null },
8433 .src_constraints = .{
8434 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
8435 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
8436 .any,
8437 },
8438 .patterns = &.{
8439 .{ .src = .{ .to_mem, .to_mem, .none } },
8440 },
8441 .call_frame = .{ .alignment = .@"16" },
8442 .extra_temps = .{
8443 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
8444 .{ .type = .f16, .kind = .{ .reg = .ax } },
8445 .{ .type = .f32, .kind = .mem },
8446 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
8447 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
8448 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
8449 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__trunch" } } },
8450 .unused,
8451 .unused,
8452 },
8453 .dst_temps = .{ .mem, .unused },
8454 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8455 .each = .{ .once = &.{
8456 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
8457 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
8458 .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ },
8459 .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ },
8460 .{ ._, ._, .movzx, .tmp1d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ },
8461 .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ },
8462 .{ ._, ._ss, .mov, .tmp4x, .mem(.tmp2d), ._, ._ },
8463 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
8464 .{ ._, ._, .call, .tmp6d, ._, ._, ._ },
8465 .{ ._, ._ss, .mov, .mem(.tmp2d), .tmp3x, ._, ._ },
8466 .{ ._, ._, .mov, .tmp1d, .mem(.tmp2d), ._, ._ },
8467 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },
8468 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
8469 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
8470 } },
8471 }, .{
8472 .required_features = .{ .avx, null, null, null },
8473 .src_constraints = .{
8474 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
8475 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
8476 .any,
8477 },
8478 .patterns = &.{
8479 .{ .src = .{ .to_sse, .mem, .none } },
8480 .{ .src = .{ .to_sse, .to_sse, .none } },
8481 },
8482 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
8483 .each = .{ .once = &.{
8484 .{ ._, .v_ss, .div, .dst0x, .src0x, .src1d, ._ },
8485 .{ ._, .v_ss, .round, .dst0x, .dst0x, .dst0d, .rm(.{ .direction = .zero, .precision = .inexact }) },
8486 } },
8487 }, .{
8488 .required_features = .{ .sse4_1, null, null, null },
8489 .src_constraints = .{
8490 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
8491 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
8492 .any,
8493 },
8494 .patterns = &.{
8495 .{ .src = .{ .to_mut_sse, .mem, .none } },
8496 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
8497 },
8498 .dst_temps = .{ .{ .ref = .src0 }, .unused },
8499 .each = .{ .once = &.{
8500 .{ ._, ._ss, .div, .dst0x, .src1d, ._, ._ },
8501 .{ ._, ._ss, .round, .dst0x, .dst0d, .rm(.{ .direction = .zero, .precision = .inexact }), ._ },
8502 } },
8503 }, .{
8504 .required_features = .{ .sse, null, null, null },
8505 .src_constraints = .{
8506 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
8507 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
8508 .any,
8509 },
8510 .patterns = &.{
8511 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_mem, .none } },
8512 },
8513 .call_frame = .{ .alignment = .@"16" },
8514 .extra_temps = .{
8515 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "truncf" } } },
8516 .unused,
8517 .unused,
8518 .unused,
8519 .unused,
8520 .unused,
8521 .unused,
8522 .unused,
8523 .unused,
8524 },
8525 .dst_temps = .{ .{ .ref = .src0 }, .unused },
8526 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8527 .each = .{ .once = &.{
8528 .{ ._, ._ss, .div, .dst0x, .src1d, ._, ._ },
8529 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
8530 } },
8531 }, .{
8532 .required_features = .{ .avx, null, null, null },
8533 .src_constraints = .{
8534 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
8535 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
8536 .any,
8537 },
8538 .patterns = &.{
8539 .{ .src = .{ .to_sse, .mem, .none } },
8540 .{ .src = .{ .to_sse, .to_sse, .none } },
8541 },
8542 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
8543 .each = .{ .once = &.{
8544 .{ ._, .v_ps, .div, .dst0x, .src0x, .src1x, ._ },
8545 .{ ._, .v_ps, .round, .dst0x, .dst0x, .rm(.{ .direction = .zero, .precision = .inexact }), ._ },
8546 } },
8547 }, .{
8548 .required_features = .{ .sse4_1, null, null, null },
8549 .src_constraints = .{
8550 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
8551 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
8552 .any,
8553 },
8554 .patterns = &.{
8555 .{ .src = .{ .to_mut_sse, .mem, .none } },
8556 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
8557 },
8558 .dst_temps = .{ .{ .ref = .src0 }, .unused },
8559 .each = .{ .once = &.{
8560 .{ ._, ._ps, .div, .dst0x, .src1x, ._, ._ },
8561 .{ ._, ._ps, .round, .dst0x, .dst0x, .rm(.{ .direction = .zero, .precision = .inexact }), ._ },
8562 } },
8563 }, .{
8564 .required_features = .{ .sse, null, null, null },
8565 .src_constraints = .{
8566 .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } },
8567 .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } },
8568 .any,
8569 },
8570 .patterns = &.{
8571 .{ .src = .{ .to_mem, .to_mem, .none } },
8572 },
8573 .call_frame = .{ .alignment = .@"16" },
8574 .extra_temps = .{
8575 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
8576 .{ .type = .f32, .kind = .{ .reg = .xmm0 } },
8577 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "truncf" } } },
8578 .unused,
8579 .unused,
8580 .unused,
8581 .unused,
8582 .unused,
8583 .unused,
8584 },
8585 .dst_temps = .{ .mem, .unused },
8586 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8587 .each = .{ .once = &.{
8588 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
8589 .{ .@"0:", ._ss, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
8590 .{ ._, ._ss, .div, .tmp1x, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._ },
8591 .{ ._, ._, .call, .tmp2d, ._, ._, ._ },
8592 .{ ._, ._ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
8593 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
8594 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
8595 } },
8596 }, .{
8597 .required_features = .{ .avx, null, null, null },
8598 .src_constraints = .{
8599 .{ .scalar_float = .{ .of = .yword, .is = .dword } },
8600 .{ .scalar_float = .{ .of = .yword, .is = .dword } },
8601 .any,
8602 },
8603 .patterns = &.{
8604 .{ .src = .{ .to_sse, .mem, .none } },
8605 .{ .src = .{ .to_sse, .to_sse, .none } },
8606 },
8607 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
8608 .each = .{ .once = &.{
8609 .{ ._, .v_ps, .div, .dst0y, .src0y, .src1y, ._ },
8610 .{ ._, .v_ps, .round, .dst0y, .dst0y, .rm(.{ .direction = .zero, .precision = .inexact }), ._ },
8611 } },
8612 }, .{
8613 .required_features = .{ .avx, null, null, null },
8614 .src_constraints = .{
8615 .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } },
8616 .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } },
8617 .any,
8618 },
8619 .patterns = &.{
8620 .{ .src = .{ .to_mem, .to_mem, .none } },
8621 },
8622 .extra_temps = .{
8623 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
8624 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
8625 .unused,
8626 .unused,
8627 .unused,
8628 .unused,
8629 .unused,
8630 .unused,
8631 .unused,
8632 },
8633 .dst_temps = .{ .mem, .unused },
8634 .clobbers = .{ .eflags = true },
8635 .each = .{ .once = &.{
8636 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
8637 .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
8638 .{ ._, .v_ps, .div, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
8639 .{ ._, .v_ps, .round, .tmp1y, .tmp1y, .rm(.{ .direction = .zero, .precision = .inexact }), ._ },
8640 .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
8641 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
8642 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
8643 } },
8644 }, .{
8645 .required_features = .{ .sse4_1, null, null, null },
8646 .src_constraints = .{
8647 .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } },
8648 .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } },
8649 .any,
8650 },
8651 .patterns = &.{
8652 .{ .src = .{ .to_mem, .to_mem, .none } },
8653 },
8654 .extra_temps = .{
8655 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
8656 .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } },
8657 .unused,
8658 .unused,
8659 .unused,
8660 .unused,
8661 .unused,
8662 .unused,
8663 .unused,
8664 },
8665 .dst_temps = .{ .mem, .unused },
8666 .clobbers = .{ .eflags = true },
8667 .each = .{ .once = &.{
8668 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
8669 .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
8670 .{ ._, ._ps, .div, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
8671 .{ ._, ._ps, .round, .tmp1x, .tmp1x, .rm(.{ .direction = .zero, .precision = .inexact }), ._ },
8672 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
8673 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
8674 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
8675 } },
8676 }, .{
8677 .required_features = .{ .avx, null, null, null },
8678 .src_constraints = .{
8679 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
8680 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
8681 .any,
8682 },
8683 .patterns = &.{
8684 .{ .src = .{ .to_sse, .mem, .none } },
8685 .{ .src = .{ .to_sse, .to_sse, .none } },
8686 },
8687 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
8688 .each = .{ .once = &.{
8689 .{ ._, .v_sd, .div, .dst0x, .src0x, .src1q, ._ },
8690 .{ ._, .v_sd, .round, .dst0x, .dst0x, .dst0q, .rm(.{ .direction = .zero, .precision = .inexact }) },
8691 } },
8692 }, .{
8693 .required_features = .{ .sse4_1, null, null, null },
8694 .src_constraints = .{
8695 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
8696 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
8697 .any,
8698 },
8699 .patterns = &.{
8700 .{ .src = .{ .to_mut_sse, .mem, .none } },
8701 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
8702 },
8703 .dst_temps = .{ .{ .ref = .src0 }, .unused },
8704 .each = .{ .once = &.{
8705 .{ ._, ._sd, .div, .dst0x, .src1q, ._, ._ },
8706 .{ ._, ._sd, .round, .dst0x, .dst0q, .rm(.{ .direction = .zero, .precision = .inexact }), ._ },
8707 } },
8708 }, .{
8709 .required_features = .{ .sse2, null, null, null },
8710 .src_constraints = .{
8711 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
8712 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
8713 .any,
8714 },
8715 .patterns = &.{
8716 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_mem, .none } },
8717 },
8718 .call_frame = .{ .alignment = .@"16" },
8719 .extra_temps = .{
8720 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "trunc" } } },
8721 .unused,
8722 .unused,
8723 .unused,
8724 .unused,
8725 .unused,
8726 .unused,
8727 .unused,
8728 .unused,
8729 },
8730 .dst_temps = .{ .{ .ref = .src0 }, .unused },
8731 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8732 .each = .{ .once = &.{
8733 .{ ._, ._sd, .div, .dst0x, .src1q, ._, ._ },
8734 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
8735 } },
8736 }, .{
8737 .required_features = .{ .sse, null, null, null },
8738 .src_constraints = .{
8739 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
8740 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
8741 .any,
8742 },
8743 .patterns = &.{
8744 .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } },
8745 },
8746 .call_frame = .{ .alignment = .@"16" },
8747 .extra_temps = .{
8748 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divdf3" } } },
8749 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "trunc" } } },
8750 .unused,
8751 .unused,
8752 .unused,
8753 .unused,
8754 .unused,
8755 .unused,
8756 .unused,
8757 },
8758 .dst_temps = .{ .{ .ref = .src0 }, .unused },
8759 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8760 .each = .{ .once = &.{
8761 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
8762 .{ ._, ._, .call, .tmp1d, ._, ._, ._ },
8763 } },
8764 }, .{
8765 .required_features = .{ .avx, null, null, null },
8766 .src_constraints = .{
8767 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
8768 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
8769 .any,
8770 },
8771 .patterns = &.{
8772 .{ .src = .{ .to_sse, .mem, .none } },
8773 .{ .src = .{ .to_sse, .to_sse, .none } },
8774 },
8775 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
8776 .each = .{ .once = &.{
8777 .{ ._, .v_pd, .div, .dst0x, .src0x, .src1x, ._ },
8778 .{ ._, .v_pd, .round, .dst0x, .dst0x, .rm(.{ .direction = .zero, .precision = .inexact }), ._ },
8779 } },
8780 }, .{
8781 .required_features = .{ .sse4_1, null, null, null },
8782 .src_constraints = .{
8783 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
8784 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
8785 .any,
8786 },
8787 .patterns = &.{
8788 .{ .src = .{ .to_mut_sse, .mem, .none } },
8789 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
8790 },
8791 .dst_temps = .{ .{ .ref = .src0 }, .unused },
8792 .each = .{ .once = &.{
8793 .{ ._, ._pd, .div, .dst0x, .src1x, ._, ._ },
8794 .{ ._, ._pd, .round, .dst0x, .dst0x, .rm(.{ .direction = .zero, .precision = .inexact }), ._ },
8795 } },
8796 }, .{
8797 .required_features = .{ .avx, null, null, null },
8798 .src_constraints = .{
8799 .{ .scalar_float = .{ .of = .yword, .is = .qword } },
8800 .{ .scalar_float = .{ .of = .yword, .is = .qword } },
8801 .any,
8802 },
8803 .patterns = &.{
8804 .{ .src = .{ .to_sse, .mem, .none } },
8805 .{ .src = .{ .to_sse, .to_sse, .none } },
8806 },
8807 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
8808 .each = .{ .once = &.{
8809 .{ ._, .v_pd, .div, .dst0y, .src0y, .src1y, ._ },
8810 .{ ._, .v_pd, .round, .dst0y, .dst0y, .rm(.{ .direction = .zero, .precision = .inexact }), ._ },
8811 } },
8812 }, .{
8813 .required_features = .{ .avx, null, null, null },
8814 .src_constraints = .{
8815 .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } },
8816 .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } },
8817 .any,
8818 },
8819 .patterns = &.{
8820 .{ .src = .{ .to_mem, .to_mem, .none } },
8821 },
8822 .extra_temps = .{
8823 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
8824 .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } },
8825 .unused,
8826 .unused,
8827 .unused,
8828 .unused,
8829 .unused,
8830 .unused,
8831 .unused,
8832 },
8833 .dst_temps = .{ .mem, .unused },
8834 .clobbers = .{ .eflags = true },
8835 .each = .{ .once = &.{
8836 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
8837 .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
8838 .{ ._, .v_pd, .div, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
8839 .{ ._, .v_pd, .round, .tmp1y, .tmp1y, .rm(.{ .direction = .zero, .precision = .inexact }), ._ },
8840 .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
8841 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
8842 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
8843 } },
8844 }, .{
8845 .required_features = .{ .sse4_1, null, null, null },
8846 .src_constraints = .{
8847 .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } },
8848 .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } },
8849 .any,
8850 },
8851 .patterns = &.{
8852 .{ .src = .{ .to_mem, .to_mem, .none } },
8853 },
8854 .extra_temps = .{
8855 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
8856 .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } },
8857 .unused,
8858 .unused,
8859 .unused,
8860 .unused,
8861 .unused,
8862 .unused,
8863 .unused,
8864 },
8865 .dst_temps = .{ .mem, .unused },
8866 .clobbers = .{ .eflags = true },
8867 .each = .{ .once = &.{
8868 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
8869 .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
8870 .{ ._, ._pd, .div, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
8871 .{ ._, ._pd, .round, .tmp1x, .tmp1x, .rm(.{ .direction = .zero, .precision = .inexact }), ._ },
8872 .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
8873 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
8874 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
8875 } },
8876 }, .{
8877 .required_features = .{ .sse2, null, null, null },
8878 .src_constraints = .{
8879 .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },
8880 .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },
8881 .any,
8882 },
8883 .patterns = &.{
8884 .{ .src = .{ .to_mem, .to_mem, .none } },
8885 },
8886 .call_frame = .{ .alignment = .@"16" },
8887 .extra_temps = .{
8888 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
8889 .{ .type = .f64, .kind = .{ .reg = .xmm0 } },
8890 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "trunc" } } },
8891 .unused,
8892 .unused,
8893 .unused,
8894 .unused,
8895 .unused,
8896 .unused,
8897 },
8898 .dst_temps = .{ .mem, .unused },
8899 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8900 .each = .{ .once = &.{
8901 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
8902 .{ .@"0:", ._sd, .mov, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
8903 .{ ._, ._sd, .div, .tmp1x, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ },
8904 .{ ._, ._, .call, .tmp2d, ._, ._, ._ },
8905 .{ ._, ._sd, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
8906 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
8907 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
8908 } },
8909 }, .{
8910 .required_features = .{ .sse, null, null, null },
8911 .src_constraints = .{
8912 .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },
8913 .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },
8914 .any,
8915 },
8916 .patterns = &.{
8917 .{ .src = .{ .to_mem, .to_mem, .none } },
8918 },
8919 .call_frame = .{ .alignment = .@"16" },
8920 .extra_temps = .{
8921 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
8922 .{ .type = .f64, .kind = .{ .reg = .xmm0 } },
8923 .{ .type = .f64, .kind = .{ .reg = .xmm1 } },
8924 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divdf3" } } },
8925 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "trunc" } } },
8926 .unused,
8927 .unused,
8928 .unused,
8929 .unused,
8930 },
8931 .dst_temps = .{ .mem, .unused },
8932 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8933 .each = .{ .once = &.{
8934 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
8935 .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ },
8936 .{ ._, ._ps, .xor, .tmp2x, .tmp2x, ._, ._ },
8937 .{ ._, ._ps, .movl, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
8938 .{ ._, ._ps, .movl, .tmp2x, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ },
8939 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
8940 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8941 .{ ._, ._ps, .movl, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
8942 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
8943 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
8944 } },
8945 }, .{
8946 .required_features = .{ .x87, null, null, null },
8947 .src_constraints = .{
8948 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
8949 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
8950 .any,
8951 },
8952 .patterns = &.{
8953 .{ .src = .{ .to_mem, .to_mem, .none } },
8954 },
8955 .call_frame = .{ .size = 16, .alignment = .@"16" },
8956 .extra_temps = .{
8957 .{ .type = .f80, .kind = .{ .reg = .st6 } },
8958 .{ .type = .f80, .kind = .{ .reg = .st7 } },
8959 .{ .type = .f80, .kind = .{ .frame = .call_frame } },
8960 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__truncx" } } },
8961 .unused,
8962 .unused,
8963 .unused,
8964 .unused,
8965 .unused,
8966 },
8967 .dst_temps = .{ .{ .reg = .st0 }, .unused },
8968 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8969 .each = .{ .once = &.{
8970 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
8971 .{ ._, .f_, .ld, .src1t, ._, ._, ._ },
8972 .{ ._, .f_p, .div, ._, ._, ._, ._ },
8973 .{ ._, .f_p, .st, .mem(.tmp2t), ._, ._, ._ },
8974 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
8975 } },
8976 }, .{
8977 .required_features = .{ .x87, null, null, null },
8978 .src_constraints = .{
8979 .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } },
8980 .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } },
8981 .any,
8982 },
8983 .patterns = &.{
8984 .{ .src = .{ .to_mem, .to_mem, .none } },
8985 },
8986 .call_frame = .{ .size = 16, .alignment = .@"16" },
8987 .extra_temps = .{
8988 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
8989 .{ .type = .f80, .kind = .{ .reg = .st6 } },
8990 .{ .type = .f80, .kind = .{ .reg = .st7 } },
8991 .{ .type = .f80, .kind = .{ .frame = .call_frame } },
8992 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__truncx" } } },
8993 .unused,
8994 .unused,
8995 .unused,
8996 .unused,
8997 },
8998 .dst_temps = .{ .mem, .unused },
8999 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
9000 .each = .{ .once = &.{
9001 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
9002 .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ },
9003 .{ ._, .f_, .ld, .memia(.src1t, .tmp0, .add_unaligned_size), ._, ._, ._ },
9004 .{ ._, .f_p, .div, ._, ._, ._, ._ },
9005 .{ ._, .f_p, .st, .mem(.tmp3t), ._, ._, ._ },
9006 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
9007 .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ },
9008 .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ },
9009 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
9010 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
9011 } },
9012 }, .{
9013 .required_features = .{ .sse, null, null, null },
9014 .src_constraints = .{
9015 .{ .scalar_float = .{ .of = .xword, .is = .xword } },
9016 .{ .scalar_float = .{ .of = .xword, .is = .xword } },
9017 .any,
9018 },
9019 .patterns = &.{
9020 .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } },
9021 },
9022 .call_frame = .{ .alignment = .@"16" },
9023 .extra_temps = .{
9024 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },
9025 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "truncq" } } },
9026 .unused,
9027 .unused,
9028 .unused,
9029 .unused,
9030 .unused,
9031 .unused,
9032 .unused,
9033 },
9034 .dst_temps = .{ .{ .ref = .src0 }, .unused },
9035 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
9036 .each = .{ .once = &.{
9037 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
9038 .{ ._, ._, .call, .tmp1d, ._, ._, ._ },
9039 } },
9040 }, .{
9041 .required_features = .{ .avx, null, null, null },
9042 .src_constraints = .{
9043 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
9044 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
9045 .any,
9046 },
9047 .patterns = &.{
9048 .{ .src = .{ .to_mem, .to_mem, .none } },
9049 },
9050 .call_frame = .{ .alignment = .@"16" },
9051 .extra_temps = .{
9052 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
9053 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
9054 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
9055 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },
9056 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "truncq" } } },
9057 .unused,
9058 .unused,
9059 .unused,
9060 .unused,
9061 },
9062 .dst_temps = .{ .mem, .unused },
9063 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
9064 .each = .{ .once = &.{
9065 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
9066 .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
9067 .{ ._, .v_dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
9068 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
9069 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
9070 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
9071 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
9072 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
9073 } },
9074 }, .{
9075 .required_features = .{ .sse2, null, null, null },
9076 .src_constraints = .{
9077 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
9078 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
9079 .any,
9080 },
9081 .patterns = &.{
9082 .{ .src = .{ .to_mem, .to_mem, .none } },
9083 },
9084 .call_frame = .{ .alignment = .@"16" },
9085 .extra_temps = .{
9086 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
9087 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
9088 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
9089 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },
9090 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "truncq" } } },
9091 .unused,
9092 .unused,
9093 .unused,
9094 .unused,
9095 },
9096 .dst_temps = .{ .mem, .unused },
9097 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
9098 .each = .{ .once = &.{
9099 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
9100 .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
9101 .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
9102 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
9103 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
9104 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
9105 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
9106 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
9107 } },
9108 }, .{
9109 .required_features = .{ .sse, null, null, null },
9110 .src_constraints = .{
9111 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
9112 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
9113 .any,
9114 },
9115 .patterns = &.{
9116 .{ .src = .{ .to_mem, .to_mem, .none } },
9117 },
9118 .call_frame = .{ .alignment = .@"16" },
9119 .extra_temps = .{
9120 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
9121 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
9122 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
9123 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },
9124 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "truncq" } } },
9125 .unused,
9126 .unused,
9127 .unused,
9128 .unused,
9129 },
9130 .dst_temps = .{ .mem, .unused },
9131 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
9132 .each = .{ .once = &.{
9133 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
9134 .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
9135 .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
9136 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
9137 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
9138 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
9139 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
9140 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
70909141 } },
9142 } }) else err: {
9143 res[0] = ops[0].divTruncInts(&ops[1], cg) catch |err| break :err err;
70919144 }) catch |err| switch (err) {
70929145 error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{
70939146 @tagName(air_tag),
7094 cg.typeOf(bin_op.lhs).fmt(pt),
9147 ty.fmt(pt),
70959148 ops[0].tracking(cg),
70969149 ops[1].tracking(cg),
70979150 }),
......@@ -7134,7 +9187,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
71349187 .unused,
71359188 .unused,
71369189 },
7137 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
9190 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
71389191 .each = .{ .once = &.{
71399192 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
71409193 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
......@@ -7168,7 +9221,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
71689221 .unused,
71699222 .unused,
71709223 },
7171 .dst_temps = .{.{ .ref = .src0 }},
9224 .dst_temps = .{ .{ .ref = .src0 }, .unused },
71729225 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
71739226 .each = .{ .once = &.{
71749227 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -7198,7 +9251,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
71989251 .unused,
71999252 .unused,
72009253 },
7201 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
9254 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
72029255 .each = .{ .once = &.{
72039256 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
72049257 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
......@@ -7230,7 +9283,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
72309283 .unused,
72319284 .unused,
72329285 },
7233 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
9286 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
72349287 .each = .{ .once = &.{
72359288 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
72369289 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },
......@@ -7259,7 +9312,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
72599312 .unused,
72609313 .unused,
72619314 },
7262 .dst_temps = .{.mem},
9315 .dst_temps = .{ .mem, .unused },
72639316 .clobbers = .{ .eflags = true },
72649317 .each = .{ .once = &.{
72659318 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -7297,7 +9350,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
72979350 .unused,
72989351 .unused,
72999352 },
7300 .dst_temps = .{.mem},
9353 .dst_temps = .{ .mem, .unused },
73019354 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
73029355 .each = .{ .once = &.{
73039356 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -7336,7 +9389,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
73369389 .unused,
73379390 .unused,
73389391 },
7339 .dst_temps = .{.mem},
9392 .dst_temps = .{ .mem, .unused },
73409393 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
73419394 .each = .{ .once = &.{
73429395 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -7376,7 +9429,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
73769429 .unused,
73779430 .unused,
73789431 },
7379 .dst_temps = .{.mem},
9432 .dst_temps = .{ .mem, .unused },
73809433 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
73819434 .each = .{ .once = &.{
73829435 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -7417,7 +9470,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
74179470 .unused,
74189471 .unused,
74199472 },
7420 .dst_temps = .{.mem},
9473 .dst_temps = .{ .mem, .unused },
74219474 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
74229475 .each = .{ .once = &.{
74239476 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -7446,7 +9499,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
74469499 .{ .src = .{ .to_sse, .mem, .none } },
74479500 .{ .src = .{ .to_sse, .to_sse, .none } },
74489501 },
7449 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
9502 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
74509503 .each = .{ .once = &.{
74519504 .{ ._, .v_ss, .div, .dst0x, .src0x, .src1d, ._ },
74529505 .{ ._, .v_ss, .round, .dst0x, .dst0x, .dst0d, .rm(.{ .direction = direction, .precision = .inexact }) },
......@@ -7462,7 +9515,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
74629515 .{ .src = .{ .to_mut_sse, .mem, .none } },
74639516 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
74649517 },
7465 .dst_temps = .{.{ .ref = .src0 }},
9518 .dst_temps = .{ .{ .ref = .src0 }, .unused },
74669519 .each = .{ .once = &.{
74679520 .{ ._, ._ss, .div, .dst0x, .src1d, ._, ._ },
74689521 .{ ._, ._ss, .round, .dst0x, .dst0d, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
......@@ -7493,7 +9546,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
74939546 .unused,
74949547 .unused,
74959548 },
7496 .dst_temps = .{.{ .ref = .src0 }},
9549 .dst_temps = .{ .{ .ref = .src0 }, .unused },
74979550 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
74989551 .each = .{ .once = &.{
74999552 .{ ._, ._ss, .div, .dst0x, .src1d, ._, ._ },
......@@ -7510,7 +9563,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
75109563 .{ .src = .{ .to_sse, .mem, .none } },
75119564 .{ .src = .{ .to_sse, .to_sse, .none } },
75129565 },
7513 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
9566 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
75149567 .each = .{ .once = &.{
75159568 .{ ._, .v_ps, .div, .dst0x, .src0x, .src1x, ._ },
75169569 .{ ._, .v_ps, .round, .dst0x, .dst0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
......@@ -7526,7 +9579,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
75269579 .{ .src = .{ .to_mut_sse, .mem, .none } },
75279580 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
75289581 },
7529 .dst_temps = .{.{ .ref = .src0 }},
9582 .dst_temps = .{ .{ .ref = .src0 }, .unused },
75309583 .each = .{ .once = &.{
75319584 .{ ._, ._ps, .div, .dst0x, .src1x, ._, ._ },
75329585 .{ ._, ._ps, .round, .dst0x, .dst0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
......@@ -7557,7 +9610,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
75579610 .unused,
75589611 .unused,
75599612 },
7560 .dst_temps = .{.mem},
9613 .dst_temps = .{ .mem, .unused },
75619614 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
75629615 .each = .{ .once = &.{
75639616 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -7579,7 +9632,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
75799632 .{ .src = .{ .to_sse, .mem, .none } },
75809633 .{ .src = .{ .to_sse, .to_sse, .none } },
75819634 },
7582 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
9635 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
75839636 .each = .{ .once = &.{
75849637 .{ ._, .v_ps, .div, .dst0y, .src0y, .src1y, ._ },
75859638 .{ ._, .v_ps, .round, .dst0y, .dst0y, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
......@@ -7605,7 +9658,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
76059658 .unused,
76069659 .unused,
76079660 },
7608 .dst_temps = .{.mem},
9661 .dst_temps = .{ .mem, .unused },
76099662 .clobbers = .{ .eflags = true },
76109663 .each = .{ .once = &.{
76119664 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -7637,7 +9690,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
76379690 .unused,
76389691 .unused,
76399692 },
7640 .dst_temps = .{.mem},
9693 .dst_temps = .{ .mem, .unused },
76419694 .clobbers = .{ .eflags = true },
76429695 .each = .{ .once = &.{
76439696 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -7659,7 +9712,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
76599712 .{ .src = .{ .to_sse, .mem, .none } },
76609713 .{ .src = .{ .to_sse, .to_sse, .none } },
76619714 },
7662 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
9715 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
76639716 .each = .{ .once = &.{
76649717 .{ ._, .v_sd, .div, .dst0x, .src0x, .src1q, ._ },
76659718 .{ ._, .v_sd, .round, .dst0x, .dst0x, .dst0q, .rm(.{ .direction = direction, .precision = .inexact }) },
......@@ -7675,7 +9728,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
76759728 .{ .src = .{ .to_mut_sse, .mem, .none } },
76769729 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
76779730 },
7678 .dst_temps = .{.{ .ref = .src0 }},
9731 .dst_temps = .{ .{ .ref = .src0 }, .unused },
76799732 .each = .{ .once = &.{
76809733 .{ ._, ._sd, .div, .dst0x, .src1q, ._, ._ },
76819734 .{ ._, ._sd, .round, .dst0x, .dst0q, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
......@@ -7706,7 +9759,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
77069759 .unused,
77079760 .unused,
77089761 },
7709 .dst_temps = .{.{ .ref = .src0 }},
9762 .dst_temps = .{ .{ .ref = .src0 }, .unused },
77109763 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
77119764 .each = .{ .once = &.{
77129765 .{ ._, ._sd, .div, .dst0x, .src1q, ._, ._ },
......@@ -7738,7 +9791,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
77389791 .unused,
77399792 .unused,
77409793 },
7741 .dst_temps = .{.{ .ref = .src0 }},
9794 .dst_temps = .{ .{ .ref = .src0 }, .unused },
77429795 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
77439796 .each = .{ .once = &.{
77449797 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -7755,7 +9808,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
77559808 .{ .src = .{ .to_sse, .mem, .none } },
77569809 .{ .src = .{ .to_sse, .to_sse, .none } },
77579810 },
7758 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
9811 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
77599812 .each = .{ .once = &.{
77609813 .{ ._, .v_pd, .div, .dst0x, .src0x, .src1x, ._ },
77619814 .{ ._, .v_pd, .round, .dst0x, .dst0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
......@@ -7771,7 +9824,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
77719824 .{ .src = .{ .to_mut_sse, .mem, .none } },
77729825 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
77739826 },
7774 .dst_temps = .{.{ .ref = .src0 }},
9827 .dst_temps = .{ .{ .ref = .src0 }, .unused },
77759828 .each = .{ .once = &.{
77769829 .{ ._, ._pd, .div, .dst0x, .src1x, ._, ._ },
77779830 .{ ._, ._pd, .round, .dst0x, .dst0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
......@@ -7787,7 +9840,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
77879840 .{ .src = .{ .to_sse, .mem, .none } },
77889841 .{ .src = .{ .to_sse, .to_sse, .none } },
77899842 },
7790 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
9843 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
77919844 .each = .{ .once = &.{
77929845 .{ ._, .v_pd, .div, .dst0y, .src0y, .src1y, ._ },
77939846 .{ ._, .v_pd, .round, .dst0y, .dst0y, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
......@@ -7813,7 +9866,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
78139866 .unused,
78149867 .unused,
78159868 },
7816 .dst_temps = .{.mem},
9869 .dst_temps = .{ .mem, .unused },
78179870 .clobbers = .{ .eflags = true },
78189871 .each = .{ .once = &.{
78199872 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -7845,7 +9898,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
78459898 .unused,
78469899 .unused,
78479900 },
7848 .dst_temps = .{.mem},
9901 .dst_temps = .{ .mem, .unused },
78499902 .clobbers = .{ .eflags = true },
78509903 .each = .{ .once = &.{
78519904 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -7882,7 +9935,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
78829935 .unused,
78839936 .unused,
78849937 },
7885 .dst_temps = .{.mem},
9938 .dst_temps = .{ .mem, .unused },
78869939 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
78879940 .each = .{ .once = &.{
78889941 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -7919,7 +9972,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
79199972 .unused,
79209973 .unused,
79219974 },
7922 .dst_temps = .{.mem},
9975 .dst_temps = .{ .mem, .unused },
79239976 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
79249977 .each = .{ .once = &.{
79259978 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -7959,7 +10012,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
795910012 .unused,
796010013 .unused,
796110014 },
7962 .dst_temps = .{.{ .reg = .st0 }},
10015 .dst_temps = .{ .{ .reg = .st0 }, .unused },
796310016 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
796410017 .each = .{ .once = &.{
796510018 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
......@@ -7994,7 +10047,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
799410047 .unused,
799510048 .unused,
799610049 },
7997 .dst_temps = .{.{ .reg = .st0 }},
10050 .dst_temps = .{ .{ .reg = .st0 }, .unused },
799810051 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
799910052 .each = .{ .once = &.{
800010053 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
......@@ -8029,7 +10082,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
802910082 .unused,
803010083 .unused,
803110084 },
8032 .dst_temps = .{.{ .reg = .st0 }},
10085 .dst_temps = .{ .{ .reg = .st0 }, .unused },
803310086 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
803410087 .each = .{ .once = &.{
803510088 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
......@@ -8063,7 +10116,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
806310116 .unused,
806410117 .unused,
806510118 },
8066 .dst_temps = .{.mem},
10119 .dst_temps = .{ .mem, .unused },
806710120 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
806810121 .each = .{ .once = &.{
806910122 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -8103,7 +10156,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
810310156 .unused,
810410157 .unused,
810510158 },
8106 .dst_temps = .{.{ .ref = .src0 }},
10159 .dst_temps = .{ .{ .ref = .src0 }, .unused },
810710160 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
810810161 .each = .{ .once = &.{
810910162 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -8135,7 +10188,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
813510188 .unused,
813610189 .unused,
813710190 },
8138 .dst_temps = .{.mem},
10191 .dst_temps = .{ .mem, .unused },
813910192 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
814010193 .each = .{ .once = &.{
814110194 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -8173,7 +10226,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
817310226 .unused,
817410227 .unused,
817510228 },
8176 .dst_temps = .{.mem},
10229 .dst_temps = .{ .mem, .unused },
817710230 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
817810231 .each = .{ .once = &.{
817910232 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -8185,62 +10238,1726 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
818510238 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
818610239 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
818710240 } },
8188 }, .{
8189 .required_features = .{ .sse, null, null, null },
8190 .src_constraints = .{
8191 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
8192 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
8193 .any,
8194 },
8195 .patterns = &.{
8196 .{ .src = .{ .to_mem, .to_mem, .none } },
8197 },
8198 .call_frame = .{ .alignment = .@"16" },
8199 .extra_temps = .{
8200 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
8201 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
8202 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
8203 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },
8204 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {
8205 else => unreachable,
8206 .zero => "truncq",
8207 .down => "floorq",
8208 } } } },
8209 .unused,
8210 .unused,
8211 .unused,
8212 .unused,
8213 },
8214 .dst_temps = .{.mem},
8215 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8216 .each = .{ .once = &.{
8217 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
8218 .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
8219 .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
8220 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
8221 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8222 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
8223 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
8224 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
10241 }, .{
10242 .required_features = .{ .sse, null, null, null },
10243 .src_constraints = .{
10244 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
10245 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
10246 .any,
10247 },
10248 .patterns = &.{
10249 .{ .src = .{ .to_mem, .to_mem, .none } },
10250 },
10251 .call_frame = .{ .alignment = .@"16" },
10252 .extra_temps = .{
10253 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
10254 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
10255 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
10256 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },
10257 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = switch (direction) {
10258 else => unreachable,
10259 .zero => "truncq",
10260 .down => "floorq",
10261 } } } },
10262 .unused,
10263 .unused,
10264 .unused,
10265 .unused,
10266 },
10267 .dst_temps = .{ .mem, .unused },
10268 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10269 .each = .{ .once = &.{
10270 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
10271 .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
10272 .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
10273 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
10274 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
10275 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
10276 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
10277 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
10278 } },
10279 } },
10280 }) catch |err| switch (err) {
10281 error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{
10282 @tagName(air_tag),
10283 cg.typeOf(bin_op.lhs).fmt(pt),
10284 ops[0].tracking(cg),
10285 ops[1].tracking(cg),
10286 }),
10287 else => |e| return e,
10288 };
10289 try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg);
10290 },
10291 .div_floor => |air_tag| if (use_old) try cg.airMulDivBinOp(inst, air_tag) else fallback: {
10292 const bin_op = air_datas[@intFromEnum(inst)].bin_op;
10293 if (cg.floatBits(cg.typeOf(bin_op.lhs).scalarType(zcu)) == null) break :fallback try cg.airMulDivBinOp(inst, air_tag);
10294 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });
10295 var res: [1]Temp = undefined;
10296 cg.select(&res, &.{cg.typeOf(bin_op.lhs)}, &ops, comptime &.{ .{
10297 .required_features = .{ .f16c, null, null, null },
10298 .src_constraints = .{
10299 .{ .scalar_float = .{ .of = .word, .is = .word } },
10300 .{ .scalar_float = .{ .of = .word, .is = .word } },
10301 .any,
10302 },
10303 .patterns = &.{
10304 .{ .src = .{ .to_sse, .to_sse, .none } },
10305 },
10306 .extra_temps = .{
10307 .{ .type = .f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },
10308 .unused,
10309 .unused,
10310 .unused,
10311 .unused,
10312 .unused,
10313 .unused,
10314 .unused,
10315 .unused,
10316 },
10317 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
10318 .each = .{ .once = &.{
10319 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
10320 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
10321 .{ ._, .v_ss, .div, .dst0x, .dst0x, .tmp0d, ._ },
10322 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
10323 .{ ._, .v_ps, .cvtph2, .dst0x, .dst0q, ._, ._ },
10324 .{ ._, .v_ss, .round, .dst0x, .dst0x, .dst0d, .rm(.{ .direction = .down, .precision = .inexact }) },
10325 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
10326 } },
10327 }, .{
10328 .required_features = .{ .sse, null, null, null },
10329 .src_constraints = .{
10330 .{ .scalar_float = .{ .of = .word, .is = .word } },
10331 .{ .scalar_float = .{ .of = .word, .is = .word } },
10332 .any,
10333 },
10334 .patterns = &.{
10335 .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } },
10336 },
10337 .call_frame = .{ .alignment = .@"16" },
10338 .extra_temps = .{
10339 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
10340 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__floorh" } } },
10341 .unused,
10342 .unused,
10343 .unused,
10344 .unused,
10345 .unused,
10346 .unused,
10347 .unused,
10348 },
10349 .dst_temps = .{ .{ .ref = .src0 }, .unused },
10350 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10351 .each = .{ .once = &.{
10352 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
10353 .{ ._, ._, .call, .tmp1d, ._, ._, ._ },
10354 } },
10355 }, .{
10356 .required_features = .{ .f16c, null, null, null },
10357 .src_constraints = .{
10358 .{ .scalar_float = .{ .of = .qword, .is = .word } },
10359 .{ .scalar_float = .{ .of = .qword, .is = .word } },
10360 .any,
10361 },
10362 .patterns = &.{
10363 .{ .src = .{ .mem, .mem, .none } },
10364 .{ .src = .{ .to_sse, .mem, .none } },
10365 .{ .src = .{ .mem, .to_sse, .none } },
10366 .{ .src = .{ .to_sse, .to_sse, .none } },
10367 },
10368 .extra_temps = .{
10369 .{ .type = .vector_4_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },
10370 .unused,
10371 .unused,
10372 .unused,
10373 .unused,
10374 .unused,
10375 .unused,
10376 .unused,
10377 .unused,
10378 },
10379 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
10380 .each = .{ .once = &.{
10381 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
10382 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
10383 .{ ._, .v_ps, .div, .dst0x, .dst0x, .tmp0x, ._ },
10384 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
10385 .{ ._, .v_ps, .cvtph2, .dst0x, .dst0q, ._, ._ },
10386 .{ ._, .v_ps, .round, .dst0x, .dst0x, .rm(.{ .direction = .down, .precision = .inexact }), ._ },
10387 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
10388 } },
10389 }, .{
10390 .required_features = .{ .f16c, null, null, null },
10391 .src_constraints = .{
10392 .{ .scalar_float = .{ .of = .xword, .is = .word } },
10393 .{ .scalar_float = .{ .of = .xword, .is = .word } },
10394 .any,
10395 },
10396 .patterns = &.{
10397 .{ .src = .{ .mem, .mem, .none } },
10398 .{ .src = .{ .to_sse, .mem, .none } },
10399 .{ .src = .{ .mem, .to_sse, .none } },
10400 .{ .src = .{ .to_sse, .to_sse, .none } },
10401 },
10402 .extra_temps = .{
10403 .{ .type = .vector_8_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } },
10404 .unused,
10405 .unused,
10406 .unused,
10407 .unused,
10408 .unused,
10409 .unused,
10410 .unused,
10411 .unused,
10412 },
10413 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
10414 .each = .{ .once = &.{
10415 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
10416 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },
10417 .{ ._, .v_ps, .div, .dst0y, .dst0y, .tmp0y, ._ },
10418 .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ },
10419 .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ },
10420 .{ ._, .v_ps, .round, .dst0y, .dst0y, .rm(.{ .direction = .down, .precision = .inexact }), ._ },
10421 .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ },
10422 } },
10423 }, .{
10424 .required_features = .{ .f16c, null, null, null },
10425 .src_constraints = .{
10426 .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } },
10427 .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } },
10428 .any,
10429 },
10430 .patterns = &.{
10431 .{ .src = .{ .to_mem, .to_mem, .none } },
10432 },
10433 .extra_temps = .{
10434 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
10435 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
10436 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
10437 .unused,
10438 .unused,
10439 .unused,
10440 .unused,
10441 .unused,
10442 .unused,
10443 },
10444 .dst_temps = .{ .mem, .unused },
10445 .clobbers = .{ .eflags = true },
10446 .each = .{ .once = &.{
10447 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
10448 .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
10449 .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
10450 .{ ._, .v_ps, .div, .tmp1y, .tmp1y, .tmp2y, ._ },
10451 .{ ._, .v_, .cvtps2ph, .tmp1x, .tmp1y, .rm(.{}), ._ },
10452 .{ ._, .v_ps, .cvtph2, .tmp1y, .tmp1x, ._, ._ },
10453 .{ ._, .v_ps, .round, .tmp1y, .tmp1y, .rm(.{ .direction = .down, .precision = .inexact }), ._ },
10454 .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ },
10455 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
10456 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
10457 } },
10458 }, .{
10459 .required_features = .{ .avx, null, null, null },
10460 .src_constraints = .{
10461 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
10462 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
10463 .any,
10464 },
10465 .patterns = &.{
10466 .{ .src = .{ .to_mem, .to_mem, .none } },
10467 },
10468 .call_frame = .{ .alignment = .@"16" },
10469 .extra_temps = .{
10470 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
10471 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
10472 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
10473 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
10474 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__floorh" } } },
10475 .unused,
10476 .unused,
10477 .unused,
10478 .unused,
10479 },
10480 .dst_temps = .{ .mem, .unused },
10481 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10482 .each = .{ .once = &.{
10483 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
10484 .{ .@"0:", .vp_, .xor, .tmp2x, .tmp2x, .tmp2x, ._ },
10485 .{ ._, .vp_w, .insr, .tmp1x, .tmp2x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) },
10486 .{ ._, .vp_w, .insr, .tmp2x, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0) },
10487 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
10488 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
10489 .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ },
10490 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
10491 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
10492 } },
10493 }, .{
10494 .required_features = .{ .sse4_1, null, null, null },
10495 .src_constraints = .{
10496 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
10497 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
10498 .any,
10499 },
10500 .patterns = &.{
10501 .{ .src = .{ .to_mem, .to_mem, .none } },
10502 },
10503 .call_frame = .{ .alignment = .@"16" },
10504 .extra_temps = .{
10505 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
10506 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
10507 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
10508 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
10509 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__floorh" } } },
10510 .unused,
10511 .unused,
10512 .unused,
10513 .unused,
10514 },
10515 .dst_temps = .{ .mem, .unused },
10516 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10517 .each = .{ .once = &.{
10518 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
10519 .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ },
10520 .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ },
10521 .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ },
10522 .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ },
10523 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
10524 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
10525 .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ },
10526 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
10527 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
10528 } },
10529 }, .{
10530 .required_features = .{ .sse2, null, null, null },
10531 .src_constraints = .{
10532 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
10533 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
10534 .any,
10535 },
10536 .patterns = &.{
10537 .{ .src = .{ .to_mem, .to_mem, .none } },
10538 },
10539 .call_frame = .{ .alignment = .@"16" },
10540 .extra_temps = .{
10541 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
10542 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
10543 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
10544 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
10545 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__floorh" } } },
10546 .{ .type = .f16, .kind = .{ .reg = .ax } },
10547 .unused,
10548 .unused,
10549 .unused,
10550 },
10551 .dst_temps = .{ .mem, .unused },
10552 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10553 .each = .{ .once = &.{
10554 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
10555 .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ },
10556 .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ },
10557 .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ },
10558 .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ },
10559 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
10560 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
10561 .{ ._, .p_w, .extr, .tmp5d, .tmp1x, .ui(0), ._ },
10562 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp5w, ._, ._ },
10563 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
10564 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
10565 } },
10566 }, .{
10567 .required_features = .{ .sse, null, null, null },
10568 .src_constraints = .{
10569 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
10570 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
10571 .any,
10572 },
10573 .patterns = &.{
10574 .{ .src = .{ .to_mem, .to_mem, .none } },
10575 },
10576 .call_frame = .{ .alignment = .@"16" },
10577 .extra_temps = .{
10578 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
10579 .{ .type = .f16, .kind = .{ .reg = .ax } },
10580 .{ .type = .f32, .kind = .mem },
10581 .{ .type = .f16, .kind = .{ .reg = .xmm0 } },
10582 .{ .type = .f16, .kind = .{ .reg = .xmm1 } },
10583 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } },
10584 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__floorh" } } },
10585 .unused,
10586 .unused,
10587 },
10588 .dst_temps = .{ .mem, .unused },
10589 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10590 .each = .{ .once = &.{
10591 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
10592 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
10593 .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ },
10594 .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ },
10595 .{ ._, ._, .movzx, .tmp1d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ },
10596 .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ },
10597 .{ ._, ._ss, .mov, .tmp4x, .mem(.tmp2d), ._, ._ },
10598 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
10599 .{ ._, ._, .call, .tmp6d, ._, ._, ._ },
10600 .{ ._, ._ss, .mov, .mem(.tmp2d), .tmp3x, ._, ._ },
10601 .{ ._, ._, .mov, .tmp1d, .mem(.tmp2d), ._, ._ },
10602 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },
10603 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
10604 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
10605 } },
10606 }, .{
10607 .required_features = .{ .avx, null, null, null },
10608 .src_constraints = .{
10609 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
10610 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
10611 .any,
10612 },
10613 .patterns = &.{
10614 .{ .src = .{ .to_sse, .mem, .none } },
10615 .{ .src = .{ .to_sse, .to_sse, .none } },
10616 },
10617 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
10618 .each = .{ .once = &.{
10619 .{ ._, .v_ss, .div, .dst0x, .src0x, .src1d, ._ },
10620 .{ ._, .v_ss, .round, .dst0x, .dst0x, .dst0d, .rm(.{ .direction = .down, .precision = .inexact }) },
10621 } },
10622 }, .{
10623 .required_features = .{ .sse4_1, null, null, null },
10624 .src_constraints = .{
10625 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
10626 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
10627 .any,
10628 },
10629 .patterns = &.{
10630 .{ .src = .{ .to_mut_sse, .mem, .none } },
10631 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
10632 },
10633 .dst_temps = .{ .{ .ref = .src0 }, .unused },
10634 .each = .{ .once = &.{
10635 .{ ._, ._ss, .div, .dst0x, .src1d, ._, ._ },
10636 .{ ._, ._ss, .round, .dst0x, .dst0d, .rm(.{ .direction = .down, .precision = .inexact }), ._ },
10637 } },
10638 }, .{
10639 .required_features = .{ .sse, null, null, null },
10640 .src_constraints = .{
10641 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
10642 .{ .scalar_float = .{ .of = .dword, .is = .dword } },
10643 .any,
10644 },
10645 .patterns = &.{
10646 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_mem, .none } },
10647 },
10648 .call_frame = .{ .alignment = .@"16" },
10649 .extra_temps = .{
10650 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "floorf" } } },
10651 .unused,
10652 .unused,
10653 .unused,
10654 .unused,
10655 .unused,
10656 .unused,
10657 .unused,
10658 .unused,
10659 },
10660 .dst_temps = .{ .{ .ref = .src0 }, .unused },
10661 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10662 .each = .{ .once = &.{
10663 .{ ._, ._ss, .div, .dst0x, .src1d, ._, ._ },
10664 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
10665 } },
10666 }, .{
10667 .required_features = .{ .avx, null, null, null },
10668 .src_constraints = .{
10669 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
10670 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
10671 .any,
10672 },
10673 .patterns = &.{
10674 .{ .src = .{ .to_sse, .mem, .none } },
10675 .{ .src = .{ .to_sse, .to_sse, .none } },
10676 },
10677 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
10678 .each = .{ .once = &.{
10679 .{ ._, .v_ps, .div, .dst0x, .src0x, .src1x, ._ },
10680 .{ ._, .v_ps, .round, .dst0x, .dst0x, .rm(.{ .direction = .down, .precision = .inexact }), ._ },
10681 } },
10682 }, .{
10683 .required_features = .{ .sse4_1, null, null, null },
10684 .src_constraints = .{
10685 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
10686 .{ .scalar_float = .{ .of = .xword, .is = .dword } },
10687 .any,
10688 },
10689 .patterns = &.{
10690 .{ .src = .{ .to_mut_sse, .mem, .none } },
10691 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
10692 },
10693 .dst_temps = .{ .{ .ref = .src0 }, .unused },
10694 .each = .{ .once = &.{
10695 .{ ._, ._ps, .div, .dst0x, .src1x, ._, ._ },
10696 .{ ._, ._ps, .round, .dst0x, .dst0x, .rm(.{ .direction = .down, .precision = .inexact }), ._ },
10697 } },
10698 }, .{
10699 .required_features = .{ .sse, null, null, null },
10700 .src_constraints = .{
10701 .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } },
10702 .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } },
10703 .any,
10704 },
10705 .patterns = &.{
10706 .{ .src = .{ .to_mem, .to_mem, .none } },
10707 },
10708 .call_frame = .{ .alignment = .@"16" },
10709 .extra_temps = .{
10710 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
10711 .{ .type = .f32, .kind = .{ .reg = .xmm0 } },
10712 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "floorf" } } },
10713 .unused,
10714 .unused,
10715 .unused,
10716 .unused,
10717 .unused,
10718 .unused,
10719 },
10720 .dst_temps = .{ .mem, .unused },
10721 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10722 .each = .{ .once = &.{
10723 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
10724 .{ .@"0:", ._ss, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
10725 .{ ._, ._ss, .div, .tmp1x, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._ },
10726 .{ ._, ._, .call, .tmp2d, ._, ._, ._ },
10727 .{ ._, ._ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
10728 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
10729 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
10730 } },
10731 }, .{
10732 .required_features = .{ .avx, null, null, null },
10733 .src_constraints = .{
10734 .{ .scalar_float = .{ .of = .yword, .is = .dword } },
10735 .{ .scalar_float = .{ .of = .yword, .is = .dword } },
10736 .any,
10737 },
10738 .patterns = &.{
10739 .{ .src = .{ .to_sse, .mem, .none } },
10740 .{ .src = .{ .to_sse, .to_sse, .none } },
10741 },
10742 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
10743 .each = .{ .once = &.{
10744 .{ ._, .v_ps, .div, .dst0y, .src0y, .src1y, ._ },
10745 .{ ._, .v_ps, .round, .dst0y, .dst0y, .rm(.{ .direction = .down, .precision = .inexact }), ._ },
10746 } },
10747 }, .{
10748 .required_features = .{ .avx, null, null, null },
10749 .src_constraints = .{
10750 .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } },
10751 .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } },
10752 .any,
10753 },
10754 .patterns = &.{
10755 .{ .src = .{ .to_mem, .to_mem, .none } },
10756 },
10757 .extra_temps = .{
10758 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
10759 .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } },
10760 .unused,
10761 .unused,
10762 .unused,
10763 .unused,
10764 .unused,
10765 .unused,
10766 .unused,
10767 },
10768 .dst_temps = .{ .mem, .unused },
10769 .clobbers = .{ .eflags = true },
10770 .each = .{ .once = &.{
10771 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
10772 .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
10773 .{ ._, .v_ps, .div, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
10774 .{ ._, .v_ps, .round, .tmp1y, .tmp1y, .rm(.{ .direction = .down, .precision = .inexact }), ._ },
10775 .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
10776 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
10777 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
10778 } },
10779 }, .{
10780 .required_features = .{ .sse4_1, null, null, null },
10781 .src_constraints = .{
10782 .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } },
10783 .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } },
10784 .any,
10785 },
10786 .patterns = &.{
10787 .{ .src = .{ .to_mem, .to_mem, .none } },
10788 },
10789 .extra_temps = .{
10790 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
10791 .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } },
10792 .unused,
10793 .unused,
10794 .unused,
10795 .unused,
10796 .unused,
10797 .unused,
10798 .unused,
10799 },
10800 .dst_temps = .{ .mem, .unused },
10801 .clobbers = .{ .eflags = true },
10802 .each = .{ .once = &.{
10803 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
10804 .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
10805 .{ ._, ._ps, .div, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
10806 .{ ._, ._ps, .round, .tmp1x, .tmp1x, .rm(.{ .direction = .down, .precision = .inexact }), ._ },
10807 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
10808 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
10809 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
10810 } },
10811 }, .{
10812 .required_features = .{ .avx, null, null, null },
10813 .src_constraints = .{
10814 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
10815 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
10816 .any,
10817 },
10818 .patterns = &.{
10819 .{ .src = .{ .to_sse, .mem, .none } },
10820 .{ .src = .{ .to_sse, .to_sse, .none } },
10821 },
10822 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
10823 .each = .{ .once = &.{
10824 .{ ._, .v_sd, .div, .dst0x, .src0x, .src1q, ._ },
10825 .{ ._, .v_sd, .round, .dst0x, .dst0x, .dst0q, .rm(.{ .direction = .down, .precision = .inexact }) },
10826 } },
10827 }, .{
10828 .required_features = .{ .sse4_1, null, null, null },
10829 .src_constraints = .{
10830 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
10831 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
10832 .any,
10833 },
10834 .patterns = &.{
10835 .{ .src = .{ .to_mut_sse, .mem, .none } },
10836 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
10837 },
10838 .dst_temps = .{ .{ .ref = .src0 }, .unused },
10839 .each = .{ .once = &.{
10840 .{ ._, ._sd, .div, .dst0x, .src1q, ._, ._ },
10841 .{ ._, ._sd, .round, .dst0x, .dst0q, .rm(.{ .direction = .down, .precision = .inexact }), ._ },
10842 } },
10843 }, .{
10844 .required_features = .{ .sse2, null, null, null },
10845 .src_constraints = .{
10846 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
10847 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
10848 .any,
10849 },
10850 .patterns = &.{
10851 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_mem, .none } },
10852 },
10853 .call_frame = .{ .alignment = .@"16" },
10854 .extra_temps = .{
10855 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "floor" } } },
10856 .unused,
10857 .unused,
10858 .unused,
10859 .unused,
10860 .unused,
10861 .unused,
10862 .unused,
10863 .unused,
10864 },
10865 .dst_temps = .{ .{ .ref = .src0 }, .unused },
10866 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10867 .each = .{ .once = &.{
10868 .{ ._, ._sd, .div, .dst0x, .src1q, ._, ._ },
10869 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
10870 } },
10871 }, .{
10872 .required_features = .{ .sse, null, null, null },
10873 .src_constraints = .{
10874 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
10875 .{ .scalar_float = .{ .of = .qword, .is = .qword } },
10876 .any,
10877 },
10878 .patterns = &.{
10879 .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } },
10880 },
10881 .call_frame = .{ .alignment = .@"16" },
10882 .extra_temps = .{
10883 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divdf3" } } },
10884 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "floor" } } },
10885 .unused,
10886 .unused,
10887 .unused,
10888 .unused,
10889 .unused,
10890 .unused,
10891 .unused,
10892 },
10893 .dst_temps = .{ .{ .ref = .src0 }, .unused },
10894 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
10895 .each = .{ .once = &.{
10896 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
10897 .{ ._, ._, .call, .tmp1d, ._, ._, ._ },
10898 } },
10899 }, .{
10900 .required_features = .{ .avx, null, null, null },
10901 .src_constraints = .{
10902 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
10903 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
10904 .any,
10905 },
10906 .patterns = &.{
10907 .{ .src = .{ .to_sse, .mem, .none } },
10908 .{ .src = .{ .to_sse, .to_sse, .none } },
10909 },
10910 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
10911 .each = .{ .once = &.{
10912 .{ ._, .v_pd, .div, .dst0x, .src0x, .src1x, ._ },
10913 .{ ._, .v_pd, .round, .dst0x, .dst0x, .rm(.{ .direction = .down, .precision = .inexact }), ._ },
10914 } },
10915 }, .{
10916 .required_features = .{ .sse4_1, null, null, null },
10917 .src_constraints = .{
10918 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
10919 .{ .scalar_float = .{ .of = .xword, .is = .qword } },
10920 .any,
10921 },
10922 .patterns = &.{
10923 .{ .src = .{ .to_mut_sse, .mem, .none } },
10924 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
10925 },
10926 .dst_temps = .{ .{ .ref = .src0 }, .unused },
10927 .each = .{ .once = &.{
10928 .{ ._, ._pd, .div, .dst0x, .src1x, ._, ._ },
10929 .{ ._, ._pd, .round, .dst0x, .dst0x, .rm(.{ .direction = .down, .precision = .inexact }), ._ },
10930 } },
10931 }, .{
10932 .required_features = .{ .avx, null, null, null },
10933 .src_constraints = .{
10934 .{ .scalar_float = .{ .of = .yword, .is = .qword } },
10935 .{ .scalar_float = .{ .of = .yword, .is = .qword } },
10936 .any,
10937 },
10938 .patterns = &.{
10939 .{ .src = .{ .to_sse, .mem, .none } },
10940 .{ .src = .{ .to_sse, .to_sse, .none } },
10941 },
10942 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
10943 .each = .{ .once = &.{
10944 .{ ._, .v_pd, .div, .dst0y, .src0y, .src1y, ._ },
10945 .{ ._, .v_pd, .round, .dst0y, .dst0y, .rm(.{ .direction = .down, .precision = .inexact }), ._ },
10946 } },
10947 }, .{
10948 .required_features = .{ .avx, null, null, null },
10949 .src_constraints = .{
10950 .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } },
10951 .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } },
10952 .any,
10953 },
10954 .patterns = &.{
10955 .{ .src = .{ .to_mem, .to_mem, .none } },
10956 },
10957 .extra_temps = .{
10958 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
10959 .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } },
10960 .unused,
10961 .unused,
10962 .unused,
10963 .unused,
10964 .unused,
10965 .unused,
10966 .unused,
10967 },
10968 .dst_temps = .{ .mem, .unused },
10969 .clobbers = .{ .eflags = true },
10970 .each = .{ .once = &.{
10971 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
10972 .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
10973 .{ ._, .v_pd, .div, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ },
10974 .{ ._, .v_pd, .round, .tmp1y, .tmp1y, .rm(.{ .direction = .down, .precision = .inexact }), ._ },
10975 .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ },
10976 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
10977 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
10978 } },
10979 }, .{
10980 .required_features = .{ .sse4_1, null, null, null },
10981 .src_constraints = .{
10982 .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } },
10983 .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } },
10984 .any,
10985 },
10986 .patterns = &.{
10987 .{ .src = .{ .to_mem, .to_mem, .none } },
10988 },
10989 .extra_temps = .{
10990 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
10991 .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } },
10992 .unused,
10993 .unused,
10994 .unused,
10995 .unused,
10996 .unused,
10997 .unused,
10998 .unused,
10999 },
11000 .dst_temps = .{ .mem, .unused },
11001 .clobbers = .{ .eflags = true },
11002 .each = .{ .once = &.{
11003 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
11004 .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
11005 .{ ._, ._pd, .div, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
11006 .{ ._, ._pd, .round, .tmp1x, .tmp1x, .rm(.{ .direction = .down, .precision = .inexact }), ._ },
11007 .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
11008 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
11009 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
11010 } },
11011 }, .{
11012 .required_features = .{ .sse2, null, null, null },
11013 .src_constraints = .{
11014 .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },
11015 .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },
11016 .any,
11017 },
11018 .patterns = &.{
11019 .{ .src = .{ .to_mem, .to_mem, .none } },
11020 },
11021 .call_frame = .{ .alignment = .@"16" },
11022 .extra_temps = .{
11023 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
11024 .{ .type = .f64, .kind = .{ .reg = .xmm0 } },
11025 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "floor" } } },
11026 .unused,
11027 .unused,
11028 .unused,
11029 .unused,
11030 .unused,
11031 .unused,
11032 },
11033 .dst_temps = .{ .mem, .unused },
11034 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
11035 .each = .{ .once = &.{
11036 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
11037 .{ .@"0:", ._sd, .mov, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
11038 .{ ._, ._sd, .div, .tmp1x, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ },
11039 .{ ._, ._, .call, .tmp2d, ._, ._, ._ },
11040 .{ ._, ._sd, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
11041 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
11042 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
11043 } },
11044 }, .{
11045 .required_features = .{ .sse, null, null, null },
11046 .src_constraints = .{
11047 .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },
11048 .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } },
11049 .any,
11050 },
11051 .patterns = &.{
11052 .{ .src = .{ .to_mem, .to_mem, .none } },
11053 },
11054 .call_frame = .{ .alignment = .@"16" },
11055 .extra_temps = .{
11056 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
11057 .{ .type = .f64, .kind = .{ .reg = .xmm0 } },
11058 .{ .type = .f64, .kind = .{ .reg = .xmm1 } },
11059 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divdf3" } } },
11060 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "floor" } } },
11061 .unused,
11062 .unused,
11063 .unused,
11064 .unused,
11065 },
11066 .dst_temps = .{ .mem, .unused },
11067 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
11068 .each = .{ .once = &.{
11069 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
11070 .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ },
11071 .{ ._, ._ps, .xor, .tmp2x, .tmp2x, ._, ._ },
11072 .{ ._, ._ps, .movl, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
11073 .{ ._, ._ps, .movl, .tmp2x, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ },
11074 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
11075 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
11076 .{ ._, ._ps, .movl, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
11077 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
11078 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
11079 } },
11080 }, .{
11081 .required_features = .{ .x87, null, null, null },
11082 .src_constraints = .{
11083 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
11084 .{ .scalar_float = .{ .of = .xword, .is = .tbyte } },
11085 .any,
11086 },
11087 .patterns = &.{
11088 .{ .src = .{ .to_mem, .to_mem, .none } },
11089 },
11090 .call_frame = .{ .size = 16, .alignment = .@"16" },
11091 .extra_temps = .{
11092 .{ .type = .f80, .kind = .{ .reg = .st6 } },
11093 .{ .type = .f80, .kind = .{ .reg = .st7 } },
11094 .{ .type = .f80, .kind = .{ .frame = .call_frame } },
11095 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__floorx" } } },
11096 .unused,
11097 .unused,
11098 .unused,
11099 .unused,
11100 .unused,
11101 },
11102 .dst_temps = .{ .{ .reg = .st0 }, .unused },
11103 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
11104 .each = .{ .once = &.{
11105 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
11106 .{ ._, .f_, .ld, .src1t, ._, ._, ._ },
11107 .{ ._, .f_p, .div, ._, ._, ._, ._ },
11108 .{ ._, .f_p, .st, .mem(.tmp2t), ._, ._, ._ },
11109 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
11110 } },
11111 }, .{
11112 .required_features = .{ .x87, null, null, null },
11113 .src_constraints = .{
11114 .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } },
11115 .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } },
11116 .any,
11117 },
11118 .patterns = &.{
11119 .{ .src = .{ .to_mem, .to_mem, .none } },
11120 },
11121 .call_frame = .{ .size = 16, .alignment = .@"16" },
11122 .extra_temps = .{
11123 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
11124 .{ .type = .f80, .kind = .{ .reg = .st6 } },
11125 .{ .type = .f80, .kind = .{ .reg = .st7 } },
11126 .{ .type = .f80, .kind = .{ .frame = .call_frame } },
11127 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__floorx" } } },
11128 .unused,
11129 .unused,
11130 .unused,
11131 .unused,
11132 },
11133 .dst_temps = .{ .mem, .unused },
11134 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
11135 .each = .{ .once = &.{
11136 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
11137 .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ },
11138 .{ ._, .f_, .ld, .memia(.src1t, .tmp0, .add_unaligned_size), ._, ._, ._ },
11139 .{ ._, .f_p, .div, ._, ._, ._, ._ },
11140 .{ ._, .f_p, .st, .mem(.tmp3t), ._, ._, ._ },
11141 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
11142 .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ },
11143 .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ },
11144 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
11145 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
11146 } },
11147 }, .{
11148 .required_features = .{ .sse, null, null, null },
11149 .src_constraints = .{
11150 .{ .scalar_float = .{ .of = .xword, .is = .xword } },
11151 .{ .scalar_float = .{ .of = .xword, .is = .xword } },
11152 .any,
11153 },
11154 .patterns = &.{
11155 .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } },
11156 },
11157 .call_frame = .{ .alignment = .@"16" },
11158 .extra_temps = .{
11159 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },
11160 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "floorq" } } },
11161 .unused,
11162 .unused,
11163 .unused,
11164 .unused,
11165 .unused,
11166 .unused,
11167 .unused,
11168 },
11169 .dst_temps = .{ .{ .ref = .src0 }, .unused },
11170 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
11171 .each = .{ .once = &.{
11172 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
11173 .{ ._, ._, .call, .tmp1d, ._, ._, ._ },
11174 } },
11175 }, .{
11176 .required_features = .{ .avx, null, null, null },
11177 .src_constraints = .{
11178 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
11179 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
11180 .any,
11181 },
11182 .patterns = &.{
11183 .{ .src = .{ .to_mem, .to_mem, .none } },
11184 },
11185 .call_frame = .{ .alignment = .@"16" },
11186 .extra_temps = .{
11187 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
11188 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
11189 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
11190 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },
11191 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "floorq" } } },
11192 .unused,
11193 .unused,
11194 .unused,
11195 .unused,
11196 },
11197 .dst_temps = .{ .mem, .unused },
11198 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
11199 .each = .{ .once = &.{
11200 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
11201 .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
11202 .{ ._, .v_dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
11203 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
11204 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
11205 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
11206 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
11207 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
11208 } },
11209 }, .{
11210 .required_features = .{ .sse2, null, null, null },
11211 .src_constraints = .{
11212 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
11213 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
11214 .any,
11215 },
11216 .patterns = &.{
11217 .{ .src = .{ .to_mem, .to_mem, .none } },
11218 },
11219 .call_frame = .{ .alignment = .@"16" },
11220 .extra_temps = .{
11221 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
11222 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
11223 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
11224 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },
11225 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "floorq" } } },
11226 .unused,
11227 .unused,
11228 .unused,
11229 .unused,
11230 },
11231 .dst_temps = .{ .mem, .unused },
11232 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
11233 .each = .{ .once = &.{
11234 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
11235 .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
11236 .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
11237 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
11238 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
11239 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
11240 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
11241 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
11242 } },
11243 }, .{
11244 .required_features = .{ .sse, null, null, null },
11245 .src_constraints = .{
11246 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
11247 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
11248 .any,
11249 },
11250 .patterns = &.{
11251 .{ .src = .{ .to_mem, .to_mem, .none } },
11252 },
11253 .call_frame = .{ .alignment = .@"16" },
11254 .extra_temps = .{
11255 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
11256 .{ .type = .f128, .kind = .{ .reg = .xmm0 } },
11257 .{ .type = .f128, .kind = .{ .reg = .xmm1 } },
11258 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } },
11259 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "floorq" } } },
11260 .unused,
11261 .unused,
11262 .unused,
11263 .unused,
11264 },
11265 .dst_temps = .{ .mem, .unused },
11266 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
11267 .each = .{ .once = &.{
11268 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
11269 .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
11270 .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ },
11271 .{ ._, ._, .call, .tmp3d, ._, ._, ._ },
11272 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
11273 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ },
11274 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
11275 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
11276 } },
11277 } }) catch |err| switch (err) {
11278 error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{
11279 @tagName(air_tag),
11280 cg.typeOf(bin_op.lhs).fmt(pt),
11281 ops[0].tracking(cg),
11282 ops[1].tracking(cg),
11283 }),
11284 else => |e| return e,
11285 };
11286 try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg);
11287 },
11288 .rem, .rem_optimized => |air_tag| if (use_old) try cg.airMulDivBinOp(inst, .rem) else {
11289 const bin_op = air_datas[@intFromEnum(inst)].bin_op;
11290 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });
11291 var res: [1]Temp = undefined;
11292 cg.select(&res, &.{cg.typeOf(bin_op.lhs)}, &ops, comptime &.{ .{
11293 .src_constraints = .{ .{ .signed_int = .byte }, .{ .signed_int = .byte }, .any },
11294 .patterns = &.{
11295 .{ .src = .{ .mem, .mem, .none } },
11296 .{ .src = .{ .to_gpr, .mem, .none } },
11297 .{ .src = .{ .mem, .to_gpr, .none } },
11298 .{ .src = .{ .to_gpr, .to_gpr, .none } },
11299 },
11300 .dst_temps = .{ .{ .reg = .ah }, .unused },
11301 .clobbers = .{ .eflags = true },
11302 .each = .{ .once = &.{
11303 .{ ._, ._, .movsx, .dst0d, .src0b, ._, ._ },
11304 .{ ._, .i_, .div, .src1b, ._, ._, ._ },
11305 } },
11306 }, .{
11307 .src_constraints = .{ .{ .unsigned_int = .byte }, .{ .unsigned_int = .byte }, .any },
11308 .patterns = &.{
11309 .{ .src = .{ .mem, .mem, .none } },
11310 .{ .src = .{ .to_gpr, .mem, .none } },
11311 .{ .src = .{ .mem, .to_gpr, .none } },
11312 .{ .src = .{ .to_gpr, .to_gpr, .none } },
11313 },
11314 .dst_temps = .{ .{ .reg = .ah }, .unused },
11315 .clobbers = .{ .eflags = true },
11316 .each = .{ .once = &.{
11317 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },
11318 .{ ._, ._, .div, .src1b, ._, ._, ._ },
11319 } },
11320 }, .{
11321 .src_constraints = .{ .{ .signed_int = .word }, .{ .signed_int = .word }, .any },
11322 .patterns = &.{
11323 .{ .src = .{ .{ .to_reg = .ax }, .mem, .none } },
11324 .{ .src = .{ .{ .to_reg = .ax }, .to_gpr, .none } },
11325 },
11326 .dst_temps = .{ .{ .reg = .dx }, .unused },
11327 .clobbers = .{ .eflags = true },
11328 .each = .{ .once = &.{
11329 .{ ._, ._, .cwd, ._, ._, ._, ._ },
11330 .{ ._, .i_, .div, .src1w, ._, ._, ._ },
11331 } },
11332 }, .{
11333 .src_constraints = .{ .{ .unsigned_int = .word }, .{ .unsigned_int = .word }, .any },
11334 .patterns = &.{
11335 .{ .src = .{ .{ .to_reg = .ax }, .mem, .none } },
11336 .{ .src = .{ .{ .to_reg = .ax }, .to_gpr, .none } },
11337 },
11338 .dst_temps = .{ .{ .reg = .dx }, .unused },
11339 .clobbers = .{ .eflags = true },
11340 .each = .{ .once = &.{
11341 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
11342 .{ ._, ._, .div, .src1w, ._, ._, ._ },
11343 } },
11344 }, .{
11345 .src_constraints = .{ .{ .signed_int = .dword }, .{ .signed_int = .dword }, .any },
11346 .patterns = &.{
11347 .{ .src = .{ .{ .to_reg = .eax }, .mem, .none } },
11348 .{ .src = .{ .{ .to_reg = .eax }, .to_gpr, .none } },
11349 },
11350 .dst_temps = .{ .{ .reg = .edx }, .unused },
11351 .clobbers = .{ .eflags = true },
11352 .each = .{ .once = &.{
11353 .{ ._, ._, .cdq, ._, ._, ._, ._ },
11354 .{ ._, .i_, .div, .src1d, ._, ._, ._ },
11355 } },
11356 }, .{
11357 .src_constraints = .{ .{ .unsigned_int = .dword }, .{ .unsigned_int = .dword }, .any },
11358 .patterns = &.{
11359 .{ .src = .{ .{ .to_reg = .eax }, .mem, .none } },
11360 .{ .src = .{ .{ .to_reg = .eax }, .to_gpr, .none } },
11361 },
11362 .dst_temps = .{ .{ .reg = .edx }, .unused },
11363 .clobbers = .{ .eflags = true },
11364 .each = .{ .once = &.{
11365 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
11366 .{ ._, ._, .div, .src1d, ._, ._, ._ },
11367 } },
11368 }, .{
11369 .required_features = .{ .@"64bit", null, null, null },
11370 .src_constraints = .{ .{ .signed_int = .qword }, .{ .signed_int = .qword }, .any },
11371 .patterns = &.{
11372 .{ .src = .{ .{ .to_reg = .rax }, .mem, .none } },
11373 .{ .src = .{ .{ .to_reg = .rax }, .to_gpr, .none } },
11374 },
11375 .dst_temps = .{ .{ .reg = .rdx }, .unused },
11376 .clobbers = .{ .eflags = true },
11377 .each = .{ .once = &.{
11378 .{ ._, ._, .cqo, ._, ._, ._, ._ },
11379 .{ ._, .i_, .div, .src1q, ._, ._, ._ },
11380 } },
11381 }, .{
11382 .required_features = .{ .@"64bit", null, null, null },
11383 .src_constraints = .{ .{ .unsigned_int = .qword }, .{ .unsigned_int = .qword }, .any },
11384 .patterns = &.{
11385 .{ .src = .{ .{ .to_reg = .rax }, .mem, .none } },
11386 .{ .src = .{ .{ .to_reg = .rax }, .to_gpr, .none } },
11387 },
11388 .dst_temps = .{ .{ .reg = .rdx }, .unused },
11389 .clobbers = .{ .eflags = true },
11390 .each = .{ .once = &.{
11391 .{ ._, ._, .xor, .dst0q, .dst0q, ._, ._ },
11392 .{ ._, ._, .div, .src1q, ._, ._, ._ },
11393 } },
11394 }, .{
11395 .required_features = .{ .@"64bit", null, null, null },
11396 .src_constraints = .{ .{ .signed_int = .xword }, .{ .signed_int = .xword }, .any },
11397 .patterns = &.{
11398 .{ .src = .{
11399 .{ .to_param_gpr_pair = .{ .cc = .ccc, .index = 0 } },
11400 .{ .to_param_gpr_pair = .{ .cc = .ccc, .index = 2 } },
11401 .none,
11402 } },
11403 },
11404 .call_frame = .{ .alignment = .@"16" },
11405 .extra_temps = .{
11406 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__modti3" } } },
11407 .unused,
11408 .unused,
11409 .unused,
11410 .unused,
11411 .unused,
11412 .unused,
11413 .unused,
11414 .unused,
11415 },
11416 .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .index = 0 } }, .unused },
11417 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
11418 .each = .{ .once = &.{
11419 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
11420 } },
11421 }, .{
11422 .required_features = .{ .@"64bit", null, null, null },
11423 .src_constraints = .{ .{ .unsigned_int = .xword }, .{ .unsigned_int = .xword }, .any },
11424 .patterns = &.{
11425 .{ .src = .{
11426 .{ .to_param_gpr_pair = .{ .cc = .ccc, .index = 0 } },
11427 .{ .to_param_gpr_pair = .{ .cc = .ccc, .index = 2 } },
11428 .none,
822511429 } },
11430 },
11431 .call_frame = .{ .alignment = .@"16" },
11432 .extra_temps = .{
11433 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__umodti3" } } },
11434 .unused,
11435 .unused,
11436 .unused,
11437 .unused,
11438 .unused,
11439 .unused,
11440 .unused,
11441 .unused,
11442 },
11443 .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .index = 0 } }, .unused },
11444 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
11445 .each = .{ .once = &.{
11446 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
11447 } },
11448 }, .{
11449 .required_features = .{ .@"64bit", null, null, null },
11450 .src_constraints = .{
11451 .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } },
11452 .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } },
11453 .any,
11454 },
11455 .patterns = &.{
11456 .{ .src = .{ .to_mut_mem, .to_mut_mem, .none } },
11457 },
11458 .call_frame = .{ .alignment = .@"16" },
11459 .extra_temps = .{
11460 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 0 } } },
11461 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 1 } } },
11462 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 2 } } },
11463 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 3 } } },
11464 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__modei4" } } },
11465 .unused,
11466 .unused,
11467 .unused,
11468 .unused,
11469 },
11470 .dst_temps = .{ .mem, .unused },
11471 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
11472 .each = .{ .once = &.{
11473 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
11474 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
11475 .{ ._, ._, .lea, .tmp2p, .mem(.src1), ._, ._ },
11476 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_size), ._, ._ },
11477 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
11478 } },
11479 }, .{
11480 .required_features = .{ .@"64bit", null, null, null },
11481 .src_constraints = .{
11482 .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } },
11483 .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } },
11484 .any,
11485 },
11486 .patterns = &.{
11487 .{ .src = .{ .to_mem, .to_mem, .none } },
11488 },
11489 .call_frame = .{ .alignment = .@"16" },
11490 .extra_temps = .{
11491 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 0 } } },
11492 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 1 } } },
11493 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 2 } } },
11494 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 3 } } },
11495 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__umodei4" } } },
11496 .unused,
11497 .unused,
11498 .unused,
11499 .unused,
11500 },
11501 .dst_temps = .{ .mem, .unused },
11502 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
11503 .each = .{ .once = &.{
11504 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
11505 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
11506 .{ ._, ._, .lea, .tmp2p, .mem(.src1), ._, ._ },
11507 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_size), ._, ._ },
11508 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
11509 } },
11510 }, .{
11511 .required_features = .{ .slow_incdec, null, null, null },
11512 .src_constraints = .{
11513 .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } },
11514 .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } },
11515 .any,
11516 },
11517 .patterns = &.{
11518 .{ .src = .{ .to_mem, .to_mem, .none } },
11519 },
11520 .extra_temps = .{
11521 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
11522 .{ .type = .i8, .kind = .{ .reg = .ah } },
11523 .unused,
11524 .unused,
11525 .unused,
11526 .unused,
11527 .unused,
11528 .unused,
11529 .unused,
11530 },
11531 .dst_temps = .{ .mem, .unused },
11532 .clobbers = .{ .eflags = true },
11533 .each = .{ .once = &.{
11534 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
11535 .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
11536 .{ ._, .i_, .div, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._, ._ },
11537 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
11538 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
11539 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
11540 } },
11541 }, .{
11542 .src_constraints = .{
11543 .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } },
11544 .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } },
11545 .any,
11546 },
11547 .patterns = &.{
11548 .{ .src = .{ .to_mem, .to_mem, .none } },
11549 },
11550 .extra_temps = .{
11551 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
11552 .{ .type = .i8, .kind = .{ .reg = .ah } },
11553 .unused,
11554 .unused,
11555 .unused,
11556 .unused,
11557 .unused,
11558 .unused,
11559 .unused,
11560 },
11561 .dst_temps = .{ .mem, .unused },
11562 .clobbers = .{ .eflags = true },
11563 .each = .{ .once = &.{
11564 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
11565 .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
11566 .{ ._, .i_, .div, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._, ._ },
11567 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
11568 .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
11569 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
11570 } },
11571 }, .{
11572 .required_features = .{ .slow_incdec, null, null, null },
11573 .src_constraints = .{
11574 .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } },
11575 .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } },
11576 .any,
11577 },
11578 .patterns = &.{
11579 .{ .src = .{ .to_mem, .to_mem, .none } },
11580 },
11581 .extra_temps = .{
11582 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
11583 .{ .type = .u8, .kind = .{ .reg = .ah } },
11584 .unused,
11585 .unused,
11586 .unused,
11587 .unused,
11588 .unused,
11589 .unused,
11590 .unused,
11591 },
11592 .dst_temps = .{ .mem, .unused },
11593 .clobbers = .{ .eflags = true },
11594 .each = .{ .once = &.{
11595 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
11596 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
11597 .{ ._, ._, .div, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._, ._ },
11598 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
11599 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
11600 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
822611601 } },
8227 }) catch |err| switch (err) {
8228 error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{
8229 @tagName(air_tag),
8230 cg.typeOf(bin_op.lhs).fmt(pt),
8231 ops[0].tracking(cg),
8232 ops[1].tracking(cg),
8233 }),
8234 else => |e| return e,
8235 };
8236 try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg);
8237 },
8238 .rem, .rem_optimized => |air_tag| if (use_old) try cg.airMulDivBinOp(inst, .rem) else fallback: {
8239 const bin_op = air_datas[@intFromEnum(inst)].bin_op;
8240 if (cg.floatBits(cg.typeOf(bin_op.lhs).scalarType(zcu)) == null) break :fallback try cg.airMulDivBinOp(inst, .rem);
8241 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });
8242 var res: [1]Temp = undefined;
8243 cg.select(&res, &.{cg.typeOf(bin_op.lhs)}, &ops, comptime &.{ .{
11602 }, .{
11603 .src_constraints = .{
11604 .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } },
11605 .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } },
11606 .any,
11607 },
11608 .patterns = &.{
11609 .{ .src = .{ .to_mem, .to_mem, .none } },
11610 },
11611 .extra_temps = .{
11612 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
11613 .{ .type = .u8, .kind = .{ .reg = .ah } },
11614 .unused,
11615 .unused,
11616 .unused,
11617 .unused,
11618 .unused,
11619 .unused,
11620 .unused,
11621 },
11622 .dst_temps = .{ .mem, .unused },
11623 .clobbers = .{ .eflags = true },
11624 .each = .{ .once = &.{
11625 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
11626 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
11627 .{ ._, ._, .div, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._, ._ },
11628 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
11629 .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
11630 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
11631 } },
11632 }, .{
11633 .src_constraints = .{
11634 .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } },
11635 .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } },
11636 .any,
11637 },
11638 .patterns = &.{
11639 .{ .src = .{ .to_mem, .to_mem, .none } },
11640 },
11641 .extra_temps = .{
11642 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
11643 .{ .type = .i16, .kind = .{ .reg = .ax } },
11644 .{ .type = .i16, .kind = .{ .reg = .dx } },
11645 .unused,
11646 .unused,
11647 .unused,
11648 .unused,
11649 .unused,
11650 .unused,
11651 },
11652 .dst_temps = .{ .mem, .unused },
11653 .clobbers = .{ .eflags = true },
11654 .each = .{ .once = &.{
11655 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
11656 .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
11657 .{ ._, ._, .cwd, ._, ._, ._, ._ },
11658 .{ ._, .i_, .div, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._, ._ },
11659 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp2w, ._, ._ },
11660 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
11661 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
11662 } },
11663 }, .{
11664 .src_constraints = .{
11665 .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } },
11666 .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } },
11667 .any,
11668 },
11669 .patterns = &.{
11670 .{ .src = .{ .to_mem, .to_mem, .none } },
11671 },
11672 .extra_temps = .{
11673 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
11674 .{ .type = .u16, .kind = .{ .reg = .ax } },
11675 .{ .type = .u16, .kind = .{ .reg = .dx } },
11676 .unused,
11677 .unused,
11678 .unused,
11679 .unused,
11680 .unused,
11681 .unused,
11682 },
11683 .dst_temps = .{ .mem, .unused },
11684 .clobbers = .{ .eflags = true },
11685 .each = .{ .once = &.{
11686 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
11687 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
11688 .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
11689 .{ ._, ._, .div, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._, ._ },
11690 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp2w, ._, ._ },
11691 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
11692 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
11693 } },
11694 }, .{
11695 .src_constraints = .{
11696 .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } },
11697 .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } },
11698 .any,
11699 },
11700 .patterns = &.{
11701 .{ .src = .{ .to_mem, .to_mem, .none } },
11702 },
11703 .extra_temps = .{
11704 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
11705 .{ .type = .i32, .kind = .{ .reg = .eax } },
11706 .{ .type = .i32, .kind = .{ .reg = .edx } },
11707 .unused,
11708 .unused,
11709 .unused,
11710 .unused,
11711 .unused,
11712 .unused,
11713 },
11714 .dst_temps = .{ .mem, .unused },
11715 .clobbers = .{ .eflags = true },
11716 .each = .{ .once = &.{
11717 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
11718 .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
11719 .{ ._, ._, .cdq, ._, ._, ._, ._ },
11720 .{ ._, .i_, .div, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._, ._ },
11721 .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp2d, ._, ._ },
11722 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
11723 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
11724 } },
11725 }, .{
11726 .src_constraints = .{
11727 .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } },
11728 .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } },
11729 .any,
11730 },
11731 .patterns = &.{
11732 .{ .src = .{ .to_mem, .to_mem, .none } },
11733 },
11734 .extra_temps = .{
11735 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
11736 .{ .type = .u32, .kind = .{ .reg = .eax } },
11737 .{ .type = .u32, .kind = .{ .reg = .edx } },
11738 .unused,
11739 .unused,
11740 .unused,
11741 .unused,
11742 .unused,
11743 .unused,
11744 },
11745 .dst_temps = .{ .mem, .unused },
11746 .clobbers = .{ .eflags = true },
11747 .each = .{ .once = &.{
11748 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
11749 .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
11750 .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
11751 .{ ._, ._, .div, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._, ._ },
11752 .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp2d, ._, ._ },
11753 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
11754 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
11755 } },
11756 }, .{
11757 .required_features = .{ .@"64bit", null, null, null },
11758 .src_constraints = .{
11759 .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } },
11760 .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } },
11761 .any,
11762 },
11763 .patterns = &.{
11764 .{ .src = .{ .to_mem, .to_mem, .none } },
11765 },
11766 .extra_temps = .{
11767 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
11768 .{ .type = .i64, .kind = .{ .reg = .rax } },
11769 .{ .type = .i64, .kind = .{ .reg = .rdx } },
11770 .unused,
11771 .unused,
11772 .unused,
11773 .unused,
11774 .unused,
11775 .unused,
11776 },
11777 .dst_temps = .{ .mem, .unused },
11778 .clobbers = .{ .eflags = true },
11779 .each = .{ .once = &.{
11780 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
11781 .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
11782 .{ ._, ._, .cqo, ._, ._, ._, ._ },
11783 .{ ._, .i_, .div, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._, ._ },
11784 .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp2q, ._, ._ },
11785 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
11786 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
11787 } },
11788 }, .{
11789 .required_features = .{ .@"64bit", null, null, null },
11790 .src_constraints = .{
11791 .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } },
11792 .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } },
11793 .any,
11794 },
11795 .patterns = &.{
11796 .{ .src = .{ .to_mem, .to_mem, .none } },
11797 },
11798 .extra_temps = .{
11799 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
11800 .{ .type = .u64, .kind = .{ .reg = .rax } },
11801 .{ .type = .u64, .kind = .{ .reg = .rdx } },
11802 .unused,
11803 .unused,
11804 .unused,
11805 .unused,
11806 .unused,
11807 .unused,
11808 },
11809 .dst_temps = .{ .mem, .unused },
11810 .clobbers = .{ .eflags = true },
11811 .each = .{ .once = &.{
11812 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
11813 .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
11814 .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
11815 .{ ._, ._, .div, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._, ._ },
11816 .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp2q, ._, ._ },
11817 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
11818 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
11819 } },
11820 }, .{
11821 .required_features = .{ .@"64bit", null, null, null },
11822 .src_constraints = .{
11823 .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } },
11824 .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } },
11825 .any,
11826 },
11827 .patterns = &.{
11828 .{ .src = .{ .to_mem, .to_mem, .none } },
11829 },
11830 .call_frame = .{ .alignment = .@"16" },
11831 .extra_temps = .{
11832 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
11833 .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 0 } } },
11834 .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 1 } } },
11835 .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 2 } } },
11836 .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 3 } } },
11837 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__modti3" } } },
11838 .{ .type = .u64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .index = 0 } } },
11839 .unused,
11840 .unused,
11841 },
11842 .dst_temps = .{ .mem, .unused },
11843 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
11844 .each = .{ .once = &.{
11845 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
11846 .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
11847 .{ ._, ._, .mov, .tmp2q, .memiad(.src0q, .tmp0, .add_unaligned_size, 8), ._, ._ },
11848 .{ ._, ._, .mov, .tmp3q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ },
11849 .{ ._, ._, .mov, .tmp4q, .memiad(.src1q, .tmp0, .add_unaligned_size, 8), ._, ._ },
11850 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
11851 .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp6q, ._, ._ },
11852 .{ ._, ._, .mov, .memiad(.dst0q, .tmp0, .add_unaligned_size, 8), .tmp3q, ._, ._ },
11853 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
11854 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
11855 } },
11856 }, .{
11857 .required_features = .{ .@"64bit", null, null, null },
11858 .src_constraints = .{
11859 .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } },
11860 .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } },
11861 .any,
11862 },
11863 .patterns = &.{
11864 .{ .src = .{ .to_mem, .to_mem, .none } },
11865 },
11866 .call_frame = .{ .alignment = .@"16" },
11867 .extra_temps = .{
11868 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
11869 .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 0 } } },
11870 .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 1 } } },
11871 .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 2 } } },
11872 .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 3 } } },
11873 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__umodti3" } } },
11874 .{ .type = .u64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .index = 0 } } },
11875 .unused,
11876 .unused,
11877 },
11878 .dst_temps = .{ .mem, .unused },
11879 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
11880 .each = .{ .once = &.{
11881 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
11882 .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
11883 .{ ._, ._, .mov, .tmp2q, .memiad(.src0q, .tmp0, .add_unaligned_size, 8), ._, ._ },
11884 .{ ._, ._, .mov, .tmp3q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ },
11885 .{ ._, ._, .mov, .tmp4q, .memiad(.src1q, .tmp0, .add_unaligned_size, 8), ._, ._ },
11886 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
11887 .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp6q, ._, ._ },
11888 .{ ._, ._, .mov, .memiad(.dst0q, .tmp0, .add_unaligned_size, 8), .tmp3q, ._, ._ },
11889 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
11890 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
11891 } },
11892 }, .{
11893 .required_features = .{ .@"64bit", null, null, null },
11894 .src_constraints = .{
11895 .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } },
11896 .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } },
11897 .any,
11898 },
11899 .patterns = &.{
11900 .{ .src = .{ .to_mut_mem, .to_mut_mem, .none } },
11901 },
11902 .call_frame = .{ .alignment = .@"16" },
11903 .extra_temps = .{
11904 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
11905 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 0 } } },
11906 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 1 } } },
11907 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 2 } } },
11908 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 3 } } },
11909 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__modei4" } } },
11910 .unused,
11911 .unused,
11912 .unused,
11913 },
11914 .dst_temps = .{ .mem, .unused },
11915 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
11916 .each = .{ .once = &.{
11917 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
11918 .{ .@"0:", ._, .lea, .tmp1p, .memia(.dst0, .tmp0, .add_unaligned_size), ._, ._ },
11919 .{ ._, ._, .lea, .tmp2p, .memia(.src0, .tmp0, .add_unaligned_size), ._, ._ },
11920 .{ ._, ._, .lea, .tmp3p, .memia(.src1, .tmp0, .add_unaligned_size), ._, ._ },
11921 .{ ._, ._, .mov, .tmp4d, .sa(.src0, .add_8_elem_size), ._, ._ },
11922 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
11923 .{ ._, ._, .add, .tmp0p, .sa(.src0, .add_elem_size), ._, ._ },
11924 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
11925 } },
11926 }, .{
11927 .required_features = .{ .@"64bit", null, null, null },
11928 .src_constraints = .{
11929 .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } },
11930 .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } },
11931 .any,
11932 },
11933 .patterns = &.{
11934 .{ .src = .{ .to_mut_mem, .to_mut_mem, .none } },
11935 },
11936 .call_frame = .{ .alignment = .@"16" },
11937 .extra_temps = .{
11938 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
11939 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 0 } } },
11940 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 1 } } },
11941 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 2 } } },
11942 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 3 } } },
11943 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__umodei4" } } },
11944 .unused,
11945 .unused,
11946 .unused,
11947 },
11948 .dst_temps = .{ .mem, .unused },
11949 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
11950 .each = .{ .once = &.{
11951 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
11952 .{ .@"0:", ._, .lea, .tmp1p, .memia(.dst0, .tmp0, .add_unaligned_size), ._, ._ },
11953 .{ ._, ._, .lea, .tmp2p, .memia(.src0, .tmp0, .add_unaligned_size), ._, ._ },
11954 .{ ._, ._, .lea, .tmp3p, .memia(.src1, .tmp0, .add_unaligned_size), ._, ._ },
11955 .{ ._, ._, .mov, .tmp4d, .sa(.src0, .add_8_elem_size), ._, ._ },
11956 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
11957 .{ ._, ._, .add, .tmp0p, .sa(.src0, .add_elem_size), ._, ._ },
11958 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
11959 } },
11960 }, .{
824411961 .required_features = .{ .sse, null, null, null },
824511962 .src_constraints = .{
824611963 .{ .scalar_float = .{ .of = .word, .is = .word } },
......@@ -8262,7 +11979,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
826211979 .unused,
826311980 .unused,
826411981 },
8265 .dst_temps = .{.{ .ref = .src0 }},
11982 .dst_temps = .{ .{ .ref = .src0 }, .unused },
826611983 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
826711984 .each = .{ .once = &.{
826811985 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -8289,7 +12006,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
828912006 .unused,
829012007 .unused,
829112008 },
8292 .dst_temps = .{.mem},
12009 .dst_temps = .{ .mem, .unused },
829312010 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
829412011 .each = .{ .once = &.{
829512012 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -8323,7 +12040,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
832312040 .unused,
832412041 .unused,
832512042 },
8326 .dst_temps = .{.mem},
12043 .dst_temps = .{ .mem, .unused },
832712044 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
832812045 .each = .{ .once = &.{
832912046 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -8358,7 +12075,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
835812075 .unused,
835912076 .unused,
836012077 },
8361 .dst_temps = .{.mem},
12078 .dst_temps = .{ .mem, .unused },
836212079 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
836312080 .each = .{ .once = &.{
836412081 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -8394,7 +12111,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
839412111 .unused,
839512112 .unused,
839612113 },
8397 .dst_temps = .{.mem},
12114 .dst_temps = .{ .mem, .unused },
839812115 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
839912116 .each = .{ .once = &.{
840012117 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -8433,7 +12150,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
843312150 .unused,
843412151 .unused,
843512152 },
8436 .dst_temps = .{.{ .ref = .src0 }},
12153 .dst_temps = .{ .{ .ref = .src0 }, .unused },
843712154 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
843812155 .each = .{ .once = &.{
843912156 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -8460,7 +12177,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
846012177 .unused,
846112178 .unused,
846212179 },
8463 .dst_temps = .{.mem},
12180 .dst_temps = .{ .mem, .unused },
846412181 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
846512182 .each = .{ .once = &.{
846612183 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -8493,7 +12210,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
849312210 .unused,
849412211 .unused,
849512212 },
8496 .dst_temps = .{.mem},
12213 .dst_temps = .{ .mem, .unused },
849712214 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
849812215 .each = .{ .once = &.{
849912216 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -8526,7 +12243,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
852612243 .unused,
852712244 .unused,
852812245 },
8529 .dst_temps = .{.{ .ref = .src0 }},
12246 .dst_temps = .{ .{ .ref = .src0 }, .unused },
853012247 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
853112248 .each = .{ .once = &.{
853212249 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -8553,7 +12270,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
855312270 .unused,
855412271 .unused,
855512272 },
8556 .dst_temps = .{.mem},
12273 .dst_temps = .{ .mem, .unused },
855712274 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
855812275 .each = .{ .once = &.{
855912276 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -8586,7 +12303,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
858612303 .unused,
858712304 .unused,
858812305 },
8589 .dst_temps = .{.mem},
12306 .dst_temps = .{ .mem, .unused },
859012307 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
859112308 .each = .{ .once = &.{
859212309 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -8619,7 +12336,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
861912336 .unused,
862012337 .unused,
862112338 },
8622 .dst_temps = .{.mem},
12339 .dst_temps = .{ .mem, .unused },
862312340 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
862412341 .each = .{ .once = &.{
862512342 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -8654,7 +12371,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
865412371 .unused,
865512372 .unused,
865612373 },
8657 .dst_temps = .{.{ .reg = .st0 }},
12374 .dst_temps = .{ .{ .reg = .st0 }, .unused },
865812375 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
865912376 .each = .{ .once = &.{
866012377 .{ ._, .v_dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ },
......@@ -8685,7 +12402,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
868512402 .unused,
868612403 .unused,
868712404 },
8688 .dst_temps = .{.{ .reg = .st0 }},
12405 .dst_temps = .{ .{ .reg = .st0 }, .unused },
868912406 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
869012407 .each = .{ .once = &.{
869112408 .{ ._, ._dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ },
......@@ -8716,7 +12433,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
871612433 .unused,
871712434 .unused,
871812435 },
8719 .dst_temps = .{.{ .reg = .st0 }},
12436 .dst_temps = .{ .{ .reg = .st0 }, .unused },
872012437 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
872112438 .each = .{ .once = &.{
872212439 .{ ._, ._ps, .mova, .tmp0x, .mem(.src0x), ._, ._ },
......@@ -8747,7 +12464,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
874712464 .unused,
874812465 .unused,
874912466 },
8750 .dst_temps = .{.mem},
12467 .dst_temps = .{ .mem, .unused },
875112468 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
875212469 .each = .{ .once = &.{
875312470 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -8783,7 +12500,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
878312500 .unused,
878412501 .unused,
878512502 },
8786 .dst_temps = .{.mem},
12503 .dst_temps = .{ .mem, .unused },
878712504 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
878812505 .each = .{ .once = &.{
878912506 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -8819,7 +12536,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
881912536 .unused,
882012537 .unused,
882112538 },
8822 .dst_temps = .{.mem},
12539 .dst_temps = .{ .mem, .unused },
882312540 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
882412541 .each = .{ .once = &.{
882512542 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -8855,7 +12572,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
885512572 .unused,
885612573 .unused,
885712574 },
8858 .dst_temps = .{.{ .ref = .src0 }},
12575 .dst_temps = .{ .{ .ref = .src0 }, .unused },
885912576 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
886012577 .each = .{ .once = &.{
886112578 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -8882,7 +12599,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
888212599 .unused,
888312600 .unused,
888412601 },
8885 .dst_temps = .{.mem},
12602 .dst_temps = .{ .mem, .unused },
888612603 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
888712604 .each = .{ .once = &.{
888812605 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -8915,7 +12632,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
891512632 .unused,
891612633 .unused,
891712634 },
8918 .dst_temps = .{.mem},
12635 .dst_temps = .{ .mem, .unused },
891912636 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
892012637 .each = .{ .once = &.{
892112638 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -8948,7 +12665,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
894812665 .unused,
894912666 .unused,
895012667 },
8951 .dst_temps = .{.mem},
12668 .dst_temps = .{ .mem, .unused },
895212669 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
895312670 .each = .{ .once = &.{
895412671 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -8997,7 +12714,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
899712714 .unused,
899812715 .unused,
899912716 },
9000 .dst_temps = .{.{ .ref = .src0 }},
12717 .dst_temps = .{ .{ .ref = .src0 }, .unused },
900112718 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
900212719 .each = .{ .once = &.{
900312720 .{ ._, .v_d, .mov, .tmp0d, .src1x, ._, ._ },
......@@ -9036,7 +12753,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
903612753 .unused,
903712754 .unused,
903812755 },
9039 .dst_temps = .{.{ .ref = .src0 }},
12756 .dst_temps = .{ .{ .ref = .src0 }, .unused },
904012757 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
904112758 .each = .{ .once = &.{
904212759 .{ ._, .v_d, .mov, .tmp0d, .src1x, ._, ._ },
......@@ -9075,7 +12792,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
907512792 .unused,
907612793 .unused,
907712794 },
9078 .dst_temps = .{.{ .ref = .src0 }},
12795 .dst_temps = .{ .{ .ref = .src0 }, .unused },
907912796 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
908012797 .each = .{ .once = &.{
908112798 .{ ._, .v_d, .mov, .tmp0d, .src1x, ._, ._ },
......@@ -9111,7 +12828,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
911112828 .unused,
911212829 .unused,
911312830 },
9114 .dst_temps = .{.{ .ref = .src0 }},
12831 .dst_temps = .{ .{ .ref = .src0 }, .unused },
911512832 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
911612833 .each = .{ .once = &.{
911712834 .{ ._, .v_d, .mov, .tmp0d, .src1x, ._, ._ },
......@@ -9147,7 +12864,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
914712864 .unused,
914812865 .unused,
914912866 },
9150 .dst_temps = .{.{ .ref = .src0 }},
12867 .dst_temps = .{ .{ .ref = .src0 }, .unused },
915112868 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
915212869 .each = .{ .once = &.{
915312870 .{ ._, ._d, .mov, .tmp0d, .src1x, ._, ._ },
......@@ -9183,7 +12900,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
918312900 .unused,
918412901 .unused,
918512902 },
9186 .dst_temps = .{.{ .ref = .src0 }},
12903 .dst_temps = .{ .{ .ref = .src0 }, .unused },
918712904 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
918812905 .each = .{ .once = &.{
918912906 .{ ._, ._d, .mov, .tmp0d, .src1x, ._, ._ },
......@@ -9219,7 +12936,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
921912936 .unused,
922012937 .unused,
922112938 },
9222 .dst_temps = .{.{ .ref = .src0 }},
12939 .dst_temps = .{ .{ .ref = .src0 }, .unused },
922312940 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
922412941 .each = .{ .once = &.{
922512942 .{ ._, ._ss, .mov, .mem(.tmp0d), .src1x, ._, ._ },
......@@ -9255,7 +12972,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
925512972 .unused,
925612973 .unused,
925712974 },
9258 .dst_temps = .{.{ .ref = .src0 }},
12975 .dst_temps = .{ .{ .ref = .src0 }, .unused },
925912976 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
926012977 .each = .{ .once = &.{
926112978 .{ ._, ._ss, .mov, .mem(.tmp0d), .src1x, ._, ._ },
......@@ -9291,7 +13008,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
929113008 .unused,
929213009 .unused,
929313010 },
9294 .dst_temps = .{.mem},
13011 .dst_temps = .{ .mem, .unused },
929513012 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
929613013 .each = .{ .once = &.{
929713014 .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ },
......@@ -9337,7 +13054,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
933713054 .unused,
933813055 .unused,
933913056 },
9340 .dst_temps = .{.mem},
13057 .dst_temps = .{ .mem, .unused },
934113058 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
934213059 .each = .{ .once = &.{
934313060 .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ },
......@@ -9383,7 +13100,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
938313100 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
938413101 .unused,
938513102 },
9386 .dst_temps = .{.mem},
13103 .dst_temps = .{ .mem, .unused },
938713104 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
938813105 .each = .{ .once = &.{
938913106 .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ },
......@@ -9426,7 +13143,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
942613143 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
942713144 .unused,
942813145 },
9429 .dst_temps = .{.mem},
13146 .dst_temps = .{ .mem, .unused },
943013147 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
943113148 .each = .{ .once = &.{
943213149 .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ },
......@@ -9469,7 +13186,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
946913186 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
947013187 .unused,
947113188 },
9472 .dst_temps = .{.mem},
13189 .dst_temps = .{ .mem, .unused },
947313190 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
947413191 .each = .{ .once = &.{
947513192 .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ },
......@@ -9512,7 +13229,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
951213229 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
951313230 .unused,
951413231 },
9515 .dst_temps = .{.mem},
13232 .dst_temps = .{ .mem, .unused },
951613233 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
951713234 .each = .{ .once = &.{
951813235 .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ },
......@@ -9555,7 +13272,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
955513272 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
955613273 .unused,
955713274 },
9558 .dst_temps = .{.mem},
13275 .dst_temps = .{ .mem, .unused },
955913276 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
956013277 .each = .{ .once = &.{
956113278 .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ },
......@@ -9599,7 +13316,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
959913316 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
960013317 .unused,
960113318 },
9602 .dst_temps = .{.mem},
13319 .dst_temps = .{ .mem, .unused },
960313320 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
960413321 .each = .{ .once = &.{
960513322 .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ },
......@@ -9643,7 +13360,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
964313360 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
964413361 .unused,
964513362 },
9646 .dst_temps = .{.mem},
13363 .dst_temps = .{ .mem, .unused },
964713364 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
964813365 .each = .{ .once = &.{
964913366 .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ },
......@@ -9690,7 +13407,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
969013407 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } },
969113408 .unused,
969213409 },
9693 .dst_temps = .{.mem},
13410 .dst_temps = .{ .mem, .unused },
969413411 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
969513412 .each = .{ .once = &.{
969613413 .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ },
......@@ -9737,7 +13454,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
973713454 .unused,
973813455 .unused,
973913456 },
9740 .dst_temps = .{.{ .ref = .src0 }},
13457 .dst_temps = .{ .{ .ref = .src0 }, .unused },
974113458 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
974213459 .each = .{ .once = &.{
974313460 .{ ._, .v_d, .mov, .tmp0d, .src1x, ._, ._ },
......@@ -9773,7 +13490,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
977313490 .unused,
977413491 .unused,
977513492 },
9776 .dst_temps = .{.{ .ref = .src0 }},
13493 .dst_temps = .{ .{ .ref = .src0 }, .unused },
977713494 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
977813495 .each = .{ .once = &.{
977913496 .{ ._, ._d, .mov, .tmp0d, .src1x, ._, ._ },
......@@ -9809,7 +13526,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
980913526 .unused,
981013527 .unused,
981113528 },
9812 .dst_temps = .{.{ .ref = .src0 }},
13529 .dst_temps = .{ .{ .ref = .src0 }, .unused },
981313530 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
981413531 .each = .{ .once = &.{
981513532 .{ ._, ._ss, .mov, .mem(.tmp0d), .src1x, ._, ._ },
......@@ -9844,7 +13561,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
984413561 .unused,
984513562 .unused,
984613563 },
9847 .dst_temps = .{.mem},
13564 .dst_temps = .{ .mem, .unused },
984813565 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
984913566 .each = .{ .once = &.{
985013567 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -9886,7 +13603,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
988613603 .unused,
988713604 .unused,
988813605 },
9889 .dst_temps = .{.mem},
13606 .dst_temps = .{ .mem, .unused },
989013607 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
989113608 .each = .{ .once = &.{
989213609 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -9928,7 +13645,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
992813645 .unused,
992913646 .unused,
993013647 },
9931 .dst_temps = .{.mem},
13648 .dst_temps = .{ .mem, .unused },
993213649 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
993313650 .each = .{ .once = &.{
993413651 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -9968,7 +13685,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
996813685 .unused,
996913686 .unused,
997013687 },
9971 .dst_temps = .{.{ .ref = .src0 }},
13688 .dst_temps = .{ .{ .ref = .src0 }, .unused },
997213689 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
997313690 .each = .{ .once = &.{
997413691 .{ ._, .v_q, .mov, .tmp0q, .src1x, ._, ._ },
......@@ -10005,7 +13722,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1000513722 .unused,
1000613723 .unused,
1000713724 },
10008 .dst_temps = .{.{ .ref = .src0 }},
13725 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1000913726 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1001013727 .each = .{ .once = &.{
1001113728 .{ ._, ._q, .mov, .tmp0q, .src1x, ._, ._ },
......@@ -10042,7 +13759,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1004213759 .unused,
1004313760 .unused,
1004413761 },
10045 .dst_temps = .{.{ .ref = .src0 }},
13762 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1004613763 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1004713764 .each = .{ .once = &.{
1004813765 .{ ._, ._ps, .movl, .mem(.tmp0q), .src1x, ._, ._ },
......@@ -10082,7 +13799,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1008213799 .{ .type = .f64, .kind = .{ .reg = .rax } },
1008313800 .unused,
1008413801 },
10085 .dst_temps = .{.mem},
13802 .dst_temps = .{ .mem, .unused },
1008613803 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1008713804 .each = .{ .once = &.{
1008813805 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -10125,7 +13842,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1012513842 .{ .type = .f64, .kind = .{ .reg = .rax } },
1012613843 .unused,
1012713844 },
10128 .dst_temps = .{.mem},
13845 .dst_temps = .{ .mem, .unused },
1012913846 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1013013847 .each = .{ .once = &.{
1013113848 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -10168,7 +13885,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1016813885 .{ .type = .f64, .kind = .{ .reg = .st6 } },
1016913886 .{ .type = .f64, .kind = .{ .reg = .st7 } },
1017013887 },
10171 .dst_temps = .{.mem},
13888 .dst_temps = .{ .mem, .unused },
1017213889 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1017313890 .each = .{ .once = &.{
1017413891 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -10215,7 +13932,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1021513932 .unused,
1021613933 .unused,
1021713934 },
10218 .dst_temps = .{.{ .reg = .st0 }},
13935 .dst_temps = .{ .{ .reg = .st0 }, .unused },
1021913936 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1022013937 .each = .{ .once = &.{
1022113938 .{ ._, .v_dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ },
......@@ -10256,7 +13973,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1025613973 .unused,
1025713974 .unused,
1025813975 },
10259 .dst_temps = .{.{ .reg = .st0 }},
13976 .dst_temps = .{ .{ .reg = .st0 }, .unused },
1026013977 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1026113978 .each = .{ .once = &.{
1026213979 .{ ._, .v_dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ },
......@@ -10297,7 +14014,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1029714014 .unused,
1029814015 .unused,
1029914016 },
10300 .dst_temps = .{.{ .reg = .st0 }},
14017 .dst_temps = .{ .{ .reg = .st0 }, .unused },
1030114018 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1030214019 .each = .{ .once = &.{
1030314020 .{ ._, ._dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ },
......@@ -10338,7 +14055,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1033814055 .unused,
1033914056 .unused,
1034014057 },
10341 .dst_temps = .{.{ .reg = .st0 }},
14058 .dst_temps = .{ .{ .reg = .st0 }, .unused },
1034214059 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1034314060 .each = .{ .once = &.{
1034414061 .{ ._, ._dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ },
......@@ -10379,7 +14096,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1037914096 .unused,
1038014097 .unused,
1038114098 },
10382 .dst_temps = .{.{ .reg = .st0 }},
14099 .dst_temps = .{ .{ .reg = .st0 }, .unused },
1038314100 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1038414101 .each = .{ .once = &.{
1038514102 .{ ._, ._ps, .mova, .tmp0x, .mem(.src0x), ._, ._ },
......@@ -10420,7 +14137,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1042014137 .unused,
1042114138 .unused,
1042214139 },
10423 .dst_temps = .{.{ .reg = .st0 }},
14140 .dst_temps = .{ .{ .reg = .st0 }, .unused },
1042414141 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1042514142 .each = .{ .once = &.{
1042614143 .{ ._, ._ps, .mova, .tmp0x, .mem(.src0x), ._, ._ },
......@@ -10461,7 +14178,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1046114178 .unused,
1046214179 .unused,
1046314180 },
10464 .dst_temps = .{.mem},
14181 .dst_temps = .{ .mem, .unused },
1046514182 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1046614183 .each = .{ .once = &.{
1046714184 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -10507,7 +14224,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1050714224 .unused,
1050814225 .unused,
1050914226 },
10510 .dst_temps = .{.mem},
14227 .dst_temps = .{ .mem, .unused },
1051114228 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1051214229 .each = .{ .once = &.{
1051314230 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -10553,7 +14270,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1055314270 .unused,
1055414271 .unused,
1055514272 },
10556 .dst_temps = .{.mem},
14273 .dst_temps = .{ .mem, .unused },
1055714274 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1055814275 .each = .{ .once = &.{
1055914276 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -10599,7 +14316,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1059914316 .unused,
1060014317 .unused,
1060114318 },
10602 .dst_temps = .{.mem},
14319 .dst_temps = .{ .mem, .unused },
1060314320 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1060414321 .each = .{ .once = &.{
1060514322 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -10645,7 +14362,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1064514362 .unused,
1064614363 .unused,
1064714364 },
10648 .dst_temps = .{.mem},
14365 .dst_temps = .{ .mem, .unused },
1064914366 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1065014367 .each = .{ .once = &.{
1065114368 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -10691,7 +14408,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1069114408 .unused,
1069214409 .unused,
1069314410 },
10694 .dst_temps = .{.mem},
14411 .dst_temps = .{ .mem, .unused },
1069514412 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1069614413 .each = .{ .once = &.{
1069714414 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -10737,7 +14454,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1073714454 .unused,
1073814455 .unused,
1073914456 },
10740 .dst_temps = .{.{ .ref = .src0 }},
14457 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1074114458 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1074214459 .each = .{ .once = &.{
1074314460 .{ ._, .v_dqa, .mov, .mem(.tmp0x), .src1x, ._, ._ },
......@@ -10776,7 +14493,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1077614493 .unused,
1077714494 .unused,
1077814495 },
10779 .dst_temps = .{.{ .ref = .src0 }},
14496 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1078014497 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1078114498 .each = .{ .once = &.{
1078214499 .{ ._, ._dqa, .mov, .mem(.tmp0x), .src1x, ._, ._ },
......@@ -10815,7 +14532,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1081514532 .unused,
1081614533 .unused,
1081714534 },
10818 .dst_temps = .{.{ .ref = .src0 }},
14535 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1081914536 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1082014537 .each = .{ .once = &.{
1082114538 .{ ._, ._dqa, .mov, .mem(.tmp0x), .src1x, ._, ._ },
......@@ -10855,7 +14572,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1085514572 .unused,
1085614573 .unused,
1085714574 },
10858 .dst_temps = .{.{ .ref = .src0 }},
14575 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1085914576 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1086014577 .each = .{ .once = &.{
1086114578 .{ ._, ._ps, .mova, .mem(.tmp0x), .src1x, ._, ._ },
......@@ -10893,7 +14610,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1089314610 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } },
1089414611 .unused,
1089514612 },
10896 .dst_temps = .{.mem},
14613 .dst_temps = .{ .mem, .unused },
1089714614 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1089814615 .each = .{ .once = &.{
1089914616 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -10937,7 +14654,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1093714654 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } },
1093814655 .unused,
1093914656 },
10940 .dst_temps = .{.mem},
14657 .dst_temps = .{ .mem, .unused },
1094114658 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1094214659 .each = .{ .once = &.{
1094314660 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -10981,7 +14698,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1098114698 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } },
1098214699 .unused,
1098314700 },
10984 .dst_temps = .{.mem},
14701 .dst_temps = .{ .mem, .unused },
1098514702 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1098614703 .each = .{ .once = &.{
1098714704 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -11026,7 +14743,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1102614743 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } },
1102714744 .unused,
1102814745 },
11029 .dst_temps = .{.mem},
14746 .dst_temps = .{ .mem, .unused },
1103014747 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1103114748 .each = .{ .once = &.{
1103214749 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -11064,88 +14781,88 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1106414781 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });
1106514782 try ops[0].toSlicePtr(cg);
1106614783 var res: [1]Temp = undefined;
11067 if (ty_pl.ty.toType().elemType2(zcu).hasRuntimeBitsIgnoreComptime(zcu)) cg.select(&res, &.{ty_pl.ty.toType()}, &ops, comptime &.{ .{
14784 if (!hack_around_sema_opv_bugs or ty_pl.ty.toType().elemType2(zcu).hasRuntimeBitsIgnoreComptime(zcu)) cg.select(&res, &.{ty_pl.ty.toType()}, &ops, comptime &.{ .{
1106814785 .patterns = &.{
1106914786 .{ .src = .{ .to_gpr, .simm32, .none } },
1107014787 },
11071 .dst_temps = .{.{ .rc = .general_purpose }},
14788 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
1107214789 .each = .{ .once = &.{
11073 .{ ._, ._, .lea, .dst0p, .leaa(.src0, .add_src0_elem_size_times_src1), ._, ._ },
14790 .{ ._, ._, .lea, .dst0p, .leaa(.src0, .add_src0_elem_size_mul_src1), ._, ._ },
1107414791 } },
1107514792 }, .{
11076 .dst_constraints = .{.{ .elem_size_is = 1 }},
14793 .dst_constraints = .{ .{ .elem_size_is = 1 }, .any },
1107714794 .patterns = &.{
1107814795 .{ .src = .{ .to_gpr, .to_gpr, .none } },
1107914796 },
11080 .dst_temps = .{.{ .rc = .general_purpose }},
14797 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
1108114798 .each = .{ .once = &.{
1108214799 .{ ._, ._, .lea, .dst0p, .leai(.src0, .src1), ._, ._ },
1108314800 } },
1108414801 }, .{
11085 .dst_constraints = .{.{ .elem_size_is = 2 }},
14802 .dst_constraints = .{ .{ .elem_size_is = 2 }, .any },
1108614803 .patterns = &.{
1108714804 .{ .src = .{ .to_gpr, .to_gpr, .none } },
1108814805 },
11089 .dst_temps = .{.{ .rc = .general_purpose }},
14806 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
1109014807 .each = .{ .once = &.{
1109114808 .{ ._, ._, .lea, .dst0p, .leasi(.src0, .@"2", .src1), ._, ._ },
1109214809 } },
1109314810 }, .{
11094 .dst_constraints = .{.{ .elem_size_is = 2 + 1 }},
14811 .dst_constraints = .{ .{ .elem_size_is = 2 + 1 }, .any },
1109514812 .patterns = &.{
1109614813 .{ .src = .{ .to_gpr, .to_gpr, .none } },
1109714814 },
11098 .dst_temps = .{.{ .rc = .general_purpose }},
14815 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
1109914816 .each = .{ .once = &.{
1110014817 .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"2", .src1), ._, ._ },
1110114818 .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ },
1110214819 } },
1110314820 }, .{
11104 .dst_constraints = .{.{ .elem_size_is = 4 }},
14821 .dst_constraints = .{ .{ .elem_size_is = 4 }, .any },
1110514822 .patterns = &.{
1110614823 .{ .src = .{ .to_gpr, .to_gpr, .none } },
1110714824 },
11108 .dst_temps = .{.{ .rc = .general_purpose }},
14825 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
1110914826 .each = .{ .once = &.{
1111014827 .{ ._, ._, .lea, .dst0p, .leasi(.src0, .@"4", .src1), ._, ._ },
1111114828 } },
1111214829 }, .{
11113 .dst_constraints = .{.{ .elem_size_is = 4 + 1 }},
14830 .dst_constraints = .{ .{ .elem_size_is = 4 + 1 }, .any },
1111414831 .patterns = &.{
1111514832 .{ .src = .{ .to_gpr, .to_gpr, .none } },
1111614833 },
11117 .dst_temps = .{.{ .ref = .src1 }},
14834 .dst_temps = .{ .{ .ref = .src1 }, .unused },
1111814835 .each = .{ .once = &.{
1111914836 .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"4", .src1), ._, ._ },
1112014837 .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ },
1112114838 } },
1112214839 }, .{
1112314840 .required_features = .{ .@"64bit", null, null, null },
11124 .dst_constraints = .{.{ .elem_size_is = 8 }},
14841 .dst_constraints = .{ .{ .elem_size_is = 8 }, .any },
1112514842 .patterns = &.{
1112614843 .{ .src = .{ .to_gpr, .to_gpr, .none } },
1112714844 },
11128 .dst_temps = .{.{ .rc = .general_purpose }},
14845 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
1112914846 .each = .{ .once = &.{
1113014847 .{ ._, ._, .lea, .dst0p, .leasi(.src0, .@"8", .src1), ._, ._ },
1113114848 } },
1113214849 }, .{
1113314850 .required_features = .{ .@"64bit", null, null, null },
11134 .dst_constraints = .{.{ .elem_size_is = 8 + 1 }},
14851 .dst_constraints = .{ .{ .elem_size_is = 8 + 1 }, .any },
1113514852 .patterns = &.{
1113614853 .{ .src = .{ .to_gpr, .to_gpr, .none } },
1113714854 },
11138 .dst_temps = .{.{ .ref = .src1 }},
14855 .dst_temps = .{ .{ .ref = .src1 }, .unused },
1113914856 .each = .{ .once = &.{
1114014857 .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"8", .src1), ._, ._ },
1114114858 .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ },
1114214859 } },
1114314860 }, .{
11144 .dst_constraints = .{.po2_elem_size},
14861 .dst_constraints = .{ .po2_elem_size, .any },
1114514862 .patterns = &.{
1114614863 .{ .src = .{ .to_gpr, .to_mut_gpr, .none } },
1114714864 },
11148 .dst_temps = .{.{ .ref = .src1 }},
14865 .dst_temps = .{ .{ .ref = .src1 }, .unused },
1114914866 .clobbers = .{ .eflags = true },
1115014867 .each = .{ .once = &.{
1115114868 .{ ._, ._l, .sh, .src1p, .sa(.none, .add_log2_src0_elem_size), ._, ._ },
......@@ -11155,7 +14872,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1115514872 .patterns = &.{
1115614873 .{ .src = .{ .to_gpr, .to_gpr, .none } },
1115714874 },
11158 .dst_temps = .{.{ .rc = .general_purpose }},
14875 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
1115914876 .clobbers = .{ .eflags = true },
1116014877 .each = .{ .once = &.{
1116114878 .{ ._, .i_, .mul, .dst0p, .src1p, .sa(.none, .add_src0_elem_size), ._ },
......@@ -11169,9 +14886,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1116914886 ops[1].tracking(cg),
1117014887 }),
1117114888 else => |e| return e,
11172 } else { // hack around Sema OPV bugs
11173 res[0] = ops[0];
11174 }
14889 } else res[0] = ops[0];
1117514890 try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg);
1117614891 },
1117714892 .ptr_sub => |air_tag| if (use_old) try cg.airPtrArithmetic(inst, air_tag) else {
......@@ -11180,42 +14895,42 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1118014895 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });
1118114896 try ops[0].toSlicePtr(cg);
1118214897 var res: [1]Temp = undefined;
11183 if (ty_pl.ty.toType().elemType2(zcu).hasRuntimeBitsIgnoreComptime(zcu)) cg.select(&res, &.{ty_pl.ty.toType()}, &ops, comptime &.{ .{
14898 if (!hack_around_sema_opv_bugs or ty_pl.ty.toType().elemType2(zcu).hasRuntimeBitsIgnoreComptime(zcu)) cg.select(&res, &.{ty_pl.ty.toType()}, &ops, comptime &.{ .{
1118414899 .patterns = &.{
1118514900 .{ .src = .{ .to_gpr, .simm32, .none } },
1118614901 },
11187 .dst_temps = .{.{ .rc = .general_purpose }},
14902 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
1118814903 .each = .{ .once = &.{
11189 .{ ._, ._, .lea, .dst0p, .leaa(.src0, .sub_src0_elem_size_times_src1), ._, ._ },
14904 .{ ._, ._, .lea, .dst0p, .leaa(.src0, .sub_src0_elem_size_mul_src1), ._, ._ },
1119014905 } },
1119114906 }, .{
11192 .dst_constraints = .{.{ .elem_size_is = 1 }},
14907 .dst_constraints = .{ .{ .elem_size_is = 1 }, .any },
1119314908 .patterns = &.{
1119414909 .{ .src = .{ .to_gpr, .to_mut_gpr, .none } },
1119514910 },
11196 .dst_temps = .{.{ .ref = .src1 }},
14911 .dst_temps = .{ .{ .ref = .src1 }, .unused },
1119714912 .clobbers = .{ .eflags = true },
1119814913 .each = .{ .once = &.{
1119914914 .{ ._, ._, .neg, .src1p, ._, ._, ._ },
1120014915 .{ ._, ._, .lea, .dst0p, .leai(.src0, .src1), ._, ._ },
1120114916 } },
1120214917 }, .{
11203 .dst_constraints = .{.{ .elem_size_is = 2 }},
14918 .dst_constraints = .{ .{ .elem_size_is = 2 }, .any },
1120414919 .patterns = &.{
1120514920 .{ .src = .{ .to_gpr, .to_mut_gpr, .none } },
1120614921 },
11207 .dst_temps = .{.{ .ref = .src1 }},
14922 .dst_temps = .{ .{ .ref = .src1 }, .unused },
1120814923 .clobbers = .{ .eflags = true },
1120914924 .each = .{ .once = &.{
1121014925 .{ ._, ._, .neg, .src1p, ._, ._, ._ },
1121114926 .{ ._, ._, .lea, .dst0p, .leasi(.src0, .@"2", .src1), ._, ._ },
1121214927 } },
1121314928 }, .{
11214 .dst_constraints = .{.{ .elem_size_is = 2 + 1 }},
14929 .dst_constraints = .{ .{ .elem_size_is = 2 + 1 }, .any },
1121514930 .patterns = &.{
1121614931 .{ .src = .{ .to_gpr, .to_gpr, .none } },
1121714932 },
11218 .dst_temps = .{.{ .rc = .general_purpose }},
14933 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
1121914934 .clobbers = .{ .eflags = true },
1122014935 .each = .{ .once = &.{
1122114936 .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"2", .src1), ._, ._ },
......@@ -11223,22 +14938,22 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1122314938 .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ },
1122414939 } },
1122514940 }, .{
11226 .dst_constraints = .{.{ .elem_size_is = 4 }},
14941 .dst_constraints = .{ .{ .elem_size_is = 4 }, .any },
1122714942 .patterns = &.{
1122814943 .{ .src = .{ .to_gpr, .to_mut_gpr, .none } },
1122914944 },
11230 .dst_temps = .{.{ .ref = .src1 }},
14945 .dst_temps = .{ .{ .ref = .src1 }, .unused },
1123114946 .clobbers = .{ .eflags = true },
1123214947 .each = .{ .once = &.{
1123314948 .{ ._, ._, .neg, .src1p, ._, ._, ._ },
1123414949 .{ ._, ._, .lea, .dst0p, .leasi(.src0, .@"4", .src1), ._, ._ },
1123514950 } },
1123614951 }, .{
11237 .dst_constraints = .{.{ .elem_size_is = 4 + 1 }},
14952 .dst_constraints = .{ .{ .elem_size_is = 4 + 1 }, .any },
1123814953 .patterns = &.{
1123914954 .{ .src = .{ .to_gpr, .to_gpr, .none } },
1124014955 },
11241 .dst_temps = .{.{ .rc = .general_purpose }},
14956 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
1124214957 .clobbers = .{ .eflags = true },
1124314958 .each = .{ .once = &.{
1124414959 .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"4", .src1), ._, ._ },
......@@ -11247,11 +14962,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1124714962 } },
1124814963 }, .{
1124914964 .required_features = .{ .@"64bit", null, null, null },
11250 .dst_constraints = .{.{ .elem_size_is = 8 }},
14965 .dst_constraints = .{ .{ .elem_size_is = 8 }, .any },
1125114966 .patterns = &.{
1125214967 .{ .src = .{ .to_gpr, .to_mut_gpr, .none } },
1125314968 },
11254 .dst_temps = .{.{ .ref = .src1 }},
14969 .dst_temps = .{ .{ .ref = .src1 }, .unused },
1125514970 .clobbers = .{ .eflags = true },
1125614971 .each = .{ .once = &.{
1125714972 .{ ._, ._, .neg, .src1p, ._, ._, ._ },
......@@ -11259,11 +14974,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1125914974 } },
1126014975 }, .{
1126114976 .required_features = .{ .@"64bit", null, null, null },
11262 .dst_constraints = .{.{ .elem_size_is = 8 + 1 }},
14977 .dst_constraints = .{ .{ .elem_size_is = 8 + 1 }, .any },
1126314978 .patterns = &.{
1126414979 .{ .src = .{ .to_gpr, .to_gpr, .none } },
1126514980 },
11266 .dst_temps = .{.{ .rc = .general_purpose }},
14981 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
1126714982 .clobbers = .{ .eflags = true },
1126814983 .each = .{ .once = &.{
1126914984 .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"8", .src1), ._, ._ },
......@@ -11271,11 +14986,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1127114986 .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ },
1127214987 } },
1127314988 }, .{
11274 .dst_constraints = .{.po2_elem_size},
14989 .dst_constraints = .{ .po2_elem_size, .any },
1127514990 .patterns = &.{
1127614991 .{ .src = .{ .to_gpr, .to_mut_gpr, .none } },
1127714992 },
11278 .dst_temps = .{.{ .ref = .src1 }},
14993 .dst_temps = .{ .{ .ref = .src1 }, .unused },
1127914994 .clobbers = .{ .eflags = true },
1128014995 .each = .{ .once = &.{
1128114996 .{ ._, ._l, .sa, .src1p, .sa(.none, .add_log2_src0_elem_size), ._, ._ },
......@@ -11286,7 +15001,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1128615001 .patterns = &.{
1128715002 .{ .src = .{ .to_gpr, .to_gpr, .none } },
1128815003 },
11289 .dst_temps = .{.{ .rc = .general_purpose }},
15004 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
1129015005 .clobbers = .{ .eflags = true },
1129115006 .each = .{ .once = &.{
1129215007 .{ ._, .i_, .mul, .dst0p, .src1p, .sa(.none, .sub_src0_elem_size), ._ },
......@@ -11300,10 +15015,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1130015015 ops[1].tracking(cg),
1130115016 }),
1130215017 else => |e| return e,
11303 } else {
11304 // hack around Sema OPV bugs
11305 res[0] = ops[0];
11306 }
15018 } else res[0] = ops[0];
1130715019 try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg);
1130815020 },
1130915021 .max => |air_tag| if (use_old) try cg.airBinOp(inst, air_tag) else {
......@@ -11316,7 +15028,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1131615028 .patterns = &.{
1131715029 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1131815030 },
11319 .dst_temps = .{.{ .ref = .src0 }},
15031 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1132015032 .clobbers = .{ .eflags = true },
1132115033 .each = .{ .once = &.{
1132215034 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },
......@@ -11329,7 +15041,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1132915041 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1133015042 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1133115043 },
11332 .dst_temps = .{.{ .ref = .src0 }},
15044 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1133315045 .clobbers = .{ .eflags = true },
1133415046 .each = .{ .once = &.{
1133515047 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },
......@@ -11342,7 +15054,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1134215054 .patterns = &.{
1134315055 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1134415056 },
11345 .dst_temps = .{.{ .ref = .src0 }},
15057 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1134615058 .clobbers = .{ .eflags = true },
1134715059 .each = .{ .once = &.{
1134815060 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },
......@@ -11355,7 +15067,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1135515067 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1135615068 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1135715069 },
11358 .dst_temps = .{.{ .ref = .src0 }},
15070 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1135915071 .clobbers = .{ .eflags = true },
1136015072 .each = .{ .once = &.{
1136115073 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },
......@@ -11370,7 +15082,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1137015082 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1137115083 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1137215084 },
11373 .dst_temps = .{.{ .ref = .src0 }},
15085 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1137415086 .clobbers = .{ .eflags = true },
1137515087 .each = .{ .once = &.{
1137615088 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },
......@@ -11383,7 +15095,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1138315095 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1138415096 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1138515097 },
11386 .dst_temps = .{.{ .ref = .src0 }},
15098 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1138715099 .clobbers = .{ .eflags = true },
1138815100 .each = .{ .once = &.{
1138915101 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },
......@@ -11398,7 +15110,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1139815110 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1139915111 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1140015112 },
11401 .dst_temps = .{.{ .ref = .src0 }},
15113 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1140215114 .clobbers = .{ .eflags = true },
1140315115 .each = .{ .once = &.{
1140415116 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },
......@@ -11411,7 +15123,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1141115123 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1141215124 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1141315125 },
11414 .dst_temps = .{.{ .ref = .src0 }},
15126 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1141515127 .clobbers = .{ .eflags = true },
1141615128 .each = .{ .once = &.{
1141715129 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },
......@@ -11426,7 +15138,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1142615138 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1142715139 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1142815140 },
11429 .dst_temps = .{.{ .ref = .src0 }},
15141 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1143015142 .clobbers = .{ .eflags = true },
1143115143 .each = .{ .once = &.{
1143215144 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },
......@@ -11439,7 +15151,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1143915151 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1144015152 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1144115153 },
11442 .dst_temps = .{.{ .ref = .src0 }},
15154 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1144315155 .clobbers = .{ .eflags = true },
1144415156 .each = .{ .once = &.{
1144515157 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },
......@@ -11454,7 +15166,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1145415166 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1145515167 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1145615168 },
11457 .dst_temps = .{.{ .ref = .src0 }},
15169 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1145815170 .clobbers = .{ .eflags = true },
1145915171 .each = .{ .once = &.{
1146015172 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },
......@@ -11467,7 +15179,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1146715179 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1146815180 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1146915181 },
11470 .dst_temps = .{.{ .ref = .src0 }},
15182 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1147115183 .clobbers = .{ .eflags = true },
1147215184 .each = .{ .once = &.{
1147315185 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },
......@@ -11482,7 +15194,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1148215194 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1148315195 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1148415196 },
11485 .dst_temps = .{.{ .ref = .src0 }},
15197 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1148615198 .clobbers = .{ .eflags = true },
1148715199 .each = .{ .once = &.{
1148815200 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },
......@@ -11496,7 +15208,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1149615208 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1149715209 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1149815210 },
11499 .dst_temps = .{.{ .ref = .src0 }},
15211 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1150015212 .clobbers = .{ .eflags = true },
1150115213 .each = .{ .once = &.{
1150215214 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },
......@@ -11511,7 +15223,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1151115223 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1151215224 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1151315225 },
11514 .dst_temps = .{.{ .ref = .src0 }},
15226 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1151515227 .clobbers = .{ .eflags = true },
1151615228 .each = .{ .once = &.{
1151715229 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },
......@@ -11525,7 +15237,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1152515237 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1152615238 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1152715239 },
11528 .dst_temps = .{.{ .ref = .src0 }},
15240 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1152915241 .clobbers = .{ .eflags = true },
1153015242 .each = .{ .once = &.{
1153115243 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },
......@@ -11549,7 +15261,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1154915261 .unused,
1155015262 .unused,
1155115263 },
11552 .dst_temps = .{.mem},
15264 .dst_temps = .{ .mem, .unused },
1155315265 .clobbers = .{ .eflags = true },
1155415266 .each = .{ .once = &.{
1155515267 .{ ._, ._, .mov, .tmp0p, .sia(1, .src0, .sub_size_div_8), ._, ._ },
......@@ -11584,7 +15296,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1158415296 .unused,
1158515297 .unused,
1158615298 },
11587 .dst_temps = .{.mem},
15299 .dst_temps = .{ .mem, .unused },
1158815300 .clobbers = .{ .eflags = true },
1158915301 .each = .{ .once = &.{
1159015302 .{ ._, ._, .mov, .tmp0p, .sia(1, .src0, .sub_size_div_8), ._, ._ },
......@@ -11619,7 +15331,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1161915331 .unused,
1162015332 .unused,
1162115333 },
11622 .dst_temps = .{.mem},
15334 .dst_temps = .{ .mem, .unused },
1162315335 .clobbers = .{ .eflags = true },
1162415336 .each = .{ .once = &.{
1162515337 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_8), ._, ._ },
......@@ -11652,7 +15364,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1165215364 .unused,
1165315365 .unused,
1165415366 },
11655 .dst_temps = .{.mem},
15367 .dst_temps = .{ .mem, .unused },
1165615368 .clobbers = .{ .eflags = true },
1165715369 .each = .{ .once = &.{
1165815370 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_8), ._, ._ },
......@@ -11680,7 +15392,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1168015392 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
1168115393 .{ .src = .{ .to_sse, .to_sse, .none } },
1168215394 },
11683 .dst_temps = .{.{ .rc = .sse }},
15395 .dst_temps = .{ .{ .rc = .sse }, .unused },
1168415396 .each = .{ .once = &.{
1168515397 .{ ._, .vp_b, .maxs, .dst0x, .src0x, .src1x, ._ },
1168615398 } },
......@@ -11696,7 +15408,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1169615408 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
1169715409 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
1169815410 },
11699 .dst_temps = .{.{ .ref = .src0 }},
15411 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1170015412 .each = .{ .once = &.{
1170115413 .{ ._, .p_b, .maxs, .dst0x, .src1x, ._, ._ },
1170215414 } },
......@@ -11712,7 +15424,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1171215424 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
1171315425 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
1171415426 },
11715 .dst_temps = .{.{ .rc = .sse }},
15427 .dst_temps = .{ .{ .rc = .sse }, .unused },
1171615428 .each = .{ .once = &.{
1171715429 .{ ._, ._dqa, .mov, .dst0x, .src0x, ._, ._ },
1171815430 .{ ._, .p_b, .cmpgt, .dst0x, .src1x, ._, ._ },
......@@ -11732,7 +15444,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1173215444 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
1173315445 .{ .src = .{ .to_sse, .to_sse, .none } },
1173415446 },
11735 .dst_temps = .{.{ .rc = .sse }},
15447 .dst_temps = .{ .{ .rc = .sse }, .unused },
1173615448 .each = .{ .once = &.{
1173715449 .{ ._, .vp_b, .maxs, .dst0y, .src0y, .src1y, ._ },
1173815450 } },
......@@ -11757,7 +15469,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1175715469 .unused,
1175815470 .unused,
1175915471 },
11760 .dst_temps = .{.mem},
15472 .dst_temps = .{ .mem, .unused },
1176115473 .clobbers = .{ .eflags = true },
1176215474 .each = .{ .once = &.{
1176315475 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -11788,7 +15500,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1178815500 .unused,
1178915501 .unused,
1179015502 },
11791 .dst_temps = .{.mem},
15503 .dst_temps = .{ .mem, .unused },
1179215504 .clobbers = .{ .eflags = true },
1179315505 .each = .{ .once = &.{
1179415506 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -11819,7 +15531,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1181915531 .unused,
1182015532 .unused,
1182115533 },
11822 .dst_temps = .{.mem},
15534 .dst_temps = .{ .mem, .unused },
1182315535 .clobbers = .{ .eflags = true },
1182415536 .each = .{ .once = &.{
1182515537 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -11850,7 +15562,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1185015562 .unused,
1185115563 .unused,
1185215564 },
11853 .dst_temps = .{.mem},
15565 .dst_temps = .{ .mem, .unused },
1185415566 .clobbers = .{ .eflags = true },
1185515567 .each = .{ .once = &.{
1185615568 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -11885,7 +15597,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1188515597 .unused,
1188615598 .unused,
1188715599 },
11888 .dst_temps = .{.mem},
15600 .dst_temps = .{ .mem, .unused },
1188915601 .clobbers = .{ .eflags = true },
1189015602 .each = .{ .once = &.{
1189115603 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -11918,7 +15630,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1191815630 .unused,
1191915631 .unused,
1192015632 },
11921 .dst_temps = .{.mem},
15633 .dst_temps = .{ .mem, .unused },
1192215634 .clobbers = .{ .eflags = true },
1192315635 .each = .{ .once = &.{
1192415636 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -11951,7 +15663,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1195115663 .unused,
1195215664 .unused,
1195315665 },
11954 .dst_temps = .{.mem},
15666 .dst_temps = .{ .mem, .unused },
1195515667 .clobbers = .{ .eflags = true },
1195615668 .each = .{ .once = &.{
1195715669 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -11983,7 +15695,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1198315695 .unused,
1198415696 .unused,
1198515697 },
11986 .dst_temps = .{.mem},
15698 .dst_temps = .{ .mem, .unused },
1198715699 .clobbers = .{ .eflags = true },
1198815700 .each = .{ .once = &.{
1198915701 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -12007,7 +15719,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1200715719 .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } },
1200815720 .{ .src = .{ .to_mut_mmx, .to_mmx, .none } },
1200915721 },
12010 .dst_temps = .{.{ .ref = .src0 }},
15722 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1201115723 .each = .{ .once = &.{
1201215724 .{ ._, .p_b, .maxu, .dst0q, .src1q, ._, ._ },
1201315725 } },
......@@ -12023,7 +15735,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1202315735 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
1202415736 .{ .src = .{ .to_sse, .to_sse, .none } },
1202515737 },
12026 .dst_temps = .{.{ .rc = .sse }},
15738 .dst_temps = .{ .{ .rc = .sse }, .unused },
1202715739 .each = .{ .once = &.{
1202815740 .{ ._, .vp_b, .maxu, .dst0x, .src0x, .src1x, ._ },
1202915741 } },
......@@ -12039,7 +15751,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1203915751 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
1204015752 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
1204115753 },
12042 .dst_temps = .{.{ .ref = .src0 }},
15754 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1204315755 .each = .{ .once = &.{
1204415756 .{ ._, .p_b, .maxu, .dst0x, .src1x, ._, ._ },
1204515757 } },
......@@ -12055,7 +15767,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1205515767 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
1205615768 .{ .src = .{ .to_sse, .to_sse, .none } },
1205715769 },
12058 .dst_temps = .{.{ .rc = .sse }},
15770 .dst_temps = .{ .{ .rc = .sse }, .unused },
1205915771 .each = .{ .once = &.{
1206015772 .{ ._, .vp_b, .maxu, .dst0y, .src0y, .src1y, ._ },
1206115773 } },
......@@ -12080,7 +15792,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1208015792 .unused,
1208115793 .unused,
1208215794 },
12083 .dst_temps = .{.mem},
15795 .dst_temps = .{ .mem, .unused },
1208415796 .clobbers = .{ .eflags = true },
1208515797 .each = .{ .once = &.{
1208615798 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -12111,7 +15823,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1211115823 .unused,
1211215824 .unused,
1211315825 },
12114 .dst_temps = .{.mem},
15826 .dst_temps = .{ .mem, .unused },
1211515827 .clobbers = .{ .eflags = true },
1211615828 .each = .{ .once = &.{
1211715829 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -12142,7 +15854,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1214215854 .unused,
1214315855 .unused,
1214415856 },
12145 .dst_temps = .{.mem},
15857 .dst_temps = .{ .mem, .unused },
1214615858 .clobbers = .{ .eflags = true },
1214715859 .each = .{ .once = &.{
1214815860 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -12173,7 +15885,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1217315885 .unused,
1217415886 .unused,
1217515887 },
12176 .dst_temps = .{.mem},
15888 .dst_temps = .{ .mem, .unused },
1217715889 .clobbers = .{ .eflags = true },
1217815890 .each = .{ .once = &.{
1217915891 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -12206,7 +15918,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1220615918 .unused,
1220715919 .unused,
1220815920 },
12209 .dst_temps = .{.mem},
15921 .dst_temps = .{ .mem, .unused },
1221015922 .clobbers = .{ .eflags = true },
1221115923 .each = .{ .once = &.{
1221215924 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -12239,7 +15951,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1223915951 .unused,
1224015952 .unused,
1224115953 },
12242 .dst_temps = .{.mem},
15954 .dst_temps = .{ .mem, .unused },
1224315955 .clobbers = .{ .eflags = true },
1224415956 .each = .{ .once = &.{
1224515957 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -12271,7 +15983,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1227115983 .unused,
1227215984 .unused,
1227315985 },
12274 .dst_temps = .{.mem},
15986 .dst_temps = .{ .mem, .unused },
1227515987 .clobbers = .{ .eflags = true },
1227615988 .each = .{ .once = &.{
1227715989 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -12295,7 +16007,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1229516007 .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } },
1229616008 .{ .src = .{ .to_mut_mmx, .to_mmx, .none } },
1229716009 },
12298 .dst_temps = .{.{ .ref = .src0 }},
16010 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1229916011 .each = .{ .once = &.{
1230016012 .{ ._, .p_w, .maxs, .dst0q, .src1q, ._, ._ },
1230116013 } },
......@@ -12311,7 +16023,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1231116023 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
1231216024 .{ .src = .{ .to_sse, .to_sse, .none } },
1231316025 },
12314 .dst_temps = .{.{ .rc = .sse }},
16026 .dst_temps = .{ .{ .rc = .sse }, .unused },
1231516027 .each = .{ .once = &.{
1231616028 .{ ._, .vp_w, .maxs, .dst0x, .src0x, .src1x, ._ },
1231716029 } },
......@@ -12327,7 +16039,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1232716039 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
1232816040 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
1232916041 },
12330 .dst_temps = .{.{ .ref = .src0 }},
16042 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1233116043 .each = .{ .once = &.{
1233216044 .{ ._, .p_w, .maxs, .dst0x, .src1x, ._, ._ },
1233316045 } },
......@@ -12343,7 +16055,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1234316055 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
1234416056 .{ .src = .{ .to_sse, .to_sse, .none } },
1234516057 },
12346 .dst_temps = .{.{ .rc = .sse }},
16058 .dst_temps = .{ .{ .rc = .sse }, .unused },
1234716059 .each = .{ .once = &.{
1234816060 .{ ._, .vp_w, .maxs, .dst0y, .src0y, .src1y, ._ },
1234916061 } },
......@@ -12368,7 +16080,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1236816080 .unused,
1236916081 .unused,
1237016082 },
12371 .dst_temps = .{.mem},
16083 .dst_temps = .{ .mem, .unused },
1237216084 .clobbers = .{ .eflags = true },
1237316085 .each = .{ .once = &.{
1237416086 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -12399,7 +16111,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1239916111 .unused,
1240016112 .unused,
1240116113 },
12402 .dst_temps = .{.mem},
16114 .dst_temps = .{ .mem, .unused },
1240316115 .clobbers = .{ .eflags = true },
1240416116 .each = .{ .once = &.{
1240516117 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -12430,7 +16142,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1243016142 .unused,
1243116143 .unused,
1243216144 },
12433 .dst_temps = .{.mem},
16145 .dst_temps = .{ .mem, .unused },
1243416146 .clobbers = .{ .eflags = true },
1243516147 .each = .{ .once = &.{
1243616148 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -12461,7 +16173,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1246116173 .unused,
1246216174 .unused,
1246316175 },
12464 .dst_temps = .{.mem},
16176 .dst_temps = .{ .mem, .unused },
1246516177 .clobbers = .{ .eflags = true },
1246616178 .each = .{ .once = &.{
1246716179 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -12492,7 +16204,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1249216204 .unused,
1249316205 .unused,
1249416206 },
12495 .dst_temps = .{.mem},
16207 .dst_temps = .{ .mem, .unused },
1249616208 .clobbers = .{ .eflags = true },
1249716209 .each = .{ .once = &.{
1249816210 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -12516,7 +16228,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1251616228 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
1251716229 .{ .src = .{ .to_sse, .to_sse, .none } },
1251816230 },
12519 .dst_temps = .{.{ .rc = .sse }},
16231 .dst_temps = .{ .{ .rc = .sse }, .unused },
1252016232 .each = .{ .once = &.{
1252116233 .{ ._, .vp_w, .maxu, .dst0x, .src0x, .src1x, ._ },
1252216234 } },
......@@ -12532,7 +16244,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1253216244 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
1253316245 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
1253416246 },
12535 .dst_temps = .{.{ .ref = .src0 }},
16247 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1253616248 .each = .{ .once = &.{
1253716249 .{ ._, .p_w, .maxu, .dst0x, .src1x, ._, ._ },
1253816250 } },
......@@ -12548,7 +16260,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1254816260 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
1254916261 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
1255016262 },
12551 .dst_temps = .{.{ .ref = .src0 }},
16263 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1255216264 .each = .{ .once = &.{
1255316265 .{ ._, .p_w, .subus, .dst0x, .src1x, ._, ._ },
1255416266 .{ ._, .p_w, .add, .dst0x, .src1x, ._, ._ },
......@@ -12565,7 +16277,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1256516277 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
1256616278 .{ .src = .{ .to_sse, .to_sse, .none } },
1256716279 },
12568 .dst_temps = .{.{ .rc = .sse }},
16280 .dst_temps = .{ .{ .rc = .sse }, .unused },
1256916281 .each = .{ .once = &.{
1257016282 .{ ._, .vp_w, .maxu, .dst0y, .src0y, .src1y, ._ },
1257116283 } },
......@@ -12590,7 +16302,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1259016302 .unused,
1259116303 .unused,
1259216304 },
12593 .dst_temps = .{.mem},
16305 .dst_temps = .{ .mem, .unused },
1259416306 .clobbers = .{ .eflags = true },
1259516307 .each = .{ .once = &.{
1259616308 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -12621,7 +16333,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1262116333 .unused,
1262216334 .unused,
1262316335 },
12624 .dst_temps = .{.mem},
16336 .dst_temps = .{ .mem, .unused },
1262516337 .clobbers = .{ .eflags = true },
1262616338 .each = .{ .once = &.{
1262716339 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -12652,7 +16364,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1265216364 .unused,
1265316365 .unused,
1265416366 },
12655 .dst_temps = .{.mem},
16367 .dst_temps = .{ .mem, .unused },
1265616368 .clobbers = .{ .eflags = true },
1265716369 .each = .{ .once = &.{
1265816370 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -12683,7 +16395,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1268316395 .unused,
1268416396 .unused,
1268516397 },
12686 .dst_temps = .{.mem},
16398 .dst_temps = .{ .mem, .unused },
1268716399 .clobbers = .{ .eflags = true },
1268816400 .each = .{ .once = &.{
1268916401 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -12715,7 +16427,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1271516427 .unused,
1271616428 .unused,
1271716429 },
12718 .dst_temps = .{.mem},
16430 .dst_temps = .{ .mem, .unused },
1271916431 .clobbers = .{ .eflags = true },
1272016432 .each = .{ .once = &.{
1272116433 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -12746,7 +16458,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1274616458 .unused,
1274716459 .unused,
1274816460 },
12749 .dst_temps = .{.mem},
16461 .dst_temps = .{ .mem, .unused },
1275016462 .clobbers = .{ .eflags = true },
1275116463 .each = .{ .once = &.{
1275216464 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -12770,7 +16482,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1277016482 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
1277116483 .{ .src = .{ .to_sse, .to_sse, .none } },
1277216484 },
12773 .dst_temps = .{.{ .rc = .sse }},
16485 .dst_temps = .{ .{ .rc = .sse }, .unused },
1277416486 .each = .{ .once = &.{
1277516487 .{ ._, .vp_d, .maxs, .dst0x, .src0x, .src1x, ._ },
1277616488 } },
......@@ -12786,7 +16498,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1278616498 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
1278716499 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
1278816500 },
12789 .dst_temps = .{.{ .ref = .src0 }},
16501 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1279016502 .each = .{ .once = &.{
1279116503 .{ ._, .p_d, .maxs, .dst0x, .src1x, ._, ._ },
1279216504 } },
......@@ -12802,7 +16514,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1280216514 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
1280316515 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
1280416516 },
12805 .dst_temps = .{.{ .rc = .sse }},
16517 .dst_temps = .{ .{ .rc = .sse }, .unused },
1280616518 .each = .{ .once = &.{
1280716519 .{ ._, ._dqa, .mov, .dst0x, .src0x, ._, ._ },
1280816520 .{ ._, .p_d, .cmpgt, .dst0x, .src1x, ._, ._ },
......@@ -12822,7 +16534,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1282216534 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
1282316535 .{ .src = .{ .to_sse, .to_sse, .none } },
1282416536 },
12825 .dst_temps = .{.{ .rc = .sse }},
16537 .dst_temps = .{ .{ .rc = .sse }, .unused },
1282616538 .each = .{ .once = &.{
1282716539 .{ ._, .vp_d, .maxs, .dst0y, .src0y, .src1y, ._ },
1282816540 } },
......@@ -12847,7 +16559,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1284716559 .unused,
1284816560 .unused,
1284916561 },
12850 .dst_temps = .{.mem},
16562 .dst_temps = .{ .mem, .unused },
1285116563 .clobbers = .{ .eflags = true },
1285216564 .each = .{ .once = &.{
1285316565 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -12878,7 +16590,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1287816590 .unused,
1287916591 .unused,
1288016592 },
12881 .dst_temps = .{.mem},
16593 .dst_temps = .{ .mem, .unused },
1288216594 .clobbers = .{ .eflags = true },
1288316595 .each = .{ .once = &.{
1288416596 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -12909,7 +16621,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1290916621 .unused,
1291016622 .unused,
1291116623 },
12912 .dst_temps = .{.mem},
16624 .dst_temps = .{ .mem, .unused },
1291316625 .clobbers = .{ .eflags = true },
1291416626 .each = .{ .once = &.{
1291516627 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -12940,7 +16652,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1294016652 .unused,
1294116653 .unused,
1294216654 },
12943 .dst_temps = .{.mem},
16655 .dst_temps = .{ .mem, .unused },
1294416656 .clobbers = .{ .eflags = true },
1294516657 .each = .{ .once = &.{
1294616658 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -12975,7 +16687,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1297516687 .unused,
1297616688 .unused,
1297716689 },
12978 .dst_temps = .{.mem},
16690 .dst_temps = .{ .mem, .unused },
1297916691 .clobbers = .{ .eflags = true },
1298016692 .each = .{ .once = &.{
1298116693 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -13006,7 +16718,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1300616718 .unused,
1300716719 .unused,
1300816720 },
13009 .dst_temps = .{.mem},
16721 .dst_temps = .{ .mem, .unused },
1301016722 .clobbers = .{ .eflags = true },
1301116723 .each = .{ .once = &.{
1301216724 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -13030,7 +16742,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1303016742 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
1303116743 .{ .src = .{ .to_sse, .to_sse, .none } },
1303216744 },
13033 .dst_temps = .{.{ .rc = .sse }},
16745 .dst_temps = .{ .{ .rc = .sse }, .unused },
1303416746 .each = .{ .once = &.{
1303516747 .{ ._, .vp_d, .maxu, .dst0x, .src0x, .src1x, ._ },
1303616748 } },
......@@ -13046,7 +16758,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1304616758 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
1304716759 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
1304816760 },
13049 .dst_temps = .{.{ .ref = .src0 }},
16761 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1305016762 .each = .{ .once = &.{
1305116763 .{ ._, .p_d, .maxu, .dst0x, .src1x, ._, ._ },
1305216764 } },
......@@ -13073,7 +16785,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1307316785 .unused,
1307416786 .unused,
1307516787 },
13076 .dst_temps = .{.{ .rc = .sse }},
16788 .dst_temps = .{ .{ .rc = .sse }, .unused },
1307716789 .each = .{ .once = &.{
1307816790 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
1307916791 .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ },
......@@ -13097,7 +16809,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1309716809 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
1309816810 .{ .src = .{ .to_sse, .to_sse, .none } },
1309916811 },
13100 .dst_temps = .{.{ .rc = .sse }},
16812 .dst_temps = .{ .{ .rc = .sse }, .unused },
1310116813 .each = .{ .once = &.{
1310216814 .{ ._, .vp_d, .maxu, .dst0y, .src0y, .src1y, ._ },
1310316815 } },
......@@ -13122,7 +16834,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1312216834 .unused,
1312316835 .unused,
1312416836 },
13125 .dst_temps = .{.mem},
16837 .dst_temps = .{ .mem, .unused },
1312616838 .clobbers = .{ .eflags = true },
1312716839 .each = .{ .once = &.{
1312816840 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -13153,7 +16865,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1315316865 .unused,
1315416866 .unused,
1315516867 },
13156 .dst_temps = .{.mem},
16868 .dst_temps = .{ .mem, .unused },
1315716869 .clobbers = .{ .eflags = true },
1315816870 .each = .{ .once = &.{
1315916871 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -13184,7 +16896,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1318416896 .unused,
1318516897 .unused,
1318616898 },
13187 .dst_temps = .{.mem},
16899 .dst_temps = .{ .mem, .unused },
1318816900 .clobbers = .{ .eflags = true },
1318916901 .each = .{ .once = &.{
1319016902 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -13215,7 +16927,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1321516927 .unused,
1321616928 .unused,
1321716929 },
13218 .dst_temps = .{.mem},
16930 .dst_temps = .{ .mem, .unused },
1321916931 .clobbers = .{ .eflags = true },
1322016932 .each = .{ .once = &.{
1322116933 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
......@@ -13256,7 +16968,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1325616968 .unused,
1325716969 .unused,
1325816970 },
13259 .dst_temps = .{.mem},
16971 .dst_temps = .{ .mem, .unused },
1326016972 .clobbers = .{ .eflags = true },
1326116973 .each = .{ .once = &.{
1326216974 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -13287,7 +16999,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1328716999 .unused,
1328817000 .unused,
1328917001 },
13290 .dst_temps = .{.mem},
17002 .dst_temps = .{ .mem, .unused },
1329117003 .clobbers = .{ .eflags = true },
1329217004 .each = .{ .once = &.{
1329317005 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -13309,7 +17021,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1330917021 .patterns = &.{
1331017022 .{ .src = .{ .to_sse, .to_sse, .none } },
1331117023 },
13312 .dst_temps = .{.{ .rc = .sse }},
17024 .dst_temps = .{ .{ .rc = .sse }, .unused },
1331317025 .each = .{ .once = &.{
1331417026 .{ ._, .vp_q, .cmpgt, .dst0x, .src1x, .src0x, ._ },
1331517027 .{ ._, .vp_b, .blendv, .dst0x, .src0x, .src1x, .dst0x },
......@@ -13337,7 +17049,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1333717049 .unused,
1333817050 .unused,
1333917051 },
13340 .dst_temps = .{.{ .ref = .src0 }},
17052 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1334117053 .each = .{ .once = &.{
1334217054 .{ ._, ._dqa, .mov, .tmp0x, .src1x, ._, ._ },
1334317055 .{ ._, .p_q, .cmpgt, .tmp0x, .src0x, ._, ._ },
......@@ -13353,7 +17065,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1335317065 .patterns = &.{
1335417066 .{ .src = .{ .to_sse, .to_sse, .none } },
1335517067 },
13356 .dst_temps = .{.{ .rc = .sse }},
17068 .dst_temps = .{ .{ .rc = .sse }, .unused },
1335717069 .each = .{ .once = &.{
1335817070 .{ ._, .vp_q, .cmpgt, .dst0y, .src1y, .src0y, ._ },
1335917071 .{ ._, .vp_b, .blendv, .dst0y, .src0y, .src1y, .dst0y },
......@@ -13379,7 +17091,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1337917091 .unused,
1338017092 .unused,
1338117093 },
13382 .dst_temps = .{.mem},
17094 .dst_temps = .{ .mem, .unused },
1338317095 .clobbers = .{ .eflags = true },
1338417096 .each = .{ .once = &.{
1338517097 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -13412,7 +17124,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1341217124 .unused,
1341317125 .unused,
1341417126 },
13415 .dst_temps = .{.mem},
17127 .dst_temps = .{ .mem, .unused },
1341617128 .clobbers = .{ .eflags = true },
1341717129 .each = .{ .once = &.{
1341817130 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -13445,7 +17157,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1344517157 .unused,
1344617158 .unused,
1344717159 },
13448 .dst_temps = .{.mem},
17160 .dst_temps = .{ .mem, .unused },
1344917161 .clobbers = .{ .eflags = true },
1345017162 .each = .{ .once = &.{
1345117163 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -13479,7 +17191,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1347917191 .unused,
1348017192 .unused,
1348117193 },
13482 .dst_temps = .{.mem},
17194 .dst_temps = .{ .mem, .unused },
1348317195 .clobbers = .{ .eflags = true },
1348417196 .each = .{ .once = &.{
1348517197 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -13511,7 +17223,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1351117223 .unused,
1351217224 .unused,
1351317225 },
13514 .dst_temps = .{.mem},
17226 .dst_temps = .{ .mem, .unused },
1351517227 .clobbers = .{ .eflags = true },
1351617228 .each = .{ .once = &.{
1351717229 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -13546,7 +17258,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1354617258 .unused,
1354717259 .unused,
1354817260 },
13549 .dst_temps = .{.{ .rc = .sse }},
17261 .dst_temps = .{ .{ .rc = .sse }, .unused },
1355017262 .each = .{ .once = &.{
1355117263 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
1355217264 .{ ._, .v_, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ },
......@@ -13578,7 +17290,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1357817290 .unused,
1357917291 .unused,
1358017292 },
13581 .dst_temps = .{.{ .ref = .src0 }},
17293 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1358217294 .each = .{ .once = &.{
1358317295 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
1358417296 .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ },
......@@ -13611,7 +17323,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1361117323 .unused,
1361217324 .unused,
1361317325 },
13614 .dst_temps = .{.{ .rc = .sse }},
17326 .dst_temps = .{ .{ .rc = .sse }, .unused },
1361517327 .each = .{ .once = &.{
1361617328 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
1361717329 .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ },
......@@ -13641,7 +17353,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1364117353 .unused,
1364217354 .unused,
1364317355 },
13644 .dst_temps = .{.mem},
17356 .dst_temps = .{ .mem, .unused },
1364517357 .clobbers = .{ .eflags = true },
1364617358 .each = .{ .once = &.{
1364717359 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
......@@ -13678,7 +17390,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1367817390 .unused,
1367917391 .unused,
1368017392 },
13681 .dst_temps = .{.mem},
17393 .dst_temps = .{ .mem, .unused },
1368217394 .clobbers = .{ .eflags = true },
1368317395 .each = .{ .once = &.{
1368417396 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
......@@ -13715,7 +17427,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1371517427 .unused,
1371617428 .unused,
1371717429 },
13718 .dst_temps = .{.mem},
17430 .dst_temps = .{ .mem, .unused },
1371917431 .clobbers = .{ .eflags = true },
1372017432 .each = .{ .once = &.{
1372117433 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
......@@ -13754,7 +17466,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1375417466 .unused,
1375517467 .unused,
1375617468 },
13757 .dst_temps = .{.mem},
17469 .dst_temps = .{ .mem, .unused },
1375817470 .clobbers = .{ .eflags = true },
1375917471 .each = .{ .once = &.{
1376017472 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -13786,7 +17498,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1378617498 .unused,
1378717499 .unused,
1378817500 },
13789 .dst_temps = .{.mem},
17501 .dst_temps = .{ .mem, .unused },
1379017502 .clobbers = .{ .eflags = true },
1379117503 .each = .{ .once = &.{
1379217504 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -13815,7 +17527,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1381517527 .unused,
1381617528 .unused,
1381717529 },
13818 .dst_temps = .{.mem},
17530 .dst_temps = .{ .mem, .unused },
1381917531 .clobbers = .{ .eflags = true },
1382017532 .each = .{ .once = &.{
1382117533 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -13854,7 +17566,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1385417566 .unused,
1385517567 .unused,
1385617568 },
13857 .dst_temps = .{.mem},
17569 .dst_temps = .{ .mem, .unused },
1385817570 .clobbers = .{ .eflags = true },
1385917571 .each = .{ .once = &.{
1386017572 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -13893,7 +17605,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1389317605 .unused,
1389417606 .unused,
1389517607 },
13896 .dst_temps = .{.mem},
17608 .dst_temps = .{ .mem, .unused },
1389717609 .clobbers = .{ .eflags = true },
1389817610 .each = .{ .once = &.{
1389917611 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -13930,7 +17642,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1393017642 .unused,
1393117643 .unused,
1393217644 },
13933 .dst_temps = .{.mem},
17645 .dst_temps = .{ .mem, .unused },
1393417646 .clobbers = .{ .eflags = true },
1393517647 .each = .{ .once = &.{
1393617648 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -13971,7 +17683,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1397117683 .unused,
1397217684 .unused,
1397317685 },
13974 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
17686 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
1397517687 .each = .{ .once = &.{
1397617688 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
1397717689 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
......@@ -14002,7 +17714,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1400217714 .unused,
1400317715 .unused,
1400417716 },
14005 .dst_temps = .{.{ .ref = .src0 }},
17717 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1400617718 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1400717719 .each = .{ .once = &.{
1400817720 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -14031,7 +17743,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1403117743 .unused,
1403217744 .unused,
1403317745 },
14034 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
17746 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
1403517747 .each = .{ .once = &.{
1403617748 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
1403717749 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
......@@ -14064,7 +17776,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1406417776 .unused,
1406517777 .unused,
1406617778 },
14067 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
17779 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
1406817780 .each = .{ .once = &.{
1406917781 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
1407017782 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },
......@@ -14094,7 +17806,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1409417806 .unused,
1409517807 .unused,
1409617808 },
14097 .dst_temps = .{.mem},
17809 .dst_temps = .{ .mem, .unused },
1409817810 .clobbers = .{ .eflags = true },
1409917811 .each = .{ .once = &.{
1410017812 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -14129,7 +17841,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1412917841 .unused,
1413017842 .unused,
1413117843 },
14132 .dst_temps = .{.mem},
17844 .dst_temps = .{ .mem, .unused },
1413317845 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1413417846 .each = .{ .once = &.{
1413517847 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -14163,7 +17875,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1416317875 .unused,
1416417876 .unused,
1416517877 },
14166 .dst_temps = .{.mem},
17878 .dst_temps = .{ .mem, .unused },
1416717879 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1416817880 .each = .{ .once = &.{
1416917881 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -14198,7 +17910,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1419817910 .unused,
1419917911 .unused,
1420017912 },
14201 .dst_temps = .{.mem},
17913 .dst_temps = .{ .mem, .unused },
1420217914 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1420317915 .each = .{ .once = &.{
1420417916 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -14234,7 +17946,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1423417946 .unused,
1423517947 .unused,
1423617948 },
14237 .dst_temps = .{.mem},
17949 .dst_temps = .{ .mem, .unused },
1423817950 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1423917951 .each = .{ .once = &.{
1424017952 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -14272,7 +17984,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1427217984 .unused,
1427317985 .unused,
1427417986 },
14275 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
17987 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
1427617988 .each = .{ .once = &.{
1427717989 .{ ._, .v_ss, .cmp, .tmp0x, .src0x, .src0d, .vp(.unord) },
1427817990 .{ ._, .v_ss, .max, .dst0x, .src1x, .src0d, ._ },
......@@ -14288,7 +18000,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1428818000 .patterns = &.{
1428918001 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } },
1429018002 },
14291 .dst_temps = .{.{ .rc = .sse }},
18003 .dst_temps = .{ .{ .rc = .sse }, .unused },
1429218004 .each = .{ .once = &.{
1429318005 .{ ._, ._ps, .mova, .dst0x, .src1x, ._, ._ },
1429418006 .{ ._, ._ss, .max, .dst0x, .src0d, ._, ._ },
......@@ -14316,7 +18028,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1431618028 .unused,
1431718029 .unused,
1431818030 },
14319 .dst_temps = .{.{ .ref = .src0 }},
18031 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1432018032 .each = .{ .once = &.{
1432118033 .{ ._, ._ps, .mova, .tmp0x, .src1x, ._, ._ },
1432218034 .{ ._, ._ss, .max, .tmp0x, .src0d, ._, ._ },
......@@ -14346,7 +18058,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1434618058 .unused,
1434718059 .unused,
1434818060 },
14349 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
18061 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
1435018062 .each = .{ .once = &.{
1435118063 .{ ._, .v_ps, .cmp, .tmp0x, .src0x, .src0x, .vp(.unord) },
1435218064 .{ ._, .v_ps, .max, .dst0x, .src1x, .src0x, ._ },
......@@ -14364,7 +18076,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1436418076 .{ .src = .{ .mem, .{ .to_reg = .xmm0 }, .none }, .commute = .{ 0, 1 } },
1436518077 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } },
1436618078 },
14367 .dst_temps = .{.{ .rc = .sse }},
18079 .dst_temps = .{ .{ .rc = .sse }, .unused },
1436818080 .each = .{ .once = &.{
1436918081 .{ ._, ._ps, .mova, .dst0x, .src1x, ._, ._ },
1437018082 .{ ._, ._ps, .max, .dst0x, .src0x, ._, ._ },
......@@ -14394,7 +18106,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1439418106 .unused,
1439518107 .unused,
1439618108 },
14397 .dst_temps = .{.{ .ref = .src0 }},
18109 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1439818110 .each = .{ .once = &.{
1439918111 .{ ._, ._ps, .mova, .tmp0x, .src1x, ._, ._ },
1440018112 .{ ._, ._ps, .max, .tmp0x, .src0x, ._, ._ },
......@@ -14424,7 +18136,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1442418136 .unused,
1442518137 .unused,
1442618138 },
14427 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
18139 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
1442818140 .each = .{ .once = &.{
1442918141 .{ ._, .v_ps, .cmp, .tmp0y, .src0y, .src0y, .vp(.unord) },
1443018142 .{ ._, .v_ps, .max, .dst0y, .src1y, .src0y, ._ },
......@@ -14451,7 +18163,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1445118163 .unused,
1445218164 .unused,
1445318165 },
14454 .dst_temps = .{.mem},
18166 .dst_temps = .{ .mem, .unused },
1445518167 .clobbers = .{ .eflags = true },
1445618168 .each = .{ .once = &.{
1445718169 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -14485,7 +18197,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1448518197 .unused,
1448618198 .unused,
1448718199 },
14488 .dst_temps = .{.mem},
18200 .dst_temps = .{ .mem, .unused },
1448918201 .clobbers = .{ .eflags = true },
1449018202 .each = .{ .once = &.{
1449118203 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -14520,7 +18232,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1452018232 .unused,
1452118233 .unused,
1452218234 },
14523 .dst_temps = .{.mem},
18235 .dst_temps = .{ .mem, .unused },
1452418236 .clobbers = .{ .eflags = true },
1452518237 .each = .{ .once = &.{
1452618238 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -14557,7 +18269,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1455718269 .unused,
1455818270 .unused,
1455918271 },
14560 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
18272 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
1456118273 .each = .{ .once = &.{
1456218274 .{ ._, .v_sd, .cmp, .tmp0x, .src0x, .src0q, .vp(.unord) },
1456318275 .{ ._, .v_sd, .max, .dst0x, .src1x, .src0q, ._ },
......@@ -14573,7 +18285,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1457318285 .patterns = &.{
1457418286 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } },
1457518287 },
14576 .dst_temps = .{.{ .rc = .sse }},
18288 .dst_temps = .{ .{ .rc = .sse }, .unused },
1457718289 .each = .{ .once = &.{
1457818290 .{ ._, ._pd, .mova, .dst0x, .src1x, ._, ._ },
1457918291 .{ ._, ._sd, .max, .dst0x, .src0q, ._, ._ },
......@@ -14601,7 +18313,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1460118313 .unused,
1460218314 .unused,
1460318315 },
14604 .dst_temps = .{.{ .ref = .src0 }},
18316 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1460518317 .each = .{ .once = &.{
1460618318 .{ ._, ._pd, .mova, .tmp0x, .src1x, ._, ._ },
1460718319 .{ ._, ._sd, .max, .tmp0x, .src0q, ._, ._ },
......@@ -14632,7 +18344,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1463218344 .unused,
1463318345 .unused,
1463418346 },
14635 .dst_temps = .{.{ .ref = .src0 }},
18347 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1463618348 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1463718349 .each = .{ .once = &.{
1463818350 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -14658,7 +18370,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1465818370 .unused,
1465918371 .unused,
1466018372 },
14661 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
18373 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
1466218374 .each = .{ .once = &.{
1466318375 .{ ._, .v_pd, .cmp, .tmp0x, .src0x, .src0x, .vp(.unord) },
1466418376 .{ ._, .v_pd, .max, .dst0x, .src1x, .src0x, ._ },
......@@ -14676,7 +18388,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1467618388 .{ .src = .{ .mem, .{ .to_reg = .xmm0 }, .none }, .commute = .{ 0, 1 } },
1467718389 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } },
1467818390 },
14679 .dst_temps = .{.{ .rc = .sse }},
18391 .dst_temps = .{ .{ .rc = .sse }, .unused },
1468018392 .each = .{ .once = &.{
1468118393 .{ ._, ._pd, .mova, .dst0x, .src1x, ._, ._ },
1468218394 .{ ._, ._pd, .max, .dst0x, .src0x, ._, ._ },
......@@ -14706,7 +18418,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1470618418 .unused,
1470718419 .unused,
1470818420 },
14709 .dst_temps = .{.{ .ref = .src0 }},
18421 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1471018422 .each = .{ .once = &.{
1471118423 .{ ._, ._pd, .mova, .tmp0x, .src1x, ._, ._ },
1471218424 .{ ._, ._pd, .max, .tmp0x, .src0x, ._, ._ },
......@@ -14736,7 +18448,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1473618448 .unused,
1473718449 .unused,
1473818450 },
14739 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
18451 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
1474018452 .each = .{ .once = &.{
1474118453 .{ ._, .v_pd, .cmp, .tmp0y, .src0y, .src0y, .vp(.unord) },
1474218454 .{ ._, .v_pd, .max, .dst0y, .src1y, .src0y, ._ },
......@@ -14763,7 +18475,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1476318475 .unused,
1476418476 .unused,
1476518477 },
14766 .dst_temps = .{.mem},
18478 .dst_temps = .{ .mem, .unused },
1476718479 .clobbers = .{ .eflags = true },
1476818480 .each = .{ .once = &.{
1476918481 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -14797,7 +18509,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1479718509 .unused,
1479818510 .unused,
1479918511 },
14800 .dst_temps = .{.mem},
18512 .dst_temps = .{ .mem, .unused },
1480118513 .clobbers = .{ .eflags = true },
1480218514 .each = .{ .once = &.{
1480318515 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -14832,7 +18544,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1483218544 .unused,
1483318545 .unused,
1483418546 },
14835 .dst_temps = .{.mem},
18547 .dst_temps = .{ .mem, .unused },
1483618548 .clobbers = .{ .eflags = true },
1483718549 .each = .{ .once = &.{
1483818550 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -14870,7 +18582,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1487018582 .unused,
1487118583 .unused,
1487218584 },
14873 .dst_temps = .{.mem},
18585 .dst_temps = .{ .mem, .unused },
1487418586 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1487518587 .each = .{ .once = &.{
1487618588 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -14906,7 +18618,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1490618618 .unused,
1490718619 .unused,
1490818620 },
14909 .dst_temps = .{.{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }},
18621 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }, .unused },
1491018622 .clobbers = .{ .eflags = true },
1491118623 .each = .{ .once = &.{
1491218624 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
......@@ -14941,7 +18653,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1494118653 .unused,
1494218654 .unused,
1494318655 },
14944 .dst_temps = .{.{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }},
18656 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }, .unused },
1494518657 .clobbers = .{ .eflags = true },
1494618658 .each = .{ .once = &.{
1494718659 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
......@@ -14982,7 +18694,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1498218694 .unused,
1498318695 .unused,
1498418696 },
14985 .dst_temps = .{.{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }},
18697 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }, .unused },
1498618698 .clobbers = .{ .eflags = true },
1498718699 .each = .{ .once = &.{
1498818700 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
......@@ -15021,7 +18733,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1502118733 .unused,
1502218734 .unused,
1502318735 },
15024 .dst_temps = .{.mem},
18736 .dst_temps = .{ .mem, .unused },
1502518737 .clobbers = .{ .eflags = true },
1502618738 .each = .{ .once = &.{
1502718739 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -15059,7 +18771,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1505918771 .unused,
1506018772 .unused,
1506118773 },
15062 .dst_temps = .{.mem},
18774 .dst_temps = .{ .mem, .unused },
1506318775 .clobbers = .{ .eflags = true },
1506418776 .each = .{ .once = &.{
1506518777 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -15103,7 +18815,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1510318815 .unused,
1510418816 .unused,
1510518817 },
15106 .dst_temps = .{.mem},
18818 .dst_temps = .{ .mem, .unused },
1510718819 .clobbers = .{ .eflags = true },
1510818820 .each = .{ .once = &.{
1510918821 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -15148,7 +18860,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1514818860 .unused,
1514918861 .unused,
1515018862 },
15151 .dst_temps = .{.{ .ref = .src0 }},
18863 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1515218864 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1515318865 .each = .{ .once = &.{
1515418866 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -15175,7 +18887,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1517518887 .unused,
1517618888 .unused,
1517718889 },
15178 .dst_temps = .{.mem},
18890 .dst_temps = .{ .mem, .unused },
1517918891 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1518018892 .each = .{ .once = &.{
1518118893 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -15208,7 +18920,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1520818920 .unused,
1520918921 .unused,
1521018922 },
15211 .dst_temps = .{.mem},
18923 .dst_temps = .{ .mem, .unused },
1521218924 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1521318925 .each = .{ .once = &.{
1521418926 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -15241,7 +18953,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1524118953 .unused,
1524218954 .unused,
1524318955 },
15244 .dst_temps = .{.mem},
18956 .dst_temps = .{ .mem, .unused },
1524518957 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1524618958 .each = .{ .once = &.{
1524718959 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -15273,7 +18985,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1527318985 .patterns = &.{
1527418986 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1527518987 },
15276 .dst_temps = .{.{ .ref = .src0 }},
18988 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1527718989 .clobbers = .{ .eflags = true },
1527818990 .each = .{ .once = &.{
1527918991 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },
......@@ -15286,7 +18998,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1528618998 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1528718999 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1528819000 },
15289 .dst_temps = .{.{ .ref = .src0 }},
19001 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1529019002 .clobbers = .{ .eflags = true },
1529119003 .each = .{ .once = &.{
1529219004 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },
......@@ -15299,7 +19011,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1529919011 .patterns = &.{
1530019012 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1530119013 },
15302 .dst_temps = .{.{ .ref = .src0 }},
19014 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1530319015 .clobbers = .{ .eflags = true },
1530419016 .each = .{ .once = &.{
1530519017 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },
......@@ -15312,7 +19024,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1531219024 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1531319025 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1531419026 },
15315 .dst_temps = .{.{ .ref = .src0 }},
19027 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1531619028 .clobbers = .{ .eflags = true },
1531719029 .each = .{ .once = &.{
1531819030 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },
......@@ -15327,7 +19039,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1532719039 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1532819040 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1532919041 },
15330 .dst_temps = .{.{ .ref = .src0 }},
19042 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1533119043 .clobbers = .{ .eflags = true },
1533219044 .each = .{ .once = &.{
1533319045 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },
......@@ -15340,7 +19052,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1534019052 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1534119053 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1534219054 },
15343 .dst_temps = .{.{ .ref = .src0 }},
19055 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1534419056 .clobbers = .{ .eflags = true },
1534519057 .each = .{ .once = &.{
1534619058 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },
......@@ -15355,7 +19067,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1535519067 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1535619068 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1535719069 },
15358 .dst_temps = .{.{ .ref = .src0 }},
19070 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1535919071 .clobbers = .{ .eflags = true },
1536019072 .each = .{ .once = &.{
1536119073 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },
......@@ -15368,7 +19080,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1536819080 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1536919081 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1537019082 },
15371 .dst_temps = .{.{ .ref = .src0 }},
19083 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1537219084 .clobbers = .{ .eflags = true },
1537319085 .each = .{ .once = &.{
1537419086 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },
......@@ -15383,7 +19095,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1538319095 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1538419096 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1538519097 },
15386 .dst_temps = .{.{ .ref = .src0 }},
19098 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1538719099 .clobbers = .{ .eflags = true },
1538819100 .each = .{ .once = &.{
1538919101 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },
......@@ -15396,7 +19108,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1539619108 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1539719109 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1539819110 },
15399 .dst_temps = .{.{ .ref = .src0 }},
19111 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1540019112 .clobbers = .{ .eflags = true },
1540119113 .each = .{ .once = &.{
1540219114 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },
......@@ -15411,7 +19123,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1541119123 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1541219124 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1541319125 },
15414 .dst_temps = .{.{ .ref = .src0 }},
19126 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1541519127 .clobbers = .{ .eflags = true },
1541619128 .each = .{ .once = &.{
1541719129 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },
......@@ -15424,7 +19136,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1542419136 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1542519137 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1542619138 },
15427 .dst_temps = .{.{ .ref = .src0 }},
19139 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1542819140 .clobbers = .{ .eflags = true },
1542919141 .each = .{ .once = &.{
1543019142 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },
......@@ -15439,7 +19151,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1543919151 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1544019152 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1544119153 },
15442 .dst_temps = .{.{ .ref = .src0 }},
19154 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1544319155 .clobbers = .{ .eflags = true },
1544419156 .each = .{ .once = &.{
1544519157 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },
......@@ -15453,7 +19165,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1545319165 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1545419166 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1545519167 },
15456 .dst_temps = .{.{ .ref = .src0 }},
19168 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1545719169 .clobbers = .{ .eflags = true },
1545819170 .each = .{ .once = &.{
1545919171 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },
......@@ -15468,7 +19180,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1546819180 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1546919181 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1547019182 },
15471 .dst_temps = .{.{ .ref = .src0 }},
19183 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1547219184 .clobbers = .{ .eflags = true },
1547319185 .each = .{ .once = &.{
1547419186 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },
......@@ -15482,7 +19194,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1548219194 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1548319195 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1548419196 },
15485 .dst_temps = .{.{ .ref = .src0 }},
19197 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1548619198 .clobbers = .{ .eflags = true },
1548719199 .each = .{ .once = &.{
1548819200 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },
......@@ -15506,7 +19218,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1550619218 .unused,
1550719219 .unused,
1550819220 },
15509 .dst_temps = .{.mem},
19221 .dst_temps = .{ .mem, .unused },
1551019222 .clobbers = .{ .eflags = true },
1551119223 .each = .{ .once = &.{
1551219224 .{ ._, ._, .mov, .tmp0p, .sia(1, .src0, .sub_size_div_8), ._, ._ },
......@@ -15541,7 +19253,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1554119253 .unused,
1554219254 .unused,
1554319255 },
15544 .dst_temps = .{.mem},
19256 .dst_temps = .{ .mem, .unused },
1554519257 .clobbers = .{ .eflags = true },
1554619258 .each = .{ .once = &.{
1554719259 .{ ._, ._, .mov, .tmp0p, .sia(1, .src0, .sub_size_div_8), ._, ._ },
......@@ -15576,7 +19288,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1557619288 .unused,
1557719289 .unused,
1557819290 },
15579 .dst_temps = .{.mem},
19291 .dst_temps = .{ .mem, .unused },
1558019292 .clobbers = .{ .eflags = true },
1558119293 .each = .{ .once = &.{
1558219294 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_8), ._, ._ },
......@@ -15609,7 +19321,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1560919321 .unused,
1561019322 .unused,
1561119323 },
15612 .dst_temps = .{.mem},
19324 .dst_temps = .{ .mem, .unused },
1561319325 .clobbers = .{ .eflags = true },
1561419326 .each = .{ .once = &.{
1561519327 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_8), ._, ._ },
......@@ -15637,7 +19349,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1563719349 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
1563819350 .{ .src = .{ .to_sse, .to_sse, .none } },
1563919351 },
15640 .dst_temps = .{.{ .rc = .sse }},
19352 .dst_temps = .{ .{ .rc = .sse }, .unused },
1564119353 .each = .{ .once = &.{
1564219354 .{ ._, .vp_b, .mins, .dst0x, .src0x, .src1x, ._ },
1564319355 } },
......@@ -15653,7 +19365,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1565319365 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
1565419366 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
1565519367 },
15656 .dst_temps = .{.{ .ref = .src0 }},
19368 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1565719369 .each = .{ .once = &.{
1565819370 .{ ._, .p_b, .mins, .dst0x, .src1x, ._, ._ },
1565919371 } },
......@@ -15669,7 +19381,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1566919381 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
1567019382 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
1567119383 },
15672 .dst_temps = .{.{ .rc = .sse }},
19384 .dst_temps = .{ .{ .rc = .sse }, .unused },
1567319385 .each = .{ .once = &.{
1567419386 .{ ._, ._dqa, .mov, .dst0x, .src1x, ._, ._ },
1567519387 .{ ._, .p_b, .cmpgt, .dst0x, .src0x, ._, ._ },
......@@ -15689,7 +19401,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1568919401 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
1569019402 .{ .src = .{ .to_sse, .to_sse, .none } },
1569119403 },
15692 .dst_temps = .{.{ .rc = .sse }},
19404 .dst_temps = .{ .{ .rc = .sse }, .unused },
1569319405 .each = .{ .once = &.{
1569419406 .{ ._, .vp_b, .mins, .dst0y, .src0y, .src1y, ._ },
1569519407 } },
......@@ -15714,7 +19426,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1571419426 .unused,
1571519427 .unused,
1571619428 },
15717 .dst_temps = .{.mem},
19429 .dst_temps = .{ .mem, .unused },
1571819430 .clobbers = .{ .eflags = true },
1571919431 .each = .{ .once = &.{
1572019432 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -15745,7 +19457,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1574519457 .unused,
1574619458 .unused,
1574719459 },
15748 .dst_temps = .{.mem},
19460 .dst_temps = .{ .mem, .unused },
1574919461 .clobbers = .{ .eflags = true },
1575019462 .each = .{ .once = &.{
1575119463 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -15776,7 +19488,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1577619488 .unused,
1577719489 .unused,
1577819490 },
15779 .dst_temps = .{.mem},
19491 .dst_temps = .{ .mem, .unused },
1578019492 .clobbers = .{ .eflags = true },
1578119493 .each = .{ .once = &.{
1578219494 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -15807,7 +19519,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1580719519 .unused,
1580819520 .unused,
1580919521 },
15810 .dst_temps = .{.mem},
19522 .dst_temps = .{ .mem, .unused },
1581119523 .clobbers = .{ .eflags = true },
1581219524 .each = .{ .once = &.{
1581319525 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -15842,7 +19554,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1584219554 .unused,
1584319555 .unused,
1584419556 },
15845 .dst_temps = .{.mem},
19557 .dst_temps = .{ .mem, .unused },
1584619558 .clobbers = .{ .eflags = true },
1584719559 .each = .{ .once = &.{
1584819560 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -15875,7 +19587,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1587519587 .unused,
1587619588 .unused,
1587719589 },
15878 .dst_temps = .{.mem},
19590 .dst_temps = .{ .mem, .unused },
1587919591 .clobbers = .{ .eflags = true },
1588019592 .each = .{ .once = &.{
1588119593 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -15908,7 +19620,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1590819620 .unused,
1590919621 .unused,
1591019622 },
15911 .dst_temps = .{.mem},
19623 .dst_temps = .{ .mem, .unused },
1591219624 .clobbers = .{ .eflags = true },
1591319625 .each = .{ .once = &.{
1591419626 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -15940,7 +19652,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1594019652 .unused,
1594119653 .unused,
1594219654 },
15943 .dst_temps = .{.mem},
19655 .dst_temps = .{ .mem, .unused },
1594419656 .clobbers = .{ .eflags = true },
1594519657 .each = .{ .once = &.{
1594619658 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -15964,7 +19676,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1596419676 .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } },
1596519677 .{ .src = .{ .to_mut_mmx, .to_mmx, .none } },
1596619678 },
15967 .dst_temps = .{.{ .ref = .src0 }},
19679 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1596819680 .each = .{ .once = &.{
1596919681 .{ ._, .p_b, .minu, .dst0q, .src1q, ._, ._ },
1597019682 } },
......@@ -15980,7 +19692,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1598019692 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
1598119693 .{ .src = .{ .to_sse, .to_sse, .none } },
1598219694 },
15983 .dst_temps = .{.{ .rc = .sse }},
19695 .dst_temps = .{ .{ .rc = .sse }, .unused },
1598419696 .each = .{ .once = &.{
1598519697 .{ ._, .vp_b, .minu, .dst0x, .src0x, .src1x, ._ },
1598619698 } },
......@@ -15996,7 +19708,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1599619708 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
1599719709 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
1599819710 },
15999 .dst_temps = .{.{ .ref = .src0 }},
19711 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1600019712 .each = .{ .once = &.{
1600119713 .{ ._, .p_b, .minu, .dst0x, .src1x, ._, ._ },
1600219714 } },
......@@ -16012,7 +19724,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1601219724 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
1601319725 .{ .src = .{ .to_sse, .to_sse, .none } },
1601419726 },
16015 .dst_temps = .{.{ .rc = .sse }},
19727 .dst_temps = .{ .{ .rc = .sse }, .unused },
1601619728 .each = .{ .once = &.{
1601719729 .{ ._, .vp_b, .minu, .dst0y, .src0y, .src1y, ._ },
1601819730 } },
......@@ -16037,7 +19749,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1603719749 .unused,
1603819750 .unused,
1603919751 },
16040 .dst_temps = .{.mem},
19752 .dst_temps = .{ .mem, .unused },
1604119753 .clobbers = .{ .eflags = true },
1604219754 .each = .{ .once = &.{
1604319755 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -16068,7 +19780,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1606819780 .unused,
1606919781 .unused,
1607019782 },
16071 .dst_temps = .{.mem},
19783 .dst_temps = .{ .mem, .unused },
1607219784 .clobbers = .{ .eflags = true },
1607319785 .each = .{ .once = &.{
1607419786 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -16099,7 +19811,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1609919811 .unused,
1610019812 .unused,
1610119813 },
16102 .dst_temps = .{.mem},
19814 .dst_temps = .{ .mem, .unused },
1610319815 .clobbers = .{ .eflags = true },
1610419816 .each = .{ .once = &.{
1610519817 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -16130,7 +19842,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1613019842 .unused,
1613119843 .unused,
1613219844 },
16133 .dst_temps = .{.mem},
19845 .dst_temps = .{ .mem, .unused },
1613419846 .clobbers = .{ .eflags = true },
1613519847 .each = .{ .once = &.{
1613619848 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -16163,7 +19875,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1616319875 .unused,
1616419876 .unused,
1616519877 },
16166 .dst_temps = .{.mem},
19878 .dst_temps = .{ .mem, .unused },
1616719879 .clobbers = .{ .eflags = true },
1616819880 .each = .{ .once = &.{
1616919881 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -16196,7 +19908,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1619619908 .unused,
1619719909 .unused,
1619819910 },
16199 .dst_temps = .{.mem},
19911 .dst_temps = .{ .mem, .unused },
1620019912 .clobbers = .{ .eflags = true },
1620119913 .each = .{ .once = &.{
1620219914 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -16228,7 +19940,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1622819940 .unused,
1622919941 .unused,
1623019942 },
16231 .dst_temps = .{.mem},
19943 .dst_temps = .{ .mem, .unused },
1623219944 .clobbers = .{ .eflags = true },
1623319945 .each = .{ .once = &.{
1623419946 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -16252,7 +19964,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1625219964 .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } },
1625319965 .{ .src = .{ .to_mut_mmx, .to_mmx, .none } },
1625419966 },
16255 .dst_temps = .{.{ .ref = .src0 }},
19967 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1625619968 .each = .{ .once = &.{
1625719969 .{ ._, .p_w, .mins, .dst0q, .src1q, ._, ._ },
1625819970 } },
......@@ -16268,7 +19980,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1626819980 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
1626919981 .{ .src = .{ .to_sse, .to_sse, .none } },
1627019982 },
16271 .dst_temps = .{.{ .rc = .sse }},
19983 .dst_temps = .{ .{ .rc = .sse }, .unused },
1627219984 .each = .{ .once = &.{
1627319985 .{ ._, .vp_w, .mins, .dst0x, .src0x, .src1x, ._ },
1627419986 } },
......@@ -16284,7 +19996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1628419996 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
1628519997 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
1628619998 },
16287 .dst_temps = .{.{ .ref = .src0 }},
19999 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1628820000 .each = .{ .once = &.{
1628920001 .{ ._, .p_w, .mins, .dst0x, .src1x, ._, ._ },
1629020002 } },
......@@ -16300,7 +20012,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1630020012 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
1630120013 .{ .src = .{ .to_sse, .to_sse, .none } },
1630220014 },
16303 .dst_temps = .{.{ .rc = .sse }},
20015 .dst_temps = .{ .{ .rc = .sse }, .unused },
1630420016 .each = .{ .once = &.{
1630520017 .{ ._, .vp_w, .mins, .dst0y, .src0y, .src1y, ._ },
1630620018 } },
......@@ -16325,7 +20037,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1632520037 .unused,
1632620038 .unused,
1632720039 },
16328 .dst_temps = .{.mem},
20040 .dst_temps = .{ .mem, .unused },
1632920041 .clobbers = .{ .eflags = true },
1633020042 .each = .{ .once = &.{
1633120043 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -16356,7 +20068,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1635620068 .unused,
1635720069 .unused,
1635820070 },
16359 .dst_temps = .{.mem},
20071 .dst_temps = .{ .mem, .unused },
1636020072 .clobbers = .{ .eflags = true },
1636120073 .each = .{ .once = &.{
1636220074 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -16387,7 +20099,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1638720099 .unused,
1638820100 .unused,
1638920101 },
16390 .dst_temps = .{.mem},
20102 .dst_temps = .{ .mem, .unused },
1639120103 .clobbers = .{ .eflags = true },
1639220104 .each = .{ .once = &.{
1639320105 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -16418,7 +20130,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1641820130 .unused,
1641920131 .unused,
1642020132 },
16421 .dst_temps = .{.mem},
20133 .dst_temps = .{ .mem, .unused },
1642220134 .clobbers = .{ .eflags = true },
1642320135 .each = .{ .once = &.{
1642420136 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -16449,7 +20161,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1644920161 .unused,
1645020162 .unused,
1645120163 },
16452 .dst_temps = .{.mem},
20164 .dst_temps = .{ .mem, .unused },
1645320165 .clobbers = .{ .eflags = true },
1645420166 .each = .{ .once = &.{
1645520167 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -16473,7 +20185,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1647320185 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
1647420186 .{ .src = .{ .to_sse, .to_sse, .none } },
1647520187 },
16476 .dst_temps = .{.{ .rc = .sse }},
20188 .dst_temps = .{ .{ .rc = .sse }, .unused },
1647720189 .each = .{ .once = &.{
1647820190 .{ ._, .vp_w, .minu, .dst0x, .src0x, .src1x, ._ },
1647920191 } },
......@@ -16489,7 +20201,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1648920201 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
1649020202 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
1649120203 },
16492 .dst_temps = .{.{ .ref = .src0 }},
20204 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1649320205 .each = .{ .once = &.{
1649420206 .{ ._, .p_w, .minu, .dst0x, .src1x, ._, ._ },
1649520207 } },
......@@ -16505,7 +20217,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1650520217 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
1650620218 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
1650720219 },
16508 .dst_temps = .{.{ .rc = .sse }},
20220 .dst_temps = .{ .{ .rc = .sse }, .unused },
1650920221 .each = .{ .once = &.{
1651020222 .{ ._, ._dqa, .mov, .dst0x, .src0x, ._, ._ },
1651120223 .{ ._, .p_w, .subus, .src0x, .src1x, ._, ._ },
......@@ -16523,7 +20235,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1652320235 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
1652420236 .{ .src = .{ .to_sse, .to_sse, .none } },
1652520237 },
16526 .dst_temps = .{.{ .rc = .sse }},
20238 .dst_temps = .{ .{ .rc = .sse }, .unused },
1652720239 .each = .{ .once = &.{
1652820240 .{ ._, .vp_w, .minu, .dst0y, .src0y, .src1y, ._ },
1652920241 } },
......@@ -16548,7 +20260,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1654820260 .unused,
1654920261 .unused,
1655020262 },
16551 .dst_temps = .{.mem},
20263 .dst_temps = .{ .mem, .unused },
1655220264 .clobbers = .{ .eflags = true },
1655320265 .each = .{ .once = &.{
1655420266 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -16579,7 +20291,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1657920291 .unused,
1658020292 .unused,
1658120293 },
16582 .dst_temps = .{.mem},
20294 .dst_temps = .{ .mem, .unused },
1658320295 .clobbers = .{ .eflags = true },
1658420296 .each = .{ .once = &.{
1658520297 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -16610,7 +20322,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1661020322 .unused,
1661120323 .unused,
1661220324 },
16613 .dst_temps = .{.mem},
20325 .dst_temps = .{ .mem, .unused },
1661420326 .clobbers = .{ .eflags = true },
1661520327 .each = .{ .once = &.{
1661620328 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -16641,7 +20353,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1664120353 .unused,
1664220354 .unused,
1664320355 },
16644 .dst_temps = .{.mem},
20356 .dst_temps = .{ .mem, .unused },
1664520357 .clobbers = .{ .eflags = true },
1664620358 .each = .{ .once = &.{
1664720359 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -16674,7 +20386,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1667420386 .unused,
1667520387 .unused,
1667620388 },
16677 .dst_temps = .{.mem},
20389 .dst_temps = .{ .mem, .unused },
1667820390 .clobbers = .{ .eflags = true },
1667920391 .each = .{ .once = &.{
1668020392 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -16705,7 +20417,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1670520417 .unused,
1670620418 .unused,
1670720419 },
16708 .dst_temps = .{.mem},
20420 .dst_temps = .{ .mem, .unused },
1670920421 .clobbers = .{ .eflags = true },
1671020422 .each = .{ .once = &.{
1671120423 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -16729,7 +20441,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1672920441 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
1673020442 .{ .src = .{ .to_sse, .to_sse, .none } },
1673120443 },
16732 .dst_temps = .{.{ .rc = .sse }},
20444 .dst_temps = .{ .{ .rc = .sse }, .unused },
1673320445 .each = .{ .once = &.{
1673420446 .{ ._, .vp_d, .mins, .dst0x, .src0x, .src1x, ._ },
1673520447 } },
......@@ -16745,7 +20457,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1674520457 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
1674620458 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
1674720459 },
16748 .dst_temps = .{.{ .ref = .src0 }},
20460 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1674920461 .each = .{ .once = &.{
1675020462 .{ ._, .p_d, .mins, .dst0x, .src1x, ._, ._ },
1675120463 } },
......@@ -16761,7 +20473,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1676120473 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
1676220474 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
1676320475 },
16764 .dst_temps = .{.{ .rc = .sse }},
20476 .dst_temps = .{ .{ .rc = .sse }, .unused },
1676520477 .each = .{ .once = &.{
1676620478 .{ ._, ._dqa, .mov, .dst0x, .src1x, ._, ._ },
1676720479 .{ ._, .p_d, .cmpgt, .dst0x, .src0x, ._, ._ },
......@@ -16781,7 +20493,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1678120493 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
1678220494 .{ .src = .{ .to_sse, .to_sse, .none } },
1678320495 },
16784 .dst_temps = .{.{ .rc = .sse }},
20496 .dst_temps = .{ .{ .rc = .sse }, .unused },
1678520497 .each = .{ .once = &.{
1678620498 .{ ._, .vp_d, .mins, .dst0y, .src0y, .src1y, ._ },
1678720499 } },
......@@ -16806,7 +20518,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1680620518 .unused,
1680720519 .unused,
1680820520 },
16809 .dst_temps = .{.mem},
20521 .dst_temps = .{ .mem, .unused },
1681020522 .clobbers = .{ .eflags = true },
1681120523 .each = .{ .once = &.{
1681220524 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -16837,7 +20549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1683720549 .unused,
1683820550 .unused,
1683920551 },
16840 .dst_temps = .{.mem},
20552 .dst_temps = .{ .mem, .unused },
1684120553 .clobbers = .{ .eflags = true },
1684220554 .each = .{ .once = &.{
1684320555 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -16868,7 +20580,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1686820580 .unused,
1686920581 .unused,
1687020582 },
16871 .dst_temps = .{.mem},
20583 .dst_temps = .{ .mem, .unused },
1687220584 .clobbers = .{ .eflags = true },
1687320585 .each = .{ .once = &.{
1687420586 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -16899,7 +20611,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1689920611 .unused,
1690020612 .unused,
1690120613 },
16902 .dst_temps = .{.mem},
20614 .dst_temps = .{ .mem, .unused },
1690320615 .clobbers = .{ .eflags = true },
1690420616 .each = .{ .once = &.{
1690520617 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -16934,7 +20646,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1693420646 .unused,
1693520647 .unused,
1693620648 },
16937 .dst_temps = .{.mem},
20649 .dst_temps = .{ .mem, .unused },
1693820650 .clobbers = .{ .eflags = true },
1693920651 .each = .{ .once = &.{
1694020652 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -16965,7 +20677,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1696520677 .unused,
1696620678 .unused,
1696720679 },
16968 .dst_temps = .{.mem},
20680 .dst_temps = .{ .mem, .unused },
1696920681 .clobbers = .{ .eflags = true },
1697020682 .each = .{ .once = &.{
1697120683 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -16989,7 +20701,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1698920701 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
1699020702 .{ .src = .{ .to_sse, .to_sse, .none } },
1699120703 },
16992 .dst_temps = .{.{ .rc = .sse }},
20704 .dst_temps = .{ .{ .rc = .sse }, .unused },
1699320705 .each = .{ .once = &.{
1699420706 .{ ._, .vp_d, .minu, .dst0x, .src0x, .src1x, ._ },
1699520707 } },
......@@ -17005,7 +20717,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1700520717 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
1700620718 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
1700720719 },
17008 .dst_temps = .{.{ .ref = .src0 }},
20720 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1700920721 .each = .{ .once = &.{
1701020722 .{ ._, .p_d, .minu, .dst0x, .src1x, ._, ._ },
1701120723 } },
......@@ -17032,7 +20744,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1703220744 .unused,
1703320745 .unused,
1703420746 },
17035 .dst_temps = .{.{ .rc = .sse }},
20747 .dst_temps = .{ .{ .rc = .sse }, .unused },
1703620748 .each = .{ .once = &.{
1703720749 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
1703820750 .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ },
......@@ -17056,7 +20768,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1705620768 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
1705720769 .{ .src = .{ .to_sse, .to_sse, .none } },
1705820770 },
17059 .dst_temps = .{.{ .rc = .sse }},
20771 .dst_temps = .{ .{ .rc = .sse }, .unused },
1706020772 .each = .{ .once = &.{
1706120773 .{ ._, .vp_d, .minu, .dst0y, .src0y, .src1y, ._ },
1706220774 } },
......@@ -17081,7 +20793,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1708120793 .unused,
1708220794 .unused,
1708320795 },
17084 .dst_temps = .{.mem},
20796 .dst_temps = .{ .mem, .unused },
1708520797 .clobbers = .{ .eflags = true },
1708620798 .each = .{ .once = &.{
1708720799 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -17112,7 +20824,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1711220824 .unused,
1711320825 .unused,
1711420826 },
17115 .dst_temps = .{.mem},
20827 .dst_temps = .{ .mem, .unused },
1711620828 .clobbers = .{ .eflags = true },
1711720829 .each = .{ .once = &.{
1711820830 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -17143,7 +20855,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1714320855 .unused,
1714420856 .unused,
1714520857 },
17146 .dst_temps = .{.mem},
20858 .dst_temps = .{ .mem, .unused },
1714720859 .clobbers = .{ .eflags = true },
1714820860 .each = .{ .once = &.{
1714920861 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -17174,7 +20886,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1717420886 .unused,
1717520887 .unused,
1717620888 },
17177 .dst_temps = .{.mem},
20889 .dst_temps = .{ .mem, .unused },
1717820890 .clobbers = .{ .eflags = true },
1717920891 .each = .{ .once = &.{
1718020892 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
......@@ -17215,7 +20927,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1721520927 .unused,
1721620928 .unused,
1721720929 },
17218 .dst_temps = .{.mem},
20930 .dst_temps = .{ .mem, .unused },
1721920931 .clobbers = .{ .eflags = true },
1722020932 .each = .{ .once = &.{
1722120933 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -17246,7 +20958,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1724620958 .unused,
1724720959 .unused,
1724820960 },
17249 .dst_temps = .{.mem},
20961 .dst_temps = .{ .mem, .unused },
1725020962 .clobbers = .{ .eflags = true },
1725120963 .each = .{ .once = &.{
1725220964 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -17270,7 +20982,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1727020982 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
1727120983 .{ .src = .{ .to_sse, .to_sse, .none } },
1727220984 },
17273 .dst_temps = .{.{ .rc = .sse }},
20985 .dst_temps = .{ .{ .rc = .sse }, .unused },
1727420986 .each = .{ .once = &.{
1727520987 .{ ._, .vp_q, .cmpgt, .dst0x, .src0x, .src1x, ._ },
1727620988 .{ ._, .vp_b, .blendv, .dst0x, .src0x, .src1x, .dst0x },
......@@ -17298,7 +21010,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1729821010 .unused,
1729921011 .unused,
1730021012 },
17301 .dst_temps = .{.{ .ref = .src0 }},
21013 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1730221014 .each = .{ .once = &.{
1730321015 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
1730421016 .{ ._, .p_q, .cmpgt, .tmp0x, .src1x, ._, ._ },
......@@ -17316,7 +21028,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1731621028 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
1731721029 .{ .src = .{ .to_sse, .to_sse, .none } },
1731821030 },
17319 .dst_temps = .{.{ .rc = .sse }},
21031 .dst_temps = .{ .{ .rc = .sse }, .unused },
1732021032 .each = .{ .once = &.{
1732121033 .{ ._, .vp_q, .cmpgt, .dst0y, .src0y, .src1y, ._ },
1732221034 .{ ._, .vp_b, .blendv, .dst0y, .src0y, .src1y, .dst0y },
......@@ -17342,7 +21054,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1734221054 .unused,
1734321055 .unused,
1734421056 },
17345 .dst_temps = .{.mem},
21057 .dst_temps = .{ .mem, .unused },
1734621058 .clobbers = .{ .eflags = true },
1734721059 .each = .{ .once = &.{
1734821060 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -17375,7 +21087,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1737521087 .unused,
1737621088 .unused,
1737721089 },
17378 .dst_temps = .{.mem},
21090 .dst_temps = .{ .mem, .unused },
1737921091 .clobbers = .{ .eflags = true },
1738021092 .each = .{ .once = &.{
1738121093 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -17408,7 +21120,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1740821120 .unused,
1740921121 .unused,
1741021122 },
17411 .dst_temps = .{.mem},
21123 .dst_temps = .{ .mem, .unused },
1741221124 .clobbers = .{ .eflags = true },
1741321125 .each = .{ .once = &.{
1741421126 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -17442,7 +21154,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1744221154 .unused,
1744321155 .unused,
1744421156 },
17445 .dst_temps = .{.mem},
21157 .dst_temps = .{ .mem, .unused },
1744621158 .clobbers = .{ .eflags = true },
1744721159 .each = .{ .once = &.{
1744821160 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -17474,7 +21186,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1747421186 .unused,
1747521187 .unused,
1747621188 },
17477 .dst_temps = .{.mem},
21189 .dst_temps = .{ .mem, .unused },
1747821190 .clobbers = .{ .eflags = true },
1747921191 .each = .{ .once = &.{
1748021192 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -17509,7 +21221,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1750921221 .unused,
1751021222 .unused,
1751121223 },
17512 .dst_temps = .{.{ .rc = .sse }},
21224 .dst_temps = .{ .{ .rc = .sse }, .unused },
1751321225 .each = .{ .once = &.{
1751421226 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
1751521227 .{ ._, .v_, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ },
......@@ -17541,7 +21253,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1754121253 .unused,
1754221254 .unused,
1754321255 },
17544 .dst_temps = .{.{ .ref = .src0 }},
21256 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1754521257 .each = .{ .once = &.{
1754621258 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
1754721259 .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ },
......@@ -17574,7 +21286,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1757421286 .unused,
1757521287 .unused,
1757621288 },
17577 .dst_temps = .{.{ .rc = .sse }},
21289 .dst_temps = .{ .{ .rc = .sse }, .unused },
1757821290 .each = .{ .once = &.{
1757921291 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
1758021292 .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ },
......@@ -17604,7 +21316,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1760421316 .unused,
1760521317 .unused,
1760621318 },
17607 .dst_temps = .{.mem},
21319 .dst_temps = .{ .mem, .unused },
1760821320 .clobbers = .{ .eflags = true },
1760921321 .each = .{ .once = &.{
1761021322 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
......@@ -17641,7 +21353,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1764121353 .unused,
1764221354 .unused,
1764321355 },
17644 .dst_temps = .{.mem},
21356 .dst_temps = .{ .mem, .unused },
1764521357 .clobbers = .{ .eflags = true },
1764621358 .each = .{ .once = &.{
1764721359 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
......@@ -17678,7 +21390,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1767821390 .unused,
1767921391 .unused,
1768021392 },
17681 .dst_temps = .{.mem},
21393 .dst_temps = .{ .mem, .unused },
1768221394 .clobbers = .{ .eflags = true },
1768321395 .each = .{ .once = &.{
1768421396 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
......@@ -17717,7 +21429,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1771721429 .unused,
1771821430 .unused,
1771921431 },
17720 .dst_temps = .{.mem},
21432 .dst_temps = .{ .mem, .unused },
1772121433 .clobbers = .{ .eflags = true },
1772221434 .each = .{ .once = &.{
1772321435 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -17749,7 +21461,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1774921461 .unused,
1775021462 .unused,
1775121463 },
17752 .dst_temps = .{.mem},
21464 .dst_temps = .{ .mem, .unused },
1775321465 .clobbers = .{ .eflags = true },
1775421466 .each = .{ .once = &.{
1775521467 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -17778,7 +21490,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1777821490 .unused,
1777921491 .unused,
1778021492 },
17781 .dst_temps = .{.mem},
21493 .dst_temps = .{ .mem, .unused },
1778221494 .clobbers = .{ .eflags = true },
1778321495 .each = .{ .once = &.{
1778421496 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -17817,7 +21529,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1781721529 .unused,
1781821530 .unused,
1781921531 },
17820 .dst_temps = .{.mem},
21532 .dst_temps = .{ .mem, .unused },
1782121533 .clobbers = .{ .eflags = true },
1782221534 .each = .{ .once = &.{
1782321535 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -17856,7 +21568,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1785621568 .unused,
1785721569 .unused,
1785821570 },
17859 .dst_temps = .{.mem},
21571 .dst_temps = .{ .mem, .unused },
1786021572 .clobbers = .{ .eflags = true },
1786121573 .each = .{ .once = &.{
1786221574 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -17893,7 +21605,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1789321605 .unused,
1789421606 .unused,
1789521607 },
17896 .dst_temps = .{.mem},
21608 .dst_temps = .{ .mem, .unused },
1789721609 .clobbers = .{ .eflags = true },
1789821610 .each = .{ .once = &.{
1789921611 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -17934,7 +21646,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1793421646 .unused,
1793521647 .unused,
1793621648 },
17937 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
21649 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
1793821650 .each = .{ .once = &.{
1793921651 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
1794021652 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
......@@ -17965,7 +21677,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1796521677 .unused,
1796621678 .unused,
1796721679 },
17968 .dst_temps = .{.{ .ref = .src0 }},
21680 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1796921681 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1797021682 .each = .{ .once = &.{
1797121683 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -17994,7 +21706,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1799421706 .unused,
1799521707 .unused,
1799621708 },
17997 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
21709 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
1799821710 .each = .{ .once = &.{
1799921711 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
1800021712 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
......@@ -18027,7 +21739,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1802721739 .unused,
1802821740 .unused,
1802921741 },
18030 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
21742 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
1803121743 .each = .{ .once = &.{
1803221744 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
1803321745 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },
......@@ -18057,7 +21769,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1805721769 .unused,
1805821770 .unused,
1805921771 },
18060 .dst_temps = .{.mem},
21772 .dst_temps = .{ .mem, .unused },
1806121773 .clobbers = .{ .eflags = true },
1806221774 .each = .{ .once = &.{
1806321775 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -18092,7 +21804,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1809221804 .unused,
1809321805 .unused,
1809421806 },
18095 .dst_temps = .{.mem},
21807 .dst_temps = .{ .mem, .unused },
1809621808 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1809721809 .each = .{ .once = &.{
1809821810 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -18126,7 +21838,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1812621838 .unused,
1812721839 .unused,
1812821840 },
18129 .dst_temps = .{.mem},
21841 .dst_temps = .{ .mem, .unused },
1813021842 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1813121843 .each = .{ .once = &.{
1813221844 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -18161,7 +21873,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1816121873 .unused,
1816221874 .unused,
1816321875 },
18164 .dst_temps = .{.mem},
21876 .dst_temps = .{ .mem, .unused },
1816521877 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1816621878 .each = .{ .once = &.{
1816721879 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -18197,7 +21909,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1819721909 .unused,
1819821910 .unused,
1819921911 },
18200 .dst_temps = .{.mem},
21912 .dst_temps = .{ .mem, .unused },
1820121913 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1820221914 .each = .{ .once = &.{
1820321915 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -18235,7 +21947,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1823521947 .unused,
1823621948 .unused,
1823721949 },
18238 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
21950 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
1823921951 .each = .{ .once = &.{
1824021952 .{ ._, .v_ss, .cmp, .tmp0x, .src0x, .src0d, .vp(.unord) },
1824121953 .{ ._, .v_ss, .min, .dst0x, .src1x, .src0d, ._ },
......@@ -18251,7 +21963,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1825121963 .patterns = &.{
1825221964 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } },
1825321965 },
18254 .dst_temps = .{.{ .rc = .sse }},
21966 .dst_temps = .{ .{ .rc = .sse }, .unused },
1825521967 .each = .{ .once = &.{
1825621968 .{ ._, ._ps, .mova, .dst0x, .src1x, ._, ._ },
1825721969 .{ ._, ._ss, .min, .dst0x, .src0d, ._, ._ },
......@@ -18279,7 +21991,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1827921991 .unused,
1828021992 .unused,
1828121993 },
18282 .dst_temps = .{.{ .ref = .src0 }},
21994 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1828321995 .each = .{ .once = &.{
1828421996 .{ ._, ._ps, .mova, .tmp0x, .src1x, ._, ._ },
1828521997 .{ ._, ._ss, .min, .tmp0x, .src0d, ._, ._ },
......@@ -18309,7 +22021,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1830922021 .unused,
1831022022 .unused,
1831122023 },
18312 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
22024 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
1831322025 .each = .{ .once = &.{
1831422026 .{ ._, .v_ps, .cmp, .tmp0x, .src0x, .src0x, .vp(.unord) },
1831522027 .{ ._, .v_ps, .min, .dst0x, .src1x, .src0x, ._ },
......@@ -18327,7 +22039,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1832722039 .{ .src = .{ .mem, .{ .to_reg = .xmm0 }, .none }, .commute = .{ 0, 1 } },
1832822040 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } },
1832922041 },
18330 .dst_temps = .{.{ .rc = .sse }},
22042 .dst_temps = .{ .{ .rc = .sse }, .unused },
1833122043 .each = .{ .once = &.{
1833222044 .{ ._, ._ps, .mova, .dst0x, .src1x, ._, ._ },
1833322045 .{ ._, ._ps, .min, .dst0x, .src0x, ._, ._ },
......@@ -18357,7 +22069,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1835722069 .unused,
1835822070 .unused,
1835922071 },
18360 .dst_temps = .{.{ .ref = .src0 }},
22072 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1836122073 .each = .{ .once = &.{
1836222074 .{ ._, ._ps, .mova, .tmp0x, .src1x, ._, ._ },
1836322075 .{ ._, ._ps, .min, .tmp0x, .src0x, ._, ._ },
......@@ -18387,7 +22099,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1838722099 .unused,
1838822100 .unused,
1838922101 },
18390 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
22102 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
1839122103 .each = .{ .once = &.{
1839222104 .{ ._, .v_ps, .cmp, .tmp0y, .src0y, .src0y, .vp(.unord) },
1839322105 .{ ._, .v_ps, .min, .dst0y, .src1y, .src0y, ._ },
......@@ -18414,7 +22126,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1841422126 .unused,
1841522127 .unused,
1841622128 },
18417 .dst_temps = .{.mem},
22129 .dst_temps = .{ .mem, .unused },
1841822130 .clobbers = .{ .eflags = true },
1841922131 .each = .{ .once = &.{
1842022132 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -18448,7 +22160,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1844822160 .unused,
1844922161 .unused,
1845022162 },
18451 .dst_temps = .{.mem},
22163 .dst_temps = .{ .mem, .unused },
1845222164 .clobbers = .{ .eflags = true },
1845322165 .each = .{ .once = &.{
1845422166 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -18483,7 +22195,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1848322195 .unused,
1848422196 .unused,
1848522197 },
18486 .dst_temps = .{.mem},
22198 .dst_temps = .{ .mem, .unused },
1848722199 .clobbers = .{ .eflags = true },
1848822200 .each = .{ .once = &.{
1848922201 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -18520,7 +22232,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1852022232 .unused,
1852122233 .unused,
1852222234 },
18523 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
22235 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
1852422236 .each = .{ .once = &.{
1852522237 .{ ._, .v_sd, .cmp, .tmp0x, .src0x, .src0q, .vp(.unord) },
1852622238 .{ ._, .v_sd, .min, .dst0x, .src1x, .src0q, ._ },
......@@ -18536,7 +22248,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1853622248 .patterns = &.{
1853722249 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } },
1853822250 },
18539 .dst_temps = .{.{ .rc = .sse }},
22251 .dst_temps = .{ .{ .rc = .sse }, .unused },
1854022252 .each = .{ .once = &.{
1854122253 .{ ._, ._pd, .mova, .dst0x, .src1x, ._, ._ },
1854222254 .{ ._, ._sd, .min, .dst0x, .src0q, ._, ._ },
......@@ -18564,7 +22276,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1856422276 .unused,
1856522277 .unused,
1856622278 },
18567 .dst_temps = .{.{ .ref = .src0 }},
22279 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1856822280 .each = .{ .once = &.{
1856922281 .{ ._, ._pd, .mova, .tmp0x, .src1x, ._, ._ },
1857022282 .{ ._, ._sd, .min, .tmp0x, .src0q, ._, ._ },
......@@ -18595,7 +22307,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1859522307 .unused,
1859622308 .unused,
1859722309 },
18598 .dst_temps = .{.{ .ref = .src0 }},
22310 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1859922311 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1860022312 .each = .{ .once = &.{
1860122313 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -18621,7 +22333,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1862122333 .unused,
1862222334 .unused,
1862322335 },
18624 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
22336 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
1862522337 .each = .{ .once = &.{
1862622338 .{ ._, .v_pd, .cmp, .tmp0x, .src0x, .src0x, .vp(.unord) },
1862722339 .{ ._, .v_pd, .min, .dst0x, .src1x, .src0x, ._ },
......@@ -18639,7 +22351,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1863922351 .{ .src = .{ .mem, .{ .to_reg = .xmm0 }, .none }, .commute = .{ 0, 1 } },
1864022352 .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } },
1864122353 },
18642 .dst_temps = .{.{ .rc = .sse }},
22354 .dst_temps = .{ .{ .rc = .sse }, .unused },
1864322355 .each = .{ .once = &.{
1864422356 .{ ._, ._pd, .mova, .dst0x, .src1x, ._, ._ },
1864522357 .{ ._, ._pd, .min, .dst0x, .src0x, ._, ._ },
......@@ -18669,7 +22381,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1866922381 .unused,
1867022382 .unused,
1867122383 },
18672 .dst_temps = .{.{ .ref = .src0 }},
22384 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1867322385 .each = .{ .once = &.{
1867422386 .{ ._, ._pd, .mova, .tmp0x, .src1x, ._, ._ },
1867522387 .{ ._, ._pd, .min, .tmp0x, .src0x, ._, ._ },
......@@ -18699,7 +22411,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1869922411 .unused,
1870022412 .unused,
1870122413 },
18702 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
22414 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
1870322415 .each = .{ .once = &.{
1870422416 .{ ._, .v_pd, .cmp, .tmp0y, .src0y, .src0y, .vp(.unord) },
1870522417 .{ ._, .v_pd, .min, .dst0y, .src1y, .src0y, ._ },
......@@ -18726,7 +22438,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1872622438 .unused,
1872722439 .unused,
1872822440 },
18729 .dst_temps = .{.mem},
22441 .dst_temps = .{ .mem, .unused },
1873022442 .clobbers = .{ .eflags = true },
1873122443 .each = .{ .once = &.{
1873222444 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -18760,7 +22472,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1876022472 .unused,
1876122473 .unused,
1876222474 },
18763 .dst_temps = .{.mem},
22475 .dst_temps = .{ .mem, .unused },
1876422476 .clobbers = .{ .eflags = true },
1876522477 .each = .{ .once = &.{
1876622478 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -18795,7 +22507,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1879522507 .unused,
1879622508 .unused,
1879722509 },
18798 .dst_temps = .{.mem},
22510 .dst_temps = .{ .mem, .unused },
1879922511 .clobbers = .{ .eflags = true },
1880022512 .each = .{ .once = &.{
1880122513 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -18833,7 +22545,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1883322545 .unused,
1883422546 .unused,
1883522547 },
18836 .dst_temps = .{.mem},
22548 .dst_temps = .{ .mem, .unused },
1883722549 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1883822550 .each = .{ .once = &.{
1883922551 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -18869,7 +22581,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1886922581 .unused,
1887022582 .unused,
1887122583 },
18872 .dst_temps = .{.{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }},
22584 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }, .unused },
1887322585 .clobbers = .{ .eflags = true },
1887422586 .each = .{ .once = &.{
1887522587 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
......@@ -18902,7 +22614,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1890222614 .unused,
1890322615 .unused,
1890422616 },
18905 .dst_temps = .{.{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }},
22617 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }, .unused },
1890622618 .clobbers = .{ .eflags = true },
1890722619 .each = .{ .once = &.{
1890822620 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
......@@ -18941,7 +22653,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1894122653 .unused,
1894222654 .unused,
1894322655 },
18944 .dst_temps = .{.{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }},
22656 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }, .unused },
1894522657 .clobbers = .{ .eflags = true },
1894622658 .each = .{ .once = &.{
1894722659 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
......@@ -18978,7 +22690,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1897822690 .unused,
1897922691 .unused,
1898022692 },
18981 .dst_temps = .{.mem},
22693 .dst_temps = .{ .mem, .unused },
1898222694 .clobbers = .{ .eflags = true },
1898322695 .each = .{ .once = &.{
1898422696 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -19014,7 +22726,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1901422726 .unused,
1901522727 .unused,
1901622728 },
19017 .dst_temps = .{.mem},
22729 .dst_temps = .{ .mem, .unused },
1901822730 .clobbers = .{ .eflags = true },
1901922731 .each = .{ .once = &.{
1902022732 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -19056,7 +22768,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1905622768 .unused,
1905722769 .unused,
1905822770 },
19059 .dst_temps = .{.mem},
22771 .dst_temps = .{ .mem, .unused },
1906022772 .clobbers = .{ .eflags = true },
1906122773 .each = .{ .once = &.{
1906222774 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -19099,7 +22811,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1909922811 .unused,
1910022812 .unused,
1910122813 },
19102 .dst_temps = .{.{ .ref = .src0 }},
22814 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1910322815 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1910422816 .each = .{ .once = &.{
1910522817 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -19126,7 +22838,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1912622838 .unused,
1912722839 .unused,
1912822840 },
19129 .dst_temps = .{.mem},
22841 .dst_temps = .{ .mem, .unused },
1913022842 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1913122843 .each = .{ .once = &.{
1913222844 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -19159,7 +22871,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1915922871 .unused,
1916022872 .unused,
1916122873 },
19162 .dst_temps = .{.mem},
22874 .dst_temps = .{ .mem, .unused },
1916322875 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1916422876 .each = .{ .once = &.{
1916522877 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -19192,7 +22904,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1919222904 .unused,
1919322905 .unused,
1919422906 },
19195 .dst_temps = .{.mem},
22907 .dst_temps = .{ .mem, .unused },
1919622908 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
1919722909 .each = .{ .once = &.{
1919822910 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -19262,7 +22974,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1926222974 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1926322975 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1926422976 },
19265 .dst_temps = .{.{ .ref = .src0 }},
22977 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1926622978 .clobbers = .{ .eflags = true },
1926722979 .each = .{ .once = &.{
1926822980 .{ ._, ._, mir_tag, .dst0b, .src1b, ._, ._ },
......@@ -19280,7 +22992,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1928022992 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1928122993 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1928222994 },
19283 .dst_temps = .{.{ .ref = .src0 }},
22995 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1928422996 .clobbers = .{ .eflags = true },
1928522997 .each = .{ .once = &.{
1928622998 .{ ._, ._, mir_tag, .dst0w, .src1w, ._, ._ },
......@@ -19298,7 +23010,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1929823010 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1929923011 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1930023012 },
19301 .dst_temps = .{.{ .ref = .src0 }},
23013 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1930223014 .clobbers = .{ .eflags = true },
1930323015 .each = .{ .once = &.{
1930423016 .{ ._, ._, mir_tag, .dst0d, .src1d, ._, ._ },
......@@ -19317,7 +23029,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1931723029 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
1931823030 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
1931923031 },
19320 .dst_temps = .{.{ .ref = .src0 }},
23032 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1932123033 .clobbers = .{ .eflags = true },
1932223034 .each = .{ .once = &.{
1932323035 .{ ._, ._, mir_tag, .dst0q, .src1q, ._, ._ },
......@@ -19330,7 +23042,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1933023042 .{ .src = .{ .mem, .to_mut_mm, .none }, .commute = .{ 0, 1 } },
1933123043 .{ .src = .{ .to_mut_mm, .to_mm, .none } },
1933223044 },
19333 .dst_temps = .{.{ .ref = .src0 }},
23045 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1933423046 .each = .{ .once = &.{
1933523047 .{ ._, .p_, mir_tag, .dst0q, .src1q, ._, ._ },
1933623048 } },
......@@ -19342,7 +23054,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1934223054 .{ .src = .{ .mem, .to_xmm, .none }, .commute = .{ 0, 1 } },
1934323055 .{ .src = .{ .to_xmm, .to_xmm, .none } },
1934423056 },
19345 .dst_temps = .{.{ .rc = .sse }},
23057 .dst_temps = .{ .{ .rc = .sse }, .unused },
1934623058 .each = .{ .once = &.{
1934723059 .{ ._, .vp_, mir_tag, .dst0x, .src0x, .src1x, ._ },
1934823060 } },
......@@ -19354,7 +23066,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1935423066 .{ .src = .{ .mem, .to_mut_xmm, .none }, .commute = .{ 0, 1 } },
1935523067 .{ .src = .{ .to_mut_xmm, .to_xmm, .none } },
1935623068 },
19357 .dst_temps = .{.{ .ref = .src0 }},
23069 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1935823070 .each = .{ .once = &.{
1935923071 .{ ._, .p_, mir_tag, .dst0x, .src1x, ._, ._ },
1936023072 } },
......@@ -19366,7 +23078,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1936623078 .{ .src = .{ .mem, .to_mut_xmm, .none }, .commute = .{ 0, 1 } },
1936723079 .{ .src = .{ .to_mut_xmm, .to_xmm, .none } },
1936823080 },
19369 .dst_temps = .{.{ .ref = .src0 }},
23081 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1937023082 .each = .{ .once = &.{
1937123083 .{ ._, ._ps, mir_tag, .dst0x, .src1x, ._, ._ },
1937223084 } },
......@@ -19378,7 +23090,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1937823090 .{ .src = .{ .mem, .to_ymm, .none }, .commute = .{ 0, 1 } },
1937923091 .{ .src = .{ .to_ymm, .to_ymm, .none } },
1938023092 },
19381 .dst_temps = .{.{ .rc = .sse }},
23093 .dst_temps = .{ .{ .rc = .sse }, .unused },
1938223094 .each = .{ .once = &.{
1938323095 .{ ._, .vp_, mir_tag, .dst0y, .src0y, .src1y, ._ },
1938423096 } },
......@@ -19390,7 +23102,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1939023102 .{ .src = .{ .mem, .to_ymm, .none }, .commute = .{ 0, 1 } },
1939123103 .{ .src = .{ .to_ymm, .to_ymm, .none } },
1939223104 },
19393 .dst_temps = .{.{ .rc = .sse }},
23105 .dst_temps = .{ .{ .rc = .sse }, .unused },
1939423106 .each = .{ .once = &.{
1939523107 .{ ._, .v_pd, mir_tag, .dst0y, .src0y, .src1y, ._ },
1939623108 } },
......@@ -19411,7 +23123,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1941123123 .unused,
1941223124 .unused,
1941323125 },
19414 .dst_temps = .{.mem},
23126 .dst_temps = .{ .mem, .unused },
1941523127 .clobbers = .{ .eflags = true },
1941623128 .each = .{ .once = &.{
1941723129 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -19438,7 +23150,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1943823150 .unused,
1943923151 .unused,
1944023152 },
19441 .dst_temps = .{.mem},
23153 .dst_temps = .{ .mem, .unused },
1944223154 .clobbers = .{ .eflags = true },
1944323155 .each = .{ .once = &.{
1944423156 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -19465,7 +23177,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1946523177 .unused,
1946623178 .unused,
1946723179 },
19468 .dst_temps = .{.mem},
23180 .dst_temps = .{ .mem, .unused },
1946923181 .clobbers = .{ .eflags = true },
1947023182 .each = .{ .once = &.{
1947123183 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -19492,7 +23204,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1949223204 .unused,
1949323205 .unused,
1949423206 },
19495 .dst_temps = .{.mem},
23207 .dst_temps = .{ .mem, .unused },
1949623208 .clobbers = .{ .eflags = true },
1949723209 .each = .{ .once = &.{
1949823210 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -19519,7 +23231,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1951923231 .unused,
1952023232 .unused,
1952123233 },
19522 .dst_temps = .{.mem},
23234 .dst_temps = .{ .mem, .unused },
1952323235 .clobbers = .{ .eflags = true },
1952423236 .each = .{ .once = &.{
1952523237 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -19546,7 +23258,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1954623258 .unused,
1954723259 .unused,
1954823260 },
19549 .dst_temps = .{.mem},
23261 .dst_temps = .{ .mem, .unused },
1955023262 .clobbers = .{ .eflags = true },
1955123263 .each = .{ .once = &.{
1955223264 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -19572,7 +23284,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1957223284 .unused,
1957323285 .unused,
1957423286 },
19575 .dst_temps = .{.mem},
23287 .dst_temps = .{ .mem, .unused },
1957623288 .clobbers = .{ .eflags = true },
1957723289 .each = .{ .once = &.{
1957823290 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -19604,7 +23316,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1960423316 .{ .src = .{ .mut_mem, .none, .none } },
1960523317 .{ .src = .{ .to_mut_gpr, .none, .none } },
1960623318 },
19607 .dst_temps = .{.{ .ref = .src0 }},
23319 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1960823320 .each = .{ .once = &.{
1960923321 .{ ._, ._, .not, .dst0b, ._, ._, ._ },
1961023322 } },
......@@ -19614,7 +23326,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1961423326 .{ .src = .{ .mut_mem, .none, .none } },
1961523327 .{ .src = .{ .to_mut_gpr, .none, .none } },
1961623328 },
19617 .dst_temps = .{.{ .ref = .src0 }},
23329 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1961823330 .clobbers = .{ .eflags = true },
1961923331 .each = .{ .once = &.{
1962023332 .{ ._, ._, .xor, .dst0b, .sa(.src0, .add_umax), ._, ._ },
......@@ -19625,7 +23337,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1962523337 .{ .src = .{ .mut_mem, .none, .none } },
1962623338 .{ .src = .{ .to_mut_gpr, .none, .none } },
1962723339 },
19628 .dst_temps = .{.{ .ref = .src0 }},
23340 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1962923341 .each = .{ .once = &.{
1963023342 .{ ._, ._, .not, .dst0w, ._, ._, ._ },
1963123343 } },
......@@ -19635,7 +23347,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1963523347 .{ .src = .{ .mut_mem, .none, .none } },
1963623348 .{ .src = .{ .to_mut_gpr, .none, .none } },
1963723349 },
19638 .dst_temps = .{.{ .ref = .src0 }},
23350 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1963923351 .clobbers = .{ .eflags = true },
1964023352 .each = .{ .once = &.{
1964123353 .{ ._, ._, .xor, .dst0w, .sa(.src0, .add_umax), ._, ._ },
......@@ -19646,7 +23358,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1964623358 .{ .src = .{ .mut_mem, .none, .none } },
1964723359 .{ .src = .{ .to_mut_gpr, .none, .none } },
1964823360 },
19649 .dst_temps = .{.{ .ref = .src0 }},
23361 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1965023362 .each = .{ .once = &.{
1965123363 .{ ._, ._, .not, .dst0d, ._, ._, ._ },
1965223364 } },
......@@ -19656,7 +23368,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1965623368 .{ .src = .{ .mut_mem, .none, .none } },
1965723369 .{ .src = .{ .to_mut_gpr, .none, .none } },
1965823370 },
19659 .dst_temps = .{.{ .ref = .src0 }},
23371 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1966023372 .clobbers = .{ .eflags = true },
1966123373 .each = .{ .once = &.{
1966223374 .{ ._, ._, .xor, .dst0d, .sa(.src0, .add_umax), ._, ._ },
......@@ -19668,7 +23380,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1966823380 .{ .src = .{ .mut_mem, .none, .none } },
1966923381 .{ .src = .{ .to_mut_gpr, .none, .none } },
1967023382 },
19671 .dst_temps = .{.{ .ref = .src0 }},
23383 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1967223384 .each = .{ .once = &.{
1967323385 .{ ._, ._, .not, .dst0q, ._, ._, ._ },
1967423386 } },
......@@ -19679,7 +23391,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1967923391 .{ .src = .{ .mem, .none, .none } },
1968023392 .{ .src = .{ .to_gpr, .none, .none } },
1968123393 },
19682 .dst_temps = .{.{ .rc = .general_purpose }},
23394 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
1968323395 .each = .{ .once = &.{
1968423396 .{ ._, ._, .mov, .dst0q, .ua(.src0, .add_umax), ._, ._ },
1968523397 .{ ._, ._, .xor, .dst0q, .src0q, ._, ._ },
......@@ -19691,7 +23403,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1969123403 .{ .src = .{ .mem, .none, .none } },
1969223404 .{ .src = .{ .to_mm, .none, .none } },
1969323405 },
19694 .dst_temps = .{.{ .rc = .mmx }},
23406 .dst_temps = .{ .{ .rc = .mmx }, .unused },
1969523407 .each = .{ .once = &.{
1969623408 .{ ._, .p_d, .cmpeq, .dst0q, .dst0q, ._, ._ },
1969723409 .{ ._, .p_, .xor, .dst0q, .src0q, ._, ._ },
......@@ -19713,7 +23425,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1971323425 .unused,
1971423426 .unused,
1971523427 },
19716 .dst_temps = .{.{ .ref = .src0 }},
23428 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1971723429 .each = .{ .once = &.{
1971823430 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
1971923431 .{ ._, .p_, .xor, .dst0q, .lea(.tmp0q), ._, ._ },
......@@ -19725,7 +23437,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1972523437 .{ .src = .{ .mem, .none, .none } },
1972623438 .{ .src = .{ .to_xmm, .none, .none } },
1972723439 },
19728 .dst_temps = .{.{ .rc = .sse }},
23440 .dst_temps = .{ .{ .rc = .sse }, .unused },
1972923441 .each = .{ .once = &.{
1973023442 .{ ._, .vp_q, .cmpeq, .dst0x, .dst0x, .dst0x, ._ },
1973123443 .{ ._, .vp_, .xor, .dst0x, .dst0x, .src0x, ._ },
......@@ -19747,7 +23459,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1974723459 .unused,
1974823460 .unused,
1974923461 },
19750 .dst_temps = .{.{ .rc = .sse }},
23462 .dst_temps = .{ .{ .rc = .sse }, .unused },
1975123463 .each = .{ .once = &.{
1975223464 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
1975323465 .{ ._, .vp_, .xor, .dst0x, .src0x, .lea(.tmp0x), ._ },
......@@ -19759,7 +23471,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1975923471 .{ .src = .{ .mem, .none, .none } },
1976023472 .{ .src = .{ .to_xmm, .none, .none } },
1976123473 },
19762 .dst_temps = .{.{ .rc = .sse }},
23474 .dst_temps = .{ .{ .rc = .sse }, .unused },
1976323475 .each = .{ .once = &.{
1976423476 .{ ._, .p_d, .cmpeq, .dst0x, .dst0x, ._, ._ },
1976523477 .{ ._, .p_, .xor, .dst0x, .src0x, ._, ._ },
......@@ -19781,7 +23493,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1978123493 .unused,
1978223494 .unused,
1978323495 },
19784 .dst_temps = .{.{ .ref = .src0 }},
23496 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1978523497 .each = .{ .once = &.{
1978623498 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
1978723499 .{ ._, .p_, .xor, .dst0x, .lea(.tmp0x), ._, ._ },
......@@ -19803,7 +23515,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1980323515 .unused,
1980423516 .unused,
1980523517 },
19806 .dst_temps = .{.{ .ref = .src0 }},
23518 .dst_temps = .{ .{ .ref = .src0 }, .unused },
1980723519 .each = .{ .once = &.{
1980823520 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
1980923521 .{ ._, ._ps, .xor, .dst0x, .lea(.tmp0x), ._, ._ },
......@@ -19815,7 +23527,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1981523527 .{ .src = .{ .mem, .none, .none } },
1981623528 .{ .src = .{ .to_ymm, .none, .none } },
1981723529 },
19818 .dst_temps = .{.{ .rc = .sse }},
23530 .dst_temps = .{ .{ .rc = .sse }, .unused },
1981923531 .each = .{ .once = &.{
1982023532 .{ ._, .vp_q, .cmpeq, .dst0y, .dst0y, .dst0y, ._ },
1982123533 .{ ._, .vp_, .xor, .dst0y, .dst0y, .src0y, ._ },
......@@ -19837,7 +23549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1983723549 .unused,
1983823550 .unused,
1983923551 },
19840 .dst_temps = .{.{ .rc = .sse }},
23552 .dst_temps = .{ .{ .rc = .sse }, .unused },
1984123553 .each = .{ .once = &.{
1984223554 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
1984323555 .{ ._, .vp_, .xor, .dst0y, .src0y, .lea(.tmp0y), ._ },
......@@ -19849,7 +23561,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1984923561 .{ .src = .{ .mem, .none, .none } },
1985023562 .{ .src = .{ .to_ymm, .none, .none } },
1985123563 },
19852 .dst_temps = .{.{ .rc = .sse }},
23564 .dst_temps = .{ .{ .rc = .sse }, .unused },
1985323565 .each = .{ .once = &.{
1985423566 .{ ._, .v_pd, .cmp, .dst0y, .dst0y, .dst0y, .vp(.true) },
1985523567 .{ ._, .v_pd, .xor, .dst0y, .dst0y, .src0y, ._ },
......@@ -19871,7 +23583,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1987123583 .unused,
1987223584 .unused,
1987323585 },
19874 .dst_temps = .{.{ .rc = .sse }},
23586 .dst_temps = .{ .{ .rc = .sse }, .unused },
1987523587 .each = .{ .once = &.{
1987623588 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
1987723589 .{ ._, .v_pd, .xor, .dst0y, .src0y, .lea(.tmp0y), ._ },
......@@ -19893,7 +23605,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1989323605 .unused,
1989423606 .unused,
1989523607 },
19896 .dst_temps = .{.mem},
23608 .dst_temps = .{ .mem, .unused },
1989723609 .clobbers = .{ .eflags = true },
1989823610 .each = .{ .once = &.{
1989923611 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },
......@@ -19922,7 +23634,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1992223634 .unused,
1992323635 .unused,
1992423636 },
19925 .dst_temps = .{.mem},
23637 .dst_temps = .{ .mem, .unused },
1992623638 .clobbers = .{ .eflags = true },
1992723639 .each = .{ .once = &.{
1992823640 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -19949,7 +23661,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1994923661 .unused,
1995023662 .unused,
1995123663 },
19952 .dst_temps = .{.mem},
23664 .dst_temps = .{ .mem, .unused },
1995323665 .clobbers = .{ .eflags = true },
1995423666 .each = .{ .once = &.{
1995523667 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },
......@@ -19978,7 +23690,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1997823690 .unused,
1997923691 .unused,
1998023692 },
19981 .dst_temps = .{.mem},
23693 .dst_temps = .{ .mem, .unused },
1998223694 .clobbers = .{ .eflags = true },
1998323695 .each = .{ .once = &.{
1998423696 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -20005,7 +23717,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2000523717 .unused,
2000623718 .unused,
2000723719 },
20008 .dst_temps = .{.mem},
23720 .dst_temps = .{ .mem, .unused },
2000923721 .clobbers = .{ .eflags = true },
2001023722 .each = .{ .once = &.{
2001123723 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -20032,7 +23744,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2003223744 .unused,
2003323745 .unused,
2003423746 },
20035 .dst_temps = .{.mem},
23747 .dst_temps = .{ .mem, .unused },
2003623748 .clobbers = .{ .eflags = true },
2003723749 .each = .{ .once = &.{
2003823750 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -20060,7 +23772,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2006023772 .unused,
2006123773 .unused,
2006223774 },
20063 .dst_temps = .{.{ .ref = .src0 }},
23775 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2006423776 .clobbers = .{ .eflags = true },
2006523777 .each = .{ .once = &.{
2006623778 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -20086,7 +23798,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2008623798 .unused,
2008723799 .unused,
2008823800 },
20089 .dst_temps = .{.mem},
23801 .dst_temps = .{ .mem, .unused },
2009023802 .clobbers = .{ .eflags = true },
2009123803 .each = .{ .once = &.{
2009223804 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -20113,7 +23825,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2011323825 .unused,
2011423826 .unused,
2011523827 },
20116 .dst_temps = .{.{ .ref = .src0 }},
23828 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2011723829 .clobbers = .{ .eflags = true },
2011823830 .each = .{ .once = &.{
2011923831 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },
......@@ -20140,7 +23852,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2014023852 .unused,
2014123853 .unused,
2014223854 },
20143 .dst_temps = .{.mem},
23855 .dst_temps = .{ .mem, .unused },
2014423856 .clobbers = .{ .eflags = true },
2014523857 .each = .{ .once = &.{
2014623858 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },
......@@ -20172,7 +23884,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2017223884 .unused,
2017323885 .unused,
2017423886 },
20175 .dst_temps = .{.{ .ref = .src0 }},
23887 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2017623888 .clobbers = .{ .eflags = true },
2017723889 .each = .{ .once = &.{
2017823890 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },
......@@ -20199,7 +23911,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2019923911 .unused,
2020023912 .unused,
2020123913 },
20202 .dst_temps = .{.mem},
23914 .dst_temps = .{ .mem, .unused },
2020323915 .clobbers = .{ .eflags = true },
2020423916 .each = .{ .once = &.{
2020523917 .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_size), ._, ._ },
......@@ -20227,7 +23939,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2022723939 .unused,
2022823940 .unused,
2022923941 },
20230 .dst_temps = .{.{ .ref = .src0 }},
23942 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2023123943 .clobbers = .{ .eflags = true },
2023223944 .each = .{ .once = &.{
2023323945 .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_size), ._, ._ },
......@@ -20253,7 +23965,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2025323965 .unused,
2025423966 .unused,
2025523967 },
20256 .dst_temps = .{.mem},
23968 .dst_temps = .{ .mem, .unused },
2025723969 .clobbers = .{ .eflags = true },
2025823970 .each = .{ .once = &.{
2025923971 .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_size), ._, ._ },
......@@ -20284,7 +23996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2028423996 .unused,
2028523997 .unused,
2028623998 },
20287 .dst_temps = .{.{ .ref = .src0 }},
23999 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2028824000 .clobbers = .{ .eflags = true },
2028924001 .each = .{ .once = &.{
2029024002 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },
......@@ -20311,7 +24023,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2031124023 .unused,
2031224024 .unused,
2031324025 },
20314 .dst_temps = .{.mem},
24026 .dst_temps = .{ .mem, .unused },
2031524027 .clobbers = .{ .eflags = true },
2031624028 .each = .{ .once = &.{
2031724029 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },
......@@ -20343,7 +24055,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2034324055 .unused,
2034424056 .unused,
2034524057 },
20346 .dst_temps = .{.{ .ref = .src0 }},
24058 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2034724059 .clobbers = .{ .eflags = true },
2034824060 .each = .{ .once = &.{
2034924061 .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_size), ._, ._ },
......@@ -20369,7 +24081,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2036924081 .unused,
2037024082 .unused,
2037124083 },
20372 .dst_temps = .{.mem},
24084 .dst_temps = .{ .mem, .unused },
2037324085 .clobbers = .{ .eflags = true },
2037424086 .each = .{ .once = &.{
2037524087 .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_size), ._, ._ },
......@@ -20400,7 +24112,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2040024112 .unused,
2040124113 .unused,
2040224114 },
20403 .dst_temps = .{.{ .ref = .src0 }},
24115 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2040424116 .clobbers = .{ .eflags = true },
2040524117 .each = .{ .once = &.{
2040624118 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },
......@@ -20428,7 +24140,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2042824140 .unused,
2042924141 .unused,
2043024142 },
20431 .dst_temps = .{.mem},
24143 .dst_temps = .{ .mem, .unused },
2043224144 .clobbers = .{ .eflags = true },
2043324145 .each = .{ .once = &.{
2043424146 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },
......@@ -20459,7 +24171,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2045924171 .unused,
2046024172 .unused,
2046124173 },
20462 .dst_temps = .{.{ .ref = .src0 }},
24174 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2046324175 .clobbers = .{ .eflags = true },
2046424176 .each = .{ .once = &.{
2046524177 .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_size), ._, ._ },
......@@ -20486,7 +24198,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2048624198 .unused,
2048724199 .unused,
2048824200 },
20489 .dst_temps = .{.mem},
24201 .dst_temps = .{ .mem, .unused },
2049024202 .clobbers = .{ .eflags = true },
2049124203 .each = .{ .once = &.{
2049224204 .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_size), ._, ._ },
......@@ -20506,7 +24218,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2050624218 .{ .src = .{ .mem, .none, .none } },
2050724219 .{ .src = .{ .to_mm, .none, .none } },
2050824220 },
20509 .dst_temps = .{.{ .rc = .mmx }},
24221 .dst_temps = .{ .{ .rc = .mmx }, .unused },
2051024222 .each = .{ .once = &.{
2051124223 .{ ._, .p_d, .cmpeq, .dst0q, .dst0q, ._, ._ },
2051224224 .{ ._, .p_, .xor, .dst0q, .src0q, ._, ._ },
......@@ -20528,7 +24240,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2052824240 .unused,
2052924241 .unused,
2053024242 },
20531 .dst_temps = .{.{ .ref = .src0 }},
24243 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2053224244 .each = .{ .once = &.{
2053324245 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
2053424246 .{ ._, .p_, .xor, .dst0q, .lea(.tmp0q), ._, ._ },
......@@ -20540,7 +24252,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2054024252 .{ .src = .{ .mem, .none, .none } },
2054124253 .{ .src = .{ .to_xmm, .none, .none } },
2054224254 },
20543 .dst_temps = .{.{ .rc = .sse }},
24255 .dst_temps = .{ .{ .rc = .sse }, .unused },
2054424256 .each = .{ .once = &.{
2054524257 .{ ._, .vp_q, .cmpeq, .dst0x, .dst0x, .dst0x, ._ },
2054624258 .{ ._, .vp_, .xor, .dst0x, .dst0x, .src0x, ._ },
......@@ -20562,7 +24274,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2056224274 .unused,
2056324275 .unused,
2056424276 },
20565 .dst_temps = .{.{ .rc = .sse }},
24277 .dst_temps = .{ .{ .rc = .sse }, .unused },
2056624278 .each = .{ .once = &.{
2056724279 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
2056824280 .{ ._, .vp_, .xor, .dst0x, .src0x, .lea(.tmp0x), ._ },
......@@ -20574,7 +24286,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2057424286 .{ .src = .{ .mem, .none, .none } },
2057524287 .{ .src = .{ .to_xmm, .none, .none } },
2057624288 },
20577 .dst_temps = .{.{ .rc = .sse }},
24289 .dst_temps = .{ .{ .rc = .sse }, .unused },
2057824290 .each = .{ .once = &.{
2057924291 .{ ._, .p_d, .cmpeq, .dst0x, .dst0x, ._, ._ },
2058024292 .{ ._, .p_, .xor, .dst0x, .src0x, ._, ._ },
......@@ -20596,7 +24308,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2059624308 .unused,
2059724309 .unused,
2059824310 },
20599 .dst_temps = .{.{ .ref = .src0 }},
24311 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2060024312 .each = .{ .once = &.{
2060124313 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
2060224314 .{ ._, .p_, .xor, .dst0x, .lea(.tmp0x), ._, ._ },
......@@ -20618,7 +24330,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2061824330 .unused,
2061924331 .unused,
2062024332 },
20621 .dst_temps = .{.{ .ref = .src0 }},
24333 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2062224334 .each = .{ .once = &.{
2062324335 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
2062424336 .{ ._, ._ps, .xor, .dst0x, .lea(.tmp0x), ._, ._ },
......@@ -20630,7 +24342,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2063024342 .{ .src = .{ .mem, .none, .none } },
2063124343 .{ .src = .{ .to_ymm, .none, .none } },
2063224344 },
20633 .dst_temps = .{.{ .rc = .sse }},
24345 .dst_temps = .{ .{ .rc = .sse }, .unused },
2063424346 .each = .{ .once = &.{
2063524347 .{ ._, .vp_q, .cmpeq, .dst0y, .dst0y, .dst0y, ._ },
2063624348 .{ ._, .vp_, .xor, .dst0y, .dst0y, .src0y, ._ },
......@@ -20652,7 +24364,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2065224364 .unused,
2065324365 .unused,
2065424366 },
20655 .dst_temps = .{.{ .rc = .sse }},
24367 .dst_temps = .{ .{ .rc = .sse }, .unused },
2065624368 .each = .{ .once = &.{
2065724369 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
2065824370 .{ ._, .vp_, .xor, .dst0y, .src0y, .lea(.tmp0y), ._ },
......@@ -20664,7 +24376,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2066424376 .{ .src = .{ .mem, .none, .none } },
2066524377 .{ .src = .{ .to_ymm, .none, .none } },
2066624378 },
20667 .dst_temps = .{.{ .rc = .sse }},
24379 .dst_temps = .{ .{ .rc = .sse }, .unused },
2066824380 .each = .{ .once = &.{
2066924381 .{ ._, .v_pd, .cmp, .dst0y, .dst0y, .dst0y, .vp(.true) },
2067024382 .{ ._, .v_pd, .xor, .dst0y, .dst0y, .src0y, ._ },
......@@ -20686,7 +24398,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2068624398 .unused,
2068724399 .unused,
2068824400 },
20689 .dst_temps = .{.{ .rc = .sse }},
24401 .dst_temps = .{ .{ .rc = .sse }, .unused },
2069024402 .each = .{ .once = &.{
2069124403 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
2069224404 .{ ._, .v_pd, .xor, .dst0y, .src0y, .lea(.tmp0y), ._ },
......@@ -20707,7 +24419,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2070724419 .unused,
2070824420 .unused,
2070924421 },
20710 .dst_temps = .{.mem},
24422 .dst_temps = .{ .mem, .unused },
2071124423 .each = .{ .once = &.{
2071224424 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
2071324425 .{ ._, ._, .lea, .tmp1p, .mem(.tmp3), ._, ._ },
......@@ -20733,7 +24445,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2073324445 .unused,
2073424446 .unused,
2073524447 },
20736 .dst_temps = .{.mem},
24448 .dst_temps = .{ .mem, .unused },
2073724449 .each = .{ .once = &.{
2073824450 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
2073924451 .{ ._, ._, .lea, .tmp1p, .mem(.tmp3), ._, ._ },
......@@ -20815,7 +24527,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2081524527 .{ .src = .{ .mut_mem, .none, .none } },
2081624528 .{ .src = .{ .to_mut_gpr, .none, .none } },
2081724529 },
20818 .dst_temps = .{.{ .ref = .src0 }},
24530 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2081924531 .clobbers = .{ .eflags = true },
2082024532 .each = .{ .once = &.{
2082124533 .{ ._, ._, .add, .dst0b, .si(1), ._, ._ },
......@@ -20826,7 +24538,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2082624538 .{ .src = .{ .mut_mem, .none, .none } },
2082724539 .{ .src = .{ .to_mut_gpr, .none, .none } },
2082824540 },
20829 .dst_temps = .{.{ .ref = .src0 }},
24541 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2083024542 .clobbers = .{ .eflags = true },
2083124543 .each = .{ .once = &.{
2083224544 .{ ._, ._c, .in, .dst0b, ._, ._, ._ },
......@@ -20837,7 +24549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2083724549 .{ .src = .{ .mut_mem, .none, .none } },
2083824550 .{ .src = .{ .to_mut_gpr, .none, .none } },
2083924551 },
20840 .dst_temps = .{.{ .ref = .src0 }},
24552 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2084124553 .clobbers = .{ .eflags = true },
2084224554 .each = .{ .once = &.{
2084324555 .{ ._, ._, .xor, .dst0b, .si(1), ._, ._ },
......@@ -20849,7 +24561,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2084924561 .{ .src = .{ .mem, .none, .none } },
2085024562 .{ .src = .{ .to_gpr, .none, .none } },
2085124563 },
20852 .dst_temps = .{.{ .rc = .general_purpose }},
24564 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2085324565 .clobbers = .{ .eflags = true },
2085424566 .each = .{ .once = &.{
2085524567 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },
......@@ -20863,7 +24575,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2086324575 .{ .src = .{ .mem, .none, .none } },
2086424576 .{ .src = .{ .to_gpr, .none, .none } },
2086524577 },
20866 .dst_temps = .{.{ .rc = .general_purpose }},
24578 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2086724579 .clobbers = .{ .eflags = true },
2086824580 .each = .{ .once = &.{
2086924581 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },
......@@ -20877,7 +24589,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2087724589 .patterns = &.{
2087824590 .{ .src = .{ .to_mut_gpr, .none, .none } },
2087924591 },
20880 .dst_temps = .{.{ .ref = .src0 }},
24592 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2088124593 .clobbers = .{ .eflags = true },
2088224594 .each = .{ .once = &.{
2088324595 .{ ._, ._, .lzcnt, .dst0w, .src0w, ._, ._ },
......@@ -20889,7 +24601,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2088924601 .{ .src = .{ .mem, .none, .none } },
2089024602 .{ .src = .{ .to_gpr, .none, .none } },
2089124603 },
20892 .dst_temps = .{.{ .rc = .general_purpose }},
24604 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2089324605 .clobbers = .{ .eflags = true },
2089424606 .each = .{ .once = &.{
2089524607 .{ ._, ._, .lzcnt, .dst0w, .src0w, ._, ._ },
......@@ -20900,7 +24612,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2090024612 .patterns = &.{
2090124613 .{ .src = .{ .to_mut_gpr, .none, .none } },
2090224614 },
20903 .dst_temps = .{.{ .ref = .src0 }},
24615 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2090424616 .clobbers = .{ .eflags = true },
2090524617 .each = .{ .once = &.{
2090624618 .{ ._, ._, .@"and", .src0w, .sa(.src0, .add_umax), ._, ._ },
......@@ -20913,7 +24625,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2091324625 .patterns = &.{
2091424626 .{ .src = .{ .to_mut_gpr, .none, .none } },
2091524627 },
20916 .dst_temps = .{.{ .ref = .src0 }},
24628 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2091724629 .clobbers = .{ .eflags = true },
2091824630 .each = .{ .once = &.{
2091924631 .{ ._, ._, .lzcnt, .dst0w, .src0w, ._, ._ },
......@@ -20926,7 +24638,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2092624638 .{ .src = .{ .mem, .none, .none } },
2092724639 .{ .src = .{ .to_gpr, .none, .none } },
2092824640 },
20929 .dst_temps = .{.{ .rc = .general_purpose }},
24641 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2093024642 .clobbers = .{ .eflags = true },
2093124643 .each = .{ .once = &.{
2093224644 .{ ._, ._, .lzcnt, .dst0w, .src0w, ._, ._ },
......@@ -20938,7 +24650,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2093824650 .patterns = &.{
2093924651 .{ .src = .{ .to_mut_gpr, .none, .none } },
2094024652 },
20941 .dst_temps = .{.{ .ref = .src0 }},
24653 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2094224654 .clobbers = .{ .eflags = true },
2094324655 .each = .{ .once = &.{
2094424656 .{ ._, ._, .lzcnt, .dst0d, .src0d, ._, ._ },
......@@ -20950,7 +24662,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2095024662 .{ .src = .{ .mem, .none, .none } },
2095124663 .{ .src = .{ .to_gpr, .none, .none } },
2095224664 },
20953 .dst_temps = .{.{ .rc = .general_purpose }},
24665 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2095424666 .clobbers = .{ .eflags = true },
2095524667 .each = .{ .once = &.{
2095624668 .{ ._, ._, .lzcnt, .dst0d, .src0d, ._, ._ },
......@@ -20961,7 +24673,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2096124673 .patterns = &.{
2096224674 .{ .src = .{ .to_mut_gpr, .none, .none } },
2096324675 },
20964 .dst_temps = .{.{ .ref = .src0 }},
24676 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2096524677 .clobbers = .{ .eflags = true },
2096624678 .each = .{ .once = &.{
2096724679 .{ ._, ._, .@"and", .src0d, .sa(.src0, .add_umax), ._, ._ },
......@@ -20974,7 +24686,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2097424686 .patterns = &.{
2097524687 .{ .src = .{ .to_mut_gpr, .none, .none } },
2097624688 },
20977 .dst_temps = .{.{ .ref = .src0 }},
24689 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2097824690 .clobbers = .{ .eflags = true },
2097924691 .each = .{ .once = &.{
2098024692 .{ ._, ._, .lzcnt, .dst0d, .src0d, ._, ._ },
......@@ -20987,7 +24699,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2098724699 .{ .src = .{ .mem, .none, .none } },
2098824700 .{ .src = .{ .to_gpr, .none, .none } },
2098924701 },
20990 .dst_temps = .{.{ .rc = .general_purpose }},
24702 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2099124703 .clobbers = .{ .eflags = true },
2099224704 .each = .{ .once = &.{
2099324705 .{ ._, ._, .lzcnt, .dst0d, .src0d, ._, ._ },
......@@ -20999,7 +24711,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2099924711 .patterns = &.{
2100024712 .{ .src = .{ .to_mut_gpr, .none, .none } },
2100124713 },
21002 .dst_temps = .{.{ .ref = .src0 }},
24714 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2100324715 .clobbers = .{ .eflags = true },
2100424716 .each = .{ .once = &.{
2100524717 .{ ._, ._, .lzcnt, .dst0q, .src0q, ._, ._ },
......@@ -21011,7 +24723,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2101124723 .{ .src = .{ .mem, .none, .none } },
2101224724 .{ .src = .{ .to_gpr, .none, .none } },
2101324725 },
21014 .dst_temps = .{.{ .rc = .general_purpose }},
24726 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2101524727 .clobbers = .{ .eflags = true },
2101624728 .each = .{ .once = &.{
2101724729 .{ ._, ._, .lzcnt, .dst0q, .src0q, ._, ._ },
......@@ -21023,7 +24735,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2102324735 .{ .src = .{ .mem, .none, .none } },
2102424736 .{ .src = .{ .to_gpr, .none, .none } },
2102524737 },
21026 .dst_temps = .{.{ .rc = .general_purpose }},
24738 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2102724739 .clobbers = .{ .eflags = true },
2102824740 .each = .{ .once = &.{
2102924741 .{ ._, ._, .mov, .dst0q, .ua(.src0, .add_umax), ._, ._ },
......@@ -21037,7 +24749,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2103724749 .patterns = &.{
2103824750 .{ .src = .{ .to_mut_gpr, .none, .none } },
2103924751 },
21040 .dst_temps = .{.{ .ref = .src0 }},
24752 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2104124753 .clobbers = .{ .eflags = true },
2104224754 .each = .{ .once = &.{
2104324755 .{ ._, ._, .lzcnt, .dst0q, .src0q, ._, ._ },
......@@ -21050,7 +24762,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2105024762 .{ .src = .{ .mem, .none, .none } },
2105124763 .{ .src = .{ .to_gpr, .none, .none } },
2105224764 },
21053 .dst_temps = .{.{ .rc = .general_purpose }},
24765 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2105424766 .clobbers = .{ .eflags = true },
2105524767 .each = .{ .once = &.{
2105624768 .{ ._, ._, .lzcnt, .dst0q, .src0q, ._, ._ },
......@@ -21074,7 +24786,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2107424786 .unused,
2107524787 .unused,
2107624788 },
21077 .dst_temps = .{.{ .rc = .general_purpose }},
24789 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2107824790 .clobbers = .{ .eflags = true },
2107924791 .each = .{ .once = &.{
2108024792 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },
......@@ -21101,7 +24813,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2110124813 .unused,
2110224814 .unused,
2110324815 },
21104 .dst_temps = .{.{ .rc = .general_purpose }},
24816 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2110524817 .clobbers = .{ .eflags = true },
2110624818 .each = .{ .once = &.{
2110724819 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },
......@@ -21129,7 +24841,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2112924841 .unused,
2113024842 .unused,
2113124843 },
21132 .dst_temps = .{.{ .rc = .general_purpose }},
24844 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2113324845 .clobbers = .{ .eflags = true },
2113424846 .each = .{ .once = &.{
2113524847 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
......@@ -21158,7 +24870,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2115824870 .unused,
2115924871 .unused,
2116024872 },
21161 .dst_temps = .{.{ .rc = .general_purpose }},
24873 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2116224874 .clobbers = .{ .eflags = true },
2116324875 .each = .{ .once = &.{
2116424876 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
......@@ -21175,7 +24887,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2117524887 .{ .src = .{ .mem, .none, .none } },
2117624888 .{ .src = .{ .to_gpr, .none, .none } },
2117724889 },
21178 .dst_temps = .{.{ .rc = .general_purpose }},
24890 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2117924891 .clobbers = .{ .eflags = true },
2118024892 .each = .{ .once = &.{
2118124893 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },
......@@ -21191,7 +24903,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2119124903 .{ .src = .{ .mem, .none, .none } },
2119224904 .{ .src = .{ .to_gpr, .none, .none } },
2119324905 },
21194 .dst_temps = .{.{ .rc = .general_purpose }},
24906 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2119524907 .clobbers = .{ .eflags = true },
2119624908 .each = .{ .once = &.{
2119724909 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },
......@@ -21219,7 +24931,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2121924931 .unused,
2122024932 .unused,
2122124933 },
21222 .dst_temps = .{.{ .rc = .general_purpose }},
24934 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2122324935 .clobbers = .{ .eflags = true },
2122424936 .each = .{ .once = &.{
2122524937 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
......@@ -21248,7 +24960,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2124824960 .unused,
2124924961 .unused,
2125024962 },
21251 .dst_temps = .{.{ .rc = .general_purpose }},
24963 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2125224964 .clobbers = .{ .eflags = true },
2125324965 .each = .{ .once = &.{
2125424966 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
......@@ -21275,7 +24987,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2127524987 .unused,
2127624988 .unused,
2127724989 },
21278 .dst_temps = .{.{ .rc = .general_purpose }},
24990 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2127924991 .clobbers = .{ .eflags = true },
2128024992 .each = .{ .once = &.{
2128124993 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
......@@ -21300,7 +25012,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2130025012 .unused,
2130125013 .unused,
2130225014 },
21303 .dst_temps = .{.{ .rc = .general_purpose }},
25015 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2130425016 .clobbers = .{ .eflags = true },
2130525017 .each = .{ .once = &.{
2130625018 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
......@@ -21326,7 +25038,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2132625038 .unused,
2132725039 .unused,
2132825040 },
21329 .dst_temps = .{.{ .rc = .general_purpose }},
25041 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2133025042 .clobbers = .{ .eflags = true },
2133125043 .each = .{ .once = &.{
2133225044 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },
......@@ -21353,7 +25065,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2135325065 .unused,
2135425066 .unused,
2135525067 },
21356 .dst_temps = .{.{ .rc = .general_purpose }},
25068 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2135725069 .clobbers = .{ .eflags = true },
2135825070 .each = .{ .once = &.{
2135925071 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },
......@@ -21368,7 +25080,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2136825080 .patterns = &.{
2136925081 .{ .src = .{ .to_mut_gpr, .none, .none } },
2137025082 },
21371 .dst_temps = .{.{ .rc = .general_purpose }},
25083 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2137225084 .clobbers = .{ .eflags = true },
2137325085 .each = .{ .once = &.{
2137425086 .{ ._, ._r, .bs, .src0w, .src0w, ._, ._ },
......@@ -21382,7 +25094,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2138225094 .patterns = &.{
2138325095 .{ .src = .{ .to_mut_gpr, .none, .none } },
2138425096 },
21385 .dst_temps = .{.{ .rc = .general_purpose }},
25097 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2138625098 .clobbers = .{ .eflags = true },
2138725099 .each = .{ .once = &.{
2138825100 .{ ._, ._, .@"and", .src0w, .sa(.src0, .add_umax), ._, ._ },
......@@ -21398,7 +25110,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2139825110 .patterns = &.{
2139925111 .{ .src = .{ .to_mut_gpr, .none, .none } },
2140025112 },
21401 .dst_temps = .{.{ .rc = .general_purpose }},
25113 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2140225114 .clobbers = .{ .eflags = true },
2140325115 .each = .{ .once = &.{
2140425116 .{ ._, ._r, .bs, .src0w, .src0w, ._, ._ },
......@@ -21413,7 +25125,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2141325125 .patterns = &.{
2141425126 .{ .src = .{ .to_mut_gpr, .none, .none } },
2141525127 },
21416 .dst_temps = .{.{ .ref = .src0 }},
25128 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2141725129 .clobbers = .{ .eflags = true },
2141825130 .each = .{ .once = &.{
2141925131 .{ ._, ._r, .bs, .dst0w, .src0w, ._, ._ },
......@@ -21427,7 +25139,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2142725139 .patterns = &.{
2142825140 .{ .src = .{ .to_mut_gpr, .none, .none } },
2142925141 },
21430 .dst_temps = .{.{ .rc = .general_purpose }},
25142 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2143125143 .clobbers = .{ .eflags = true },
2143225144 .each = .{ .once = &.{
2143325145 .{ ._, ._, .@"and", .src0w, .sa(.src0, .add_umax), ._, ._ },
......@@ -21443,7 +25155,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2144325155 .patterns = &.{
2144425156 .{ .src = .{ .to_mut_gpr, .none, .none } },
2144525157 },
21446 .dst_temps = .{.{ .rc = .general_purpose }},
25158 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2144725159 .clobbers = .{ .eflags = true },
2144825160 .each = .{ .once = &.{
2144925161 .{ ._, ._r, .bs, .src0w, .src0w, ._, ._ },
......@@ -21458,7 +25170,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2145825170 .{ .src = .{ .mem, .none, .none } },
2145925171 .{ .src = .{ .to_gpr, .none, .none } },
2146025172 },
21461 .dst_temps = .{.{ .rc = .general_purpose }},
25173 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2146225174 .clobbers = .{ .eflags = true },
2146325175 .each = .{ .once = &.{
2146425176 .{ ._, ._, .mov, .dst0w, .sia(-1, .src0, .add_2_bit_size), ._, ._ },
......@@ -21481,7 +25193,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2148125193 .unused,
2148225194 .unused,
2148325195 },
21484 .dst_temps = .{.{ .rc = .general_purpose }},
25196 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2148525197 .clobbers = .{ .eflags = true },
2148625198 .each = .{ .once = &.{
2148725199 .{ ._, ._, .@"and", .src0w, .sa(.src0, .add_umax), ._, ._ },
......@@ -21507,7 +25219,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2150725219 .unused,
2150825220 .unused,
2150925221 },
21510 .dst_temps = .{.{ .rc = .general_purpose }},
25222 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2151125223 .clobbers = .{ .eflags = true },
2151225224 .each = .{ .once = &.{
2151325225 .{ ._, ._, .mov, .tmp0w, .si(0xff), ._, ._ },
......@@ -21521,7 +25233,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2152125233 .patterns = &.{
2152225234 .{ .src = .{ .to_mut_gpr, .none, .none } },
2152325235 },
21524 .dst_temps = .{.{ .rc = .general_purpose }},
25236 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2152525237 .clobbers = .{ .eflags = true },
2152625238 .each = .{ .once = &.{
2152725239 .{ ._, ._r, .bs, .src0d, .src0d, ._, ._ },
......@@ -21535,7 +25247,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2153525247 .patterns = &.{
2153625248 .{ .src = .{ .to_mut_gpr, .none, .none } },
2153725249 },
21538 .dst_temps = .{.{ .rc = .general_purpose }},
25250 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2153925251 .clobbers = .{ .eflags = true },
2154025252 .each = .{ .once = &.{
2154125253 .{ ._, ._, .@"and", .src0d, .sa(.src0, .add_umax), ._, ._ },
......@@ -21551,7 +25263,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2155125263 .patterns = &.{
2155225264 .{ .src = .{ .to_mut_gpr, .none, .none } },
2155325265 },
21554 .dst_temps = .{.{ .rc = .general_purpose }},
25266 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2155525267 .clobbers = .{ .eflags = true },
2155625268 .each = .{ .once = &.{
2155725269 .{ ._, ._r, .bs, .src0d, .src0d, ._, ._ },
......@@ -21566,7 +25278,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2156625278 .patterns = &.{
2156725279 .{ .src = .{ .to_mut_gpr, .none, .none } },
2156825280 },
21569 .dst_temps = .{.{ .ref = .src0 }},
25281 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2157025282 .clobbers = .{ .eflags = true },
2157125283 .each = .{ .once = &.{
2157225284 .{ ._, ._r, .bs, .dst0d, .src0d, ._, ._ },
......@@ -21580,7 +25292,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2158025292 .patterns = &.{
2158125293 .{ .src = .{ .to_mut_gpr, .none, .none } },
2158225294 },
21583 .dst_temps = .{.{ .rc = .general_purpose }},
25295 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2158425296 .clobbers = .{ .eflags = true },
2158525297 .each = .{ .once = &.{
2158625298 .{ ._, ._, .@"and", .src0d, .sa(.src0, .add_umax), ._, ._ },
......@@ -21596,7 +25308,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2159625308 .patterns = &.{
2159725309 .{ .src = .{ .to_mut_gpr, .none, .none } },
2159825310 },
21599 .dst_temps = .{.{ .rc = .general_purpose }},
25311 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2160025312 .clobbers = .{ .eflags = true },
2160125313 .each = .{ .once = &.{
2160225314 .{ ._, ._r, .bs, .src0d, .src0d, ._, ._ },
......@@ -21611,7 +25323,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2161125323 .{ .src = .{ .mem, .none, .none } },
2161225324 .{ .src = .{ .to_gpr, .none, .none } },
2161325325 },
21614 .dst_temps = .{.{ .rc = .general_purpose }},
25326 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2161525327 .clobbers = .{ .eflags = true },
2161625328 .each = .{ .once = &.{
2161725329 .{ ._, ._, .mov, .dst0d, .sia(-1, .src0, .add_2_bit_size), ._, ._ },
......@@ -21634,7 +25346,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2163425346 .unused,
2163525347 .unused,
2163625348 },
21637 .dst_temps = .{.{ .rc = .general_purpose }},
25349 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2163825350 .clobbers = .{ .eflags = true },
2163925351 .each = .{ .once = &.{
2164025352 .{ ._, ._, .@"and", .src0d, .sa(.src0, .add_umax), ._, ._ },
......@@ -21660,7 +25372,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2166025372 .unused,
2166125373 .unused,
2166225374 },
21663 .dst_temps = .{.{ .rc = .general_purpose }},
25375 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2166425376 .clobbers = .{ .eflags = true },
2166525377 .each = .{ .once = &.{
2166625378 .{ ._, ._, .mov, .tmp0d, .si(0xff), ._, ._ },
......@@ -21674,7 +25386,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2167425386 .patterns = &.{
2167525387 .{ .src = .{ .to_mut_gpr, .none, .none } },
2167625388 },
21677 .dst_temps = .{.{ .rc = .general_purpose }},
25389 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2167825390 .clobbers = .{ .eflags = true },
2167925391 .each = .{ .once = &.{
2168025392 .{ ._, ._r, .bs, .src0q, .src0q, ._, ._ },
......@@ -21700,7 +25412,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2170025412 .unused,
2170125413 .unused,
2170225414 },
21703 .dst_temps = .{.{ .rc = .general_purpose }},
25415 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2170425416 .clobbers = .{ .eflags = true },
2170525417 .each = .{ .once = &.{
2170625418 .{ ._, ._, .mov, .tmp0q, .ua(.src0, .add_umax), ._, ._ },
......@@ -21717,7 +25429,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2171725429 .patterns = &.{
2171825430 .{ .src = .{ .to_mut_gpr, .none, .none } },
2171925431 },
21720 .dst_temps = .{.{ .rc = .general_purpose }},
25432 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2172125433 .clobbers = .{ .eflags = true },
2172225434 .each = .{ .once = &.{
2172325435 .{ ._, ._r, .bs, .src0q, .src0q, ._, ._ },
......@@ -21732,7 +25444,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2173225444 .patterns = &.{
2173325445 .{ .src = .{ .to_mut_gpr, .none, .none } },
2173425446 },
21735 .dst_temps = .{.{ .ref = .src0 }},
25447 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2173625448 .clobbers = .{ .eflags = true },
2173725449 .each = .{ .once = &.{
2173825450 .{ ._, ._r, .bs, .dst0q, .src0q, ._, ._ },
......@@ -21758,7 +25470,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2175825470 .unused,
2175925471 .unused,
2176025472 },
21761 .dst_temps = .{.{ .rc = .general_purpose }},
25473 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2176225474 .clobbers = .{ .eflags = true },
2176325475 .each = .{ .once = &.{
2176425476 .{ ._, ._, .mov, .tmp0q, .ua(.src0, .add_umax), ._, ._ },
......@@ -21775,7 +25487,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2177525487 .patterns = &.{
2177625488 .{ .src = .{ .to_mut_gpr, .none, .none } },
2177725489 },
21778 .dst_temps = .{.{ .rc = .general_purpose }},
25490 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2177925491 .clobbers = .{ .eflags = true },
2178025492 .each = .{ .once = &.{
2178125493 .{ ._, ._r, .bs, .src0q, .src0q, ._, ._ },
......@@ -21791,7 +25503,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2179125503 .{ .src = .{ .mem, .none, .none } },
2179225504 .{ .src = .{ .to_gpr, .none, .none } },
2179325505 },
21794 .dst_temps = .{.{ .rc = .general_purpose }},
25506 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2179525507 .clobbers = .{ .eflags = true },
2179625508 .each = .{ .once = &.{
2179725509 .{ ._, ._, .mov, .dst0d, .sia(-1, .src0, .add_2_bit_size), ._, ._ },
......@@ -21816,7 +25528,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2181625528 .unused,
2181725529 .unused,
2181825530 },
21819 .dst_temps = .{.{ .rc = .general_purpose }},
25531 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2182025532 .clobbers = .{ .eflags = true },
2182125533 .each = .{ .once = &.{
2182225534 .{ ._, ._, .mov, .dst0q, .ua(.src0, .add_umax), ._, ._ },
......@@ -21844,7 +25556,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2184425556 .unused,
2184525557 .unused,
2184625558 },
21847 .dst_temps = .{.{ .rc = .general_purpose }},
25559 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2184825560 .clobbers = .{ .eflags = true },
2184925561 .each = .{ .once = &.{
2185025562 .{ ._, ._, .mov, .tmp0d, .si(0xff), ._, ._ },
......@@ -21869,7 +25581,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2186925581 .unused,
2187025582 .unused,
2187125583 },
21872 .dst_temps = .{.{ .rc = .general_purpose }},
25584 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2187325585 .clobbers = .{ .eflags = true },
2187425586 .each = .{ .once = &.{
2187525587 .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ },
......@@ -21899,7 +25611,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2189925611 .unused,
2190025612 .unused,
2190125613 },
21902 .dst_temps = .{.{ .rc = .general_purpose }},
25614 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2190325615 .clobbers = .{ .eflags = true },
2190425616 .each = .{ .once = &.{
2190525617 .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ },
......@@ -21928,7 +25640,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2192825640 .unused,
2192925641 .unused,
2193025642 },
21931 .dst_temps = .{.{ .rc = .general_purpose }},
25643 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2193225644 .clobbers = .{ .eflags = true },
2193325645 .each = .{ .once = &.{
2193425646 .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ },
......@@ -21959,7 +25671,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2195925671 .unused,
2196025672 .unused,
2196125673 },
21962 .dst_temps = .{.{ .rc = .general_purpose }},
25674 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2196325675 .clobbers = .{ .eflags = true },
2196425676 .each = .{ .once = &.{
2196525677 .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ },
......@@ -21989,7 +25701,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2198925701 .unused,
2199025702 .unused,
2199125703 },
21992 .dst_temps = .{.{ .rc = .general_purpose }},
25704 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2199325705 .clobbers = .{ .eflags = true },
2199425706 .each = .{ .once = &.{
2199525707 .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ },
......@@ -22019,7 +25731,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2201925731 .unused,
2202025732 .unused,
2202125733 },
22022 .dst_temps = .{.{ .rc = .general_purpose }},
25734 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2202325735 .clobbers = .{ .eflags = true },
2202425736 .each = .{ .once = &.{
2202525737 .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ },
......@@ -22048,7 +25760,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2204825760 .unused,
2204925761 .unused,
2205025762 },
22051 .dst_temps = .{.{ .rc = .general_purpose }},
25763 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2205225764 .clobbers = .{ .eflags = true },
2205325765 .each = .{ .once = &.{
2205425766 .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ },
......@@ -22079,7 +25791,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2207925791 .unused,
2208025792 .unused,
2208125793 },
22082 .dst_temps = .{.{ .rc = .general_purpose }},
25794 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2208325795 .clobbers = .{ .eflags = true },
2208425796 .each = .{ .once = &.{
2208525797 .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ },
......@@ -22109,7 +25821,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2210925821 .unused,
2211025822 .unused,
2211125823 },
22112 .dst_temps = .{.{ .rc = .general_purpose }},
25824 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2211325825 .clobbers = .{ .eflags = true },
2211425826 .each = .{ .once = &.{
2211525827 .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ },
......@@ -22142,7 +25854,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2214225854 .unused,
2214325855 .unused,
2214425856 },
22145 .dst_temps = .{.{ .rc = .general_purpose }},
25857 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2214625858 .clobbers = .{ .eflags = true },
2214725859 .each = .{ .once = &.{
2214825860 .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ },
......@@ -22174,7 +25886,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2217425886 .unused,
2217525887 .unused,
2217625888 },
22177 .dst_temps = .{.{ .rc = .general_purpose }},
25889 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2217825890 .clobbers = .{ .eflags = true },
2217925891 .each = .{ .once = &.{
2218025892 .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_size), ._, ._ },
......@@ -22206,7 +25918,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2220625918 .unused,
2220725919 .unused,
2220825920 },
22209 .dst_temps = .{.{ .rc = .general_purpose }},
25921 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2221025922 .clobbers = .{ .eflags = true },
2221125923 .each = .{ .once = &.{
2221225924 .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ },
......@@ -22239,7 +25951,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2223925951 .unused,
2224025952 .unused,
2224125953 },
22242 .dst_temps = .{.{ .rc = .general_purpose }},
25954 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2224325955 .clobbers = .{ .eflags = true },
2224425956 .each = .{ .once = &.{
2224525957 .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ },
......@@ -22271,7 +25983,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2227125983 .unused,
2227225984 .unused,
2227325985 },
22274 .dst_temps = .{.{ .rc = .general_purpose }},
25986 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2227525987 .clobbers = .{ .eflags = true },
2227625988 .each = .{ .once = &.{
2227725989 .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ },
......@@ -22303,7 +26015,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2230326015 .unused,
2230426016 .unused,
2230526017 },
22306 .dst_temps = .{.mem},
26018 .dst_temps = .{ .mem, .unused },
2230726019 .clobbers = .{ .eflags = true },
2230826020 .each = .{ .once = &.{
2230926021 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -22332,7 +26044,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2233226044 .unused,
2233326045 .unused,
2233426046 },
22335 .dst_temps = .{.mem},
26047 .dst_temps = .{ .mem, .unused },
2233626048 .clobbers = .{ .eflags = true },
2233726049 .each = .{ .once = &.{
2233826050 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -22361,7 +26073,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2236126073 .unused,
2236226074 .unused,
2236326075 },
22364 .dst_temps = .{.mem},
26076 .dst_temps = .{ .mem, .unused },
2236526077 .clobbers = .{ .eflags = true },
2236626078 .each = .{ .once = &.{
2236726079 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -22390,7 +26102,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2239026102 .unused,
2239126103 .unused,
2239226104 },
22393 .dst_temps = .{.mem},
26105 .dst_temps = .{ .mem, .unused },
2239426106 .clobbers = .{ .eflags = true },
2239526107 .each = .{ .once = &.{
2239626108 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -22419,7 +26131,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2241926131 .unused,
2242026132 .unused,
2242126133 },
22422 .dst_temps = .{.mem},
26134 .dst_temps = .{ .mem, .unused },
2242326135 .clobbers = .{ .eflags = true },
2242426136 .each = .{ .once = &.{
2242526137 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -22448,7 +26160,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2244826160 .unused,
2244926161 .unused,
2245026162 },
22451 .dst_temps = .{.mem},
26163 .dst_temps = .{ .mem, .unused },
2245226164 .clobbers = .{ .eflags = true },
2245326165 .each = .{ .once = &.{
2245426166 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -22477,7 +26189,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2247726189 .unused,
2247826190 .unused,
2247926191 },
22480 .dst_temps = .{.mem},
26192 .dst_temps = .{ .mem, .unused },
2248126193 .clobbers = .{ .eflags = true },
2248226194 .each = .{ .once = &.{
2248326195 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -22506,7 +26218,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2250626218 .unused,
2250726219 .unused,
2250826220 },
22509 .dst_temps = .{.mem},
26221 .dst_temps = .{ .mem, .unused },
2251026222 .clobbers = .{ .eflags = true },
2251126223 .each = .{ .once = &.{
2251226224 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -22535,7 +26247,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2253526247 .unused,
2253626248 .unused,
2253726249 },
22538 .dst_temps = .{.mem},
26250 .dst_temps = .{ .mem, .unused },
2253926251 .clobbers = .{ .eflags = true },
2254026252 .each = .{ .once = &.{
2254126253 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -22567,7 +26279,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2256726279 .unused,
2256826280 .unused,
2256926281 },
22570 .dst_temps = .{.mem},
26282 .dst_temps = .{ .mem, .unused },
2257126283 .clobbers = .{ .eflags = true },
2257226284 .each = .{ .once = &.{
2257326285 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -22599,7 +26311,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2259926311 .unused,
2260026312 .unused,
2260126313 },
22602 .dst_temps = .{.mem},
26314 .dst_temps = .{ .mem, .unused },
2260326315 .clobbers = .{ .eflags = true },
2260426316 .each = .{ .once = &.{
2260526317 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -22631,7 +26343,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2263126343 .unused,
2263226344 .unused,
2263326345 },
22634 .dst_temps = .{.mem},
26346 .dst_temps = .{ .mem, .unused },
2263526347 .clobbers = .{ .eflags = true },
2263626348 .each = .{ .once = &.{
2263726349 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -22663,7 +26375,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2266326375 .unused,
2266426376 .unused,
2266526377 },
22666 .dst_temps = .{.mem},
26378 .dst_temps = .{ .mem, .unused },
2266726379 .clobbers = .{ .eflags = true },
2266826380 .each = .{ .once = &.{
2266926381 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -22693,7 +26405,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2269326405 .unused,
2269426406 .unused,
2269526407 },
22696 .dst_temps = .{.mem},
26408 .dst_temps = .{ .mem, .unused },
2269726409 .clobbers = .{ .eflags = true },
2269826410 .each = .{ .once = &.{
2269926411 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -22724,7 +26436,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2272426436 .unused,
2272526437 .unused,
2272626438 },
22727 .dst_temps = .{.mem},
26439 .dst_temps = .{ .mem, .unused },
2272826440 .clobbers = .{ .eflags = true },
2272926441 .each = .{ .once = &.{
2273026442 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -22756,7 +26468,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2275626468 .unused,
2275726469 .unused,
2275826470 },
22759 .dst_temps = .{.mem},
26471 .dst_temps = .{ .mem, .unused },
2276026472 .clobbers = .{ .eflags = true },
2276126473 .each = .{ .once = &.{
2276226474 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -22788,7 +26500,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2278826500 .unused,
2278926501 .unused,
2279026502 },
22791 .dst_temps = .{.mem},
26503 .dst_temps = .{ .mem, .unused },
2279226504 .clobbers = .{ .eflags = true },
2279326505 .each = .{ .once = &.{
2279426506 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -22820,7 +26532,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2282026532 .unused,
2282126533 .unused,
2282226534 },
22823 .dst_temps = .{.mem},
26535 .dst_temps = .{ .mem, .unused },
2282426536 .clobbers = .{ .eflags = true },
2282526537 .each = .{ .once = &.{
2282626538 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -22852,7 +26564,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2285226564 .unused,
2285326565 .unused,
2285426566 },
22855 .dst_temps = .{.mem},
26567 .dst_temps = .{ .mem, .unused },
2285626568 .clobbers = .{ .eflags = true },
2285726569 .each = .{ .once = &.{
2285826570 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -22882,7 +26594,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2288226594 .unused,
2288326595 .unused,
2288426596 },
22885 .dst_temps = .{.mem},
26597 .dst_temps = .{ .mem, .unused },
2288626598 .clobbers = .{ .eflags = true },
2288726599 .each = .{ .once = &.{
2288826600 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -22913,7 +26625,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2291326625 .unused,
2291426626 .unused,
2291526627 },
22916 .dst_temps = .{.mem},
26628 .dst_temps = .{ .mem, .unused },
2291726629 .clobbers = .{ .eflags = true },
2291826630 .each = .{ .once = &.{
2291926631 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -22945,7 +26657,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2294526657 .unused,
2294626658 .unused,
2294726659 },
22948 .dst_temps = .{.mem},
26660 .dst_temps = .{ .mem, .unused },
2294926661 .clobbers = .{ .eflags = true },
2295026662 .each = .{ .once = &.{
2295126663 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -22977,7 +26689,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2297726689 .unused,
2297826690 .unused,
2297926691 },
22980 .dst_temps = .{.mem},
26692 .dst_temps = .{ .mem, .unused },
2298126693 .clobbers = .{ .eflags = true },
2298226694 .each = .{ .once = &.{
2298326695 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -23009,7 +26721,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2300926721 .unused,
2301026722 .unused,
2301126723 },
23012 .dst_temps = .{.mem},
26724 .dst_temps = .{ .mem, .unused },
2301326725 .clobbers = .{ .eflags = true },
2301426726 .each = .{ .once = &.{
2301526727 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -23041,7 +26753,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2304126753 .unused,
2304226754 .unused,
2304326755 },
23044 .dst_temps = .{.mem},
26756 .dst_temps = .{ .mem, .unused },
2304526757 .clobbers = .{ .eflags = true },
2304626758 .each = .{ .once = &.{
2304726759 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -23071,7 +26783,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2307126783 .unused,
2307226784 .unused,
2307326785 },
23074 .dst_temps = .{.mem},
26786 .dst_temps = .{ .mem, .unused },
2307526787 .clobbers = .{ .eflags = true },
2307626788 .each = .{ .once = &.{
2307726789 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -23102,7 +26814,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2310226814 .unused,
2310326815 .unused,
2310426816 },
23105 .dst_temps = .{.mem},
26817 .dst_temps = .{ .mem, .unused },
2310626818 .clobbers = .{ .eflags = true },
2310726819 .each = .{ .once = &.{
2310826820 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -23134,7 +26846,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2313426846 .unused,
2313526847 .unused,
2313626848 },
23137 .dst_temps = .{.mem},
26849 .dst_temps = .{ .mem, .unused },
2313826850 .clobbers = .{ .eflags = true },
2313926851 .each = .{ .once = &.{
2314026852 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -23166,7 +26878,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2316626878 .unused,
2316726879 .unused,
2316826880 },
23169 .dst_temps = .{.mem},
26881 .dst_temps = .{ .mem, .unused },
2317026882 .clobbers = .{ .eflags = true },
2317126883 .each = .{ .once = &.{
2317226884 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -23198,7 +26910,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2319826910 .unused,
2319926911 .unused,
2320026912 },
23201 .dst_temps = .{.mem},
26913 .dst_temps = .{ .mem, .unused },
2320226914 .clobbers = .{ .eflags = true },
2320326915 .each = .{ .once = &.{
2320426916 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -23230,7 +26942,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2323026942 .unused,
2323126943 .unused,
2323226944 },
23233 .dst_temps = .{.mem},
26945 .dst_temps = .{ .mem, .unused },
2323426946 .clobbers = .{ .eflags = true },
2323526947 .each = .{ .once = &.{
2323626948 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -23261,7 +26973,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2326126973 .unused,
2326226974 .unused,
2326326975 },
23264 .dst_temps = .{.mem},
26976 .dst_temps = .{ .mem, .unused },
2326526977 .clobbers = .{ .eflags = true },
2326626978 .each = .{ .once = &.{
2326726979 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -23278,7 +26990,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2327826990 }, .{
2327926991 .required_features = .{ .@"64bit", .false_deps_lzcnt_tzcnt, .lzcnt, null },
2328026992 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .qword } }, .any, .any },
23281 .dst_constraints = .{.{ .scalar_int_is = .byte }},
26993 .dst_constraints = .{ .{ .scalar_int_is = .byte }, .any },
2328226994 .patterns = &.{
2328326995 .{ .src = .{ .to_mem, .none, .none } },
2328426996 },
......@@ -23293,7 +27005,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2329327005 .unused,
2329427006 .unused,
2329527007 },
23296 .dst_temps = .{.mem},
27008 .dst_temps = .{ .mem, .unused },
2329727009 .clobbers = .{ .eflags = true },
2329827010 .each = .{ .once = &.{
2329927011 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -23318,7 +27030,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2331827030 }, .{
2331927031 .required_features = .{ .@"64bit", .lzcnt, null, null },
2332027032 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .qword } }, .any, .any },
23321 .dst_constraints = .{.{ .scalar_int_is = .byte }},
27033 .dst_constraints = .{ .{ .scalar_int_is = .byte }, .any },
2332227034 .patterns = &.{
2332327035 .{ .src = .{ .to_mem, .none, .none } },
2332427036 },
......@@ -23333,7 +27045,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2333327045 .unused,
2333427046 .unused,
2333527047 },
23336 .dst_temps = .{.mem},
27048 .dst_temps = .{ .mem, .unused },
2333727049 .clobbers = .{ .eflags = true },
2333827050 .each = .{ .once = &.{
2333927051 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -23357,7 +27069,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2335727069 }, .{
2335827070 .required_features = .{ .@"64bit", null, null, null },
2335927071 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .qword } }, .any, .any },
23360 .dst_constraints = .{.{ .scalar_int_is = .byte }},
27072 .dst_constraints = .{ .{ .scalar_int_is = .byte }, .any },
2336127073 .patterns = &.{
2336227074 .{ .src = .{ .to_mem, .none, .none } },
2336327075 },
......@@ -23372,7 +27084,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2337227084 .unused,
2337327085 .unused,
2337427086 },
23375 .dst_temps = .{.mem},
27087 .dst_temps = .{ .mem, .unused },
2337627088 .clobbers = .{ .eflags = true },
2337727089 .each = .{ .once = &.{
2337827090 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -23396,7 +27108,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2339627108 }, .{
2339727109 .required_features = .{ .@"64bit", .false_deps_lzcnt_tzcnt, .lzcnt, null },
2339827110 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .xword } }, .any, .any },
23399 .dst_constraints = .{.{ .scalar_int_is = .byte }},
27111 .dst_constraints = .{ .{ .scalar_int_is = .byte }, .any },
2340027112 .patterns = &.{
2340127113 .{ .src = .{ .to_mem, .none, .none } },
2340227114 },
......@@ -23411,7 +27123,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2341127123 .unused,
2341227124 .unused,
2341327125 },
23414 .dst_temps = .{.mem},
27126 .dst_temps = .{ .mem, .unused },
2341527127 .clobbers = .{ .eflags = true },
2341627128 .each = .{ .once = &.{
2341727129 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -23436,7 +27148,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2343627148 }, .{
2343727149 .required_features = .{ .@"64bit", .lzcnt, null, null },
2343827150 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .xword } }, .any, .any },
23439 .dst_constraints = .{.{ .scalar_int_is = .byte }},
27151 .dst_constraints = .{ .{ .scalar_int_is = .byte }, .any },
2344027152 .patterns = &.{
2344127153 .{ .src = .{ .to_mem, .none, .none } },
2344227154 },
......@@ -23451,7 +27163,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2345127163 .unused,
2345227164 .unused,
2345327165 },
23454 .dst_temps = .{.mem},
27166 .dst_temps = .{ .mem, .unused },
2345527167 .clobbers = .{ .eflags = true },
2345627168 .each = .{ .once = &.{
2345727169 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -23475,7 +27187,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2347527187 }, .{
2347627188 .required_features = .{ .@"64bit", null, null, null },
2347727189 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .xword } }, .any, .any },
23478 .dst_constraints = .{.{ .scalar_int_is = .byte }},
27190 .dst_constraints = .{ .{ .scalar_int_is = .byte }, .any },
2347927191 .patterns = &.{
2348027192 .{ .src = .{ .to_mem, .none, .none } },
2348127193 },
......@@ -23490,7 +27202,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2349027202 .unused,
2349127203 .unused,
2349227204 },
23493 .dst_temps = .{.mem},
27205 .dst_temps = .{ .mem, .unused },
2349427206 .clobbers = .{ .eflags = true },
2349527207 .each = .{ .once = &.{
2349627208 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -23514,7 +27226,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2351427226 }, .{
2351527227 .required_features = .{ .@"64bit", .false_deps_lzcnt_tzcnt, .lzcnt, null },
2351627228 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .qword } }, .any, .any },
23517 .dst_constraints = .{.{ .scalar_int_is = .word }},
27229 .dst_constraints = .{ .{ .scalar_int_is = .word }, .any },
2351827230 .patterns = &.{
2351927231 .{ .src = .{ .to_mem, .none, .none } },
2352027232 },
......@@ -23529,7 +27241,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2352927241 .unused,
2353027242 .unused,
2353127243 },
23532 .dst_temps = .{.mem},
27244 .dst_temps = .{ .mem, .unused },
2353327245 .clobbers = .{ .eflags = true },
2353427246 .each = .{ .once = &.{
2353527247 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -23554,7 +27266,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2355427266 }, .{
2355527267 .required_features = .{ .@"64bit", .lzcnt, null, null },
2355627268 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .qword } }, .any, .any },
23557 .dst_constraints = .{.{ .scalar_int_is = .word }},
27269 .dst_constraints = .{ .{ .scalar_int_is = .word }, .any },
2355827270 .patterns = &.{
2355927271 .{ .src = .{ .to_mem, .none, .none } },
2356027272 },
......@@ -23569,7 +27281,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2356927281 .unused,
2357027282 .unused,
2357127283 },
23572 .dst_temps = .{.mem},
27284 .dst_temps = .{ .mem, .unused },
2357327285 .clobbers = .{ .eflags = true },
2357427286 .each = .{ .once = &.{
2357527287 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -23593,7 +27305,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2359327305 }, .{
2359427306 .required_features = .{ .@"64bit", null, null, null },
2359527307 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .qword } }, .any, .any },
23596 .dst_constraints = .{.{ .scalar_int_is = .word }},
27308 .dst_constraints = .{ .{ .scalar_int_is = .word }, .any },
2359727309 .patterns = &.{
2359827310 .{ .src = .{ .to_mem, .none, .none } },
2359927311 },
......@@ -23608,7 +27320,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2360827320 .unused,
2360927321 .unused,
2361027322 },
23611 .dst_temps = .{.mem},
27323 .dst_temps = .{ .mem, .unused },
2361227324 .clobbers = .{ .eflags = true },
2361327325 .each = .{ .once = &.{
2361427326 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -23632,7 +27344,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2363227344 }, .{
2363327345 .required_features = .{ .@"64bit", .false_deps_lzcnt_tzcnt, .lzcnt, null },
2363427346 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .xword } }, .any, .any },
23635 .dst_constraints = .{.{ .scalar_int_is = .word }},
27347 .dst_constraints = .{ .{ .scalar_int_is = .word }, .any },
2363627348 .patterns = &.{
2363727349 .{ .src = .{ .to_mem, .none, .none } },
2363827350 },
......@@ -23647,7 +27359,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2364727359 .unused,
2364827360 .unused,
2364927361 },
23650 .dst_temps = .{.mem},
27362 .dst_temps = .{ .mem, .unused },
2365127363 .clobbers = .{ .eflags = true },
2365227364 .each = .{ .once = &.{
2365327365 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -23672,7 +27384,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2367227384 }, .{
2367327385 .required_features = .{ .@"64bit", .lzcnt, null, null },
2367427386 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .xword } }, .any, .any },
23675 .dst_constraints = .{.{ .scalar_int_is = .word }},
27387 .dst_constraints = .{ .{ .scalar_int_is = .word }, .any },
2367627388 .patterns = &.{
2367727389 .{ .src = .{ .to_mem, .none, .none } },
2367827390 },
......@@ -23687,7 +27399,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2368727399 .unused,
2368827400 .unused,
2368927401 },
23690 .dst_temps = .{.mem},
27402 .dst_temps = .{ .mem, .unused },
2369127403 .clobbers = .{ .eflags = true },
2369227404 .each = .{ .once = &.{
2369327405 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -23711,7 +27423,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2371127423 }, .{
2371227424 .required_features = .{ .@"64bit", null, null, null },
2371327425 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .xword } }, .any, .any },
23714 .dst_constraints = .{.{ .scalar_int_is = .word }},
27426 .dst_constraints = .{ .{ .scalar_int_is = .word }, .any },
2371527427 .patterns = &.{
2371627428 .{ .src = .{ .to_mem, .none, .none } },
2371727429 },
......@@ -23726,7 +27438,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2372627438 .unused,
2372727439 .unused,
2372827440 },
23729 .dst_temps = .{.mem},
27441 .dst_temps = .{ .mem, .unused },
2373027442 .clobbers = .{ .eflags = true },
2373127443 .each = .{ .once = &.{
2373227444 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_len), ._, ._ },
......@@ -23802,11 +27514,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2380227514 .unused,
2380327515 .unused,
2380427516 },
23805 .dst_temps = .{.{ .mut_rc_mask = .{
27517 .dst_temps = .{ .{ .mut_rc_mask = .{
2380627518 .ref = .src0,
2380727519 .rc = .sse,
2380827520 .info = .{ .kind = .all, .scalar = .dword },
23809 } }},
27521 } }, .unused },
2381027522 .each = .{ .once = &.{
2381127523 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
2381227524 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
......@@ -23840,11 +27552,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2384027552 .unused,
2384127553 .unused,
2384227554 },
23843 .dst_temps = .{.{ .mut_rc_mask = .{
27555 .dst_temps = .{ .{ .mut_rc_mask = .{
2384427556 .ref = .src0,
2384527557 .rc = .sse,
2384627558 .info = .{ .kind = .all, .scalar = .dword },
23847 } }},
27559 } }, .unused },
2384827560 .each = .{ .once = &.{
2384927561 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
2385027562 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
......@@ -23878,11 +27590,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2387827590 .unused,
2387927591 .unused,
2388027592 },
23881 .dst_temps = .{.{ .mut_rc_mask = .{
27593 .dst_temps = .{ .{ .mut_rc_mask = .{
2388227594 .ref = .src0,
2388327595 .rc = .sse,
2388427596 .info = .{ .kind = .all, .scalar = .dword },
23885 } }},
27597 } }, .unused },
2388627598 .each = .{ .once = &.{
2388727599 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
2388827600 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },
......@@ -23902,11 +27614,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2390227614 .patterns = &.{
2390327615 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
2390427616 },
23905 .dst_temps = .{.{ .mut_rc_mask = .{
27617 .dst_temps = .{ .{ .mut_rc_mask = .{
2390627618 .ref = .src0,
2390727619 .rc = .sse,
2390827620 .info = .{ .kind = .all, .scalar = .dword },
23909 } }},
27621 } }, .unused },
2391027622 .each = .{ .once = &.{
2391127623 .{ ._, .v_ss, .cmp, .dst0x, .src0x, .src1d, .vp(switch (cc) {
2391227624 else => unreachable,
......@@ -23925,11 +27637,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2392527637 .{ .src = .{ .to_sse, .mem, .none } },
2392627638 .{ .src = .{ .to_sse, .to_sse, .none } },
2392727639 },
23928 .dst_temps = .{.{ .mut_rc_mask = .{
27640 .dst_temps = .{ .{ .mut_rc_mask = .{
2392927641 .ref = .src0,
2393027642 .rc = .sse,
2393127643 .info = .{ .kind = .all, .scalar = .dword },
23932 } }},
27644 } }, .unused },
2393327645 .each = .{ .once = &.{
2393427646 .{ ._, .v_ss, .cmp, .dst0x, .src0x, .src1d, .vp(switch (cc) {
2393527647 else => unreachable,
......@@ -23948,10 +27660,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2394827660 .{ .src = .{ .to_mut_sse, .mem, .none } },
2394927661 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
2395027662 },
23951 .dst_temps = .{.{ .ref_mask = .{
27663 .dst_temps = .{ .{ .ref_mask = .{
2395227664 .ref = .src0,
2395327665 .info = .{ .kind = .all, .scalar = .dword },
23954 } }},
27666 } }, .unused },
2395527667 .each = .{ .once = &.{
2395627668 .{ ._, ._ss, .cmp, .dst0x, .src1d, .sp(switch (cc) {
2395727669 else => unreachable,
......@@ -23969,11 +27681,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2396927681 .patterns = &.{
2397027682 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
2397127683 },
23972 .dst_temps = .{.{ .mut_rc_mask = .{
27684 .dst_temps = .{ .{ .mut_rc_mask = .{
2397327685 .ref = .src0,
2397427686 .rc = .sse,
2397527687 .info = .{ .kind = .all, .scalar = .dword },
23976 } }},
27688 } }, .unused },
2397727689 .each = .{ .once = &.{
2397827690 .{ ._, .v_ps, .cmp, .dst0x, .src0x, .src1x, .vp(switch (cc) {
2397927691 else => unreachable,
......@@ -23992,11 +27704,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2399227704 .{ .src = .{ .to_sse, .mem, .none } },
2399327705 .{ .src = .{ .to_sse, .to_sse, .none } },
2399427706 },
23995 .dst_temps = .{.{ .mut_rc_mask = .{
27707 .dst_temps = .{ .{ .mut_rc_mask = .{
2399627708 .ref = .src0,
2399727709 .rc = .sse,
2399827710 .info = .{ .kind = .all, .scalar = .dword },
23999 } }},
27711 } }, .unused },
2400027712 .each = .{ .once = &.{
2400127713 .{ ._, .v_ps, .cmp, .dst0x, .src0x, .src1x, .vp(switch (cc) {
2400227714 else => unreachable,
......@@ -24015,10 +27727,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2401527727 .{ .src = .{ .to_mut_sse, .mem, .none } },
2401627728 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
2401727729 },
24018 .dst_temps = .{.{ .ref_mask = .{
27730 .dst_temps = .{ .{ .ref_mask = .{
2401927731 .ref = .src0,
2402027732 .info = .{ .kind = .all, .scalar = .dword },
24021 } }},
27733 } }, .unused },
2402227734 .each = .{ .once = &.{
2402327735 .{ ._, ._ps, .cmp, .dst0x, .src1x, .sp(switch (cc) {
2402427736 else => unreachable,
......@@ -24036,11 +27748,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2403627748 .patterns = &.{
2403727749 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
2403827750 },
24039 .dst_temps = .{.{ .mut_rc_mask = .{
27751 .dst_temps = .{ .{ .mut_rc_mask = .{
2404027752 .ref = .src0,
2404127753 .rc = .sse,
2404227754 .info = .{ .kind = .all, .scalar = .dword },
24043 } }},
27755 } }, .unused },
2404427756 .each = .{ .once = &.{
2404527757 .{ ._, .v_ps, .cmp, .dst0y, .src0y, .src1y, .vp(switch (cc) {
2404627758 else => unreachable,
......@@ -24059,11 +27771,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2405927771 .{ .src = .{ .to_sse, .mem, .none } },
2406027772 .{ .src = .{ .to_sse, .to_sse, .none } },
2406127773 },
24062 .dst_temps = .{.{ .mut_rc_mask = .{
27774 .dst_temps = .{ .{ .mut_rc_mask = .{
2406327775 .ref = .src0,
2406427776 .rc = .sse,
2406527777 .info = .{ .kind = .all, .scalar = .dword },
24066 } }},
27778 } }, .unused },
2406727779 .each = .{ .once = &.{
2406827780 .{ ._, .v_ps, .cmp, .dst0y, .src0y, .src1y, .vp(switch (cc) {
2406927781 else => unreachable,
......@@ -24081,11 +27793,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2408127793 .patterns = &.{
2408227794 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
2408327795 },
24084 .dst_temps = .{.{ .mut_rc_mask = .{
27796 .dst_temps = .{ .{ .mut_rc_mask = .{
2408527797 .ref = .src0,
2408627798 .rc = .sse,
2408727799 .info = .{ .kind = .all, .scalar = .qword },
24088 } }},
27800 } }, .unused },
2408927801 .each = .{ .once = &.{
2409027802 .{ ._, .v_sd, .cmp, .dst0x, .src0x, .src1q, .vp(switch (cc) {
2409127803 else => unreachable,
......@@ -24104,11 +27816,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2410427816 .{ .src = .{ .to_sse, .mem, .none } },
2410527817 .{ .src = .{ .to_sse, .to_sse, .none } },
2410627818 },
24107 .dst_temps = .{.{ .mut_rc_mask = .{
27819 .dst_temps = .{ .{ .mut_rc_mask = .{
2410827820 .ref = .src0,
2410927821 .rc = .sse,
2411027822 .info = .{ .kind = .all, .scalar = .qword },
24111 } }},
27823 } }, .unused },
2411227824 .each = .{ .once = &.{
2411327825 .{ ._, .v_sd, .cmp, .dst0x, .src0x, .src1q, .vp(switch (cc) {
2411427826 else => unreachable,
......@@ -24127,10 +27839,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2412727839 .{ .src = .{ .to_mut_sse, .mem, .none } },
2412827840 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
2412927841 },
24130 .dst_temps = .{.{ .ref_mask = .{
27842 .dst_temps = .{ .{ .ref_mask = .{
2413127843 .ref = .src0,
2413227844 .info = .{ .kind = .all, .scalar = .qword },
24133 } }},
27845 } }, .unused },
2413427846 .each = .{ .once = &.{
2413527847 .{ ._, ._sd, .cmp, .dst0x, .src1q, .sp(switch (cc) {
2413627848 else => unreachable,
......@@ -24148,11 +27860,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2414827860 .patterns = &.{
2414927861 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
2415027862 },
24151 .dst_temps = .{.{ .mut_rc_mask = .{
27863 .dst_temps = .{ .{ .mut_rc_mask = .{
2415227864 .ref = .src0,
2415327865 .rc = .sse,
2415427866 .info = .{ .kind = .all, .scalar = .qword },
24155 } }},
27867 } }, .unused },
2415627868 .each = .{ .once = &.{
2415727869 .{ ._, .v_pd, .cmp, .dst0x, .src0x, .src1x, .vp(switch (cc) {
2415827870 else => unreachable,
......@@ -24171,11 +27883,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2417127883 .{ .src = .{ .to_sse, .mem, .none } },
2417227884 .{ .src = .{ .to_sse, .to_sse, .none } },
2417327885 },
24174 .dst_temps = .{.{ .mut_rc_mask = .{
27886 .dst_temps = .{ .{ .mut_rc_mask = .{
2417527887 .ref = .src0,
2417627888 .rc = .sse,
2417727889 .info = .{ .kind = .all, .scalar = .qword },
24178 } }},
27890 } }, .unused },
2417927891 .each = .{ .once = &.{
2418027892 .{ ._, .v_pd, .cmp, .dst0x, .src0x, .src1x, .vp(switch (cc) {
2418127893 else => unreachable,
......@@ -24194,10 +27906,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2419427906 .{ .src = .{ .to_mut_sse, .mem, .none } },
2419527907 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
2419627908 },
24197 .dst_temps = .{.{ .ref_mask = .{
27909 .dst_temps = .{ .{ .ref_mask = .{
2419827910 .ref = .src0,
2419927911 .info = .{ .kind = .all, .scalar = .qword },
24200 } }},
27912 } }, .unused },
2420127913 .each = .{ .once = &.{
2420227914 .{ ._, ._pd, .cmp, .dst0x, .src1x, .sp(switch (cc) {
2420327915 else => unreachable,
......@@ -24215,11 +27927,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2421527927 .patterns = &.{
2421627928 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
2421727929 },
24218 .dst_temps = .{.{ .mut_rc_mask = .{
27930 .dst_temps = .{ .{ .mut_rc_mask = .{
2421927931 .ref = .src0,
2422027932 .rc = .sse,
2422127933 .info = .{ .kind = .all, .scalar = .qword },
24222 } }},
27934 } }, .unused },
2422327935 .each = .{ .once = &.{
2422427936 .{ ._, .v_pd, .cmp, .dst0y, .src0y, .src1y, .vp(switch (cc) {
2422527937 else => unreachable,
......@@ -24238,11 +27950,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2423827950 .{ .src = .{ .to_sse, .mem, .none } },
2423927951 .{ .src = .{ .to_sse, .to_sse, .none } },
2424027952 },
24241 .dst_temps = .{.{ .mut_rc_mask = .{
27953 .dst_temps = .{ .{ .mut_rc_mask = .{
2424227954 .ref = .src0,
2424327955 .rc = .sse,
2424427956 .info = .{ .kind = .all, .scalar = .qword },
24245 } }},
27957 } }, .unused },
2424627958 .each = .{ .once = &.{
2424727959 .{ ._, .v_pd, .cmp, .dst0y, .src0y, .src1y, .vp(switch (cc) {
2424827960 else => unreachable,
......@@ -24271,7 +27983,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2427127983 .unused,
2427227984 .unused,
2427327985 },
24274 .dst_temps = .{.mem},
27986 .dst_temps = .{ .mem, .unused },
2427527987 .clobbers = .{ .eflags = true },
2427627988 .each = .{ .once = &.{
2427727989 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -24310,7 +28022,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2431028022 .unused,
2431128023 .unused,
2431228024 },
24313 .dst_temps = .{.mem},
28025 .dst_temps = .{ .mem, .unused },
2431428026 .clobbers = .{ .eflags = true },
2431528027 .each = .{ .once = &.{
2431628028 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -24335,7 +28047,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2433528047 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
2433628048 .any,
2433728049 },
24338 .dst_constraints = .{.{ .bool_vec = .dword }},
28050 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
2433928051 .patterns = &.{
2434028052 .{ .src = .{ .to_mem, .to_mem, .none } },
2434128053 },
......@@ -24351,7 +28063,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2435128063 .unused,
2435228064 .unused,
2435328065 },
24354 .dst_temps = .{.{ .rc = .general_purpose }},
28066 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2435528067 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2435628068 .each = .{ .once = &.{
2435728069 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -24377,7 +28089,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2437728089 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
2437828090 .any,
2437928091 },
24380 .dst_constraints = .{.{ .bool_vec = .dword }},
28092 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
2438128093 .patterns = &.{
2438228094 .{ .src = .{ .to_mem, .to_mem, .none } },
2438328095 },
......@@ -24393,7 +28105,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2439328105 .unused,
2439428106 .unused,
2439528107 },
24396 .dst_temps = .{.{ .rc = .general_purpose }},
28108 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2439728109 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2439828110 .each = .{ .once = &.{
2439928111 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -24419,7 +28131,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2441928131 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
2442028132 .any,
2442128133 },
24422 .dst_constraints = .{.{ .bool_vec = .dword }},
28134 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
2442328135 .patterns = &.{
2442428136 .{ .src = .{ .to_mem, .to_mem, .none } },
2442528137 },
......@@ -24435,7 +28147,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2443528147 .unused,
2443628148 .unused,
2443728149 },
24438 .dst_temps = .{.{ .rc = .general_purpose }},
28150 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2443928151 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2444028152 .each = .{ .once = &.{
2444128153 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -24462,7 +28174,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2446228174 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
2446328175 .any,
2446428176 },
24465 .dst_constraints = .{.{ .bool_vec = .dword }},
28177 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
2446628178 .patterns = &.{
2446728179 .{ .src = .{ .to_mem, .to_mem, .none } },
2446828180 },
......@@ -24478,7 +28190,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2447828190 .unused,
2447928191 .unused,
2448028192 },
24481 .dst_temps = .{.{ .rc = .general_purpose }},
28193 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2448228194 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2448328195 .each = .{ .once = &.{
2448428196 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -24505,7 +28217,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2450528217 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
2450628218 .any,
2450728219 },
24508 .dst_constraints = .{.{ .bool_vec = .dword }},
28220 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
2450928221 .patterns = &.{
2451028222 .{ .src = .{ .to_mem, .to_mem, .none } },
2451128223 },
......@@ -24521,7 +28233,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2452128233 .{ .type = .f32, .kind = .mem },
2452228234 .unused,
2452328235 },
24524 .dst_temps = .{.{ .rc = .general_purpose }},
28236 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2452528237 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2452628238 .each = .{ .once = &.{
2452728239 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -24550,7 +28262,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2455028262 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
2455128263 .any,
2455228264 },
24553 .dst_constraints = .{.{ .bool_vec = .dword }},
28265 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
2455428266 .patterns = &.{
2455528267 .{ .src = .{ .to_mem, .to_mem, .none } },
2455628268 },
......@@ -24566,7 +28278,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2456628278 .{ .type = .f32, .kind = .mem },
2456728279 .unused,
2456828280 },
24569 .dst_temps = .{.{ .rc = .general_purpose }},
28281 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2457028282 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2457128283 .each = .{ .once = &.{
2457228284 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -24610,7 +28322,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2461028322 .{ .type = .u64, .kind = .{ .reg = .rdx } },
2461128323 .unused,
2461228324 },
24613 .dst_temps = .{.mem},
28325 .dst_temps = .{ .mem, .unused },
2461428326 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2461528327 .each = .{ .once = &.{
2461628328 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
......@@ -24661,7 +28373,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2466128373 .{ .type = .u64, .kind = .{ .reg = .rdx } },
2466228374 .unused,
2466328375 },
24664 .dst_temps = .{.mem},
28376 .dst_temps = .{ .mem, .unused },
2466528377 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2466628378 .each = .{ .once = &.{
2466728379 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
......@@ -24712,7 +28424,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2471228424 .{ .type = .u64, .kind = .{ .reg = .rdx } },
2471328425 .unused,
2471428426 },
24715 .dst_temps = .{.mem},
28427 .dst_temps = .{ .mem, .unused },
2471628428 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2471728429 .each = .{ .once = &.{
2471828430 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
......@@ -24764,7 +28476,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2476428476 .{ .type = .u64, .kind = .{ .reg = .rdx } },
2476528477 .unused,
2476628478 },
24767 .dst_temps = .{.mem},
28479 .dst_temps = .{ .mem, .unused },
2476828480 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2476928481 .each = .{ .once = &.{
2477028482 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
......@@ -24816,7 +28528,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2481628528 .{ .type = .u64, .kind = .{ .reg = .rdx } },
2481728529 .{ .type = .f32, .kind = .mem },
2481828530 },
24819 .dst_temps = .{.mem},
28531 .dst_temps = .{ .mem, .unused },
2482028532 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2482128533 .each = .{ .once = &.{
2482228534 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
......@@ -24870,7 +28582,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2487028582 .{ .type = .u64, .kind = .{ .reg = .rdx } },
2487128583 .{ .type = .f32, .kind = .mem },
2487228584 },
24873 .dst_temps = .{.mem},
28585 .dst_temps = .{ .mem, .unused },
2487428586 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2487528587 .each = .{ .once = &.{
2487628588 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
......@@ -24923,7 +28635,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2492328635 .unused,
2492428636 .unused,
2492528637 },
24926 .dst_temps = .{.mem},
28638 .dst_temps = .{ .mem, .unused },
2492728639 .clobbers = .{ .eflags = true },
2492828640 .each = .{ .once = &.{
2492928641 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -24961,7 +28673,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2496128673 .unused,
2496228674 .unused,
2496328675 },
24964 .dst_temps = .{.mem},
28676 .dst_temps = .{ .mem, .unused },
2496528677 .clobbers = .{ .eflags = true },
2496628678 .each = .{ .once = &.{
2496728679 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -24999,7 +28711,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2499928711 .unused,
2500028712 .unused,
2500128713 },
25002 .dst_temps = .{.mem},
28714 .dst_temps = .{ .mem, .unused },
2500328715 .clobbers = .{ .eflags = true },
2500428716 .each = .{ .once = &.{
2500528717 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -25045,7 +28757,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2504528757 .unused,
2504628758 .unused,
2504728759 },
25048 .dst_temps = .{.mem},
28760 .dst_temps = .{ .mem, .unused },
2504928761 .clobbers = .{ .eflags = true },
2505028762 .each = .{ .once = &.{
2505128763 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -25092,7 +28804,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2509228804 .unused,
2509328805 .unused,
2509428806 },
25095 .dst_temps = .{.mem},
28807 .dst_temps = .{ .mem, .unused },
2509628808 .clobbers = .{ .eflags = true },
2509728809 .each = .{ .once = &.{
2509828810 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -25141,7 +28853,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2514128853 .unused,
2514228854 .unused,
2514328855 },
25144 .dst_temps = .{.mem},
28856 .dst_temps = .{ .mem, .unused },
2514528857 .clobbers = .{ .eflags = true },
2514628858 .each = .{ .once = &.{
2514728859 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -25188,7 +28900,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2518828900 .unused,
2518928901 .unused,
2519028902 },
25191 .dst_temps = .{.mem},
28903 .dst_temps = .{ .mem, .unused },
2519228904 .clobbers = .{ .eflags = true },
2519328905 .each = .{ .once = &.{
2519428906 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -25235,7 +28947,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2523528947 .unused,
2523628948 .unused,
2523728949 },
25238 .dst_temps = .{.mem},
28950 .dst_temps = .{ .mem, .unused },
2523928951 .clobbers = .{ .eflags = true },
2524028952 .each = .{ .once = &.{
2524128953 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -25285,7 +28997,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2528528997 .unused,
2528628998 .unused,
2528728999 },
25288 .dst_temps = .{.mem},
29000 .dst_temps = .{ .mem, .unused },
2528929001 .clobbers = .{ .eflags = true },
2529029002 .each = .{ .once = &.{
2529129003 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -25335,7 +29047,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2533529047 .unused,
2533629048 .unused,
2533729049 },
25338 .dst_temps = .{.mem},
29050 .dst_temps = .{ .mem, .unused },
2533929051 .clobbers = .{ .eflags = true },
2534029052 .each = .{ .once = &.{
2534129053 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -25388,7 +29100,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2538829100 .unused,
2538929101 .unused,
2539029102 },
25391 .dst_temps = .{.mem},
29103 .dst_temps = .{ .mem, .unused },
2539229104 .clobbers = .{ .eflags = true },
2539329105 .each = .{ .once = &.{
2539429106 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -25441,7 +29153,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2544129153 .unused,
2544229154 .unused,
2544329155 },
25444 .dst_temps = .{.mem},
29156 .dst_temps = .{ .mem, .unused },
2544529157 .clobbers = .{ .eflags = true },
2544629158 .each = .{ .once = &.{
2544729159 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -25499,7 +29211,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2549929211 .unused,
2550029212 .unused,
2550129213 },
25502 .dst_temps = .{.mem},
29214 .dst_temps = .{ .mem, .unused },
2550329215 .clobbers = .{ .eflags = true },
2550429216 .each = .{ .once = &.{
2550529217 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -25552,7 +29264,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2555229264 .unused,
2555329265 .unused,
2555429266 },
25555 .dst_temps = .{.mem},
29267 .dst_temps = .{ .mem, .unused },
2555629268 .clobbers = .{ .eflags = true },
2555729269 .each = .{ .once = &.{
2555829270 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -25605,7 +29317,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2560529317 .unused,
2560629318 .unused,
2560729319 },
25608 .dst_temps = .{.mem},
29320 .dst_temps = .{ .mem, .unused },
2560929321 .clobbers = .{ .eflags = true },
2561029322 .each = .{ .once = &.{
2561129323 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -25649,7 +29361,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2564929361 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
2565029362 .any,
2565129363 },
25652 .dst_constraints = .{.{ .bool_vec = .dword }},
29364 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
2565329365 .patterns = &.{
2565429366 .{ .src = .{ .to_mem, .to_mem, .none } },
2565529367 },
......@@ -25665,7 +29377,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2566529377 .{ .type = .u32, .kind = .{ .reg = .edx } },
2566629378 .unused,
2566729379 },
25668 .dst_temps = .{.{ .rc = .general_purpose }},
29380 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2566929381 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2567029382 .each = .{ .once = &.{
2567129383 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -25691,7 +29403,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2569129403 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
2569229404 .any,
2569329405 },
25694 .dst_constraints = .{.{ .bool_vec = .dword }},
29406 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
2569529407 .patterns = &.{
2569629408 .{ .src = .{ .to_mem, .to_mem, .none } },
2569729409 },
......@@ -25707,7 +29419,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2570729419 .{ .type = .u32, .kind = .{ .reg = .edx } },
2570829420 .unused,
2570929421 },
25710 .dst_temps = .{.{ .rc = .general_purpose }},
29422 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2571129423 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2571229424 .each = .{ .once = &.{
2571329425 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -25733,7 +29445,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2573329445 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
2573429446 .any,
2573529447 },
25736 .dst_constraints = .{.{ .bool_vec = .dword }},
29448 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
2573729449 .patterns = &.{
2573829450 .{ .src = .{ .to_mem, .to_mem, .none } },
2573929451 },
......@@ -25749,7 +29461,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2574929461 .{ .type = .u32, .kind = .{ .reg = .edx } },
2575029462 .unused,
2575129463 },
25752 .dst_temps = .{.{ .rc = .general_purpose }},
29464 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2575329465 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2575429466 .each = .{ .once = &.{
2575529467 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -25775,7 +29487,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2577529487 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
2577629488 .any,
2577729489 },
25778 .dst_constraints = .{.{ .bool_vec = .dword }},
29490 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
2577929491 .patterns = &.{
2578029492 .{ .src = .{ .to_mem, .to_mem, .none } },
2578129493 },
......@@ -25791,7 +29503,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2579129503 .{ .type = .u32, .kind = .{ .reg = .edx } },
2579229504 .unused,
2579329505 },
25794 .dst_temps = .{.{ .rc = .general_purpose }},
29506 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2579529507 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2579629508 .each = .{ .once = &.{
2579729509 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -25817,7 +29529,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2581729529 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
2581829530 .any,
2581929531 },
25820 .dst_constraints = .{.{ .bool_vec = .dword }},
29532 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
2582129533 .patterns = &.{
2582229534 .{ .src = .{ .to_mem, .to_mem, .none } },
2582329535 },
......@@ -25833,7 +29545,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2583329545 .{ .type = .u32, .kind = .{ .reg = .edx } },
2583429546 .unused,
2583529547 },
25836 .dst_temps = .{.{ .rc = .general_purpose }},
29548 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2583729549 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2583829550 .each = .{ .once = &.{
2583929551 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -25859,7 +29571,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2585929571 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
2586029572 .any,
2586129573 },
25862 .dst_constraints = .{.{ .bool_vec = .dword }},
29574 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
2586329575 .patterns = &.{
2586429576 .{ .src = .{ .to_mem, .to_mem, .none } },
2586529577 },
......@@ -25875,7 +29587,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2587529587 .{ .type = .u32, .kind = .{ .reg = .edx } },
2587629588 .unused,
2587729589 },
25878 .dst_temps = .{.{ .rc = .general_purpose }},
29590 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2587929591 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2588029592 .each = .{ .once = &.{
2588129593 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -25916,7 +29628,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2591629628 .{ .type = .u8, .kind = .{ .reg = .cl } },
2591729629 .{ .type = .u64, .kind = .{ .reg = .rdx } },
2591829630 },
25919 .dst_temps = .{.mem},
29631 .dst_temps = .{ .mem, .unused },
2592029632 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2592129633 .each = .{ .once = &.{
2592229634 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -25967,7 +29679,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2596729679 .{ .type = .u8, .kind = .{ .reg = .cl } },
2596829680 .{ .type = .u64, .kind = .{ .reg = .rdx } },
2596929681 },
25970 .dst_temps = .{.mem},
29682 .dst_temps = .{ .mem, .unused },
2597129683 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2597229684 .each = .{ .once = &.{
2597329685 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -26018,7 +29730,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2601829730 .{ .type = .u8, .kind = .{ .reg = .cl } },
2601929731 .{ .type = .u64, .kind = .{ .reg = .rdx } },
2602029732 },
26021 .dst_temps = .{.mem},
29733 .dst_temps = .{ .mem, .unused },
2602229734 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2602329735 .each = .{ .once = &.{
2602429736 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -26069,7 +29781,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2606929781 .{ .type = .u8, .kind = .{ .reg = .cl } },
2607029782 .{ .type = .u64, .kind = .{ .reg = .rdx } },
2607129783 },
26072 .dst_temps = .{.mem},
29784 .dst_temps = .{ .mem, .unused },
2607329785 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2607429786 .each = .{ .once = &.{
2607529787 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -26120,7 +29832,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2612029832 .{ .type = .u8, .kind = .{ .reg = .cl } },
2612129833 .{ .type = .u64, .kind = .{ .reg = .rdx } },
2612229834 },
26123 .dst_temps = .{.mem},
29835 .dst_temps = .{ .mem, .unused },
2612429836 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2612529837 .each = .{ .once = &.{
2612629838 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -26171,7 +29883,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2617129883 .{ .type = .u8, .kind = .{ .reg = .cl } },
2617229884 .{ .type = .u64, .kind = .{ .reg = .rdx } },
2617329885 },
26174 .dst_temps = .{.mem},
29886 .dst_temps = .{ .mem, .unused },
2617529887 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2617629888 .each = .{ .once = &.{
2617729889 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -26222,7 +29934,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2622229934 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
2622329935 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
2622429936 },
26225 .dst_temps = .{.{ .ref = .src0 }},
29937 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2622629938 .clobbers = .{ .eflags = true },
2622729939 .each = .{ .once = switch (cc) {
2622829940 else => unreachable,
......@@ -26247,7 +29959,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2624729959 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
2624829960 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
2624929961 },
26250 .dst_temps = .{.{ .ref = .src0 }},
29962 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2625129963 .clobbers = .{ .eflags = true },
2625229964 .each = .{ .once = switch (cc) {
2625329965 else => unreachable,
......@@ -26272,7 +29984,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2627229984 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
2627329985 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
2627429986 },
26275 .dst_temps = .{.{ .ref = .src0 }},
29987 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2627629988 .clobbers = .{ .eflags = true },
2627729989 .each = .{ .once = switch (cc) {
2627829990 else => unreachable,
......@@ -26298,7 +30010,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2629830010 .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } },
2629930011 .{ .src = .{ .to_mut_gpr, .to_gpr, .none } },
2630030012 },
26301 .dst_temps = .{.{ .ref = .src0 }},
30013 .dst_temps = .{ .{ .ref = .src0 }, .unused },
2630230014 .clobbers = .{ .eflags = true },
2630330015 .each = .{ .once = switch (cc) {
2630430016 else => unreachable,
......@@ -26326,7 +30038,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2632630038 .unused,
2632730039 .unused,
2632830040 },
26329 .dst_temps = .{.mem},
30041 .dst_temps = .{ .mem, .unused },
2633030042 .clobbers = .{ .eflags = true },
2633130043 .each = .{ .once = switch (cc) {
2633230044 else => unreachable,
......@@ -26360,7 +30072,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2636030072 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
2636130073 .{ .src = .{ .to_sse, .to_sse, .none } },
2636230074 },
26363 .dst_temps = .{.{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{
30075 .dst_temps = .{ .{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{
2636430076 .kind = .all,
2636530077 .inverted = switch (cc) {
2636630078 else => unreachable,
......@@ -26368,7 +30080,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2636830080 .ne => true,
2636930081 },
2637030082 .scalar = .byte,
26371 } } }},
30083 } } }, .unused },
2637230084 .each = .{ .once = &.{
2637330085 .{ ._, .vp_b, .cmpeq, .dst0x, .src0x, .src1x, ._ },
2637430086 } },
......@@ -26384,7 +30096,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2638430096 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
2638530097 .{ .src = .{ .to_sse, .to_sse, .none } },
2638630098 },
26387 .dst_temps = .{.{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{
30099 .dst_temps = .{ .{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{
2638830100 .kind = .all,
2638930101 .inverted = switch (cc) {
2639030102 else => unreachable,
......@@ -26392,7 +30104,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2639230104 .ne => true,
2639330105 },
2639430106 .scalar = .word,
26395 } } }},
30107 } } }, .unused },
2639630108 .each = .{ .once = &.{
2639730109 .{ ._, .vp_w, .cmpeq, .dst0x, .src0x, .src1x, ._ },
2639830110 } },
......@@ -26408,7 +30120,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2640830120 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
2640930121 .{ .src = .{ .to_sse, .to_sse, .none } },
2641030122 },
26411 .dst_temps = .{.{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{
30123 .dst_temps = .{ .{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{
2641230124 .kind = .all,
2641330125 .inverted = switch (cc) {
2641430126 else => unreachable,
......@@ -26416,7 +30128,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2641630128 .ne => true,
2641730129 },
2641830130 .scalar = .dword,
26419 } } }},
30131 } } }, .unused },
2642030132 .each = .{ .once = &.{
2642130133 .{ ._, .vp_d, .cmpeq, .dst0x, .src0x, .src1x, ._ },
2642230134 } },
......@@ -26432,7 +30144,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2643230144 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
2643330145 .{ .src = .{ .to_sse, .to_sse, .none } },
2643430146 },
26435 .dst_temps = .{.{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{
30147 .dst_temps = .{ .{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{
2643630148 .kind = .all,
2643730149 .inverted = switch (cc) {
2643830150 else => unreachable,
......@@ -26440,7 +30152,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2644030152 .ne => true,
2644130153 },
2644230154 .scalar = .qword,
26443 } } }},
30155 } } }, .unused },
2644430156 .each = .{ .once = &.{
2644530157 .{ ._, .vp_q, .cmpeq, .dst0x, .src0x, .src1x, ._ },
2644630158 } },
......@@ -26456,7 +30168,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2645630168 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
2645730169 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
2645830170 },
26459 .dst_temps = .{.{ .ref_mask = .{ .ref = .src0, .info = .{
30171 .dst_temps = .{ .{ .ref_mask = .{ .ref = .src0, .info = .{
2646030172 .kind = .all,
2646130173 .inverted = switch (cc) {
2646230174 else => unreachable,
......@@ -26464,7 +30176,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2646430176 .ne => true,
2646530177 },
2646630178 .scalar = .byte,
26467 } } }},
30179 } } }, .unused },
2646830180 .each = .{ .once = &.{
2646930181 .{ ._, .p_b, .cmpeq, .dst0x, .src1x, ._, ._ },
2647030182 } },
......@@ -26480,7 +30192,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2648030192 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
2648130193 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
2648230194 },
26483 .dst_temps = .{.{ .ref_mask = .{ .ref = .src0, .info = .{
30195 .dst_temps = .{ .{ .ref_mask = .{ .ref = .src0, .info = .{
2648430196 .kind = .all,
2648530197 .inverted = switch (cc) {
2648630198 else => unreachable,
......@@ -26488,7 +30200,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2648830200 .ne => true,
2648930201 },
2649030202 .scalar = .word,
26491 } } }},
30203 } } }, .unused },
2649230204 .each = .{ .once = &.{
2649330205 .{ ._, .p_w, .cmpeq, .dst0x, .src1x, ._, ._ },
2649430206 } },
......@@ -26504,7 +30216,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2650430216 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
2650530217 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
2650630218 },
26507 .dst_temps = .{.{ .ref_mask = .{ .ref = .src0, .info = .{
30219 .dst_temps = .{ .{ .ref_mask = .{ .ref = .src0, .info = .{
2650830220 .kind = .all,
2650930221 .inverted = switch (cc) {
2651030222 else => unreachable,
......@@ -26512,7 +30224,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2651230224 .ne => true,
2651330225 },
2651430226 .scalar = .dword,
26515 } } }},
30227 } } }, .unused },
2651630228 .each = .{ .once = &.{
2651730229 .{ ._, .p_d, .cmpeq, .dst0x, .src1x, ._, ._ },
2651830230 } },
......@@ -26528,7 +30240,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2652830240 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
2652930241 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
2653030242 },
26531 .dst_temps = .{.{ .ref_mask = .{ .ref = .src0, .info = .{
30243 .dst_temps = .{ .{ .ref_mask = .{ .ref = .src0, .info = .{
2653230244 .kind = .all,
2653330245 .inverted = switch (cc) {
2653430246 else => unreachable,
......@@ -26536,7 +30248,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2653630248 .ne => true,
2653730249 },
2653830250 .scalar = .qword,
26539 } } }},
30251 } } }, .unused },
2654030252 .each = .{ .once = &.{
2654130253 .{ ._, .p_q, .cmpeq, .dst0x, .src1x, ._, ._ },
2654230254 } },
......@@ -26552,7 +30264,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2655230264 .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } },
2655330265 .{ .src = .{ .to_mut_mmx, .to_mmx, .none } },
2655430266 },
26555 .dst_temps = .{.{ .ref_mask = .{ .ref = .src0, .info = .{
30267 .dst_temps = .{ .{ .ref_mask = .{ .ref = .src0, .info = .{
2655630268 .kind = .all,
2655730269 .inverted = switch (cc) {
2655830270 else => unreachable,
......@@ -26560,7 +30272,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2656030272 .ne => true,
2656130273 },
2656230274 .scalar = .byte,
26563 } } }},
30275 } } }, .unused },
2656430276 .each = .{ .once = &.{
2656530277 .{ ._, .p_b, .cmpeq, .dst0q, .src1q, ._, ._ },
2656630278 } },
......@@ -26576,7 +30288,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2657630288 .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } },
2657730289 .{ .src = .{ .to_mut_mmx, .to_mmx, .none } },
2657830290 },
26579 .dst_temps = .{.{ .ref_mask = .{ .ref = .src0, .info = .{
30291 .dst_temps = .{ .{ .ref_mask = .{ .ref = .src0, .info = .{
2658030292 .kind = .all,
2658130293 .inverted = switch (cc) {
2658230294 else => unreachable,
......@@ -26584,7 +30296,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2658430296 .ne => true,
2658530297 },
2658630298 .scalar = .word,
26587 } } }},
30299 } } }, .unused },
2658830300 .each = .{ .once = &.{
2658930301 .{ ._, .p_w, .cmpeq, .dst0q, .src1q, ._, ._ },
2659030302 } },
......@@ -26600,7 +30312,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2660030312 .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } },
2660130313 .{ .src = .{ .to_mut_mmx, .to_mmx, .none } },
2660230314 },
26603 .dst_temps = .{.{ .ref_mask = .{ .ref = .src0, .info = .{
30315 .dst_temps = .{ .{ .ref_mask = .{ .ref = .src0, .info = .{
2660430316 .kind = .all,
2660530317 .inverted = switch (cc) {
2660630318 else => unreachable,
......@@ -26608,7 +30320,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2660830320 .ne => true,
2660930321 },
2661030322 .scalar = .dword,
26611 } } }},
30323 } } }, .unused },
2661230324 .each = .{ .once = &.{
2661330325 .{ ._, .p_d, .cmpeq, .dst0q, .src1q, ._, ._ },
2661430326 } },
......@@ -26624,7 +30336,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2662430336 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
2662530337 .{ .src = .{ .to_sse, .to_sse, .none } },
2662630338 },
26627 .dst_temps = .{.{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{
30339 .dst_temps = .{ .{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{
2662830340 .kind = .all,
2662930341 .inverted = switch (cc) {
2663030342 else => unreachable,
......@@ -26632,7 +30344,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2663230344 .ne => true,
2663330345 },
2663430346 .scalar = .byte,
26635 } } }},
30347 } } }, .unused },
2663630348 .each = .{ .once = &.{
2663730349 .{ ._, .vp_b, .cmpeq, .dst0y, .src0y, .src1y, ._ },
2663830350 } },
......@@ -26648,7 +30360,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2664830360 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
2664930361 .{ .src = .{ .to_sse, .to_sse, .none } },
2665030362 },
26651 .dst_temps = .{.{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{
30363 .dst_temps = .{ .{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{
2665230364 .kind = .all,
2665330365 .inverted = switch (cc) {
2665430366 else => unreachable,
......@@ -26656,7 +30368,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2665630368 .ne => true,
2665730369 },
2665830370 .scalar = .word,
26659 } } }},
30371 } } }, .unused },
2666030372 .each = .{ .once = &.{
2666130373 .{ ._, .vp_w, .cmpeq, .dst0y, .src0y, .src1y, ._ },
2666230374 } },
......@@ -26672,7 +30384,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2667230384 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
2667330385 .{ .src = .{ .to_sse, .to_sse, .none } },
2667430386 },
26675 .dst_temps = .{.{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{
30387 .dst_temps = .{ .{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{
2667630388 .kind = .all,
2667730389 .inverted = switch (cc) {
2667830390 else => unreachable,
......@@ -26680,7 +30392,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2668030392 .ne => true,
2668130393 },
2668230394 .scalar = .dword,
26683 } } }},
30395 } } }, .unused },
2668430396 .each = .{ .once = &.{
2668530397 .{ ._, .vp_d, .cmpeq, .dst0y, .src0y, .src1y, ._ },
2668630398 } },
......@@ -26696,7 +30408,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2669630408 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
2669730409 .{ .src = .{ .to_sse, .to_sse, .none } },
2669830410 },
26699 .dst_temps = .{.{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{
30411 .dst_temps = .{ .{ .mut_rc_mask = .{ .ref = .src0, .rc = .sse, .info = .{
2670030412 .kind = .all,
2670130413 .inverted = switch (cc) {
2670230414 else => unreachable,
......@@ -26704,7 +30416,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2670430416 .ne => true,
2670530417 },
2670630418 .scalar = .qword,
26707 } } }},
30419 } } }, .unused },
2670830420 .each = .{ .once = &.{
2670930421 .{ ._, .vp_q, .cmpeq, .dst0y, .src0y, .src1y, ._ },
2671030422 } },
......@@ -26725,7 +30437,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2672530437 .unused,
2672630438 .unused,
2672730439 },
26728 .dst_temps = .{.mem},
30440 .dst_temps = .{ .mem, .unused },
2672930441 .clobbers = .{ .eflags = true },
2673030442 .each = .{ .once = switch (cc) {
2673130443 else => unreachable,
......@@ -26770,7 +30482,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2677030482 .unused,
2677130483 .unused,
2677230484 },
26773 .dst_temps = .{.mem},
30485 .dst_temps = .{ .mem, .unused },
2677430486 .clobbers = .{ .eflags = true },
2677530487 .each = .{ .once = switch (cc) {
2677630488 else => unreachable,
......@@ -26817,7 +30529,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2681730529 .unused,
2681830530 .unused,
2681930531 },
26820 .dst_temps = .{.mem},
30532 .dst_temps = .{ .mem, .unused },
2682130533 .clobbers = .{ .eflags = true },
2682230534 .each = .{ .once = switch (cc) {
2682330535 else => unreachable,
......@@ -26862,7 +30574,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2686230574 .unused,
2686330575 .unused,
2686430576 },
26865 .dst_temps = .{.mem},
30577 .dst_temps = .{ .mem, .unused },
2686630578 .clobbers = .{ .eflags = true },
2686730579 .each = .{ .once = switch (cc) {
2686830580 else => unreachable,
......@@ -26931,7 +30643,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2693130643 .unused,
2693230644 .unused,
2693330645 },
26934 .dst_temps = .{.mem},
30646 .dst_temps = .{ .mem, .unused },
2693530647 .clobbers = .{ .eflags = true },
2693630648 .each = .{ .once = switch (cc) {
2693730649 else => unreachable,
......@@ -26976,7 +30688,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2697630688 .unused,
2697730689 .unused,
2697830690 },
26979 .dst_temps = .{.mem},
30691 .dst_temps = .{ .mem, .unused },
2698030692 .clobbers = .{ .eflags = true },
2698130693 .each = .{ .once = switch (cc) {
2698230694 else => unreachable,
......@@ -27023,7 +30735,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2702330735 .unused,
2702430736 .unused,
2702530737 },
27026 .dst_temps = .{.mem},
30738 .dst_temps = .{ .mem, .unused },
2702730739 .clobbers = .{ .eflags = true },
2702830740 .each = .{ .once = switch (cc) {
2702930741 else => unreachable,
......@@ -27092,7 +30804,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2709230804 .unused,
2709330805 .unused,
2709430806 },
27095 .dst_temps = .{.mem},
30807 .dst_temps = .{ .mem, .unused },
2709630808 .clobbers = .{ .eflags = true },
2709730809 .each = .{ .once = switch (cc) {
2709830810 else => unreachable,
......@@ -27161,7 +30873,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2716130873 .unused,
2716230874 .unused,
2716330875 },
27164 .dst_temps = .{.mem},
30876 .dst_temps = .{ .mem, .unused },
2716530877 .clobbers = .{ .eflags = true },
2716630878 .each = .{ .once = switch (cc) {
2716730879 else => unreachable,
......@@ -27206,7 +30918,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2720630918 .unused,
2720730919 .unused,
2720830920 },
27209 .dst_temps = .{.mem},
30921 .dst_temps = .{ .mem, .unused },
2721030922 .clobbers = .{ .eflags = true },
2721130923 .each = .{ .once = switch (cc) {
2721230924 else => unreachable,
......@@ -27253,7 +30965,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2725330965 .unused,
2725430966 .unused,
2725530967 },
27256 .dst_temps = .{.mem},
30968 .dst_temps = .{ .mem, .unused },
2725730969 .clobbers = .{ .eflags = true },
2725830970 .each = .{ .once = switch (cc) {
2725930971 else => unreachable,
......@@ -27322,7 +31034,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2732231034 .unused,
2732331035 .unused,
2732431036 },
27325 .dst_temps = .{.mem},
31037 .dst_temps = .{ .mem, .unused },
2732631038 .clobbers = .{ .eflags = true },
2732731039 .each = .{ .once = switch (cc) {
2732831040 else => unreachable,
......@@ -27391,7 +31103,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2739131103 .unused,
2739231104 .unused,
2739331105 },
27394 .dst_temps = .{.mem},
31106 .dst_temps = .{ .mem, .unused },
2739531107 .clobbers = .{ .eflags = true },
2739631108 .each = .{ .once = switch (cc) {
2739731109 else => unreachable,
......@@ -27436,7 +31148,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2743631148 .unused,
2743731149 .unused,
2743831150 },
27439 .dst_temps = .{.mem},
31151 .dst_temps = .{ .mem, .unused },
2744031152 .clobbers = .{ .eflags = true },
2744131153 .each = .{ .once = switch (cc) {
2744231154 else => unreachable,
......@@ -27509,7 +31221,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2750931221 .unused,
2751031222 .unused,
2751131223 },
27512 .dst_temps = .{.mem},
31224 .dst_temps = .{ .mem, .unused },
2751331225 .clobbers = .{ .eflags = true },
2751431226 .each = .{ .once = switch (cc) {
2751531227 else => unreachable,
......@@ -27569,7 +31281,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2756931281 } },
2757031282 }, .{
2757131283 .src_constraints = .{ .{ .scalar_int_is = .byte }, .{ .scalar_int_is = .byte }, .any },
27572 .dst_constraints = .{.{ .bool_vec = .byte }},
31284 .dst_constraints = .{ .{ .bool_vec = .byte }, .any },
2757331285 .patterns = &.{
2757431286 .{ .src = .{ .to_mem, .to_mem, .none } },
2757531287 },
......@@ -27584,7 +31296,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2758431296 .unused,
2758531297 .unused,
2758631298 },
27587 .dst_temps = .{.{ .rc = .general_purpose }},
31299 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2758831300 .clobbers = .{ .eflags = true },
2758931301 .each = .{ .once = &.{
2759031302 .{ ._, ._, .xor, .dst0b, .dst0b, ._, ._ },
......@@ -27601,7 +31313,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2760131313 } },
2760231314 }, .{
2760331315 .src_constraints = .{ .{ .scalar_int_is = .word }, .{ .scalar_int_is = .word }, .any },
27604 .dst_constraints = .{.{ .bool_vec = .byte }},
31316 .dst_constraints = .{ .{ .bool_vec = .byte }, .any },
2760531317 .patterns = &.{
2760631318 .{ .src = .{ .to_mem, .to_mem, .none } },
2760731319 },
......@@ -27616,7 +31328,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2761631328 .unused,
2761731329 .unused,
2761831330 },
27619 .dst_temps = .{.{ .rc = .general_purpose }},
31331 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2762031332 .clobbers = .{ .eflags = true },
2762131333 .each = .{ .once = &.{
2762231334 .{ ._, ._, .xor, .dst0b, .dst0b, ._, ._ },
......@@ -27633,7 +31345,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2763331345 } },
2763431346 }, .{
2763531347 .src_constraints = .{ .{ .scalar_int_is = .dword }, .{ .scalar_int_is = .dword }, .any },
27636 .dst_constraints = .{.{ .bool_vec = .byte }},
31348 .dst_constraints = .{ .{ .bool_vec = .byte }, .any },
2763731349 .patterns = &.{
2763831350 .{ .src = .{ .to_mem, .to_mem, .none } },
2763931351 },
......@@ -27648,7 +31360,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2764831360 .unused,
2764931361 .unused,
2765031362 },
27651 .dst_temps = .{.{ .rc = .general_purpose }},
31363 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2765231364 .clobbers = .{ .eflags = true },
2765331365 .each = .{ .once = &.{
2765431366 .{ ._, ._, .xor, .dst0b, .dst0b, ._, ._ },
......@@ -27666,7 +31378,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2766631378 }, .{
2766731379 .required_features = .{ .@"64bit", null, null, null },
2766831380 .src_constraints = .{ .{ .scalar_int_is = .qword }, .{ .scalar_int_is = .qword }, .any },
27669 .dst_constraints = .{.{ .bool_vec = .byte }},
31381 .dst_constraints = .{ .{ .bool_vec = .byte }, .any },
2767031382 .patterns = &.{
2767131383 .{ .src = .{ .to_mem, .to_mem, .none } },
2767231384 },
......@@ -27681,7 +31393,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2768131393 .unused,
2768231394 .unused,
2768331395 },
27684 .dst_temps = .{.{ .rc = .general_purpose }},
31396 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2768531397 .clobbers = .{ .eflags = true },
2768631398 .each = .{ .once = &.{
2768731399 .{ ._, ._, .xor, .dst0b, .dst0b, ._, ._ },
......@@ -27698,7 +31410,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2769831410 } },
2769931411 }, .{
2770031412 .src_constraints = .{ .any_scalar_int, .any_scalar_int, .any },
27701 .dst_constraints = .{.{ .bool_vec = .byte }},
31413 .dst_constraints = .{ .{ .bool_vec = .byte }, .any },
2770231414 .patterns = &.{
2770331415 .{ .src = .{ .to_mem, .to_mem, .none } },
2770431416 },
......@@ -27713,7 +31425,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2771331425 .unused,
2771431426 .unused,
2771531427 },
27716 .dst_temps = .{.{ .rc = .general_purpose }},
31428 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2771731429 .clobbers = .{ .eflags = true },
2771831430 .each = .{ .once = &.{
2771931431 .{ ._, ._, .xor, .dst0b, .dst0b, ._, ._ },
......@@ -27737,7 +31449,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2773731449 } },
2773831450 }, .{
2773931451 .src_constraints = .{ .{ .scalar_int_is = .byte }, .{ .scalar_int_is = .byte }, .any },
27740 .dst_constraints = .{.{ .bool_vec = .dword }},
31452 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
2774131453 .patterns = &.{
2774231454 .{ .src = .{ .to_mem, .to_mem, .none } },
2774331455 },
......@@ -27752,7 +31464,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2775231464 .unused,
2775331465 .unused,
2775431466 },
27755 .dst_temps = .{.{ .rc = .general_purpose }},
31467 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2775631468 .clobbers = .{ .eflags = true },
2775731469 .each = .{ .once = &.{
2775831470 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -27770,7 +31482,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2777031482 } },
2777131483 }, .{
2777231484 .src_constraints = .{ .{ .scalar_int_is = .word }, .{ .scalar_int_is = .word }, .any },
27773 .dst_constraints = .{.{ .bool_vec = .dword }},
31485 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
2777431486 .patterns = &.{
2777531487 .{ .src = .{ .to_mem, .to_mem, .none } },
2777631488 },
......@@ -27785,7 +31497,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2778531497 .unused,
2778631498 .unused,
2778731499 },
27788 .dst_temps = .{.{ .rc = .general_purpose }},
31500 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2778931501 .clobbers = .{ .eflags = true },
2779031502 .each = .{ .once = &.{
2779131503 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -27803,7 +31515,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2780331515 } },
2780431516 }, .{
2780531517 .src_constraints = .{ .{ .scalar_int_is = .dword }, .{ .scalar_int_is = .dword }, .any },
27806 .dst_constraints = .{.{ .bool_vec = .dword }},
31518 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
2780731519 .patterns = &.{
2780831520 .{ .src = .{ .to_mem, .to_mem, .none } },
2780931521 },
......@@ -27818,7 +31530,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2781831530 .unused,
2781931531 .unused,
2782031532 },
27821 .dst_temps = .{.{ .rc = .general_purpose }},
31533 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2782231534 .clobbers = .{ .eflags = true },
2782331535 .each = .{ .once = &.{
2782431536 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -27837,7 +31549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2783731549 }, .{
2783831550 .required_features = .{ .@"64bit", null, null, null },
2783931551 .src_constraints = .{ .{ .scalar_int_is = .qword }, .{ .scalar_int_is = .qword }, .any },
27840 .dst_constraints = .{.{ .bool_vec = .dword }},
31552 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
2784131553 .patterns = &.{
2784231554 .{ .src = .{ .to_mem, .to_mem, .none } },
2784331555 },
......@@ -27852,7 +31564,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2785231564 .unused,
2785331565 .unused,
2785431566 },
27855 .dst_temps = .{.{ .rc = .general_purpose }},
31567 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2785631568 .clobbers = .{ .eflags = true },
2785731569 .each = .{ .once = &.{
2785831570 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -27870,7 +31582,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2787031582 } },
2787131583 }, .{
2787231584 .src_constraints = .{ .any_scalar_int, .any_scalar_int, .any },
27873 .dst_constraints = .{.{ .bool_vec = .dword }},
31585 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
2787431586 .patterns = &.{
2787531587 .{ .src = .{ .to_mem, .to_mem, .none } },
2787631588 },
......@@ -27885,7 +31597,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2788531597 .unused,
2788631598 .unused,
2788731599 },
27888 .dst_temps = .{.{ .rc = .general_purpose }},
31600 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2788931601 .clobbers = .{ .eflags = true },
2789031602 .each = .{ .once = &.{
2789131603 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -27911,7 +31623,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2791131623 }, .{
2791231624 .required_features = .{ .@"64bit", null, null, null },
2791331625 .src_constraints = .{ .{ .scalar_int_is = .byte }, .{ .scalar_int_is = .byte }, .any },
27914 .dst_constraints = .{.{ .bool_vec = .qword }},
31626 .dst_constraints = .{ .{ .bool_vec = .qword }, .any },
2791531627 .patterns = &.{
2791631628 .{ .src = .{ .to_mem, .to_mem, .none } },
2791731629 },
......@@ -27926,7 +31638,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2792631638 .unused,
2792731639 .unused,
2792831640 },
27929 .dst_temps = .{.{ .rc = .general_purpose }},
31641 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2793031642 .clobbers = .{ .eflags = true },
2793131643 .each = .{ .once = &.{
2793231644 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -27945,7 +31657,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2794531657 }, .{
2794631658 .required_features = .{ .@"64bit", null, null, null },
2794731659 .src_constraints = .{ .{ .scalar_int_is = .word }, .{ .scalar_int_is = .word }, .any },
27948 .dst_constraints = .{.{ .bool_vec = .qword }},
31660 .dst_constraints = .{ .{ .bool_vec = .qword }, .any },
2794931661 .patterns = &.{
2795031662 .{ .src = .{ .to_mem, .to_mem, .none } },
2795131663 },
......@@ -27960,7 +31672,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2796031672 .unused,
2796131673 .unused,
2796231674 },
27963 .dst_temps = .{.{ .rc = .general_purpose }},
31675 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2796431676 .clobbers = .{ .eflags = true },
2796531677 .each = .{ .once = &.{
2796631678 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -27978,7 +31690,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2797831690 }, .{
2797931691 .required_features = .{ .@"64bit", null, null, null },
2798031692 .src_constraints = .{ .{ .scalar_int_is = .dword }, .{ .scalar_int_is = .dword }, .any },
27981 .dst_constraints = .{.{ .bool_vec = .qword }},
31693 .dst_constraints = .{ .{ .bool_vec = .qword }, .any },
2798231694 .patterns = &.{
2798331695 .{ .src = .{ .to_mem, .to_mem, .none } },
2798431696 },
......@@ -27993,7 +31705,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2799331705 .unused,
2799431706 .unused,
2799531707 },
27996 .dst_temps = .{.{ .rc = .general_purpose }},
31708 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2799731709 .clobbers = .{ .eflags = true },
2799831710 .each = .{ .once = &.{
2799931711 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -28012,7 +31724,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2801231724 }, .{
2801331725 .required_features = .{ .@"64bit", null, null, null },
2801431726 .src_constraints = .{ .{ .scalar_int_is = .qword }, .{ .scalar_int_is = .qword }, .any },
28015 .dst_constraints = .{.{ .bool_vec = .qword }},
31727 .dst_constraints = .{ .{ .bool_vec = .qword }, .any },
2801631728 .patterns = &.{
2801731729 .{ .src = .{ .to_mem, .to_mem, .none } },
2801831730 },
......@@ -28027,7 +31739,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2802731739 .unused,
2802831740 .unused,
2802931741 },
28030 .dst_temps = .{.{ .rc = .general_purpose }},
31742 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2803131743 .clobbers = .{ .eflags = true },
2803231744 .each = .{ .once = &.{
2803331745 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -28046,7 +31758,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2804631758 }, .{
2804731759 .required_features = .{ .@"64bit", null, null, null },
2804831760 .src_constraints = .{ .any_scalar_int, .any_scalar_int, .any },
28049 .dst_constraints = .{.{ .bool_vec = .qword }},
31761 .dst_constraints = .{ .{ .bool_vec = .qword }, .any },
2805031762 .patterns = &.{
2805131763 .{ .src = .{ .to_mem, .to_mem, .none } },
2805231764 },
......@@ -28061,7 +31773,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2806131773 .unused,
2806231774 .unused,
2806331775 },
28064 .dst_temps = .{.{ .rc = .general_purpose }},
31776 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2806531777 .clobbers = .{ .eflags = true },
2806631778 .each = .{ .once = &.{
2806731779 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -28100,7 +31812,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2810031812 .unused,
2810131813 .unused,
2810231814 },
28103 .dst_temps = .{.mem},
31815 .dst_temps = .{ .mem, .unused },
2810431816 .clobbers = .{ .eflags = true },
2810531817 .each = .{ .once = &.{
2810631818 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -28142,7 +31854,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2814231854 .unused,
2814331855 .unused,
2814431856 },
28145 .dst_temps = .{.mem},
31857 .dst_temps = .{ .mem, .unused },
2814631858 .clobbers = .{ .eflags = true },
2814731859 .each = .{ .once = &.{
2814831860 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -28184,7 +31896,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2818431896 .unused,
2818531897 .unused,
2818631898 },
28187 .dst_temps = .{.mem},
31899 .dst_temps = .{ .mem, .unused },
2818831900 .clobbers = .{ .eflags = true },
2818931901 .each = .{ .once = &.{
2819031902 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -28227,7 +31939,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2822731939 .unused,
2822831940 .unused,
2822931941 },
28230 .dst_temps = .{.mem},
31942 .dst_temps = .{ .mem, .unused },
2823131943 .clobbers = .{ .eflags = true },
2823231944 .each = .{ .once = &.{
2823331945 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -28274,11 +31986,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2827431986 .unused,
2827531987 .unused,
2827631988 },
28277 .dst_temps = .{.{ .mut_rc_mask = .{
31989 .dst_temps = .{ .{ .mut_rc_mask = .{
2827831990 .ref = .src0,
2827931991 .rc = .sse,
2828031992 .info = .{ .kind = .all, .scalar = .dword },
28281 } }},
31993 } }, .unused },
2828231994 .each = .{ .once = &.{
2828331995 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
2828431996 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
......@@ -28312,11 +32024,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2831232024 .unused,
2831332025 .unused,
2831432026 },
28315 .dst_temps = .{.{ .mut_rc_mask = .{
32027 .dst_temps = .{ .{ .mut_rc_mask = .{
2831632028 .ref = .src0,
2831732029 .rc = .sse,
2831832030 .info = .{ .kind = .all, .scalar = .dword },
28319 } }},
32031 } }, .unused },
2832032032 .each = .{ .once = &.{
2832132033 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
2832232034 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
......@@ -28350,11 +32062,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2835032062 .unused,
2835132063 .unused,
2835232064 },
28353 .dst_temps = .{.{ .mut_rc_mask = .{
32065 .dst_temps = .{ .{ .mut_rc_mask = .{
2835432066 .ref = .src0,
2835532067 .rc = .sse,
2835632068 .info = .{ .kind = .all, .scalar = .dword },
28357 } }},
32069 } }, .unused },
2835832070 .each = .{ .once = &.{
2835932071 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
2836032072 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },
......@@ -28376,11 +32088,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2837632088 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
2837732089 .{ .src = .{ .to_sse, .to_sse, .none } },
2837832090 },
28379 .dst_temps = .{.{ .mut_rc_mask = .{
32091 .dst_temps = .{ .{ .mut_rc_mask = .{
2838032092 .ref = .src0,
2838132093 .rc = .sse,
2838232094 .info = .{ .kind = .all, .scalar = .dword },
28383 } }},
32095 } }, .unused },
2838432096 .each = .{ .once = &.{
2838532097 .{ ._, .v_ss, .cmp, .dst0x, .src0x, .src1d, .vp(switch (cc) {
2838632098 else => unreachable,
......@@ -28400,10 +32112,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2840032112 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
2840132113 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
2840232114 },
28403 .dst_temps = .{.{ .ref_mask = .{
32115 .dst_temps = .{ .{ .ref_mask = .{
2840432116 .ref = .src0,
2840532117 .info = .{ .kind = .all, .scalar = .dword },
28406 } }},
32118 } }, .unused },
2840732119 .each = .{ .once = &.{
2840832120 .{ ._, ._ss, .cmp, .dst0x, .src1d, .sp(switch (cc) {
2840932121 else => unreachable,
......@@ -28423,11 +32135,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2842332135 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
2842432136 .{ .src = .{ .to_sse, .to_sse, .none } },
2842532137 },
28426 .dst_temps = .{.{ .mut_rc_mask = .{
32138 .dst_temps = .{ .{ .mut_rc_mask = .{
2842732139 .ref = .src0,
2842832140 .rc = .sse,
2842932141 .info = .{ .kind = .all, .scalar = .dword },
28430 } }},
32142 } }, .unused },
2843132143 .each = .{ .once = &.{
2843232144 .{ ._, .v_ps, .cmp, .dst0x, .src0x, .src1x, .vp(switch (cc) {
2843332145 else => unreachable,
......@@ -28447,10 +32159,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2844732159 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
2844832160 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
2844932161 },
28450 .dst_temps = .{.{ .ref_mask = .{
32162 .dst_temps = .{ .{ .ref_mask = .{
2845132163 .ref = .src0,
2845232164 .info = .{ .kind = .all, .scalar = .dword },
28453 } }},
32165 } }, .unused },
2845432166 .each = .{ .once = &.{
2845532167 .{ ._, ._ps, .cmp, .dst0x, .src1x, .sp(switch (cc) {
2845632168 else => unreachable,
......@@ -28470,11 +32182,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2847032182 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
2847132183 .{ .src = .{ .to_sse, .to_sse, .none } },
2847232184 },
28473 .dst_temps = .{.{ .mut_rc_mask = .{
32185 .dst_temps = .{ .{ .mut_rc_mask = .{
2847432186 .ref = .src0,
2847532187 .rc = .sse,
2847632188 .info = .{ .kind = .all, .scalar = .dword },
28477 } }},
32189 } }, .unused },
2847832190 .each = .{ .once = &.{
2847932191 .{ ._, .v_ps, .cmp, .dst0y, .src0y, .src1y, .vp(switch (cc) {
2848032192 else => unreachable,
......@@ -28494,11 +32206,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2849432206 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
2849532207 .{ .src = .{ .to_sse, .to_sse, .none } },
2849632208 },
28497 .dst_temps = .{.{ .mut_rc_mask = .{
32209 .dst_temps = .{ .{ .mut_rc_mask = .{
2849832210 .ref = .src0,
2849932211 .rc = .sse,
2850032212 .info = .{ .kind = .all, .scalar = .qword },
28501 } }},
32213 } }, .unused },
2850232214 .each = .{ .once = &.{
2850332215 .{ ._, .v_sd, .cmp, .dst0x, .src0x, .src1q, .vp(switch (cc) {
2850432216 else => unreachable,
......@@ -28518,10 +32230,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2851832230 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
2851932231 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
2852032232 },
28521 .dst_temps = .{.{ .ref_mask = .{
32233 .dst_temps = .{ .{ .ref_mask = .{
2852232234 .ref = .src0,
2852332235 .info = .{ .kind = .all, .scalar = .qword },
28524 } }},
32236 } }, .unused },
2852532237 .each = .{ .once = &.{
2852632238 .{ ._, ._sd, .cmp, .dst0x, .src1q, .sp(switch (cc) {
2852732239 else => unreachable,
......@@ -28541,11 +32253,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2854132253 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
2854232254 .{ .src = .{ .to_sse, .to_sse, .none } },
2854332255 },
28544 .dst_temps = .{.{ .mut_rc_mask = .{
32256 .dst_temps = .{ .{ .mut_rc_mask = .{
2854532257 .ref = .src0,
2854632258 .rc = .sse,
2854732259 .info = .{ .kind = .all, .scalar = .qword },
28548 } }},
32260 } }, .unused },
2854932261 .each = .{ .once = &.{
2855032262 .{ ._, .v_pd, .cmp, .dst0x, .src0x, .src1x, .vp(switch (cc) {
2855132263 else => unreachable,
......@@ -28565,10 +32277,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2856532277 .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } },
2856632278 .{ .src = .{ .to_mut_sse, .to_sse, .none } },
2856732279 },
28568 .dst_temps = .{.{ .ref_mask = .{
32280 .dst_temps = .{ .{ .ref_mask = .{
2856932281 .ref = .src0,
2857032282 .info = .{ .kind = .all, .scalar = .qword },
28571 } }},
32283 } }, .unused },
2857232284 .each = .{ .once = &.{
2857332285 .{ ._, ._pd, .cmp, .dst0x, .src1x, .sp(switch (cc) {
2857432286 else => unreachable,
......@@ -28588,11 +32300,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2858832300 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
2858932301 .{ .src = .{ .to_sse, .to_sse, .none } },
2859032302 },
28591 .dst_temps = .{.{ .mut_rc_mask = .{
32303 .dst_temps = .{ .{ .mut_rc_mask = .{
2859232304 .ref = .src0,
2859332305 .rc = .sse,
2859432306 .info = .{ .kind = .all, .scalar = .qword },
28595 } }},
32307 } }, .unused },
2859632308 .each = .{ .once = &.{
2859732309 .{ ._, .v_pd, .cmp, .dst0y, .src0y, .src1y, .vp(switch (cc) {
2859832310 else => unreachable,
......@@ -28621,7 +32333,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2862132333 .unused,
2862232334 .unused,
2862332335 },
28624 .dst_temps = .{.mem},
32336 .dst_temps = .{ .mem, .unused },
2862532337 .clobbers = .{ .eflags = true },
2862632338 .each = .{ .once = &.{
2862732339 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -28660,7 +32372,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2866032372 .unused,
2866132373 .unused,
2866232374 },
28663 .dst_temps = .{.mem},
32375 .dst_temps = .{ .mem, .unused },
2866432376 .clobbers = .{ .eflags = true },
2866532377 .each = .{ .once = &.{
2866632378 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -28685,7 +32397,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2868532397 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
2868632398 .any,
2868732399 },
28688 .dst_constraints = .{.{ .bool_vec = .dword }},
32400 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
2868932401 .patterns = &.{
2869032402 .{ .src = .{ .to_mem, .to_mem, .none } },
2869132403 },
......@@ -28701,7 +32413,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2870132413 .unused,
2870232414 .unused,
2870332415 },
28704 .dst_temps = .{.{ .rc = .general_purpose }},
32416 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2870532417 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2870632418 .each = .{ .once = &.{
2870732419 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -28727,7 +32439,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2872732439 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
2872832440 .any,
2872932441 },
28730 .dst_constraints = .{.{ .bool_vec = .dword }},
32442 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
2873132443 .patterns = &.{
2873232444 .{ .src = .{ .to_mem, .to_mem, .none } },
2873332445 },
......@@ -28743,7 +32455,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2874332455 .unused,
2874432456 .unused,
2874532457 },
28746 .dst_temps = .{.{ .rc = .general_purpose }},
32458 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2874732459 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2874832460 .each = .{ .once = &.{
2874932461 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -28769,7 +32481,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2876932481 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
2877032482 .any,
2877132483 },
28772 .dst_constraints = .{.{ .bool_vec = .dword }},
32484 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
2877332485 .patterns = &.{
2877432486 .{ .src = .{ .to_mem, .to_mem, .none } },
2877532487 },
......@@ -28785,7 +32497,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2878532497 .unused,
2878632498 .unused,
2878732499 },
28788 .dst_temps = .{.{ .rc = .general_purpose }},
32500 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2878932501 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2879032502 .each = .{ .once = &.{
2879132503 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -28812,7 +32524,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2881232524 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
2881332525 .any,
2881432526 },
28815 .dst_constraints = .{.{ .bool_vec = .dword }},
32527 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
2881632528 .patterns = &.{
2881732529 .{ .src = .{ .to_mem, .to_mem, .none } },
2881832530 },
......@@ -28828,7 +32540,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2882832540 .unused,
2882932541 .unused,
2883032542 },
28831 .dst_temps = .{.{ .rc = .general_purpose }},
32543 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2883232544 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2883332545 .each = .{ .once = &.{
2883432546 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -28855,7 +32567,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2885532567 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
2885632568 .any,
2885732569 },
28858 .dst_constraints = .{.{ .bool_vec = .dword }},
32570 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
2885932571 .patterns = &.{
2886032572 .{ .src = .{ .to_mem, .to_mem, .none } },
2886132573 },
......@@ -28871,7 +32583,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2887132583 .{ .type = .f32, .kind = .mem },
2887232584 .unused,
2887332585 },
28874 .dst_temps = .{.{ .rc = .general_purpose }},
32586 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2887532587 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2887632588 .each = .{ .once = &.{
2887732589 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -28900,7 +32612,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2890032612 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
2890132613 .any,
2890232614 },
28903 .dst_constraints = .{.{ .bool_vec = .dword }},
32615 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
2890432616 .patterns = &.{
2890532617 .{ .src = .{ .to_mem, .to_mem, .none } },
2890632618 },
......@@ -28916,7 +32628,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2891632628 .{ .type = .f32, .kind = .mem },
2891732629 .unused,
2891832630 },
28919 .dst_temps = .{.{ .rc = .general_purpose }},
32631 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
2892032632 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2892132633 .each = .{ .once = &.{
2892232634 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -28960,7 +32672,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2896032672 .{ .type = .u64, .kind = .{ .reg = .rdx } },
2896132673 .unused,
2896232674 },
28963 .dst_temps = .{.mem},
32675 .dst_temps = .{ .mem, .unused },
2896432676 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2896532677 .each = .{ .once = &.{
2896632678 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
......@@ -29011,7 +32723,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2901132723 .{ .type = .u64, .kind = .{ .reg = .rdx } },
2901232724 .unused,
2901332725 },
29014 .dst_temps = .{.mem},
32726 .dst_temps = .{ .mem, .unused },
2901532727 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2901632728 .each = .{ .once = &.{
2901732729 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
......@@ -29062,7 +32774,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2906232774 .{ .type = .u64, .kind = .{ .reg = .rdx } },
2906332775 .unused,
2906432776 },
29065 .dst_temps = .{.mem},
32777 .dst_temps = .{ .mem, .unused },
2906632778 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2906732779 .each = .{ .once = &.{
2906832780 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
......@@ -29114,7 +32826,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2911432826 .{ .type = .u64, .kind = .{ .reg = .rdx } },
2911532827 .unused,
2911632828 },
29117 .dst_temps = .{.mem},
32829 .dst_temps = .{ .mem, .unused },
2911832830 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2911932831 .each = .{ .once = &.{
2912032832 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
......@@ -29166,7 +32878,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2916632878 .{ .type = .u64, .kind = .{ .reg = .rdx } },
2916732879 .{ .type = .f32, .kind = .mem },
2916832880 },
29169 .dst_temps = .{.mem},
32881 .dst_temps = .{ .mem, .unused },
2917032882 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2917132883 .each = .{ .once = &.{
2917232884 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
......@@ -29220,7 +32932,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2922032932 .{ .type = .u64, .kind = .{ .reg = .rdx } },
2922132933 .{ .type = .f32, .kind = .mem },
2922232934 },
29223 .dst_temps = .{.mem},
32935 .dst_temps = .{ .mem, .unused },
2922432936 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
2922532937 .each = .{ .once = &.{
2922632938 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
......@@ -29273,7 +32985,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2927332985 .unused,
2927432986 .unused,
2927532987 },
29276 .dst_temps = .{.mem},
32988 .dst_temps = .{ .mem, .unused },
2927732989 .clobbers = .{ .eflags = true },
2927832990 .each = .{ .once = &.{
2927932991 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -29311,7 +33023,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2931133023 .unused,
2931233024 .unused,
2931333025 },
29314 .dst_temps = .{.mem},
33026 .dst_temps = .{ .mem, .unused },
2931533027 .clobbers = .{ .eflags = true },
2931633028 .each = .{ .once = &.{
2931733029 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -29349,7 +33061,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2934933061 .unused,
2935033062 .unused,
2935133063 },
29352 .dst_temps = .{.mem},
33064 .dst_temps = .{ .mem, .unused },
2935333065 .clobbers = .{ .eflags = true },
2935433066 .each = .{ .once = &.{
2935533067 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -29395,7 +33107,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2939533107 .unused,
2939633108 .unused,
2939733109 },
29398 .dst_temps = .{.mem},
33110 .dst_temps = .{ .mem, .unused },
2939933111 .clobbers = .{ .eflags = true },
2940033112 .each = .{ .once = &.{
2940133113 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -29442,7 +33154,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2944233154 .unused,
2944333155 .unused,
2944433156 },
29445 .dst_temps = .{.mem},
33157 .dst_temps = .{ .mem, .unused },
2944633158 .clobbers = .{ .eflags = true },
2944733159 .each = .{ .once = &.{
2944833160 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -29491,7 +33203,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2949133203 .unused,
2949233204 .unused,
2949333205 },
29494 .dst_temps = .{.mem},
33206 .dst_temps = .{ .mem, .unused },
2949533207 .clobbers = .{ .eflags = true },
2949633208 .each = .{ .once = &.{
2949733209 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -29538,7 +33250,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2953833250 .unused,
2953933251 .unused,
2954033252 },
29541 .dst_temps = .{.mem},
33253 .dst_temps = .{ .mem, .unused },
2954233254 .clobbers = .{ .eflags = true },
2954333255 .each = .{ .once = &.{
2954433256 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -29585,7 +33297,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2958533297 .unused,
2958633298 .unused,
2958733299 },
29588 .dst_temps = .{.mem},
33300 .dst_temps = .{ .mem, .unused },
2958933301 .clobbers = .{ .eflags = true },
2959033302 .each = .{ .once = &.{
2959133303 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -29635,7 +33347,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2963533347 .unused,
2963633348 .unused,
2963733349 },
29638 .dst_temps = .{.mem},
33350 .dst_temps = .{ .mem, .unused },
2963933351 .clobbers = .{ .eflags = true },
2964033352 .each = .{ .once = &.{
2964133353 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -29685,7 +33397,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2968533397 .unused,
2968633398 .unused,
2968733399 },
29688 .dst_temps = .{.mem},
33400 .dst_temps = .{ .mem, .unused },
2968933401 .clobbers = .{ .eflags = true },
2969033402 .each = .{ .once = &.{
2969133403 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -29745,7 +33457,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2974533457 .unused,
2974633458 .unused,
2974733459 },
29748 .dst_temps = .{.mem},
33460 .dst_temps = .{ .mem, .unused },
2974933461 .clobbers = .{ .eflags = true },
2975033462 .each = .{ .once = &.{
2975133463 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -29805,7 +33517,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2980533517 .unused,
2980633518 .unused,
2980733519 },
29808 .dst_temps = .{.mem},
33520 .dst_temps = .{ .mem, .unused },
2980933521 .clobbers = .{ .eflags = true },
2981033522 .each = .{ .once = &.{
2981133523 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -29856,7 +33568,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2985633568 .unused,
2985733569 .unused,
2985833570 },
29859 .dst_temps = .{.mem},
33571 .dst_temps = .{ .mem, .unused },
2986033572 .clobbers = .{ .eflags = true },
2986133573 .each = .{ .once = &.{
2986233574 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -29916,7 +33628,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2991633628 .unused,
2991733629 .unused,
2991833630 },
29919 .dst_temps = .{.mem},
33631 .dst_temps = .{ .mem, .unused },
2992033632 .clobbers = .{ .eflags = true },
2992133633 .each = .{ .once = &.{
2992233634 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -29976,7 +33688,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2997633688 .unused,
2997733689 .unused,
2997833690 },
29979 .dst_temps = .{.mem},
33691 .dst_temps = .{ .mem, .unused },
2998033692 .clobbers = .{ .eflags = true },
2998133693 .each = .{ .once = &.{
2998233694 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -30013,7 +33725,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3001333725 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
3001433726 .any,
3001533727 },
30016 .dst_constraints = .{.{ .bool_vec = .dword }},
33728 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
3001733729 .patterns = &.{
3001833730 .{ .src = .{ .to_mem, .to_mem, .none } },
3001933731 },
......@@ -30029,7 +33741,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3002933741 .{ .type = .u32, .kind = .{ .reg = .edx } },
3003033742 .unused,
3003133743 },
30032 .dst_temps = .{.{ .rc = .general_purpose }},
33744 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
3003333745 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3003433746 .each = .{ .once = &.{
3003533747 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -30055,7 +33767,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3005533767 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
3005633768 .any,
3005733769 },
30058 .dst_constraints = .{.{ .bool_vec = .dword }},
33770 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
3005933771 .patterns = &.{
3006033772 .{ .src = .{ .to_mem, .to_mem, .none } },
3006133773 },
......@@ -30071,7 +33783,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3007133783 .{ .type = .u32, .kind = .{ .reg = .edx } },
3007233784 .unused,
3007333785 },
30074 .dst_temps = .{.{ .rc = .general_purpose }},
33786 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
3007533787 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3007633788 .each = .{ .once = &.{
3007733789 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -30097,7 +33809,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3009733809 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
3009833810 .any,
3009933811 },
30100 .dst_constraints = .{.{ .bool_vec = .dword }},
33812 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
3010133813 .patterns = &.{
3010233814 .{ .src = .{ .to_mem, .to_mem, .none } },
3010333815 },
......@@ -30113,7 +33825,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3011333825 .{ .type = .u32, .kind = .{ .reg = .edx } },
3011433826 .unused,
3011533827 },
30116 .dst_temps = .{.{ .rc = .general_purpose }},
33828 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
3011733829 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3011833830 .each = .{ .once = &.{
3011933831 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -30139,7 +33851,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3013933851 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
3014033852 .any,
3014133853 },
30142 .dst_constraints = .{.{ .bool_vec = .dword }},
33854 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
3014333855 .patterns = &.{
3014433856 .{ .src = .{ .to_mem, .to_mem, .none } },
3014533857 },
......@@ -30155,7 +33867,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3015533867 .{ .type = .u32, .kind = .{ .reg = .edx } },
3015633868 .unused,
3015733869 },
30158 .dst_temps = .{.{ .rc = .general_purpose }},
33870 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
3015933871 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3016033872 .each = .{ .once = &.{
3016133873 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -30181,7 +33893,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3018133893 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
3018233894 .any,
3018333895 },
30184 .dst_constraints = .{.{ .bool_vec = .dword }},
33896 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
3018533897 .patterns = &.{
3018633898 .{ .src = .{ .to_mem, .to_mem, .none } },
3018733899 },
......@@ -30197,7 +33909,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3019733909 .{ .type = .u32, .kind = .{ .reg = .edx } },
3019833910 .unused,
3019933911 },
30200 .dst_temps = .{.{ .rc = .general_purpose }},
33912 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
3020133913 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3020233914 .each = .{ .once = &.{
3020333915 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -30223,7 +33935,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3022333935 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
3022433936 .any,
3022533937 },
30226 .dst_constraints = .{.{ .bool_vec = .dword }},
33938 .dst_constraints = .{ .{ .bool_vec = .dword }, .any },
3022733939 .patterns = &.{
3022833940 .{ .src = .{ .to_mem, .to_mem, .none } },
3022933941 },
......@@ -30239,7 +33951,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3023933951 .{ .type = .u32, .kind = .{ .reg = .edx } },
3024033952 .unused,
3024133953 },
30242 .dst_temps = .{.{ .rc = .general_purpose }},
33954 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
3024333955 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3024433956 .each = .{ .once = &.{
3024533957 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -30280,7 +33992,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3028033992 .{ .type = .u8, .kind = .{ .reg = .cl } },
3028133993 .{ .type = .u64, .kind = .{ .reg = .rdx } },
3028233994 },
30283 .dst_temps = .{.mem},
33995 .dst_temps = .{ .mem, .unused },
3028433996 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3028533997 .each = .{ .once = &.{
3028633998 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -30331,7 +34043,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3033134043 .{ .type = .u8, .kind = .{ .reg = .cl } },
3033234044 .{ .type = .u64, .kind = .{ .reg = .rdx } },
3033334045 },
30334 .dst_temps = .{.mem},
34046 .dst_temps = .{ .mem, .unused },
3033534047 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3033634048 .each = .{ .once = &.{
3033734049 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -30382,7 +34094,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3038234094 .{ .type = .u8, .kind = .{ .reg = .cl } },
3038334095 .{ .type = .u64, .kind = .{ .reg = .rdx } },
3038434096 },
30385 .dst_temps = .{.mem},
34097 .dst_temps = .{ .mem, .unused },
3038634098 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3038734099 .each = .{ .once = &.{
3038834100 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -30433,7 +34145,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3043334145 .{ .type = .u8, .kind = .{ .reg = .cl } },
3043434146 .{ .type = .u64, .kind = .{ .reg = .rdx } },
3043534147 },
30436 .dst_temps = .{.mem},
34148 .dst_temps = .{ .mem, .unused },
3043734149 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3043834150 .each = .{ .once = &.{
3043934151 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -30484,7 +34196,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3048434196 .{ .type = .u8, .kind = .{ .reg = .cl } },
3048534197 .{ .type = .u64, .kind = .{ .reg = .rdx } },
3048634198 },
30487 .dst_temps = .{.mem},
34199 .dst_temps = .{ .mem, .unused },
3048834200 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3048934201 .each = .{ .once = &.{
3049034202 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -30535,7 +34247,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3053534247 .{ .type = .u8, .kind = .{ .reg = .cl } },
3053634248 .{ .type = .u64, .kind = .{ .reg = .rdx } },
3053734249 },
30538 .dst_temps = .{.mem},
34250 .dst_temps = .{ .mem, .unused },
3053934251 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3054034252 .each = .{ .once = &.{
3054134253 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -30589,7 +34301,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3058934301 .patterns = &.{
3059034302 .{ .src = .{ .to_sse, .none, .none } },
3059134303 },
30592 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
34304 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3059334305 .each = .{ .once = &.{
3059434306 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
3059534307 .{ ._, .v_ss, .sqrt, .dst0x, .dst0x, .dst0d, ._ },
......@@ -30613,7 +34325,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3061334325 .unused,
3061434326 .unused,
3061534327 },
30616 .dst_temps = .{.{ .ref = .src0 }},
34328 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3061734329 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3061834330 .each = .{ .once = &.{
3061934331 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -30625,7 +34337,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3062534337 .{ .src = .{ .mem, .none, .none } },
3062634338 .{ .src = .{ .to_sse, .none, .none } },
3062734339 },
30628 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
34340 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3062934341 .each = .{ .once = &.{
3063034342 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
3063134343 .{ ._, .v_ps, .sqrt, .dst0x, .dst0x, ._, ._ },
......@@ -30638,7 +34350,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3063834350 .{ .src = .{ .mem, .none, .none } },
3063934351 .{ .src = .{ .to_sse, .none, .none } },
3064034352 },
30641 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
34353 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3064234354 .each = .{ .once = &.{
3064334355 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
3064434356 .{ ._, .v_ps, .sqrt, .dst0y, .dst0y, ._, ._ },
......@@ -30661,7 +34373,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3066134373 .unused,
3066234374 .unused,
3066334375 },
30664 .dst_temps = .{.mem},
34376 .dst_temps = .{ .mem, .unused },
3066534377 .clobbers = .{ .eflags = true },
3066634378 .each = .{ .once = &.{
3066734379 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -30689,7 +34401,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3068934401 .unused,
3069034402 .unused,
3069134403 },
30692 .dst_temps = .{.mem},
34404 .dst_temps = .{ .mem, .unused },
3069334405 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3069434406 .each = .{ .once = &.{
3069534407 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -30718,7 +34430,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3071834430 .unused,
3071934431 .unused,
3072034432 },
30721 .dst_temps = .{.mem},
34433 .dst_temps = .{ .mem, .unused },
3072234434 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3072334435 .each = .{ .once = &.{
3072434436 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -30747,7 +34459,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3074734459 .unused,
3074834460 .unused,
3074934461 },
30750 .dst_temps = .{.mem},
34462 .dst_temps = .{ .mem, .unused },
3075134463 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3075234464 .each = .{ .once = &.{
3075334465 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -30777,7 +34489,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3077734489 .unused,
3077834490 .unused,
3077934491 },
30780 .dst_temps = .{.mem},
34492 .dst_temps = .{ .mem, .unused },
3078134493 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3078234494 .each = .{ .once = &.{
3078334495 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -30797,7 +34509,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3079734509 .patterns = &.{
3079834510 .{ .src = .{ .mem, .none, .none } },
3079934511 },
30800 .dst_temps = .{.{ .rc = .sse }},
34512 .dst_temps = .{ .{ .rc = .sse }, .unused },
3080134513 .each = .{ .once = &.{
3080234514 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
3080334515 .{ ._, .v_ss, .sqrt, .dst0x, .dst0x, .src0d, ._ },
......@@ -30808,7 +34520,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3080834520 .patterns = &.{
3080934521 .{ .src = .{ .to_sse, .none, .none } },
3081034522 },
30811 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
34523 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3081234524 .each = .{ .once = &.{
3081334525 .{ ._, .v_ss, .sqrt, .dst0x, .src0x, .src0d, ._ },
3081434526 } },
......@@ -30818,7 +34530,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3081834530 .patterns = &.{
3081934531 .{ .src = .{ .mem, .none, .none } },
3082034532 },
30821 .dst_temps = .{.{ .rc = .sse }},
34533 .dst_temps = .{ .{ .rc = .sse }, .unused },
3082234534 .each = .{ .once = &.{
3082334535 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },
3082434536 .{ ._, ._ss, .sqrt, .dst0x, .src0d, ._, ._ },
......@@ -30829,7 +34541,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3082934541 .patterns = &.{
3083034542 .{ .src = .{ .to_mut_sse, .none, .none } },
3083134543 },
30832 .dst_temps = .{.{ .ref = .src0 }},
34544 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3083334545 .each = .{ .once = &.{
3083434546 .{ ._, ._ss, .sqrt, .dst0x, .src0d, ._, ._ },
3083534547 } },
......@@ -30851,7 +34563,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3085134563 .unused,
3085234564 .unused,
3085334565 },
30854 .dst_temps = .{.{ .ref = .src0 }},
34566 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3085534567 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3085634568 .each = .{ .once = &.{
3085734569 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -30863,7 +34575,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3086334575 .{ .src = .{ .mem, .none, .none } },
3086434576 .{ .src = .{ .to_sse, .none, .none } },
3086534577 },
30866 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
34578 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3086734579 .each = .{ .once = &.{
3086834580 .{ ._, .v_ps, .sqrt, .dst0x, .src0x, ._, ._ },
3086934581 } },
......@@ -30874,7 +34586,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3087434586 .{ .src = .{ .mem, .none, .none } },
3087534587 .{ .src = .{ .to_sse, .none, .none } },
3087634588 },
30877 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
34589 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3087834590 .each = .{ .once = &.{
3087934591 .{ ._, ._ps, .sqrt, .dst0x, .src0x, ._, ._ },
3088034592 } },
......@@ -30885,7 +34597,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3088534597 .{ .src = .{ .mem, .none, .none } },
3088634598 .{ .src = .{ .to_sse, .none, .none } },
3088734599 },
30888 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
34600 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3088934601 .each = .{ .once = &.{
3089034602 .{ ._, .v_ps, .sqrt, .dst0y, .src0y, ._, ._ },
3089134603 } },
......@@ -30906,7 +34618,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3090634618 .unused,
3090734619 .unused,
3090834620 },
30909 .dst_temps = .{.mem},
34621 .dst_temps = .{ .mem, .unused },
3091034622 .clobbers = .{ .eflags = true },
3091134623 .each = .{ .once = &.{
3091234624 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -30932,7 +34644,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3093234644 .unused,
3093334645 .unused,
3093434646 },
30935 .dst_temps = .{.mem},
34647 .dst_temps = .{ .mem, .unused },
3093634648 .clobbers = .{ .eflags = true },
3093734649 .each = .{ .once = &.{
3093834650 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -30959,7 +34671,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3095934671 .unused,
3096034672 .unused,
3096134673 },
30962 .dst_temps = .{.mem},
34674 .dst_temps = .{ .mem, .unused },
3096334675 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3096434676 .each = .{ .once = &.{
3096534677 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -30987,7 +34699,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3098734699 .unused,
3098834700 .unused,
3098934701 },
30990 .dst_temps = .{.mem},
34702 .dst_temps = .{ .mem, .unused },
3099134703 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3099234704 .each = .{ .once = &.{
3099334705 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -31003,7 +34715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3100334715 .patterns = &.{
3100434716 .{ .src = .{ .mem, .none, .none } },
3100534717 },
31006 .dst_temps = .{.{ .rc = .sse }},
34718 .dst_temps = .{ .{ .rc = .sse }, .unused },
3100734719 .each = .{ .once = &.{
3100834720 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },
3100934721 .{ ._, .v_sd, .sqrt, .dst0x, .dst0x, .src0q, ._ },
......@@ -31014,7 +34726,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3101434726 .patterns = &.{
3101534727 .{ .src = .{ .to_sse, .none, .none } },
3101634728 },
31017 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
34729 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3101834730 .each = .{ .once = &.{
3101934731 .{ ._, .v_sd, .sqrt, .dst0x, .src0x, .src0q, ._ },
3102034732 } },
......@@ -31024,7 +34736,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3102434736 .patterns = &.{
3102534737 .{ .src = .{ .mem, .none, .none } },
3102634738 },
31027 .dst_temps = .{.{ .rc = .sse }},
34739 .dst_temps = .{ .{ .rc = .sse }, .unused },
3102834740 .each = .{ .once = &.{
3102934741 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },
3103034742 .{ ._, ._sd, .sqrt, .dst0x, .src0q, ._, ._ },
......@@ -31035,7 +34747,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3103534747 .patterns = &.{
3103634748 .{ .src = .{ .to_mut_sse, .none, .none } },
3103734749 },
31038 .dst_temps = .{.{ .ref = .src0 }},
34750 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3103934751 .each = .{ .once = &.{
3104034752 .{ ._, ._sd, .sqrt, .dst0x, .src0q, ._, ._ },
3104134753 } },
......@@ -31057,7 +34769,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3105734769 .unused,
3105834770 .unused,
3105934771 },
31060 .dst_temps = .{.{ .ref = .src0 }},
34772 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3106134773 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3106234774 .each = .{ .once = &.{
3106334775 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -31069,7 +34781,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3106934781 .{ .src = .{ .mem, .none, .none } },
3107034782 .{ .src = .{ .to_sse, .none, .none } },
3107134783 },
31072 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
34784 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3107334785 .each = .{ .once = &.{
3107434786 .{ ._, .v_pd, .sqrt, .dst0x, .src0x, ._, ._ },
3107534787 } },
......@@ -31080,7 +34792,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3108034792 .{ .src = .{ .mem, .none, .none } },
3108134793 .{ .src = .{ .to_sse, .none, .none } },
3108234794 },
31083 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
34795 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3108434796 .each = .{ .once = &.{
3108534797 .{ ._, ._pd, .sqrt, .dst0x, .src0x, ._, ._ },
3108634798 } },
......@@ -31091,7 +34803,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3109134803 .{ .src = .{ .mem, .none, .none } },
3109234804 .{ .src = .{ .to_sse, .none, .none } },
3109334805 },
31094 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
34806 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3109534807 .each = .{ .once = &.{
3109634808 .{ ._, .v_pd, .sqrt, .dst0y, .src0y, ._, ._ },
3109734809 } },
......@@ -31112,7 +34824,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3111234824 .unused,
3111334825 .unused,
3111434826 },
31115 .dst_temps = .{.mem},
34827 .dst_temps = .{ .mem, .unused },
3111634828 .clobbers = .{ .eflags = true },
3111734829 .each = .{ .once = &.{
3111834830 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -31138,7 +34850,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3113834850 .unused,
3113934851 .unused,
3114034852 },
31141 .dst_temps = .{.mem},
34853 .dst_temps = .{ .mem, .unused },
3114234854 .clobbers = .{ .eflags = true },
3114334855 .each = .{ .once = &.{
3114434856 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -31165,7 +34877,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3116534877 .unused,
3116634878 .unused,
3116734879 },
31168 .dst_temps = .{.mem},
34880 .dst_temps = .{ .mem, .unused },
3116934881 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3117034882 .each = .{ .once = &.{
3117134883 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -31193,7 +34905,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3119334905 .unused,
3119434906 .unused,
3119534907 },
31196 .dst_temps = .{.mem},
34908 .dst_temps = .{ .mem, .unused },
3119734909 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3119834910 .each = .{ .once = &.{
3119934911 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -31221,7 +34933,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3122134933 .unused,
3122234934 .unused,
3122334935 },
31224 .dst_temps = .{.mem},
34936 .dst_temps = .{ .mem, .unused },
3122534937 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3122634938 .each = .{ .once = &.{
3122734939 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -31250,7 +34962,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3125034962 .unused,
3125134963 .unused,
3125234964 },
31253 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .x87 } }},
34965 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .x87 } }, .unused },
3125434966 .each = .{ .once = &.{
3125534967 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
3125634968 .{ ._, .f_, .sqrt, ._, ._, ._, ._ },
......@@ -31273,7 +34985,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3127334985 .unused,
3127434986 .unused,
3127534987 },
31276 .dst_temps = .{.mem},
34988 .dst_temps = .{ .mem, .unused },
3127734989 .clobbers = .{ .eflags = true },
3127834990 .each = .{ .once = &.{
3127934991 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -31301,7 +35013,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3130135013 .unused,
3130235014 .unused,
3130335015 },
31304 .dst_temps = .{.{ .ref = .src0 }},
35016 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3130535017 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3130635018 .each = .{ .once = &.{
3130735019 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -31324,7 +35036,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3132435036 .unused,
3132535037 .unused,
3132635038 },
31327 .dst_temps = .{.mem},
35039 .dst_temps = .{ .mem, .unused },
3132835040 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3132935041 .each = .{ .once = &.{
3133035042 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -31352,7 +35064,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3135235064 .unused,
3135335065 .unused,
3135435066 },
31355 .dst_temps = .{.mem},
35067 .dst_temps = .{ .mem, .unused },
3135635068 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3135735069 .each = .{ .once = &.{
3135835070 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -31380,7 +35092,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3138035092 .unused,
3138135093 .unused,
3138235094 },
31383 .dst_temps = .{.mem},
35095 .dst_temps = .{ .mem, .unused },
3138435096 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3138535097 .each = .{ .once = &.{
3138635098 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -31424,7 +35136,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3142435136 .unused,
3142535137 .unused,
3142635138 },
31427 .dst_temps = .{.{ .ref = .src0 }},
35139 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3142835140 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3142935141 .each = .{ .once = &.{
3143035142 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -31447,7 +35159,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3144735159 .unused,
3144835160 .unused,
3144935161 },
31450 .dst_temps = .{.mem},
35162 .dst_temps = .{ .mem, .unused },
3145135163 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3145235164 .each = .{ .once = &.{
3145335165 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -31476,7 +35188,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3147635188 .unused,
3147735189 .unused,
3147835190 },
31479 .dst_temps = .{.mem},
35191 .dst_temps = .{ .mem, .unused },
3148035192 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3148135193 .each = .{ .once = &.{
3148235194 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -31505,7 +35217,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3150535217 .unused,
3150635218 .unused,
3150735219 },
31508 .dst_temps = .{.mem},
35220 .dst_temps = .{ .mem, .unused },
3150935221 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3151035222 .each = .{ .once = &.{
3151135223 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -31535,7 +35247,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3153535247 .unused,
3153635248 .unused,
3153735249 },
31538 .dst_temps = .{.mem},
35250 .dst_temps = .{ .mem, .unused },
3153935251 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3154035252 .each = .{ .once = &.{
3154135253 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -31567,7 +35279,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3156735279 .unused,
3156835280 .unused,
3156935281 },
31570 .dst_temps = .{.{ .ref = .src0 }},
35282 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3157135283 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3157235284 .each = .{ .once = &.{
3157335285 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -31590,7 +35302,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3159035302 .unused,
3159135303 .unused,
3159235304 },
31593 .dst_temps = .{.mem},
35305 .dst_temps = .{ .mem, .unused },
3159435306 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3159535307 .each = .{ .once = &.{
3159635308 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -31618,7 +35330,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3161835330 .unused,
3161935331 .unused,
3162035332 },
31621 .dst_temps = .{.mem},
35333 .dst_temps = .{ .mem, .unused },
3162235334 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3162335335 .each = .{ .once = &.{
3162435336 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -31646,7 +35358,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3164635358 .unused,
3164735359 .unused,
3164835360 },
31649 .dst_temps = .{.{ .ref = .src0 }},
35361 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3165035362 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3165135363 .each = .{ .once = &.{
3165235364 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -31669,7 +35381,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3166935381 .unused,
3167035382 .unused,
3167135383 },
31672 .dst_temps = .{.mem},
35384 .dst_temps = .{ .mem, .unused },
3167335385 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3167435386 .each = .{ .once = &.{
3167535387 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -31697,7 +35409,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3169735409 .unused,
3169835410 .unused,
3169935411 },
31700 .dst_temps = .{.mem},
35412 .dst_temps = .{ .mem, .unused },
3170135413 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3170235414 .each = .{ .once = &.{
3170335415 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -31725,7 +35437,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3172535437 .unused,
3172635438 .unused,
3172735439 },
31728 .dst_temps = .{.mem},
35440 .dst_temps = .{ .mem, .unused },
3172935441 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3173035442 .each = .{ .once = &.{
3173135443 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -31754,7 +35466,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3175435466 .unused,
3175535467 .unused,
3175635468 },
31757 .dst_temps = .{.{ .reg = .st0 }},
35469 .dst_temps = .{ .{ .reg = .st0 }, .unused },
3175835470 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3175935471 .each = .{ .once = &.{
3176035472 .{ ._, .v_dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ },
......@@ -31779,7 +35491,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3177935491 .unused,
3178035492 .unused,
3178135493 },
31782 .dst_temps = .{.{ .reg = .st0 }},
35494 .dst_temps = .{ .{ .reg = .st0 }, .unused },
3178335495 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3178435496 .each = .{ .once = &.{
3178535497 .{ ._, ._dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ },
......@@ -31804,7 +35516,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3180435516 .unused,
3180535517 .unused,
3180635518 },
31807 .dst_temps = .{.{ .reg = .st0 }},
35519 .dst_temps = .{ .{ .reg = .st0 }, .unused },
3180835520 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3180935521 .each = .{ .once = &.{
3181035522 .{ ._, ._ps, .mova, .tmp0x, .mem(.src0x), ._, ._ },
......@@ -31829,7 +35541,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3182935541 .unused,
3183035542 .unused,
3183135543 },
31832 .dst_temps = .{.mem},
35544 .dst_temps = .{ .mem, .unused },
3183335545 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3183435546 .each = .{ .once = &.{
3183535547 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -31859,7 +35571,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3185935571 .unused,
3186035572 .unused,
3186135573 },
31862 .dst_temps = .{.mem},
35574 .dst_temps = .{ .mem, .unused },
3186335575 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3186435576 .each = .{ .once = &.{
3186535577 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -31889,7 +35601,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3188935601 .unused,
3189035602 .unused,
3189135603 },
31892 .dst_temps = .{.mem},
35604 .dst_temps = .{ .mem, .unused },
3189335605 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3189435606 .each = .{ .once = &.{
3189535607 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -31919,7 +35631,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3191935631 .unused,
3192035632 .unused,
3192135633 },
31922 .dst_temps = .{.{ .ref = .src0 }},
35634 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3192335635 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3192435636 .each = .{ .once = &.{
3192535637 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -31942,7 +35654,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3194235654 .unused,
3194335655 .unused,
3194435656 },
31945 .dst_temps = .{.mem},
35657 .dst_temps = .{ .mem, .unused },
3194635658 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3194735659 .each = .{ .once = &.{
3194835660 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -31970,7 +35682,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3197035682 .unused,
3197135683 .unused,
3197235684 },
31973 .dst_temps = .{.mem},
35685 .dst_temps = .{ .mem, .unused },
3197435686 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3197535687 .each = .{ .once = &.{
3197635688 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -31998,7 +35710,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3199835710 .unused,
3199935711 .unused,
3200035712 },
32001 .dst_temps = .{.mem},
35713 .dst_temps = .{ .mem, .unused },
3200235714 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3200335715 .each = .{ .once = &.{
3200435716 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -32029,7 +35741,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3202935741 .patterns = &.{
3203035742 .{ .src = .{ .to_gpr, .none, .none } },
3203135743 },
32032 .dst_temps = .{.{ .rc = .general_purpose }},
35744 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
3203335745 .clobbers = .{ .eflags = true },
3203435746 .each = .{ .once = &.{
3203535747 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -32041,7 +35753,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3204135753 .patterns = &.{
3204235754 .{ .src = .{ .mut_mem, .none, .none } },
3204335755 },
32044 .dst_temps = .{.{ .ref = .src0 }},
35756 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3204535757 .clobbers = .{ .eflags = true },
3204635758 .each = .{ .once = &.{
3204735759 .{ ._, ._, .cmp, .src0b, .si(0), ._, ._ },
......@@ -32053,7 +35765,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3205335765 .patterns = &.{
3205435766 .{ .src = .{ .to_mut_gpr, .none, .none } },
3205535767 },
32056 .dst_temps = .{.{ .ref = .src0 }},
35768 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3205735769 .clobbers = .{ .eflags = true },
3205835770 .each = .{ .once = &.{
3205935771 .{ ._, ._, .@"test", .src0b, .src0b, ._, ._ },
......@@ -32066,7 +35778,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3206635778 .patterns = &.{
3206735779 .{ .src = .{ .mem, .none, .none } },
3206835780 },
32069 .dst_temps = .{.{ .rc = .general_purpose }},
35781 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
3207035782 .clobbers = .{ .eflags = true },
3207135783 .each = .{ .once = &.{
3207235784 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -32079,7 +35791,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3207935791 .patterns = &.{
3208035792 .{ .src = .{ .to_gpr, .none, .none } },
3208135793 },
32082 .dst_temps = .{.{ .rc = .general_purpose }},
35794 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
3208335795 .clobbers = .{ .eflags = true },
3208435796 .each = .{ .once = &.{
3208535797 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -32091,7 +35803,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3209135803 .patterns = &.{
3209235804 .{ .src = .{ .mut_mem, .none, .none } },
3209335805 },
32094 .dst_temps = .{.{ .ref = .src0 }},
35806 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3209535807 .clobbers = .{ .eflags = true },
3209635808 .each = .{ .once = &.{
3209735809 .{ ._, ._, .cmp, .src0w, .si(0), ._, ._ },
......@@ -32103,7 +35815,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3210335815 .patterns = &.{
3210435816 .{ .src = .{ .to_mut_gpr, .none, .none } },
3210535817 },
32106 .dst_temps = .{.{ .ref = .src0 }},
35818 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3210735819 .clobbers = .{ .eflags = true },
3210835820 .each = .{ .once = &.{
3210935821 .{ ._, ._, .@"test", .src0w, .src0w, ._, ._ },
......@@ -32117,7 +35829,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3211735829 .{ .src = .{ .mem, .none, .none } },
3211835830 .{ .src = .{ .to_gpr, .none, .none } },
3211935831 },
32120 .dst_temps = .{.{ .rc = .general_purpose }},
35832 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
3212135833 .clobbers = .{ .eflags = true },
3212235834 .each = .{ .once = &.{
3212335835 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -32129,7 +35841,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3212935841 .patterns = &.{
3213035842 .{ .src = .{ .mut_mem, .none, .none } },
3213135843 },
32132 .dst_temps = .{.{ .ref = .src0 }},
35844 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3213335845 .clobbers = .{ .eflags = true },
3213435846 .each = .{ .once = &.{
3213535847 .{ ._, ._, .cmp, .src0d, .si(0), ._, ._ },
......@@ -32141,7 +35853,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3214135853 .patterns = &.{
3214235854 .{ .src = .{ .to_mut_gpr, .none, .none } },
3214335855 },
32144 .dst_temps = .{.{ .ref = .src0 }},
35856 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3214535857 .clobbers = .{ .eflags = true },
3214635858 .each = .{ .once = &.{
3214735859 .{ ._, ._, .@"test", .src0d, .src0d, ._, ._ },
......@@ -32155,7 +35867,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3215535867 .{ .src = .{ .mem, .none, .none } },
3215635868 .{ .src = .{ .to_gpr, .none, .none } },
3215735869 },
32158 .dst_temps = .{.{ .rc = .general_purpose }},
35870 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
3215935871 .clobbers = .{ .eflags = true },
3216035872 .each = .{ .once = &.{
3216135873 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -32168,7 +35880,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3216835880 .patterns = &.{
3216935881 .{ .src = .{ .mut_mem, .none, .none } },
3217035882 },
32171 .dst_temps = .{.{ .ref = .src0 }},
35883 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3217235884 .clobbers = .{ .eflags = true },
3217335885 .each = .{ .once = &.{
3217435886 .{ ._, ._, .cmp, .src0q, .si(0), ._, ._ },
......@@ -32181,7 +35893,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3218135893 .patterns = &.{
3218235894 .{ .src = .{ .to_mut_gpr, .none, .none } },
3218335895 },
32184 .dst_temps = .{.{ .ref = .src0 }},
35896 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3218535897 .clobbers = .{ .eflags = true },
3218635898 .each = .{ .once = &.{
3218735899 .{ ._, ._, .@"test", .src0q, .src0q, ._, ._ },
......@@ -32205,7 +35917,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3220535917 .unused,
3220635918 .unused,
3220735919 },
32208 .dst_temps = .{.mem},
35920 .dst_temps = .{ .mem, .unused },
3220935921 .clobbers = .{ .eflags = true },
3221035922 .each = .{ .once = &.{
3221135923 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -32228,7 +35940,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3222835940 .{ .src = .{ .mem, .none, .none } },
3222935941 .{ .src = .{ .to_mm, .none, .none } },
3223035942 },
32231 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .mmx } }},
35943 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .mmx } }, .unused },
3223235944 .each = .{ .once = &.{
3223335945 .{ ._, .p_b, .abs, .dst0q, .src0q, ._, ._ },
3223435946 } },
......@@ -32239,7 +35951,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3223935951 .{ .src = .{ .mem, .none, .none } },
3224035952 .{ .src = .{ .to_mm, .none, .none } },
3224135953 },
32242 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .mmx } }},
35954 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .mmx } }, .unused },
3224335955 .each = .{ .once = &.{
3224435956 .{ ._, .p_w, .abs, .dst0q, .src0q, ._, ._ },
3224535957 } },
......@@ -32250,7 +35962,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3225035962 .{ .src = .{ .mem, .none, .none } },
3225135963 .{ .src = .{ .to_mm, .none, .none } },
3225235964 },
32253 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .mmx } }},
35965 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .mmx } }, .unused },
3225435966 .each = .{ .once = &.{
3225535967 .{ ._, .p_d, .abs, .dst0q, .src0q, ._, ._ },
3225635968 } },
......@@ -32261,7 +35973,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3226135973 .{ .src = .{ .mem, .none, .none } },
3226235974 .{ .src = .{ .to_sse, .none, .none } },
3226335975 },
32264 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
35976 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3226535977 .each = .{ .once = &.{
3226635978 .{ ._, .p_b, .abs, .dst0x, .src0x, ._, ._ },
3226735979 } },
......@@ -32272,7 +35984,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3227235984 .{ .src = .{ .mem, .none, .none } },
3227335985 .{ .src = .{ .to_sse, .none, .none } },
3227435986 },
32275 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
35987 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3227635988 .each = .{ .once = &.{
3227735989 .{ ._, .p_w, .abs, .dst0x, .src0x, ._, ._ },
3227835990 } },
......@@ -32283,7 +35995,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3228335995 .{ .src = .{ .mem, .none, .none } },
3228435996 .{ .src = .{ .to_sse, .none, .none } },
3228535997 },
32286 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
35998 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3228735999 .each = .{ .once = &.{
3228836000 .{ ._, .p_d, .abs, .dst0x, .src0x, ._, ._ },
3228936001 } },
......@@ -32294,7 +36006,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3229436006 .{ .src = .{ .mem, .none, .none } },
3229536007 .{ .src = .{ .to_sse, .none, .none } },
3229636008 },
32297 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
36009 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3229836010 .each = .{ .once = &.{
3229936011 .{ ._, .vp_b, .abs, .dst0x, .src0x, ._, ._ },
3230036012 } },
......@@ -32305,7 +36017,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3230536017 .{ .src = .{ .mem, .none, .none } },
3230636018 .{ .src = .{ .to_sse, .none, .none } },
3230736019 },
32308 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
36020 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3230936021 .each = .{ .once = &.{
3231036022 .{ ._, .vp_w, .abs, .dst0x, .src0x, ._, ._ },
3231136023 } },
......@@ -32316,7 +36028,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3231636028 .{ .src = .{ .mem, .none, .none } },
3231736029 .{ .src = .{ .to_sse, .none, .none } },
3231836030 },
32319 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
36031 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3232036032 .each = .{ .once = &.{
3232136033 .{ ._, .vp_d, .abs, .dst0x, .src0x, ._, ._ },
3232236034 } },
......@@ -32327,7 +36039,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3232736039 .{ .src = .{ .mem, .none, .none } },
3232836040 .{ .src = .{ .to_sse, .none, .none } },
3232936041 },
32330 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
36042 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3233136043 .each = .{ .once = &.{
3233236044 .{ ._, .vp_b, .abs, .dst0y, .src0y, ._, ._ },
3233336045 } },
......@@ -32338,7 +36050,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3233836050 .{ .src = .{ .mem, .none, .none } },
3233936051 .{ .src = .{ .to_sse, .none, .none } },
3234036052 },
32341 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
36053 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3234236054 .each = .{ .once = &.{
3234336055 .{ ._, .vp_w, .abs, .dst0y, .src0y, ._, ._ },
3234436056 } },
......@@ -32349,7 +36061,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3234936061 .{ .src = .{ .mem, .none, .none } },
3235036062 .{ .src = .{ .to_sse, .none, .none } },
3235136063 },
32352 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
36064 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3235336065 .each = .{ .once = &.{
3235436066 .{ ._, .vp_d, .abs, .dst0y, .src0y, ._, ._ },
3235536067 } },
......@@ -32370,7 +36082,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3237036082 .unused,
3237136083 .unused,
3237236084 },
32373 .dst_temps = .{.mem},
36085 .dst_temps = .{ .mem, .unused },
3237436086 .clobbers = .{ .eflags = true },
3237536087 .each = .{ .once = &.{
3237636088 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -32396,7 +36108,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3239636108 .unused,
3239736109 .unused,
3239836110 },
32399 .dst_temps = .{.mem},
36111 .dst_temps = .{ .mem, .unused },
3240036112 .clobbers = .{ .eflags = true },
3240136113 .each = .{ .once = &.{
3240236114 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -32422,7 +36134,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3242236134 .unused,
3242336135 .unused,
3242436136 },
32425 .dst_temps = .{.mem},
36137 .dst_temps = .{ .mem, .unused },
3242636138 .clobbers = .{ .eflags = true },
3242736139 .each = .{ .once = &.{
3242836140 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -32448,7 +36160,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3244836160 .unused,
3244936161 .unused,
3245036162 },
32451 .dst_temps = .{.mem},
36163 .dst_temps = .{ .mem, .unused },
3245236164 .clobbers = .{ .eflags = true },
3245336165 .each = .{ .once = &.{
3245436166 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -32474,7 +36186,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3247436186 .unused,
3247536187 .unused,
3247636188 },
32477 .dst_temps = .{.mem},
36189 .dst_temps = .{ .mem, .unused },
3247836190 .clobbers = .{ .eflags = true },
3247936191 .each = .{ .once = &.{
3248036192 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -32500,7 +36212,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3250036212 .unused,
3250136213 .unused,
3250236214 },
32503 .dst_temps = .{.mem},
36215 .dst_temps = .{ .mem, .unused },
3250436216 .clobbers = .{ .eflags = true },
3250536217 .each = .{ .once = &.{
3250636218 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -32526,7 +36238,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3252636238 .unused,
3252736239 .unused,
3252836240 },
32529 .dst_temps = .{.mem},
36241 .dst_temps = .{ .mem, .unused },
3253036242 .clobbers = .{ .eflags = true },
3253136243 .each = .{ .once = &.{
3253236244 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -32552,7 +36264,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3255236264 .unused,
3255336265 .unused,
3255436266 },
32555 .dst_temps = .{.mem},
36267 .dst_temps = .{ .mem, .unused },
3255636268 .clobbers = .{ .eflags = true },
3255736269 .each = .{ .once = &.{
3255836270 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -32578,7 +36290,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3257836290 .unused,
3257936291 .unused,
3258036292 },
32581 .dst_temps = .{.mem},
36293 .dst_temps = .{ .mem, .unused },
3258236294 .clobbers = .{ .eflags = true },
3258336295 .each = .{ .once = &.{
3258436296 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -32604,7 +36316,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3260436316 .unused,
3260536317 .unused,
3260636318 },
32607 .dst_temps = .{.mem},
36319 .dst_temps = .{ .mem, .unused },
3260836320 .clobbers = .{ .eflags = true },
3260936321 .each = .{ .once = &.{
3261036322 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -32630,7 +36342,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3263036342 .unused,
3263136343 .unused,
3263236344 },
32633 .dst_temps = .{.mem},
36345 .dst_temps = .{ .mem, .unused },
3263436346 .clobbers = .{ .eflags = true },
3263536347 .each = .{ .once = &.{
3263636348 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -32656,7 +36368,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3265636368 .unused,
3265736369 .unused,
3265836370 },
32659 .dst_temps = .{.mem},
36371 .dst_temps = .{ .mem, .unused },
3266036372 .clobbers = .{ .eflags = true },
3266136373 .each = .{ .once = &.{
3266236374 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -32682,7 +36394,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3268236394 .unused,
3268336395 .unused,
3268436396 },
32685 .dst_temps = .{.mem},
36397 .dst_temps = .{ .mem, .unused },
3268636398 .clobbers = .{ .eflags = true },
3268736399 .each = .{ .once = &.{
3268836400 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -32711,7 +36423,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3271136423 .unused,
3271236424 .unused,
3271336425 },
32714 .dst_temps = .{.mem},
36426 .dst_temps = .{ .mem, .unused },
3271536427 .clobbers = .{ .eflags = true },
3271636428 .each = .{ .once = &.{
3271736429 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -32740,7 +36452,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3274036452 .unused,
3274136453 .unused,
3274236454 },
32743 .dst_temps = .{.mem},
36455 .dst_temps = .{ .mem, .unused },
3274436456 .clobbers = .{ .eflags = true },
3274536457 .each = .{ .once = &.{
3274636458 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -32768,7 +36480,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3276836480 .unused,
3276936481 .unused,
3277036482 },
32771 .dst_temps = .{.mem},
36483 .dst_temps = .{ .mem, .unused },
3277236484 .clobbers = .{ .eflags = true },
3277336485 .each = .{ .once = &.{
3277436486 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -32797,7 +36509,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3279736509 .unused,
3279836510 .unused,
3279936511 },
32800 .dst_temps = .{.mem},
36512 .dst_temps = .{ .mem, .unused },
3280136513 .clobbers = .{ .eflags = true },
3280236514 .each = .{ .once = &.{
3280336515 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -32824,7 +36536,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3282436536 .unused,
3282536537 .unused,
3282636538 },
32827 .dst_temps = .{.mem},
36539 .dst_temps = .{ .mem, .unused },
3282836540 .clobbers = .{ .eflags = true },
3282936541 .each = .{ .once = &.{
3283036542 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -32853,7 +36565,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3285336565 .unused,
3285436566 .unused,
3285536567 },
32856 .dst_temps = .{.mem},
36568 .dst_temps = .{ .mem, .unused },
3285736569 .clobbers = .{ .eflags = true },
3285836570 .each = .{ .once = &.{
3285936571 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -32880,7 +36592,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3288036592 .unused,
3288136593 .unused,
3288236594 },
32883 .dst_temps = .{.mem},
36595 .dst_temps = .{ .mem, .unused },
3288436596 .clobbers = .{ .eflags = true },
3288536597 .each = .{ .once = &.{
3288636598 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -32909,7 +36621,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3290936621 .unused,
3291036622 .unused,
3291136623 },
32912 .dst_temps = .{.mem},
36624 .dst_temps = .{ .mem, .unused },
3291336625 .clobbers = .{ .eflags = true },
3291436626 .each = .{ .once = &.{
3291536627 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -32937,7 +36649,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3293736649 .unused,
3293836650 .unused,
3293936651 },
32940 .dst_temps = .{.mem},
36652 .dst_temps = .{ .mem, .unused },
3294136653 .clobbers = .{ .eflags = true },
3294236654 .each = .{ .once = &.{
3294336655 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -32966,7 +36678,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3296636678 .unused,
3296736679 .unused,
3296836680 },
32969 .dst_temps = .{.mem},
36681 .dst_temps = .{ .mem, .unused },
3297036682 .clobbers = .{ .eflags = true },
3297136683 .each = .{ .once = &.{
3297236684 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
......@@ -33003,7 +36715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3300336715 .unused,
3300436716 .unused,
3300536717 },
33006 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
36718 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3300736719 .each = .{ .once = &.{
3300836720 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3300936721 .{ ._, .v_ps, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
......@@ -33025,7 +36737,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3302536737 .unused,
3302636738 .unused,
3302736739 },
33028 .dst_temps = .{.{ .ref = .src0 }},
36740 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3302936741 .each = .{ .once = &.{
3303036742 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3303136743 .{ ._, ._ps, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
......@@ -33047,7 +36759,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3304736759 .unused,
3304836760 .unused,
3304936761 },
33050 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
36762 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3305136763 .each = .{ .once = &.{
3305236764 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3305336765 .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
......@@ -33069,7 +36781,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3306936781 .unused,
3307036782 .unused,
3307136783 },
33072 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
36784 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3307336785 .each = .{ .once = &.{
3307436786 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3307536787 .{ ._, .v_pd, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
......@@ -33091,7 +36803,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3309136803 .unused,
3309236804 .unused,
3309336805 },
33094 .dst_temps = .{.{ .ref = .src0 }},
36806 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3309536807 .each = .{ .once = &.{
3309636808 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3309736809 .{ ._, ._pd, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
......@@ -33113,7 +36825,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3311336825 .unused,
3311436826 .unused,
3311536827 },
33116 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
36828 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3311736829 .each = .{ .once = &.{
3311836830 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3311936831 .{ ._, .v_pd, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
......@@ -33136,7 +36848,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3313636848 .unused,
3313736849 .unused,
3313836850 },
33139 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .x87 } }},
36851 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .x87 } }, .unused },
3314036852 .each = .{ .once = &.{
3314136853 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
3314236854 .{ ._, .f_, .abs, ._, ._, ._, ._ },
......@@ -33159,7 +36871,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3315936871 .unused,
3316036872 .unused,
3316136873 },
33162 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
36874 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3316336875 .each = .{ .once = &.{
3316436876 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3316536877 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
......@@ -33181,7 +36893,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3318136893 .unused,
3318236894 .unused,
3318336895 },
33184 .dst_temps = .{.{ .ref = .src0 }},
36896 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3318536897 .each = .{ .once = &.{
3318636898 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3318736899 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
......@@ -33203,7 +36915,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3320336915 .unused,
3320436916 .unused,
3320536917 },
33206 .dst_temps = .{.{ .ref = .src0 }},
36918 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3320736919 .each = .{ .once = &.{
3320836920 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3320936921 .{ ._, ._ps, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
......@@ -33225,7 +36937,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3322536937 .unused,
3322636938 .unused,
3322736939 },
33228 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
36940 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3322936941 .each = .{ .once = &.{
3323036942 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3323136943 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
......@@ -33247,7 +36959,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3324736959 .unused,
3324836960 .unused,
3324936961 },
33250 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
36962 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3325136963 .each = .{ .once = &.{
3325236964 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3325336965 .{ ._, .v_pd, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
......@@ -33269,7 +36981,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3326936981 .unused,
3327036982 .unused,
3327136983 },
33272 .dst_temps = .{.mem},
36984 .dst_temps = .{ .mem, .unused },
3327336985 .each = .{ .once = &.{
3327436986 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3327536987 .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ },
......@@ -33296,7 +37008,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3329637008 .unused,
3329737009 .unused,
3329837010 },
33299 .dst_temps = .{.mem},
37011 .dst_temps = .{ .mem, .unused },
3330037012 .each = .{ .once = &.{
3330137013 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3330237014 .{ ._, ._ps, .mova, .tmp2x, .lea(.tmp0x), ._, ._ },
......@@ -33324,7 +37036,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3332437036 .unused,
3332537037 .unused,
3332637038 },
33327 .dst_temps = .{.mem},
37039 .dst_temps = .{ .mem, .unused },
3332837040 .each = .{ .once = &.{
3332937041 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3333037042 .{ ._, .v_pd, .mova, .tmp2y, .lea(.tmp0y), ._, ._ },
......@@ -33351,7 +37063,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3335137063 .unused,
3335237064 .unused,
3335337065 },
33354 .dst_temps = .{.mem},
37066 .dst_temps = .{ .mem, .unused },
3335537067 .each = .{ .once = &.{
3335637068 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3335737069 .{ ._, ._pd, .mova, .tmp2x, .lea(.tmp0x), ._, ._ },
......@@ -33379,7 +37091,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3337937091 .unused,
3338037092 .unused,
3338137093 },
33382 .dst_temps = .{.mem},
37094 .dst_temps = .{ .mem, .unused },
3338337095 .each = .{ .once = &.{
3338437096 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3338537097 .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ },
......@@ -33406,7 +37118,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3340637118 .unused,
3340737119 .unused,
3340837120 },
33409 .dst_temps = .{.mem},
37121 .dst_temps = .{ .mem, .unused },
3341037122 .each = .{ .once = &.{
3341137123 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3341237124 .{ ._, .v_pd, .mova, .tmp2y, .lea(.tmp0y), ._, ._ },
......@@ -33433,7 +37145,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3343337145 .unused,
3343437146 .unused,
3343537147 },
33436 .dst_temps = .{.mem},
37148 .dst_temps = .{ .mem, .unused },
3343737149 .each = .{ .once = &.{
3343837150 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3343937151 .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
......@@ -33461,7 +37173,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3346137173 .unused,
3346237174 .unused,
3346337175 },
33464 .dst_temps = .{.mem},
37176 .dst_temps = .{ .mem, .unused },
3346537177 .each = .{ .once = &.{
3346637178 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3346737179 .{ ._, ._ps, .mova, .tmp2x, .lea(.tmp0x), ._, ._ },
......@@ -33504,7 +37216,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3350437216 .patterns = &.{
3350537217 .{ .src = .{ .to_sse, .none, .none } },
3350637218 },
33507 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
37219 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3350837220 .each = .{ .once = &.{
3350937221 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
3351037222 .{ ._, .v_ss, .round, .dst0x, .dst0x, .dst0d, .rm(.{ .direction = direction, .precision = .inexact }) },
......@@ -33533,7 +37245,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3353337245 .unused,
3353437246 .unused,
3353537247 },
33536 .dst_temps = .{.{ .ref = .src0 }},
37248 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3353737249 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3353837250 .each = .{ .once = &.{
3353937251 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -33545,7 +37257,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3354537257 .{ .src = .{ .mem, .none, .none } },
3354637258 .{ .src = .{ .to_sse, .none, .none } },
3354737259 },
33548 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
37260 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3354937261 .each = .{ .once = &.{
3355037262 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
3355137263 .{ ._, .v_ps, .round, .dst0x, .dst0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
......@@ -33558,7 +37270,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3355837270 .{ .src = .{ .mem, .none, .none } },
3355937271 .{ .src = .{ .to_sse, .none, .none } },
3356037272 },
33561 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
37273 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3356237274 .each = .{ .once = &.{
3356337275 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
3356437276 .{ ._, .v_ps, .round, .dst0y, .dst0y, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
......@@ -33581,7 +37293,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3358137293 .unused,
3358237294 .unused,
3358337295 },
33584 .dst_temps = .{.mem},
37296 .dst_temps = .{ .mem, .unused },
3358537297 .clobbers = .{ .eflags = true },
3358637298 .each = .{ .once = &.{
3358737299 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -33614,7 +37326,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3361437326 .unused,
3361537327 .unused,
3361637328 },
33617 .dst_temps = .{.mem},
37329 .dst_temps = .{ .mem, .unused },
3361837330 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3361937331 .each = .{ .once = &.{
3362037332 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -33648,7 +37360,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3364837360 .unused,
3364937361 .unused,
3365037362 },
33651 .dst_temps = .{.mem},
37363 .dst_temps = .{ .mem, .unused },
3365237364 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3365337365 .each = .{ .once = &.{
3365437366 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -33682,7 +37394,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3368237394 .unused,
3368337395 .unused,
3368437396 },
33685 .dst_temps = .{.mem},
37397 .dst_temps = .{ .mem, .unused },
3368637398 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3368737399 .each = .{ .once = &.{
3368837400 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -33717,7 +37429,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3371737429 .unused,
3371837430 .unused,
3371937431 },
33720 .dst_temps = .{.mem},
37432 .dst_temps = .{ .mem, .unused },
3372137433 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3372237434 .each = .{ .once = &.{
3372337435 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -33737,7 +37449,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3373737449 .patterns = &.{
3373837450 .{ .src = .{ .mem, .none, .none } },
3373937451 },
33740 .dst_temps = .{.{ .rc = .sse }},
37452 .dst_temps = .{ .{ .rc = .sse }, .unused },
3374137453 .each = .{ .once = &.{
3374237454 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
3374337455 .{ ._, .v_ss, .round, .dst0x, .dst0x, .src0d, .rm(.{ .direction = direction, .precision = .inexact }) },
......@@ -33748,7 +37460,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3374837460 .patterns = &.{
3374937461 .{ .src = .{ .to_sse, .none, .none } },
3375037462 },
33751 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
37463 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3375237464 .each = .{ .once = &.{
3375337465 .{ ._, .v_ss, .round, .dst0x, .src0x, .src0d, .rm(.{ .direction = direction, .precision = .inexact }) },
3375437466 } },
......@@ -33758,7 +37470,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3375837470 .patterns = &.{
3375937471 .{ .src = .{ .mem, .none, .none } },
3376037472 },
33761 .dst_temps = .{.{ .rc = .sse }},
37473 .dst_temps = .{ .{ .rc = .sse }, .unused },
3376237474 .each = .{ .once = &.{
3376337475 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },
3376437476 .{ ._, ._ss, .round, .dst0x, .src0d, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
......@@ -33769,7 +37481,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3376937481 .patterns = &.{
3377037482 .{ .src = .{ .to_mut_sse, .none, .none } },
3377137483 },
33772 .dst_temps = .{.{ .ref = .src0 }},
37484 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3377337485 .each = .{ .once = &.{
3377437486 .{ ._, ._ss, .round, .dst0x, .src0d, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
3377537487 } },
......@@ -33796,7 +37508,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3379637508 .unused,
3379737509 .unused,
3379837510 },
33799 .dst_temps = .{.{ .ref = .src0 }},
37511 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3380037512 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3380137513 .each = .{ .once = &.{
3380237514 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -33808,7 +37520,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3380837520 .{ .src = .{ .mem, .none, .none } },
3380937521 .{ .src = .{ .to_sse, .none, .none } },
3381037522 },
33811 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
37523 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3381237524 .each = .{ .once = &.{
3381337525 .{ ._, .v_ps, .round, .dst0x, .src0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
3381437526 } },
......@@ -33819,7 +37531,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3381937531 .{ .src = .{ .mem, .none, .none } },
3382037532 .{ .src = .{ .to_sse, .none, .none } },
3382137533 },
33822 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
37534 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3382337535 .each = .{ .once = &.{
3382437536 .{ ._, ._ps, .round, .dst0x, .src0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
3382537537 } },
......@@ -33830,7 +37542,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3383037542 .{ .src = .{ .mem, .none, .none } },
3383137543 .{ .src = .{ .to_sse, .none, .none } },
3383237544 },
33833 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
37545 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3383437546 .each = .{ .once = &.{
3383537547 .{ ._, .v_ps, .round, .dst0y, .src0y, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
3383637548 } },
......@@ -33851,7 +37563,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3385137563 .unused,
3385237564 .unused,
3385337565 },
33854 .dst_temps = .{.mem},
37566 .dst_temps = .{ .mem, .unused },
3385537567 .clobbers = .{ .eflags = true },
3385637568 .each = .{ .once = &.{
3385737569 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -33880,7 +37592,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3388037592 .unused,
3388137593 .unused,
3388237594 },
33883 .dst_temps = .{.mem},
37595 .dst_temps = .{ .mem, .unused },
3388437596 .clobbers = .{ .eflags = true },
3388537597 .each = .{ .once = &.{
3388637598 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -33915,7 +37627,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3391537627 .unused,
3391637628 .unused,
3391737629 },
33918 .dst_temps = .{.mem},
37630 .dst_temps = .{ .mem, .unused },
3391937631 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3392037632 .each = .{ .once = &.{
3392137633 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -33948,7 +37660,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3394837660 .unused,
3394937661 .unused,
3395037662 },
33951 .dst_temps = .{.mem},
37663 .dst_temps = .{ .mem, .unused },
3395237664 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3395337665 .each = .{ .once = &.{
3395437666 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -33964,7 +37676,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3396437676 .patterns = &.{
3396537677 .{ .src = .{ .mem, .none, .none } },
3396637678 },
33967 .dst_temps = .{.{ .rc = .sse }},
37679 .dst_temps = .{ .{ .rc = .sse }, .unused },
3396837680 .each = .{ .once = &.{
3396937681 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },
3397037682 .{ ._, .v_sd, .round, .dst0x, .dst0x, .src0q, .rm(.{ .direction = direction, .precision = .inexact }) },
......@@ -33975,7 +37687,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3397537687 .patterns = &.{
3397637688 .{ .src = .{ .to_sse, .none, .none } },
3397737689 },
33978 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
37690 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3397937691 .each = .{ .once = &.{
3398037692 .{ ._, .v_sd, .round, .dst0x, .src0x, .src0q, .rm(.{ .direction = direction, .precision = .inexact }) },
3398137693 } },
......@@ -33985,7 +37697,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3398537697 .patterns = &.{
3398637698 .{ .src = .{ .mem, .none, .none } },
3398737699 },
33988 .dst_temps = .{.{ .rc = .sse }},
37700 .dst_temps = .{ .{ .rc = .sse }, .unused },
3398937701 .each = .{ .once = &.{
3399037702 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },
3399137703 .{ ._, ._sd, .round, .dst0x, .src0q, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
......@@ -33996,7 +37708,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3399637708 .patterns = &.{
3399737709 .{ .src = .{ .to_mut_sse, .none, .none } },
3399837710 },
33999 .dst_temps = .{.{ .ref = .src0 }},
37711 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3400037712 .each = .{ .once = &.{
3400137713 .{ ._, ._sd, .round, .dst0x, .src0q, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
3400237714 } },
......@@ -34023,7 +37735,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3402337735 .unused,
3402437736 .unused,
3402537737 },
34026 .dst_temps = .{.{ .ref = .src0 }},
37738 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3402737739 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3402837740 .each = .{ .once = &.{
3402937741 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -34035,7 +37747,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3403537747 .{ .src = .{ .mem, .none, .none } },
3403637748 .{ .src = .{ .to_sse, .none, .none } },
3403737749 },
34038 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
37750 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3403937751 .each = .{ .once = &.{
3404037752 .{ ._, .v_pd, .round, .dst0x, .src0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
3404137753 } },
......@@ -34046,7 +37758,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3404637758 .{ .src = .{ .mem, .none, .none } },
3404737759 .{ .src = .{ .to_sse, .none, .none } },
3404837760 },
34049 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
37761 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3405037762 .each = .{ .once = &.{
3405137763 .{ ._, ._pd, .round, .dst0x, .src0x, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
3405237764 } },
......@@ -34057,7 +37769,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3405737769 .{ .src = .{ .mem, .none, .none } },
3405837770 .{ .src = .{ .to_sse, .none, .none } },
3405937771 },
34060 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
37772 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3406137773 .each = .{ .once = &.{
3406237774 .{ ._, .v_pd, .round, .dst0y, .src0y, .rm(.{ .direction = direction, .precision = .inexact }), ._ },
3406337775 } },
......@@ -34078,7 +37790,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3407837790 .unused,
3407937791 .unused,
3408037792 },
34081 .dst_temps = .{.mem},
37793 .dst_temps = .{ .mem, .unused },
3408237794 .clobbers = .{ .eflags = true },
3408337795 .each = .{ .once = &.{
3408437796 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -34107,7 +37819,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3410737819 .unused,
3410837820 .unused,
3410937821 },
34110 .dst_temps = .{.mem},
37822 .dst_temps = .{ .mem, .unused },
3411137823 .clobbers = .{ .eflags = true },
3411237824 .each = .{ .once = &.{
3411337825 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -34142,7 +37854,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3414237854 .unused,
3414337855 .unused,
3414437856 },
34145 .dst_temps = .{.mem},
37857 .dst_temps = .{ .mem, .unused },
3414637858 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3414737859 .each = .{ .once = &.{
3414837860 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -34175,7 +37887,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3417537887 .unused,
3417637888 .unused,
3417737889 },
34178 .dst_temps = .{.mem},
37890 .dst_temps = .{ .mem, .unused },
3417937891 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3418037892 .each = .{ .once = &.{
3418137893 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -34208,7 +37920,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3420837920 .unused,
3420937921 .unused,
3421037922 },
34211 .dst_temps = .{.mem},
37923 .dst_temps = .{ .mem, .unused },
3421237924 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3421337925 .each = .{ .once = &.{
3421437926 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -34242,7 +37954,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3424237954 .unused,
3424337955 .unused,
3424437956 },
34245 .dst_temps = .{.{ .reg = .st0 }},
37957 .dst_temps = .{ .{ .reg = .st0 }, .unused },
3424637958 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3424737959 .each = .{ .once = &.{
3424837960 .{ ._, .v_dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ },
......@@ -34272,7 +37984,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3427237984 .unused,
3427337985 .unused,
3427437986 },
34275 .dst_temps = .{.{ .reg = .st0 }},
37987 .dst_temps = .{ .{ .reg = .st0 }, .unused },
3427637988 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3427737989 .each = .{ .once = &.{
3427837990 .{ ._, ._dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ },
......@@ -34302,7 +38014,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3430238014 .unused,
3430338015 .unused,
3430438016 },
34305 .dst_temps = .{.{ .reg = .st0 }},
38017 .dst_temps = .{ .{ .reg = .st0 }, .unused },
3430638018 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3430738019 .each = .{ .once = &.{
3430838020 .{ ._, ._ps, .mova, .tmp0x, .mem(.src0x), ._, ._ },
......@@ -34332,7 +38044,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3433238044 .unused,
3433338045 .unused,
3433438046 },
34335 .dst_temps = .{.mem},
38047 .dst_temps = .{ .mem, .unused },
3433638048 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3433738049 .each = .{ .once = &.{
3433838050 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -34367,7 +38079,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3436738079 .unused,
3436838080 .unused,
3436938081 },
34370 .dst_temps = .{.mem},
38082 .dst_temps = .{ .mem, .unused },
3437138083 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3437238084 .each = .{ .once = &.{
3437338085 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -34402,7 +38114,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3440238114 .unused,
3440338115 .unused,
3440438116 },
34405 .dst_temps = .{.mem},
38117 .dst_temps = .{ .mem, .unused },
3440638118 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3440738119 .each = .{ .once = &.{
3440838120 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -34437,7 +38149,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3443738149 .unused,
3443838150 .unused,
3443938151 },
34440 .dst_temps = .{.{ .ref = .src0 }},
38152 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3444138153 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3444238154 .each = .{ .once = &.{
3444338155 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -34465,7 +38177,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3446538177 .unused,
3446638178 .unused,
3446738179 },
34468 .dst_temps = .{.mem},
38180 .dst_temps = .{ .mem, .unused },
3446938181 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3447038182 .each = .{ .once = &.{
3447138183 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -34498,7 +38210,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3449838210 .unused,
3449938211 .unused,
3450038212 },
34501 .dst_temps = .{.mem},
38213 .dst_temps = .{ .mem, .unused },
3450238214 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3450338215 .each = .{ .once = &.{
3450438216 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -34531,7 +38243,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3453138243 .unused,
3453238244 .unused,
3453338245 },
34534 .dst_temps = .{.mem},
38246 .dst_temps = .{ .mem, .unused },
3453538247 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3453638248 .each = .{ .once = &.{
3453738249 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -34573,7 +38285,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3457338285 .unused,
3457438286 .unused,
3457538287 },
34576 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
38288 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3457738289 .each = .{ .once = &.{
3457838290 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3457938291 .{ ._, .v_ps, .xor, .dst0x, .src0x, .lea(.tmp0x), ._ },
......@@ -34595,7 +38307,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3459538307 .unused,
3459638308 .unused,
3459738309 },
34598 .dst_temps = .{.{ .ref = .src0 }},
38310 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3459938311 .each = .{ .once = &.{
3460038312 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3460138313 .{ ._, ._ps, .xor, .dst0x, .lea(.tmp0x), ._, ._ },
......@@ -34617,7 +38329,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3461738329 .unused,
3461838330 .unused,
3461938331 },
34620 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
38332 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3462138333 .each = .{ .once = &.{
3462238334 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3462338335 .{ ._, .v_ps, .xor, .dst0y, .src0y, .lea(.tmp0y), ._ },
......@@ -34639,7 +38351,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3463938351 .unused,
3464038352 .unused,
3464138353 },
34642 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
38354 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3464338355 .each = .{ .once = &.{
3464438356 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3464538357 .{ ._, .v_pd, .xor, .dst0x, .src0x, .lea(.tmp0x), ._ },
......@@ -34661,7 +38373,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3466138373 .unused,
3466238374 .unused,
3466338375 },
34664 .dst_temps = .{.{ .ref = .src0 }},
38376 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3466538377 .each = .{ .once = &.{
3466638378 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3466738379 .{ ._, ._pd, .xor, .dst0x, .lea(.tmp0x), ._, ._ },
......@@ -34683,7 +38395,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3468338395 .unused,
3468438396 .unused,
3468538397 },
34686 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
38398 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3468738399 .each = .{ .once = &.{
3468838400 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3468938401 .{ ._, .v_pd, .xor, .dst0y, .src0y, .lea(.tmp0y), ._ },
......@@ -34706,7 +38418,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3470638418 .unused,
3470738419 .unused,
3470838420 },
34709 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .x87 } }},
38421 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .x87 } }, .unused },
3471038422 .each = .{ .once = &.{
3471138423 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
3471238424 .{ ._, .f_, .chs, ._, ._, ._, ._ },
......@@ -34729,7 +38441,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3472938441 .unused,
3473038442 .unused,
3473138443 },
34732 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
38444 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3473338445 .each = .{ .once = &.{
3473438446 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3473538447 .{ ._, .vp_, .xor, .dst0x, .src0x, .lea(.tmp0x), ._ },
......@@ -34751,7 +38463,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3475138463 .unused,
3475238464 .unused,
3475338465 },
34754 .dst_temps = .{.{ .ref = .src0 }},
38466 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3475538467 .each = .{ .once = &.{
3475638468 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3475738469 .{ ._, .p_, .xor, .dst0x, .lea(.tmp0x), ._, ._ },
......@@ -34773,7 +38485,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3477338485 .unused,
3477438486 .unused,
3477538487 },
34776 .dst_temps = .{.{ .ref = .src0 }},
38488 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3477738489 .each = .{ .once = &.{
3477838490 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3477938491 .{ ._, ._ps, .xor, .dst0x, .lea(.tmp0x), ._, ._ },
......@@ -34795,7 +38507,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3479538507 .unused,
3479638508 .unused,
3479738509 },
34798 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
38510 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3479938511 .each = .{ .once = &.{
3480038512 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3480138513 .{ ._, .vp_, .xor, .dst0y, .src0y, .lea(.tmp0y), ._ },
......@@ -34817,7 +38529,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3481738529 .unused,
3481838530 .unused,
3481938531 },
34820 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
38532 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3482138533 .each = .{ .once = &.{
3482238534 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3482338535 .{ ._, .v_pd, .xor, .dst0y, .src0y, .lea(.tmp0y), ._ },
......@@ -34839,7 +38551,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3483938551 .unused,
3484038552 .unused,
3484138553 },
34842 .dst_temps = .{.mem},
38554 .dst_temps = .{ .mem, .unused },
3484338555 .each = .{ .once = &.{
3484438556 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3484538557 .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ },
......@@ -34866,7 +38578,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3486638578 .unused,
3486738579 .unused,
3486838580 },
34869 .dst_temps = .{.mem},
38581 .dst_temps = .{ .mem, .unused },
3487038582 .each = .{ .once = &.{
3487138583 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3487238584 .{ ._, ._ps, .mova, .tmp2x, .lea(.tmp0x), ._, ._ },
......@@ -34894,7 +38606,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3489438606 .unused,
3489538607 .unused,
3489638608 },
34897 .dst_temps = .{.mem},
38609 .dst_temps = .{ .mem, .unused },
3489838610 .each = .{ .once = &.{
3489938611 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3490038612 .{ ._, .v_pd, .mova, .tmp2y, .lea(.tmp0y), ._, ._ },
......@@ -34921,7 +38633,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3492138633 .unused,
3492238634 .unused,
3492338635 },
34924 .dst_temps = .{.mem},
38636 .dst_temps = .{ .mem, .unused },
3492538637 .each = .{ .once = &.{
3492638638 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3492738639 .{ ._, ._pd, .mova, .tmp2x, .lea(.tmp0x), ._, ._ },
......@@ -34949,7 +38661,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3494938661 .unused,
3495038662 .unused,
3495138663 },
34952 .dst_temps = .{.mem},
38664 .dst_temps = .{ .mem, .unused },
3495338665 .each = .{ .once = &.{
3495438666 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3495538667 .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ },
......@@ -34976,7 +38688,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3497638688 .unused,
3497738689 .unused,
3497838690 },
34979 .dst_temps = .{.mem},
38691 .dst_temps = .{ .mem, .unused },
3498038692 .each = .{ .once = &.{
3498138693 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3498238694 .{ ._, .v_pd, .mova, .tmp2y, .lea(.tmp0y), ._, ._ },
......@@ -35003,7 +38715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3500338715 .unused,
3500438716 .unused,
3500538717 },
35006 .dst_temps = .{.mem},
38718 .dst_temps = .{ .mem, .unused },
3500738719 .each = .{ .once = &.{
3500838720 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3500938721 .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
......@@ -35031,7 +38743,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3503138743 .unused,
3503238744 .unused,
3503338745 },
35034 .dst_temps = .{.mem},
38746 .dst_temps = .{ .mem, .unused },
3503538747 .each = .{ .once = &.{
3503638748 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
3503738749 .{ ._, ._ps, .mova, .tmp2x, .lea(.tmp0x), ._, ._ },
......@@ -35094,10 +38806,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3509438806 .unused,
3509538807 .unused,
3509638808 },
35097 .dst_temps = .{.{ .cc = switch (strict) {
38809 .dst_temps = .{ .{ .cc = switch (strict) {
3509838810 true => .a,
3509938811 false => .ae,
35100 } }},
38812 } }, .unused },
3510138813 .clobbers = .{ .eflags = true },
3510238814 .each = .{ .once = &.{
3510338815 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },
......@@ -35122,10 +38834,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3512238834 .unused,
3512338835 .unused,
3512438836 },
35125 .dst_temps = .{.{ .cc = switch (strict) {
38837 .dst_temps = .{ .{ .cc = switch (strict) {
3512638838 true => .l,
3512738839 false => .le,
35128 } }},
38840 } }, .unused },
3512938841 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3513038842 .each = .{ .once = &.{
3513138843 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -35138,10 +38850,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3513838850 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
3513938851 .{ .src = .{ .to_sse, .to_sse, .none }, .commute = .{ 0, 1 } },
3514038852 },
35141 .dst_temps = .{.{ .cc = switch (strict) {
38853 .dst_temps = .{ .{ .cc = switch (strict) {
3514238854 true => .a,
3514338855 false => .ae,
35144 } }},
38856 } }, .unused },
3514538857 .clobbers = .{ .eflags = true },
3514638858 .each = .{ .once = &.{
3514738859 .{ ._, .v_ss, .ucomi, .src0x, .src1d, ._, ._ },
......@@ -35153,10 +38865,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3515338865 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
3515438866 .{ .src = .{ .to_sse, .to_sse, .none }, .commute = .{ 0, 1 } },
3515538867 },
35156 .dst_temps = .{.{ .cc = switch (strict) {
38868 .dst_temps = .{ .{ .cc = switch (strict) {
3515738869 true => .a,
3515838870 false => .ae,
35159 } }},
38871 } }, .unused },
3516038872 .clobbers = .{ .eflags = true },
3516138873 .each = .{ .once = &.{
3516238874 .{ ._, ._ss, .ucomi, .src0x, .src1d, ._, ._ },
......@@ -35168,10 +38880,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3516838880 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
3516938881 .{ .src = .{ .to_sse, .to_sse, .none }, .commute = .{ 0, 1 } },
3517038882 },
35171 .dst_temps = .{.{ .cc = switch (strict) {
38883 .dst_temps = .{ .{ .cc = switch (strict) {
3517238884 true => .a,
3517338885 false => .ae,
35174 } }},
38886 } }, .unused },
3517538887 .clobbers = .{ .eflags = true },
3517638888 .each = .{ .once = &.{
3517738889 .{ ._, .v_sd, .ucomi, .src0x, .src1q, ._, ._ },
......@@ -35183,10 +38895,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3518338895 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
3518438896 .{ .src = .{ .to_sse, .to_sse, .none }, .commute = .{ 0, 1 } },
3518538897 },
35186 .dst_temps = .{.{ .cc = switch (strict) {
38898 .dst_temps = .{ .{ .cc = switch (strict) {
3518738899 true => .a,
3518838900 false => .ae,
35189 } }},
38901 } }, .unused },
3519038902 .clobbers = .{ .eflags = true },
3519138903 .each = .{ .once = &.{
3519238904 .{ ._, ._sd, .ucomi, .src0x, .src1q, ._, ._ },
......@@ -35208,10 +38920,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3520838920 .unused,
3520938921 .unused,
3521038922 },
35211 .dst_temps = .{.{ .cc = switch (strict) {
38923 .dst_temps = .{ .{ .cc = switch (strict) {
3521238924 true => .a,
3521338925 false => .ae,
35214 } }},
38926 } }, .unused },
3521538927 .clobbers = .{ .eflags = true },
3521638928 .each = .{ .once = &.{
3521738929 .{ ._, .f_, .ld, .src1q, ._, ._, ._ },
......@@ -35236,10 +38948,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3523638948 .unused,
3523738949 .unused,
3523838950 },
35239 .dst_temps = .{.{ .cc = switch (strict) {
38951 .dst_temps = .{ .{ .cc = switch (strict) {
3524038952 true => .a,
3524138953 false => .ae,
35242 } }},
38954 } }, .unused },
3524338955 .clobbers = .{ .eflags = true },
3524438956 .each = .{ .once = &.{
3524538957 .{ ._, .f_, .ld, .src1q, ._, ._, ._ },
......@@ -35265,10 +38977,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3526538977 .unused,
3526638978 .unused,
3526738979 },
35268 .dst_temps = .{.{ .cc = switch (strict) {
38980 .dst_temps = .{ .{ .cc = switch (strict) {
3526938981 true => .z,
3527038982 false => .nc,
35271 } }},
38983 } }, .unused },
3527238984 .clobbers = .{ .eflags = true },
3527338985 .each = .{ .once = &.{
3527438986 .{ ._, .f_, .ld, .src1q, ._, ._, ._ },
......@@ -35298,10 +39010,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3529839010 .unused,
3529939011 .unused,
3530039012 },
35301 .dst_temps = .{.{ .cc = switch (strict) {
39013 .dst_temps = .{ .{ .cc = switch (strict) {
3530239014 true => .a,
3530339015 false => .ae,
35304 } }},
39016 } }, .unused },
3530539017 .clobbers = .{ .eflags = true },
3530639018 .each = .{ .once = &.{
3530739019 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
......@@ -35324,10 +39036,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3532439036 .unused,
3532539037 .unused,
3532639038 },
35327 .dst_temps = .{.{ .cc = switch (strict) {
39039 .dst_temps = .{ .{ .cc = switch (strict) {
3532839040 true => .a,
3532939041 false => .ae,
35330 } }},
39042 } }, .unused },
3533139043 .clobbers = .{ .eflags = true },
3533239044 .each = .{ .once = &.{
3533339045 .{ ._, .f_, .ld, .src1t, ._, ._, ._ },
......@@ -35354,10 +39066,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3535439066 .unused,
3535539067 .unused,
3535639068 },
35357 .dst_temps = .{.{ .cc = switch (strict) {
39069 .dst_temps = .{ .{ .cc = switch (strict) {
3535839070 true => .a,
3535939071 false => .ae,
35360 } }},
39072 } }, .unused },
3536139073 .clobbers = .{ .eflags = true },
3536239074 .each = .{ .once = &.{
3536339075 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
......@@ -35382,10 +39094,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3538239094 .unused,
3538339095 .unused,
3538439096 },
35385 .dst_temps = .{.{ .cc = switch (strict) {
39097 .dst_temps = .{ .{ .cc = switch (strict) {
3538639098 true => .z,
3538739099 false => .nc,
35388 } }},
39100 } }, .unused },
3538939101 .clobbers = .{ .eflags = true },
3539039102 .each = .{ .once = &.{
3539139103 .{ ._, .f_, .ld, .src1t, ._, ._, ._ },
......@@ -35415,10 +39127,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3541539127 .unused,
3541639128 .unused,
3541739129 },
35418 .dst_temps = .{.{ .cc = switch (strict) {
39130 .dst_temps = .{ .{ .cc = switch (strict) {
3541939131 true => .z,
3542039132 false => .nc,
35421 } }},
39133 } }, .unused },
3542239134 .clobbers = .{ .eflags = true },
3542339135 .each = .{ .once = &.{
3542439136 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
......@@ -35447,10 +39159,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3544739159 .unused,
3544839160 .unused,
3544939161 },
35450 .dst_temps = .{.{ .cc = switch (strict) {
39162 .dst_temps = .{ .{ .cc = switch (strict) {
3545139163 true => .l,
3545239164 false => .le,
35453 } }},
39165 } }, .unused },
3545439166 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3545539167 .each = .{ .once = &.{
3545639168 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -35521,7 +39233,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3552139233 .{ .src = .{ .to_gpr, .mem, .none }, .commute = .{ 0, 1 } },
3552239234 .{ .src = .{ .to_gpr, .to_gpr, .none } },
3552339235 },
35524 .dst_temps = .{.{ .rc = .general_purpose }},
39236 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
3552539237 .clobbers = .{ .eflags = true },
3552639238 .each = .{ .once = &.{
3552739239 .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ },
......@@ -35576,10 +39288,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3557639288 .unused,
3557739289 .unused,
3557839290 },
35579 .dst_temps = .{.{ .cc = switch (optimized) {
39291 .dst_temps = .{ .{ .cc = switch (optimized) {
3558039292 false => .z_and_np,
3558139293 true => .z,
35582 } }},
39294 } }, .unused },
3558339295 .clobbers = .{ .eflags = true },
3558439296 .each = .{ .once = &.{
3558539297 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },
......@@ -35604,7 +39316,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3560439316 .unused,
3560539317 .unused,
3560639318 },
35607 .dst_temps = .{.{ .cc = .z }},
39319 .dst_temps = .{ .{ .cc = .z }, .unused },
3560839320 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3560939321 .each = .{ .once = &.{
3561039322 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -35618,10 +39330,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3561839330 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
3561939331 .{ .src = .{ .to_sse, .to_sse, .none } },
3562039332 },
35621 .dst_temps = .{.{ .cc = switch (optimized) {
39333 .dst_temps = .{ .{ .cc = switch (optimized) {
3562239334 false => .z_and_np,
3562339335 true => .z,
35624 } }},
39336 } }, .unused },
3562539337 .clobbers = .{ .eflags = true },
3562639338 .each = .{ .once = &.{
3562739339 .{ ._, .v_ss, .ucomi, .src0x, .src1d, ._, ._ },
......@@ -35634,10 +39346,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3563439346 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
3563539347 .{ .src = .{ .to_sse, .to_sse, .none } },
3563639348 },
35637 .dst_temps = .{.{ .cc = switch (optimized) {
39349 .dst_temps = .{ .{ .cc = switch (optimized) {
3563839350 false => .z_and_np,
3563939351 true => .z,
35640 } }},
39352 } }, .unused },
3564139353 .clobbers = .{ .eflags = true },
3564239354 .each = .{ .once = &.{
3564339355 .{ ._, ._ss, .ucomi, .src0x, .src1d, ._, ._ },
......@@ -35650,10 +39362,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3565039362 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
3565139363 .{ .src = .{ .to_sse, .to_sse, .none } },
3565239364 },
35653 .dst_temps = .{.{ .cc = switch (optimized) {
39365 .dst_temps = .{ .{ .cc = switch (optimized) {
3565439366 false => .z_and_np,
3565539367 true => .z,
35656 } }},
39368 } }, .unused },
3565739369 .clobbers = .{ .eflags = true },
3565839370 .each = .{ .once = &.{
3565939371 .{ ._, .v_sd, .ucomi, .src0x, .src1q, ._, ._ },
......@@ -35666,10 +39378,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3566639378 .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } },
3566739379 .{ .src = .{ .to_sse, .to_sse, .none } },
3566839380 },
35669 .dst_temps = .{.{ .cc = switch (optimized) {
39381 .dst_temps = .{ .{ .cc = switch (optimized) {
3567039382 false => .z_and_np,
3567139383 true => .z,
35672 } }},
39384 } }, .unused },
3567339385 .clobbers = .{ .eflags = true },
3567439386 .each = .{ .once = &.{
3567539387 .{ ._, ._sd, .ucomi, .src0x, .src1q, ._, ._ },
......@@ -35691,10 +39403,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3569139403 .unused,
3569239404 .unused,
3569339405 },
35694 .dst_temps = .{.{ .cc = switch (optimized) {
39406 .dst_temps = .{ .{ .cc = switch (optimized) {
3569539407 false => .z_and_np,
3569639408 true => .z,
35697 } }},
39409 } }, .unused },
3569839410 .clobbers = .{ .eflags = true },
3569939411 .each = .{ .once = &.{
3570039412 .{ ._, .f_, .ld, .src1q, ._, ._, ._ },
......@@ -35719,10 +39431,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3571939431 .unused,
3572039432 .unused,
3572139433 },
35722 .dst_temps = .{.{ .cc = switch (optimized) {
39434 .dst_temps = .{ .{ .cc = switch (optimized) {
3572339435 false => .z_and_np,
3572439436 true => .z,
35725 } }},
39437 } }, .unused },
3572639438 .clobbers = .{ .eflags = true },
3572739439 .each = .{ .once = &.{
3572839440 .{ ._, .f_, .ld, .src1q, ._, ._, ._ },
......@@ -35748,10 +39460,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3574839460 .unused,
3574939461 .unused,
3575039462 },
35751 .dst_temps = .{.{ .cc = switch (optimized) {
39463 .dst_temps = .{ .{ .cc = switch (optimized) {
3575239464 false => .z,
3575339465 true => .nz,
35754 } }},
39466 } }, .unused },
3575539467 .clobbers = .{ .eflags = true },
3575639468 .each = .{ .once = switch (optimized) {
3575739469 false => &.{
......@@ -35789,10 +39501,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3578939501 .unused,
3579039502 .unused,
3579139503 },
35792 .dst_temps = .{.{ .cc = switch (optimized) {
39504 .dst_temps = .{ .{ .cc = switch (optimized) {
3579339505 false => .z_and_np,
3579439506 true => .z,
35795 } }},
39507 } }, .unused },
3579639508 .clobbers = .{ .eflags = true },
3579739509 .each = .{ .once = &.{
3579839510 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
......@@ -35815,10 +39527,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3581539527 .unused,
3581639528 .unused,
3581739529 },
35818 .dst_temps = .{.{ .cc = switch (optimized) {
39530 .dst_temps = .{ .{ .cc = switch (optimized) {
3581939531 false => .z_and_np,
3582039532 true => .z,
35821 } }},
39533 } }, .unused },
3582239534 .clobbers = .{ .eflags = true },
3582339535 .each = .{ .once = &.{
3582439536 .{ ._, .f_, .ld, .src1t, ._, ._, ._ },
......@@ -35846,10 +39558,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3584639558 .unused,
3584739559 .unused,
3584839560 },
35849 .dst_temps = .{.{ .cc = switch (optimized) {
39561 .dst_temps = .{ .{ .cc = switch (optimized) {
3585039562 false => .z_and_np,
3585139563 true => .z,
35852 } }},
39564 } }, .unused },
3585339565 .clobbers = .{ .eflags = true },
3585439566 .each = .{ .once = &.{
3585539567 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
......@@ -35874,10 +39586,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3587439586 .unused,
3587539587 .unused,
3587639588 },
35877 .dst_temps = .{.{ .cc = switch (optimized) {
39589 .dst_temps = .{ .{ .cc = switch (optimized) {
3587839590 false => .z,
3587939591 true => .nz,
35880 } }},
39592 } }, .unused },
3588139593 .clobbers = .{ .eflags = true },
3588239594 .each = .{ .once = switch (optimized) {
3588339595 false => &.{
......@@ -35915,10 +39627,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3591539627 .unused,
3591639628 .unused,
3591739629 },
35918 .dst_temps = .{.{ .cc = switch (optimized) {
39630 .dst_temps = .{ .{ .cc = switch (optimized) {
3591939631 false => .z,
3592039632 true => .nz,
35921 } }},
39633 } }, .unused },
3592239634 .clobbers = .{ .eflags = true },
3592339635 .each = .{ .once = switch (optimized) {
3592439636 false => &.{
......@@ -35953,7 +39665,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3595339665 .unused,
3595439666 .unused,
3595539667 },
35956 .dst_temps = .{.{ .cc = .z }},
39668 .dst_temps = .{ .{ .cc = .z }, .unused },
3595739669 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3595839670 .each = .{ .once = &.{
3595939671 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -36064,12 +39776,63 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3606439776 try cg.genLocalDebugInfo(inst, ops[0].tracking(cg).short);
3606539777 try ops[0].die(cg);
3606639778 },
39779 .is_null => if (use_old) try cg.airIsNull(inst) else {
39780 const un_op = air_datas[@intFromEnum(inst)].un_op;
39781 const opt_ty = cg.typeOf(un_op);
39782 const opt_repr_is_pl = opt_ty.optionalReprIsPayload(zcu);
39783 const opt_child_ty = opt_ty.optionalChild(zcu);
39784 const opt_child_abi_size: u31 = @intCast(opt_child_ty.abiSize(zcu));
39785 try cg.spillEflagsIfOccupied();
39786 var ops = try cg.tempsFromOperands(inst, .{un_op});
39787 while (try ops[0].toBase(false, cg)) {}
39788 try cg.asmMemoryImmediate(
39789 .{ ._, .cmp },
39790 try ops[0].tracking(cg).short.mem(cg, .{
39791 .size = if (!opt_repr_is_pl)
39792 .byte
39793 else if (opt_child_ty.isSlice(zcu))
39794 .ptr
39795 else
39796 .fromSize(opt_child_abi_size),
39797 .disp = if (opt_repr_is_pl) 0 else opt_child_abi_size,
39798 }),
39799 .u(0),
39800 );
39801 const is_null = try cg.tempInit(.bool, .{ .eflags = .e });
39802 try is_null.finish(inst, &.{un_op}, &ops, cg);
39803 },
39804 .is_non_null => if (use_old) try cg.airIsNonNull(inst) else {
39805 const un_op = air_datas[@intFromEnum(inst)].un_op;
39806 const opt_ty = cg.typeOf(un_op);
39807 const opt_repr_is_pl = opt_ty.optionalReprIsPayload(zcu);
39808 const opt_child_ty = opt_ty.optionalChild(zcu);
39809 const opt_child_abi_size: u31 = @intCast(opt_child_ty.abiSize(zcu));
39810 try cg.spillEflagsIfOccupied();
39811 var ops = try cg.tempsFromOperands(inst, .{un_op});
39812 while (try ops[0].toBase(false, cg)) {}
39813 try cg.asmMemoryImmediate(
39814 .{ ._, .cmp },
39815 try ops[0].tracking(cg).short.mem(cg, .{
39816 .size = if (!opt_repr_is_pl)
39817 .byte
39818 else if (opt_child_ty.isSlice(zcu))
39819 .ptr
39820 else
39821 .fromSize(opt_child_abi_size),
39822 .disp = if (opt_repr_is_pl) 0 else opt_child_abi_size,
39823 }),
39824 .u(0),
39825 );
39826 const is_non_null = try cg.tempInit(.bool, .{ .eflags = .ne });
39827 try is_non_null.finish(inst, &.{un_op}, &ops, cg);
39828 },
3606739829 .is_null_ptr => if (use_old) try cg.airIsNullPtr(inst) else {
3606839830 const un_op = air_datas[@intFromEnum(inst)].un_op;
3606939831 const opt_ty = cg.typeOf(un_op).childType(zcu);
3607039832 const opt_repr_is_pl = opt_ty.optionalReprIsPayload(zcu);
3607139833 const opt_child_ty = opt_ty.optionalChild(zcu);
3607239834 const opt_child_abi_size: u31 = @intCast(opt_child_ty.abiSize(zcu));
39835 try cg.spillEflagsIfOccupied();
3607339836 var ops = try cg.tempsFromOperands(inst, .{un_op});
3607439837 if (!opt_repr_is_pl) try ops[0].toOffset(opt_child_abi_size, cg);
3607539838 while (try ops[0].toLea(cg)) {}
......@@ -36078,7 +39841,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3607839841 try ops[0].tracking(cg).short.deref().mem(cg, .{ .size = if (!opt_repr_is_pl)
3607939842 .byte
3608039843 else if (opt_child_ty.isSlice(zcu))
36081 .qword
39844 .ptr
3608239845 else
3608339846 .fromSize(opt_child_abi_size) }),
3608439847 .u(0),
......@@ -36092,6 +39855,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3609239855 const opt_repr_is_pl = opt_ty.optionalReprIsPayload(zcu);
3609339856 const opt_child_ty = opt_ty.optionalChild(zcu);
3609439857 const opt_child_abi_size: u31 = @intCast(opt_child_ty.abiSize(zcu));
39858 try cg.spillEflagsIfOccupied();
3609539859 var ops = try cg.tempsFromOperands(inst, .{un_op});
3609639860 if (!opt_repr_is_pl) try ops[0].toOffset(opt_child_abi_size, cg);
3609739861 while (try ops[0].toLea(cg)) {}
......@@ -36100,7 +39864,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3610039864 try ops[0].tracking(cg).short.deref().mem(cg, .{ .size = if (!opt_repr_is_pl)
3610139865 .byte
3610239866 else if (opt_child_ty.isSlice(zcu))
36103 .qword
39867 .ptr
3610439868 else
3610539869 .fromSize(opt_child_abi_size) }),
3610639870 .u(0),
......@@ -36108,12 +39872,45 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3610839872 const is_non_null = try cg.tempInit(.bool, .{ .eflags = .ne });
3610939873 try is_non_null.finish(inst, &.{un_op}, &ops, cg);
3611039874 },
39875 .is_err => if (use_old) try cg.airIsErr(inst) else {
39876 const un_op = air_datas[@intFromEnum(inst)].un_op;
39877 const eu_ty = cg.typeOf(un_op);
39878 const eu_err_ty = eu_ty.errorUnionSet(zcu);
39879 const eu_pl_ty = eu_ty.errorUnionPayload(zcu);
39880 const eu_err_off: u31 = @intCast(codegen.errUnionErrorOffset(eu_pl_ty, zcu));
39881 try cg.spillEflagsIfOccupied();
39882 var ops = try cg.tempsFromOperands(inst, .{un_op});
39883 while (try ops[0].toBase(false, cg)) {}
39884 try cg.asmMemoryImmediate(.{ ._, .cmp }, try ops[0].tracking(cg).short.mem(cg, .{
39885 .size = cg.memSize(eu_err_ty),
39886 .disp = eu_err_off,
39887 }), .u(0));
39888 const is_err = try cg.tempInit(.bool, .{ .eflags = .ne });
39889 try is_err.finish(inst, &.{un_op}, &ops, cg);
39890 },
39891 .is_non_err => if (use_old) try cg.airIsNonErr(inst) else {
39892 const un_op = air_datas[@intFromEnum(inst)].un_op;
39893 const eu_ty = cg.typeOf(un_op);
39894 const eu_err_ty = eu_ty.errorUnionSet(zcu);
39895 const eu_pl_ty = eu_ty.errorUnionPayload(zcu);
39896 const eu_err_off: u31 = @intCast(codegen.errUnionErrorOffset(eu_pl_ty, zcu));
39897 try cg.spillEflagsIfOccupied();
39898 var ops = try cg.tempsFromOperands(inst, .{un_op});
39899 while (try ops[0].toBase(false, cg)) {}
39900 try cg.asmMemoryImmediate(.{ ._, .cmp }, try ops[0].tracking(cg).short.mem(cg, .{
39901 .size = cg.memSize(eu_err_ty),
39902 .disp = eu_err_off,
39903 }), .u(0));
39904 const is_non_err = try cg.tempInit(.bool, .{ .eflags = .e });
39905 try is_non_err.finish(inst, &.{un_op}, &ops, cg);
39906 },
3611139907 .is_err_ptr => if (use_old) try cg.airIsErrPtr(inst) else {
3611239908 const un_op = air_datas[@intFromEnum(inst)].un_op;
3611339909 const eu_ty = cg.typeOf(un_op).childType(zcu);
3611439910 const eu_err_ty = eu_ty.errorUnionSet(zcu);
3611539911 const eu_pl_ty = eu_ty.errorUnionPayload(zcu);
36116 const eu_err_off: i32 = @intCast(codegen.errUnionErrorOffset(eu_pl_ty, zcu));
39912 const eu_err_off: u31 = @intCast(codegen.errUnionErrorOffset(eu_pl_ty, zcu));
39913 try cg.spillEflagsIfOccupied();
3611739914 var ops = try cg.tempsFromOperands(inst, .{un_op});
3611839915 try ops[0].toOffset(eu_err_off, cg);
3611939916 while (try ops[0].toLea(cg)) {}
......@@ -36130,7 +39927,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3613039927 const eu_ty = cg.typeOf(un_op).childType(zcu);
3613139928 const eu_err_ty = eu_ty.errorUnionSet(zcu);
3613239929 const eu_pl_ty = eu_ty.errorUnionPayload(zcu);
36133 const eu_err_off: i32 = @intCast(codegen.errUnionErrorOffset(eu_pl_ty, zcu));
39930 const eu_err_off: u31 = @intCast(codegen.errUnionErrorOffset(eu_pl_ty, zcu));
39931 try cg.spillEflagsIfOccupied();
3613439932 var ops = try cg.tempsFromOperands(inst, .{un_op});
3613539933 try ops[0].toOffset(eu_err_off, cg);
3613639934 while (try ops[0].toLea(cg)) {}
......@@ -36202,40 +40000,40 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3620240000 cg.select(&res, &.{ty_op.ty.toType()}, &ops, comptime &.{ .{
3620340001 .required_features = .{ .f16c, null, null, null },
3620440002 .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
36205 .dst_constraints = .{.{ .scalar_float = .{ .of = .word, .is = .word } }},
40003 .dst_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any },
3620640004 .patterns = &.{
3620740005 .{ .src = .{ .to_sse, .none, .none } },
3620840006 },
36209 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
40007 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3621040008 .each = .{ .once = &.{
3621140009 .{ ._, .v_, .cvtps2ph, .dst0q, .src0x, .rm(.{}), ._ },
3621240010 } },
3621340011 }, .{
3621440012 .required_features = .{ .f16c, null, null, null },
3621540013 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },
36216 .dst_constraints = .{.{ .scalar_float = .{ .of = .qword, .is = .word } }},
40014 .dst_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .word } }, .any },
3621740015 .patterns = &.{
3621840016 .{ .src = .{ .to_sse, .none, .none } },
3621940017 },
36220 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
40018 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3622140019 .each = .{ .once = &.{
3622240020 .{ ._, .v_, .cvtps2ph, .dst0q, .src0x, .rm(.{}), ._ },
3622340021 } },
3622440022 }, .{
3622540023 .required_features = .{ .f16c, null, null, null },
3622640024 .src_constraints = .{ .{ .scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any },
36227 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .word } }},
40025 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .word } }, .any },
3622840026 .patterns = &.{
3622940027 .{ .src = .{ .to_sse, .none, .none } },
3623040028 },
36231 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
40029 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3623240030 .each = .{ .once = &.{
3623340031 .{ ._, .v_, .cvtps2ph, .dst0x, .src0y, .rm(.{}), ._ },
3623440032 } },
3623540033 }, .{
3623640034 .required_features = .{ .sse, null, null, null },
3623740035 .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
36238 .dst_constraints = .{.{ .scalar_float = .{ .of = .word, .is = .word } }},
40036 .dst_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any },
3623940037 .patterns = &.{
3624040038 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
3624140039 },
......@@ -36251,7 +40049,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3625140049 .unused,
3625240050 .unused,
3625340051 },
36254 .dst_temps = .{.{ .ref = .src0 }},
40052 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3625540053 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3625640054 .each = .{ .once = &.{
3625740055 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -36259,7 +40057,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3625940057 }, .{
3626040058 .required_features = .{ .f16c, null, null, null },
3626140059 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any },
36262 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }},
40060 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, .any },
3626340061 .patterns = &.{
3626440062 .{ .src = .{ .to_mem, .none, .none } },
3626540063 },
......@@ -36274,7 +40072,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3627440072 .unused,
3627540073 .unused,
3627640074 },
36277 .dst_temps = .{.mem},
40075 .dst_temps = .{ .mem, .unused },
3627840076 .clobbers = .{ .eflags = true },
3627940077 .each = .{ .once = &.{
3628040078 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -36286,7 +40084,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3628640084 }, .{
3628740085 .required_features = .{ .avx, null, null, null },
3628840086 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
36289 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
40087 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
3629040088 .patterns = &.{
3629140089 .{ .src = .{ .to_mem, .none, .none } },
3629240090 },
......@@ -36302,7 +40100,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3630240100 .unused,
3630340101 .unused,
3630440102 },
36305 .dst_temps = .{.mem},
40103 .dst_temps = .{ .mem, .unused },
3630640104 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3630740105 .each = .{ .once = &.{
3630840106 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -36315,7 +40113,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3631540113 }, .{
3631640114 .required_features = .{ .sse4_1, null, null, null },
3631740115 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
36318 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
40116 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
3631940117 .patterns = &.{
3632040118 .{ .src = .{ .to_mem, .none, .none } },
3632140119 },
......@@ -36331,7 +40129,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3633140129 .unused,
3633240130 .unused,
3633340131 },
36334 .dst_temps = .{.mem},
40132 .dst_temps = .{ .mem, .unused },
3633540133 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3633640134 .each = .{ .once = &.{
3633740135 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -36344,7 +40142,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3634440142 }, .{
3634540143 .required_features = .{ .sse2, null, null, null },
3634640144 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
36347 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
40145 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
3634840146 .patterns = &.{
3634940147 .{ .src = .{ .to_mem, .none, .none } },
3635040148 },
......@@ -36360,7 +40158,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3636040158 .unused,
3636140159 .unused,
3636240160 },
36363 .dst_temps = .{.mem},
40161 .dst_temps = .{ .mem, .unused },
3636440162 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3636540163 .each = .{ .once = &.{
3636640164 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -36374,7 +40172,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3637440172 }, .{
3637540173 .required_features = .{ .sse, null, null, null },
3637640174 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
36377 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
40175 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
3637840176 .patterns = &.{
3637940177 .{ .src = .{ .to_mem, .none, .none } },
3638040178 },
......@@ -36390,7 +40188,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3639040188 .unused,
3639140189 .unused,
3639240190 },
36393 .dst_temps = .{.mem},
40191 .dst_temps = .{ .mem, .unused },
3639440192 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3639540193 .each = .{ .once = &.{
3639640194 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -36405,7 +40203,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3640540203 }, .{
3640640204 .required_features = .{ .sse, null, null, null },
3640740205 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
36408 .dst_constraints = .{.{ .scalar_float = .{ .of = .word, .is = .word } }},
40206 .dst_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any },
3640940207 .patterns = &.{
3641040208 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
3641140209 },
......@@ -36421,7 +40219,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3642140219 .unused,
3642240220 .unused,
3642340221 },
36424 .dst_temps = .{.{ .ref = .src0 }},
40222 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3642540223 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3642640224 .each = .{ .once = &.{
3642740225 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -36429,7 +40227,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3642940227 }, .{
3643040228 .required_features = .{ .avx, null, null, null },
3643140229 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
36432 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
40230 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
3643340231 .patterns = &.{
3643440232 .{ .src = .{ .to_mem, .none, .none } },
3643540233 },
......@@ -36445,7 +40243,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3644540243 .unused,
3644640244 .unused,
3644740245 },
36448 .dst_temps = .{.mem},
40246 .dst_temps = .{ .mem, .unused },
3644940247 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3645040248 .each = .{ .once = &.{
3645140249 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -36458,7 +40256,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3645840256 }, .{
3645940257 .required_features = .{ .sse4_1, null, null, null },
3646040258 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
36461 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
40259 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
3646240260 .patterns = &.{
3646340261 .{ .src = .{ .to_mem, .none, .none } },
3646440262 },
......@@ -36474,7 +40272,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3647440272 .unused,
3647540273 .unused,
3647640274 },
36477 .dst_temps = .{.mem},
40275 .dst_temps = .{ .mem, .unused },
3647840276 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3647940277 .each = .{ .once = &.{
3648040278 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -36487,7 +40285,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3648740285 }, .{
3648840286 .required_features = .{ .sse2, null, null, null },
3648940287 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
36490 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
40288 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
3649140289 .patterns = &.{
3649240290 .{ .src = .{ .to_mem, .none, .none } },
3649340291 },
......@@ -36503,7 +40301,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3650340301 .unused,
3650440302 .unused,
3650540303 },
36506 .dst_temps = .{.mem},
40304 .dst_temps = .{ .mem, .unused },
3650740305 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3650840306 .each = .{ .once = &.{
3650940307 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -36517,7 +40315,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3651740315 }, .{
3651840316 .required_features = .{ .sse, null, null, null },
3651940317 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
36520 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
40318 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
3652140319 .patterns = &.{
3652240320 .{ .src = .{ .to_mem, .none, .none } },
3652340321 },
......@@ -36533,7 +40331,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3653340331 .unused,
3653440332 .unused,
3653540333 },
36536 .dst_temps = .{.mem},
40334 .dst_temps = .{ .mem, .unused },
3653740335 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3653840336 .each = .{ .once = &.{
3653940337 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -36549,11 +40347,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3654940347 }, .{
3655040348 .required_features = .{ .avx, null, null, null },
3655140349 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
36552 .dst_constraints = .{.{ .scalar_float = .{ .of = .dword, .is = .dword } }},
40350 .dst_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any },
3655340351 .patterns = &.{
3655440352 .{ .src = .{ .mem, .none, .none } },
3655540353 },
36556 .dst_temps = .{.{ .rc = .sse }},
40354 .dst_temps = .{ .{ .rc = .sse }, .unused },
3655740355 .each = .{ .once = &.{
3655840356 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
3655940357 .{ ._, .v_ss, .cvtsd2, .dst0x, .dst0x, .src0q, ._ },
......@@ -36561,23 +40359,23 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3656140359 }, .{
3656240360 .required_features = .{ .avx, null, null, null },
3656340361 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
36564 .dst_constraints = .{.{ .scalar_float = .{ .of = .dword, .is = .dword } }},
40362 .dst_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any },
3656540363 .patterns = &.{
3656640364 .{ .src = .{ .to_sse, .none, .none } },
3656740365 },
36568 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
40366 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3656940367 .each = .{ .once = &.{
3657040368 .{ ._, .v_ss, .cvtsd2, .dst0x, .src0x, .src0q, ._ },
3657140369 } },
3657240370 }, .{
3657340371 .required_features = .{ .sse2, null, null, null },
3657440372 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
36575 .dst_constraints = .{.{ .scalar_float = .{ .of = .dword, .is = .dword } }},
40373 .dst_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any },
3657640374 .patterns = &.{
3657740375 .{ .src = .{ .mem, .none, .none } },
3657840376 .{ .src = .{ .to_sse, .none, .none } },
3657940377 },
36580 .dst_temps = .{.{ .rc = .sse }},
40378 .dst_temps = .{ .{ .rc = .sse }, .unused },
3658140379 .each = .{ .once = &.{
3658240380 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },
3658340381 .{ ._, ._ss, .cvtsd2, .dst0x, .src0q, ._, ._ },
......@@ -36585,7 +40383,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3658540383 }, .{
3658640384 .required_features = .{ .x87, null, null, null },
3658740385 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
36588 .dst_constraints = .{.{ .scalar_float = .{ .of = .dword, .is = .dword } }},
40386 .dst_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any },
3658940387 .patterns = &.{
3659040388 .{ .src = .{ .to_mem, .none, .none } },
3659140389 },
......@@ -36600,7 +40398,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3660040398 .unused,
3660140399 .unused,
3660240400 },
36603 .dst_temps = .{.mem},
40401 .dst_temps = .{ .mem, .unused },
3660440402 .each = .{ .once = &.{
3660540403 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
3660640404 .{ ._, .f_p, .st, .dst0d, ._, ._, ._ },
......@@ -36608,43 +40406,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3660840406 }, .{
3660940407 .required_features = .{ .avx, null, null, null },
3661040408 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any },
36611 .dst_constraints = .{.{ .scalar_float = .{ .of = .qword, .is = .dword } }},
40409 .dst_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .dword } }, .any },
3661240410 .patterns = &.{
3661340411 .{ .src = .{ .mem, .none, .none } },
3661440412 .{ .src = .{ .to_sse, .none, .none } },
3661540413 },
36616 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
40414 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3661740415 .each = .{ .once = &.{
3661840416 .{ ._, .v_ps, .cvtpd2, .dst0x, .src0x, ._, ._ },
3661940417 } },
3662040418 }, .{
3662140419 .required_features = .{ .sse2, null, null, null },
3662240420 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any },
36623 .dst_constraints = .{.{ .scalar_float = .{ .of = .qword, .is = .dword } }},
40421 .dst_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .dword } }, .any },
3662440422 .patterns = &.{
3662540423 .{ .src = .{ .mem, .none, .none } },
3662640424 .{ .src = .{ .to_sse, .none, .none } },
3662740425 },
36628 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
40426 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3662940427 .each = .{ .once = &.{
3663040428 .{ ._, ._ps, .cvtpd2, .dst0x, .src0x, ._, ._ },
3663140429 } },
3663240430 }, .{
3663340431 .required_features = .{ .avx, null, null, null },
3663440432 .src_constraints = .{ .{ .scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any },
36635 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .dword } }},
40433 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any },
3663640434 .patterns = &.{
3663740435 .{ .src = .{ .mem, .none, .none } },
3663840436 .{ .src = .{ .to_sse, .none, .none } },
3663940437 },
36640 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
40438 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3664140439 .each = .{ .once = &.{
3664240440 .{ ._, .v_ps, .cvtpd2, .dst0x, .src0y, ._, ._ },
3664340441 } },
3664440442 }, .{
3664540443 .required_features = .{ .avx, null, null, null },
3664640444 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any },
36647 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }},
40445 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any },
3664840446 .patterns = &.{
3664940447 .{ .src = .{ .to_mem, .none, .none } },
3665040448 },
......@@ -36659,7 +40457,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3665940457 .unused,
3666040458 .unused,
3666140459 },
36662 .dst_temps = .{.mem},
40460 .dst_temps = .{ .mem, .unused },
3666340461 .clobbers = .{ .eflags = true },
3666440462 .each = .{ .once = &.{
3666540463 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -36671,7 +40469,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3667140469 }, .{
3667240470 .required_features = .{ .sse2, null, null, null },
3667340471 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any },
36674 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }},
40472 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any },
3667540473 .patterns = &.{
3667640474 .{ .src = .{ .to_mem, .none, .none } },
3667740475 },
......@@ -36686,7 +40484,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3668640484 .unused,
3668740485 .unused,
3668840486 },
36689 .dst_temps = .{.mem},
40487 .dst_temps = .{ .mem, .unused },
3669040488 .clobbers = .{ .eflags = true },
3669140489 .each = .{ .once = &.{
3669240490 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -36698,7 +40496,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3669840496 }, .{
3669940497 .required_features = .{ .x87, null, null, null },
3670040498 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
36701 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
40499 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
3670240500 .patterns = &.{
3670340501 .{ .src = .{ .to_mem, .none, .none } },
3670440502 },
......@@ -36713,7 +40511,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3671340511 .unused,
3671440512 .unused,
3671540513 },
36716 .dst_temps = .{.mem},
40514 .dst_temps = .{ .mem, .unused },
3671740515 .clobbers = .{ .eflags = true },
3671840516 .each = .{ .once = &.{
3671940517 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -36725,7 +40523,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3672540523 }, .{
3672640524 .required_features = .{ .avx, null, null, null },
3672740525 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
36728 .dst_constraints = .{.{ .scalar_float = .{ .of = .word, .is = .word } }},
40526 .dst_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any },
3672940527 .patterns = &.{
3673040528 .{ .src = .{ .to_mem, .none, .none } },
3673140529 },
......@@ -36741,7 +40539,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3674140539 .unused,
3674240540 .unused,
3674340541 },
36744 .dst_temps = .{.{ .reg = .xmm0 }},
40542 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
3674540543 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3674640544 .each = .{ .once = &.{
3674740545 .{ ._, .v_dqa, .mov, .dst0x, .mem(.src0x), ._, ._ },
......@@ -36751,7 +40549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3675140549 }, .{
3675240550 .required_features = .{ .sse2, null, null, null },
3675340551 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
36754 .dst_constraints = .{.{ .scalar_float = .{ .of = .word, .is = .word } }},
40552 .dst_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any },
3675540553 .patterns = &.{
3675640554 .{ .src = .{ .to_mem, .none, .none } },
3675740555 },
......@@ -36767,7 +40565,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3676740565 .unused,
3676840566 .unused,
3676940567 },
36770 .dst_temps = .{.{ .reg = .xmm0 }},
40568 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
3677140569 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3677240570 .each = .{ .once = &.{
3677340571 .{ ._, ._dqa, .mov, .dst0x, .mem(.src0x), ._, ._ },
......@@ -36777,7 +40575,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3677740575 }, .{
3677840576 .required_features = .{ .sse, null, null, null },
3677940577 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
36780 .dst_constraints = .{.{ .scalar_float = .{ .of = .word, .is = .word } }},
40578 .dst_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any },
3678140579 .patterns = &.{
3678240580 .{ .src = .{ .to_mem, .none, .none } },
3678340581 },
......@@ -36793,7 +40591,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3679340591 .unused,
3679440592 .unused,
3679540593 },
36796 .dst_temps = .{.{ .reg = .xmm0 }},
40594 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
3679740595 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3679840596 .each = .{ .once = &.{
3679940597 .{ ._, ._ps, .mova, .dst0x, .mem(.src0x), ._, ._ },
......@@ -36803,7 +40601,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3680340601 }, .{
3680440602 .required_features = .{ .avx, null, null, null },
3680540603 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
36806 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
40604 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
3680740605 .patterns = &.{
3680840606 .{ .src = .{ .to_mem, .none, .none } },
3680940607 },
......@@ -36819,7 +40617,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3681940617 .unused,
3682040618 .unused,
3682140619 },
36822 .dst_temps = .{.mem},
40620 .dst_temps = .{ .mem, .unused },
3682340621 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3682440622 .each = .{ .once = &.{
3682540623 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -36833,7 +40631,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3683340631 }, .{
3683440632 .required_features = .{ .sse4_1, null, null, null },
3683540633 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
36836 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
40634 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
3683740635 .patterns = &.{
3683840636 .{ .src = .{ .to_mem, .none, .none } },
3683940637 },
......@@ -36849,7 +40647,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3684940647 .unused,
3685040648 .unused,
3685140649 },
36852 .dst_temps = .{.mem},
40650 .dst_temps = .{ .mem, .unused },
3685340651 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3685440652 .each = .{ .once = &.{
3685540653 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -36863,7 +40661,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3686340661 }, .{
3686440662 .required_features = .{ .sse2, null, null, null },
3686540663 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
36866 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
40664 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
3686740665 .patterns = &.{
3686840666 .{ .src = .{ .to_mem, .none, .none } },
3686940667 },
......@@ -36879,7 +40677,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3687940677 .unused,
3688040678 .unused,
3688140679 },
36882 .dst_temps = .{.mem},
40680 .dst_temps = .{ .mem, .unused },
3688340681 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3688440682 .each = .{ .once = &.{
3688540683 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -36894,7 +40692,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3689440692 }, .{
3689540693 .required_features = .{ .sse, null, null, null },
3689640694 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
36897 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
40695 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
3689840696 .patterns = &.{
3689940697 .{ .src = .{ .to_mem, .none, .none } },
3690040698 },
......@@ -36910,7 +40708,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3691040708 .unused,
3691140709 .unused,
3691240710 },
36913 .dst_temps = .{.mem},
40711 .dst_temps = .{ .mem, .unused },
3691440712 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3691540713 .each = .{ .once = &.{
3691640714 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -36926,7 +40724,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3692640724 }, .{
3692740725 .required_features = .{ .x87, null, null, null },
3692840726 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
36929 .dst_constraints = .{.{ .scalar_float = .{ .of = .dword, .is = .dword } }},
40727 .dst_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any },
3693040728 .patterns = &.{
3693140729 .{ .src = .{ .mem, .none, .none } },
3693240730 .{ .src = .{ .to_x87, .none, .none } },
......@@ -36942,7 +40740,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3694240740 .unused,
3694340741 .unused,
3694440742 },
36945 .dst_temps = .{.mem},
40743 .dst_temps = .{ .mem, .unused },
3694640744 .each = .{ .once = &.{
3694740745 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
3694840746 .{ ._, .f_p, .st, .dst0d, ._, ._, ._ },
......@@ -36950,7 +40748,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3695040748 }, .{
3695140749 .required_features = .{ .x87, null, null, null },
3695240750 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
36953 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
40751 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
3695440752 .patterns = &.{
3695540753 .{ .src = .{ .to_mem, .none, .none } },
3695640754 },
......@@ -36965,7 +40763,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3696540763 .unused,
3696640764 .unused,
3696740765 },
36968 .dst_temps = .{.mem},
40766 .dst_temps = .{ .mem, .unused },
3696940767 .clobbers = .{ .eflags = true },
3697040768 .each = .{ .once = &.{
3697140769 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -36977,7 +40775,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3697740775 }, .{
3697840776 .required_features = .{ .x87, null, null, null },
3697940777 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
36980 .dst_constraints = .{.{ .scalar_float = .{ .of = .qword, .is = .qword } }},
40778 .dst_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any },
3698140779 .patterns = &.{
3698240780 .{ .src = .{ .mem, .none, .none } },
3698340781 .{ .src = .{ .to_x87, .none, .none } },
......@@ -36993,7 +40791,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3699340791 .unused,
3699440792 .unused,
3699540793 },
36996 .dst_temps = .{.mem},
40794 .dst_temps = .{ .mem, .unused },
3699740795 .each = .{ .once = &.{
3699840796 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
3699940797 .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },
......@@ -37001,7 +40799,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3700140799 }, .{
3700240800 .required_features = .{ .x87, null, null, null },
3700340801 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
37004 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
40802 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
3700540803 .patterns = &.{
3700640804 .{ .src = .{ .to_mem, .none, .none } },
3700740805 },
......@@ -37016,7 +40814,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3701640814 .unused,
3701740815 .unused,
3701840816 },
37019 .dst_temps = .{.mem},
40817 .dst_temps = .{ .mem, .unused },
3702040818 .clobbers = .{ .eflags = true },
3702140819 .each = .{ .once = &.{
3702240820 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -37028,7 +40826,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3702840826 }, .{
3702940827 .required_features = .{ .sse, null, null, null },
3703040828 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
37031 .dst_constraints = .{.{ .scalar_float = .{ .of = .word, .is = .word } }},
40829 .dst_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any },
3703240830 .patterns = &.{
3703340831 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
3703440832 },
......@@ -37044,7 +40842,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3704440842 .unused,
3704540843 .unused,
3704640844 },
37047 .dst_temps = .{.{ .ref = .src0 }},
40845 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3704840846 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3704940847 .each = .{ .once = &.{
3705040848 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -37052,7 +40850,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3705240850 }, .{
3705340851 .required_features = .{ .avx, null, null, null },
3705440852 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
37055 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
40853 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
3705640854 .patterns = &.{
3705740855 .{ .src = .{ .to_mem, .none, .none } },
3705840856 },
......@@ -37068,7 +40866,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3706840866 .unused,
3706940867 .unused,
3707040868 },
37071 .dst_temps = .{.mem},
40869 .dst_temps = .{ .mem, .unused },
3707240870 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3707340871 .each = .{ .once = &.{
3707440872 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -37081,7 +40879,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3708140879 }, .{
3708240880 .required_features = .{ .sse4_1, null, null, null },
3708340881 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
37084 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
40882 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
3708540883 .patterns = &.{
3708640884 .{ .src = .{ .to_mem, .none, .none } },
3708740885 },
......@@ -37097,7 +40895,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3709740895 .unused,
3709840896 .unused,
3709940897 },
37100 .dst_temps = .{.mem},
40898 .dst_temps = .{ .mem, .unused },
3710140899 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3710240900 .each = .{ .once = &.{
3710340901 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -37110,7 +40908,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3711040908 }, .{
3711140909 .required_features = .{ .sse2, null, null, null },
3711240910 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
37113 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
40911 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
3711440912 .patterns = &.{
3711540913 .{ .src = .{ .to_mem, .none, .none } },
3711640914 },
......@@ -37126,7 +40924,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3712640924 .unused,
3712740925 .unused,
3712840926 },
37129 .dst_temps = .{.mem},
40927 .dst_temps = .{ .mem, .unused },
3713040928 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3713140929 .each = .{ .once = &.{
3713240930 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -37140,7 +40938,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3714040938 }, .{
3714140939 .required_features = .{ .sse, null, null, null },
3714240940 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
37143 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
40941 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
3714440942 .patterns = &.{
3714540943 .{ .src = .{ .to_mem, .none, .none } },
3714640944 },
......@@ -37156,7 +40954,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3715640954 .unused,
3715740955 .unused,
3715840956 },
37159 .dst_temps = .{.mem},
40957 .dst_temps = .{ .mem, .unused },
3716040958 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3716140959 .each = .{ .once = &.{
3716240960 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -37171,7 +40969,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3717140969 }, .{
3717240970 .required_features = .{ .sse, null, null, null },
3717340971 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
37174 .dst_constraints = .{.{ .scalar_float = .{ .of = .dword, .is = .dword } }},
40972 .dst_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any },
3717540973 .patterns = &.{
3717640974 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
3717740975 },
......@@ -37187,7 +40985,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3718740985 .unused,
3718840986 .unused,
3718940987 },
37190 .dst_temps = .{.{ .ref = .src0 }},
40988 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3719140989 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3719240990 .each = .{ .once = &.{
3719340991 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -37195,7 +40993,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3719540993 }, .{
3719640994 .required_features = .{ .avx, null, null, null },
3719740995 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
37198 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
40996 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
3719940997 .patterns = &.{
3720040998 .{ .src = .{ .to_mem, .none, .none } },
3720140999 },
......@@ -37211,7 +41009,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3721141009 .unused,
3721241010 .unused,
3721341011 },
37214 .dst_temps = .{.mem},
41012 .dst_temps = .{ .mem, .unused },
3721541013 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3721641014 .each = .{ .once = &.{
3721741015 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -37224,7 +41022,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3722441022 }, .{
3722541023 .required_features = .{ .sse2, null, null, null },
3722641024 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
37227 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
41025 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
3722841026 .patterns = &.{
3722941027 .{ .src = .{ .to_mem, .none, .none } },
3723041028 },
......@@ -37240,7 +41038,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3724041038 .unused,
3724141039 .unused,
3724241040 },
37243 .dst_temps = .{.mem},
41041 .dst_temps = .{ .mem, .unused },
3724441042 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3724541043 .each = .{ .once = &.{
3724641044 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -37253,7 +41051,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3725341051 }, .{
3725441052 .required_features = .{ .sse, null, null, null },
3725541053 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
37256 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
41054 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
3725741055 .patterns = &.{
3725841056 .{ .src = .{ .to_mem, .none, .none } },
3725941057 },
......@@ -37269,7 +41067,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3726941067 .unused,
3727041068 .unused,
3727141069 },
37272 .dst_temps = .{.mem},
41070 .dst_temps = .{ .mem, .unused },
3727341071 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3727441072 .each = .{ .once = &.{
3727541073 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -37282,7 +41080,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3728241080 }, .{
3728341081 .required_features = .{ .sse, null, null, null },
3728441082 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
37285 .dst_constraints = .{.{ .scalar_float = .{ .of = .qword, .is = .qword } }},
41083 .dst_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any },
3728641084 .patterns = &.{
3728741085 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
3728841086 },
......@@ -37298,7 +41096,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3729841096 .unused,
3729941097 .unused,
3730041098 },
37301 .dst_temps = .{.{ .ref = .src0 }},
41099 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3730241100 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3730341101 .each = .{ .once = &.{
3730441102 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -37306,7 +41104,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3730641104 }, .{
3730741105 .required_features = .{ .avx, null, null, null },
3730841106 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
37309 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
41107 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
3731041108 .patterns = &.{
3731141109 .{ .src = .{ .to_mem, .none, .none } },
3731241110 },
......@@ -37322,7 +41120,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3732241120 .unused,
3732341121 .unused,
3732441122 },
37325 .dst_temps = .{.mem},
41123 .dst_temps = .{ .mem, .unused },
3732641124 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3732741125 .each = .{ .once = &.{
3732841126 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -37335,7 +41133,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3733541133 }, .{
3733641134 .required_features = .{ .sse2, null, null, null },
3733741135 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
37338 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
41136 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
3733941137 .patterns = &.{
3734041138 .{ .src = .{ .to_mem, .none, .none } },
3734141139 },
......@@ -37351,7 +41149,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3735141149 .unused,
3735241150 .unused,
3735341151 },
37354 .dst_temps = .{.mem},
41152 .dst_temps = .{ .mem, .unused },
3735541153 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3735641154 .each = .{ .once = &.{
3735741155 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -37364,7 +41162,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3736441162 }, .{
3736541163 .required_features = .{ .sse, null, null, null },
3736641164 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
37367 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
41165 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
3736841166 .patterns = &.{
3736941167 .{ .src = .{ .to_mem, .none, .none } },
3737041168 },
......@@ -37380,7 +41178,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3738041178 .unused,
3738141179 .unused,
3738241180 },
37383 .dst_temps = .{.mem},
41181 .dst_temps = .{ .mem, .unused },
3738441182 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3738541183 .each = .{ .once = &.{
3738641184 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -37393,7 +41191,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3739341191 }, .{
3739441192 .required_features = .{ .sse, .x87, null, null },
3739541193 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
37396 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .tbyte } }},
41194 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
3739741195 .patterns = &.{
3739841196 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
3739941197 },
......@@ -37409,7 +41207,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3740941207 .unused,
3741041208 .unused,
3741141209 },
37412 .dst_temps = .{.{ .reg = .st0 }},
41210 .dst_temps = .{ .{ .reg = .st0 }, .unused },
3741341211 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3741441212 .each = .{ .once = &.{
3741541213 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -37417,7 +41215,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3741741215 }, .{
3741841216 .required_features = .{ .avx, null, null, null },
3741941217 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
37420 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }},
41218 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
3742141219 .patterns = &.{
3742241220 .{ .src = .{ .to_mem, .none, .none } },
3742341221 },
......@@ -37433,7 +41231,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3743341231 .unused,
3743441232 .unused,
3743541233 },
37436 .dst_temps = .{.mem},
41234 .dst_temps = .{ .mem, .unused },
3743741235 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3743841236 .each = .{ .once = &.{
3743941237 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -37447,7 +41245,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3744741245 }, .{
3744841246 .required_features = .{ .sse2, null, null, null },
3744941247 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
37450 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }},
41248 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
3745141249 .patterns = &.{
3745241250 .{ .src = .{ .to_mem, .none, .none } },
3745341251 },
......@@ -37463,7 +41261,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3746341261 .unused,
3746441262 .unused,
3746541263 },
37466 .dst_temps = .{.mem},
41264 .dst_temps = .{ .mem, .unused },
3746741265 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3746841266 .each = .{ .once = &.{
3746941267 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -37477,7 +41275,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3747741275 }, .{
3747841276 .required_features = .{ .sse, null, null, null },
3747941277 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
37480 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }},
41278 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
3748141279 .patterns = &.{
3748241280 .{ .src = .{ .to_mem, .none, .none } },
3748341281 },
......@@ -37493,7 +41291,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3749341291 .unused,
3749441292 .unused,
3749541293 },
37496 .dst_temps = .{.mem},
41294 .dst_temps = .{ .mem, .unused },
3749741295 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3749841296 .each = .{ .once = &.{
3749941297 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -37522,42 +41320,42 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3752241320 cg.select(&res, &.{ty_op.ty.toType()}, &ops, comptime &.{ .{
3752341321 .required_features = .{ .f16c, null, null, null },
3752441322 .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
37525 .dst_constraints = .{.{ .scalar_float = .{ .of = .dword, .is = .dword } }},
41323 .dst_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any },
3752641324 .patterns = &.{
3752741325 .{ .src = .{ .to_sse, .none, .none } },
3752841326 },
37529 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
41327 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3753041328 .each = .{ .once = &.{
3753141329 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
3753241330 } },
3753341331 }, .{
3753441332 .required_features = .{ .f16c, null, null, null },
3753541333 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .word } }, .any, .any },
37536 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .dword } }},
41334 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any },
3753741335 .patterns = &.{
3753841336 .{ .src = .{ .mem, .none, .none } },
3753941337 .{ .src = .{ .to_sse, .none, .none } },
3754041338 },
37541 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
41339 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3754241340 .each = .{ .once = &.{
3754341341 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
3754441342 } },
3754541343 }, .{
3754641344 .required_features = .{ .f16c, null, null, null },
3754741345 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .word } }, .any, .any },
37548 .dst_constraints = .{.{ .scalar_float = .{ .of = .yword, .is = .dword } }},
41346 .dst_constraints = .{ .{ .scalar_float = .{ .of = .yword, .is = .dword } }, .any },
3754941347 .patterns = &.{
3755041348 .{ .src = .{ .mem, .none, .none } },
3755141349 .{ .src = .{ .to_sse, .none, .none } },
3755241350 },
37553 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
41351 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3755441352 .each = .{ .once = &.{
3755541353 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
3755641354 } },
3755741355 }, .{
3755841356 .required_features = .{ .sse, null, null, null },
3755941357 .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
37560 .dst_constraints = .{.{ .scalar_float = .{ .of = .dword, .is = .dword } }},
41358 .dst_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any },
3756141359 .patterns = &.{
3756241360 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
3756341361 },
......@@ -37573,7 +41371,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3757341371 .unused,
3757441372 .unused,
3757541373 },
37576 .dst_temps = .{.{ .ref = .src0 }},
41374 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3757741375 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3757841376 .each = .{ .once = &.{
3757941377 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -37581,7 +41379,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3758141379 }, .{
3758241380 .required_features = .{ .f16c, null, null, null },
3758341381 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any },
37584 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }},
41382 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, .any },
3758541383 .patterns = &.{
3758641384 .{ .src = .{ .to_mem, .none, .none } },
3758741385 },
......@@ -37596,7 +41394,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3759641394 .unused,
3759741395 .unused,
3759841396 },
37599 .dst_temps = .{.mem},
41397 .dst_temps = .{ .mem, .unused },
3760041398 .clobbers = .{ .eflags = true },
3760141399 .each = .{ .once = &.{
3760241400 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -37608,7 +41406,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3760841406 }, .{
3760941407 .required_features = .{ .avx, null, null, null },
3761041408 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
37611 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
41409 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
3761241410 .patterns = &.{
3761341411 .{ .src = .{ .to_mem, .none, .none } },
3761441412 },
......@@ -37624,7 +41422,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3762441422 .unused,
3762541423 .unused,
3762641424 },
37627 .dst_temps = .{.mem},
41425 .dst_temps = .{ .mem, .unused },
3762841426 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3762941427 .each = .{ .once = &.{
3763041428 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -37638,7 +41436,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3763841436 }, .{
3763941437 .required_features = .{ .sse2, null, null, null },
3764041438 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
37641 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
41439 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
3764241440 .patterns = &.{
3764341441 .{ .src = .{ .to_mem, .none, .none } },
3764441442 },
......@@ -37654,7 +41452,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3765441452 .unused,
3765541453 .unused,
3765641454 },
37657 .dst_temps = .{.mem},
41455 .dst_temps = .{ .mem, .unused },
3765841456 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3765941457 .each = .{ .once = &.{
3766041458 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -37668,7 +41466,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3766841466 }, .{
3766941467 .required_features = .{ .sse, null, null, null },
3767041468 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
37671 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
41469 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
3767241470 .patterns = &.{
3767341471 .{ .src = .{ .to_mem, .none, .none } },
3767441472 },
......@@ -37684,7 +41482,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3768441482 .unused,
3768541483 .unused,
3768641484 },
37687 .dst_temps = .{.mem},
41485 .dst_temps = .{ .mem, .unused },
3768841486 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3768941487 .each = .{ .once = &.{
3769041488 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -37699,11 +41497,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3769941497 }, .{
3770041498 .required_features = .{ .f16c, null, null, null },
3770141499 .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
37702 .dst_constraints = .{.{ .scalar_float = .{ .of = .qword, .is = .qword } }},
41500 .dst_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any },
3770341501 .patterns = &.{
3770441502 .{ .src = .{ .to_sse, .none, .none } },
3770541503 },
37706 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
41504 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3770741505 .each = .{ .once = &.{
3770841506 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
3770941507 .{ ._, .v_sd, .cvtss2, .dst0x, .dst0x, .dst0d, ._ },
......@@ -37711,12 +41509,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3771141509 }, .{
3771241510 .required_features = .{ .f16c, null, null, null },
3771341511 .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .word } }, .any, .any },
37714 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .qword } }},
41512 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any },
3771541513 .patterns = &.{
3771641514 .{ .src = .{ .mem, .none, .none } },
3771741515 .{ .src = .{ .to_sse, .none, .none } },
3771841516 },
37719 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
41517 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3772041518 .each = .{ .once = &.{
3772141519 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
3772241520 .{ ._, .v_pd, .cvtps2, .dst0x, .dst0q, ._, ._ },
......@@ -37724,12 +41522,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3772441522 }, .{
3772541523 .required_features = .{ .f16c, null, null, null },
3772641524 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .word } }, .any, .any },
37727 .dst_constraints = .{.{ .scalar_float = .{ .of = .yword, .is = .qword } }},
41525 .dst_constraints = .{ .{ .scalar_float = .{ .of = .yword, .is = .qword } }, .any },
3772841526 .patterns = &.{
3772941527 .{ .src = .{ .mem, .none, .none } },
3773041528 .{ .src = .{ .to_sse, .none, .none } },
3773141529 },
37732 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
41530 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3773341531 .each = .{ .once = &.{
3773441532 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
3773541533 .{ ._, .v_pd, .cvtps2, .dst0y, .dst0x, ._, ._ },
......@@ -37737,7 +41535,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3773741535 }, .{
3773841536 .required_features = .{ .f16c, null, null, null },
3773941537 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .word } }, .any, .any },
37740 .dst_constraints = .{.{ .scalar_float = .{ .of = .zword, .is = .qword } }},
41538 .dst_constraints = .{ .{ .scalar_float = .{ .of = .zword, .is = .qword } }, .any },
3774141539 .patterns = &.{
3774241540 .{ .src = .{ .mem, .none, .none } },
3774341541 .{ .src = .{ .to_sse, .none, .none } },
......@@ -37753,7 +41551,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3775341551 .unused,
3775441552 .unused,
3775541553 },
37756 .dst_temps = .{.mem},
41554 .dst_temps = .{ .mem, .unused },
3775741555 .each = .{ .once = &.{
3775841556 .{ ._, .v_ps, .cvtph2, .tmp0y, .src0x, ._, ._ },
3775941557 .{ ._, .v_pd, .cvtps2, .tmp1y, .tmp0x, ._, ._ },
......@@ -37765,7 +41563,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3776541563 }, .{
3776641564 .required_features = .{ .sse, null, null, null },
3776741565 .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
37768 .dst_constraints = .{.{ .scalar_float = .{ .of = .qword, .is = .qword } }},
41566 .dst_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any },
3776941567 .patterns = &.{
3777041568 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
3777141569 },
......@@ -37781,7 +41579,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3778141579 .unused,
3778241580 .unused,
3778341581 },
37784 .dst_temps = .{.{ .ref = .src0 }},
41582 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3778541583 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3778641584 .each = .{ .once = &.{
3778741585 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -37789,7 +41587,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3778941587 }, .{
3779041588 .required_features = .{ .f16c, null, null, null },
3779141589 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any },
37792 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .zword, .is = .qword } }},
41590 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .zword, .is = .qword } }, .any },
3779341591 .patterns = &.{
3779441592 .{ .src = .{ .to_mem, .none, .none } },
3779541593 },
......@@ -37804,7 +41602,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3780441602 .unused,
3780541603 .unused,
3780641604 },
37807 .dst_temps = .{.mem},
41605 .dst_temps = .{ .mem, .unused },
3780841606 .clobbers = .{ .eflags = true },
3780941607 .each = .{ .once = &.{
3781041608 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -37820,7 +41618,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3782041618 }, .{
3782141619 .required_features = .{ .avx, null, null, null },
3782241620 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
37823 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
41621 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
3782441622 .patterns = &.{
3782541623 .{ .src = .{ .to_mem, .none, .none } },
3782641624 },
......@@ -37836,7 +41634,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3783641634 .unused,
3783741635 .unused,
3783841636 },
37839 .dst_temps = .{.mem},
41637 .dst_temps = .{ .mem, .unused },
3784041638 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3784141639 .each = .{ .once = &.{
3784241640 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -37850,7 +41648,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3785041648 }, .{
3785141649 .required_features = .{ .sse2, null, null, null },
3785241650 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
37853 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
41651 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
3785441652 .patterns = &.{
3785541653 .{ .src = .{ .to_mem, .none, .none } },
3785641654 },
......@@ -37866,7 +41664,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3786641664 .unused,
3786741665 .unused,
3786841666 },
37869 .dst_temps = .{.mem},
41667 .dst_temps = .{ .mem, .unused },
3787041668 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3787141669 .each = .{ .once = &.{
3787241670 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -37880,7 +41678,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3788041678 }, .{
3788141679 .required_features = .{ .sse, null, null, null },
3788241680 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
37883 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
41681 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
3788441682 .patterns = &.{
3788541683 .{ .src = .{ .to_mem, .none, .none } },
3788641684 },
......@@ -37896,7 +41694,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3789641694 .unused,
3789741695 .unused,
3789841696 },
37899 .dst_temps = .{.mem},
41697 .dst_temps = .{ .mem, .unused },
3790041698 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3790141699 .each = .{ .once = &.{
3790241700 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -37911,7 +41709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3791141709 }, .{
3791241710 .required_features = .{ .f16c, .x87, null, null },
3791341711 .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
37914 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .tbyte } }},
41712 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
3791541713 .patterns = &.{
3791641714 .{ .src = .{ .to_sse, .none, .none } },
3791741715 },
......@@ -37926,7 +41724,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3792641724 .unused,
3792741725 .unused,
3792841726 },
37929 .dst_temps = .{.{ .rc = .x87 }},
41727 .dst_temps = .{ .{ .rc = .x87 }, .unused },
3793041728 .each = .{ .once = &.{
3793141729 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },
3793241730 .{ ._, .v_ss, .mov, .mem(.tmp1d), .tmp0x, ._, ._ },
......@@ -37936,7 +41734,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3793641734 }, .{
3793741735 .required_features = .{ .sse, .x87, null, null },
3793841736 .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
37939 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .tbyte } }},
41737 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
3794041738 .patterns = &.{
3794141739 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
3794241740 },
......@@ -37952,7 +41750,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3795241750 .unused,
3795341751 .unused,
3795441752 },
37955 .dst_temps = .{.{ .reg = .st0 }},
41753 .dst_temps = .{ .{ .reg = .st0 }, .unused },
3795641754 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3795741755 .each = .{ .once = &.{
3795841756 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -37960,7 +41758,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3796041758 }, .{
3796141759 .required_features = .{ .avx, null, null, null },
3796241760 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
37963 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }},
41761 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
3796441762 .patterns = &.{
3796541763 .{ .src = .{ .to_mem, .none, .none } },
3796641764 },
......@@ -37976,7 +41774,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3797641774 .unused,
3797741775 .unused,
3797841776 },
37979 .dst_temps = .{.mem},
41777 .dst_temps = .{ .mem, .unused },
3798041778 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3798141779 .each = .{ .once = &.{
3798241780 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -37991,7 +41789,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3799141789 }, .{
3799241790 .required_features = .{ .sse2, null, null, null },
3799341791 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
37994 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }},
41792 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
3799541793 .patterns = &.{
3799641794 .{ .src = .{ .to_mem, .none, .none } },
3799741795 },
......@@ -38007,7 +41805,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3800741805 .unused,
3800841806 .unused,
3800941807 },
38010 .dst_temps = .{.mem},
41808 .dst_temps = .{ .mem, .unused },
3801141809 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3801241810 .each = .{ .once = &.{
3801341811 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -38022,7 +41820,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3802241820 }, .{
3802341821 .required_features = .{ .sse, null, null, null },
3802441822 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
38025 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }},
41823 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
3802641824 .patterns = &.{
3802741825 .{ .src = .{ .to_mem, .none, .none } },
3802841826 },
......@@ -38038,7 +41836,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3803841836 .unused,
3803941837 .unused,
3804041838 },
38041 .dst_temps = .{.mem},
41839 .dst_temps = .{ .mem, .unused },
3804241840 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3804341841 .each = .{ .once = &.{
3804441842 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -38054,7 +41852,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3805441852 }, .{
3805541853 .required_features = .{ .sse, null, null, null },
3805641854 .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
38057 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .xword } }},
41855 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any },
3805841856 .patterns = &.{
3805941857 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
3806041858 },
......@@ -38070,7 +41868,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3807041868 .unused,
3807141869 .unused,
3807241870 },
38073 .dst_temps = .{.{ .ref = .src0 }},
41871 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3807441872 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3807541873 .each = .{ .once = &.{
3807641874 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -38078,7 +41876,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3807841876 }, .{
3807941877 .required_features = .{ .avx, null, null, null },
3808041878 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
38081 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
41879 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
3808241880 .patterns = &.{
3808341881 .{ .src = .{ .to_mem, .none, .none } },
3808441882 },
......@@ -38094,7 +41892,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3809441892 .unused,
3809541893 .unused,
3809641894 },
38097 .dst_temps = .{.mem},
41895 .dst_temps = .{ .mem, .unused },
3809841896 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3809941897 .each = .{ .once = &.{
3810041898 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -38108,7 +41906,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3810841906 }, .{
3810941907 .required_features = .{ .sse2, null, null, null },
3811041908 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
38111 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
41909 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
3811241910 .patterns = &.{
3811341911 .{ .src = .{ .to_mem, .none, .none } },
3811441912 },
......@@ -38124,7 +41922,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3812441922 .unused,
3812541923 .unused,
3812641924 },
38127 .dst_temps = .{.mem},
41925 .dst_temps = .{ .mem, .unused },
3812841926 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3812941927 .each = .{ .once = &.{
3813041928 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -38138,7 +41936,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3813841936 }, .{
3813941937 .required_features = .{ .sse, null, null, null },
3814041938 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
38141 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
41939 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
3814241940 .patterns = &.{
3814341941 .{ .src = .{ .to_mem, .none, .none } },
3814441942 },
......@@ -38154,7 +41952,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3815441952 .unused,
3815541953 .unused,
3815641954 },
38157 .dst_temps = .{.mem},
41955 .dst_temps = .{ .mem, .unused },
3815841956 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3815941957 .each = .{ .once = &.{
3816041958 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -38169,11 +41967,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3816941967 }, .{
3817041968 .required_features = .{ .avx, null, null, null },
3817141969 .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
38172 .dst_constraints = .{.{ .scalar_float = .{ .of = .qword, .is = .qword } }},
41970 .dst_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any },
3817341971 .patterns = &.{
3817441972 .{ .src = .{ .mem, .none, .none } },
3817541973 },
38176 .dst_temps = .{.{ .rc = .sse }},
41974 .dst_temps = .{ .{ .rc = .sse }, .unused },
3817741975 .each = .{ .once = &.{
3817841976 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },
3817941977 .{ ._, .v_sd, .cvtss2, .dst0x, .dst0x, .src0d, ._ },
......@@ -38181,23 +41979,23 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3818141979 }, .{
3818241980 .required_features = .{ .avx, null, null, null },
3818341981 .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
38184 .dst_constraints = .{.{ .scalar_float = .{ .of = .qword, .is = .qword } }},
41982 .dst_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any },
3818541983 .patterns = &.{
3818641984 .{ .src = .{ .to_sse, .none, .none } },
3818741985 },
38188 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
41986 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3818941987 .each = .{ .once = &.{
3819041988 .{ ._, .v_sd, .cvtss2, .dst0x, .src0x, .src0d, ._ },
3819141989 } },
3819241990 }, .{
3819341991 .required_features = .{ .sse2, null, null, null },
3819441992 .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
38195 .dst_constraints = .{.{ .scalar_float = .{ .of = .qword, .is = .qword } }},
41993 .dst_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any },
3819641994 .patterns = &.{
3819741995 .{ .src = .{ .mem, .none, .none } },
3819841996 .{ .src = .{ .to_sse, .none, .none } },
3819941997 },
38200 .dst_temps = .{.{ .rc = .sse }},
41998 .dst_temps = .{ .{ .rc = .sse }, .unused },
3820141999 .each = .{ .once = &.{
3820242000 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },
3820342001 .{ ._, ._sd, .cvtss2, .dst0x, .src0d, ._, ._ },
......@@ -38205,7 +42003,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3820542003 }, .{
3820642004 .required_features = .{ .x87, null, null, null },
3820742005 .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
38208 .dst_constraints = .{.{ .scalar_float = .{ .of = .qword, .is = .qword } }},
42006 .dst_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any },
3820942007 .patterns = &.{
3821042008 .{ .src = .{ .to_mem, .none, .none } },
3821142009 },
......@@ -38220,7 +42018,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3822042018 .unused,
3822142019 .unused,
3822242020 },
38223 .dst_temps = .{.mem},
42021 .dst_temps = .{ .mem, .unused },
3822442022 .each = .{ .once = &.{
3822542023 .{ ._, .f_, .ld, .src0d, ._, ._, ._ },
3822642024 .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },
......@@ -38228,43 +42026,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3822842026 }, .{
3822942027 .required_features = .{ .avx, null, null, null },
3823042028 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any },
38231 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .qword } }},
42029 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any },
3823242030 .patterns = &.{
3823342031 .{ .src = .{ .mem, .none, .none } },
3823442032 .{ .src = .{ .to_sse, .none, .none } },
3823542033 },
38236 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
42034 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3823742035 .each = .{ .once = &.{
3823842036 .{ ._, .v_pd, .cvtps2, .dst0x, .src0q, ._, ._ },
3823942037 } },
3824042038 }, .{
3824142039 .required_features = .{ .sse2, null, null, null },
3824242040 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any },
38243 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .qword } }},
42041 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any },
3824442042 .patterns = &.{
3824542043 .{ .src = .{ .mem, .none, .none } },
3824642044 .{ .src = .{ .to_sse, .none, .none } },
3824742045 },
38248 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
42046 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3824942047 .each = .{ .once = &.{
3825042048 .{ ._, ._pd, .cvtps2, .dst0x, .src0q, ._, ._ },
3825142049 } },
3825242050 }, .{
3825342051 .required_features = .{ .avx, null, null, null },
3825442052 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },
38255 .dst_constraints = .{.{ .scalar_float = .{ .of = .yword, .is = .qword } }},
42053 .dst_constraints = .{ .{ .scalar_float = .{ .of = .yword, .is = .qword } }, .any },
3825642054 .patterns = &.{
3825742055 .{ .src = .{ .mem, .none, .none } },
3825842056 .{ .src = .{ .to_sse, .none, .none } },
3825942057 },
38260 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
42058 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3826142059 .each = .{ .once = &.{
3826242060 .{ ._, .v_pd, .cvtps2, .dst0y, .src0x, ._, ._ },
3826342061 } },
3826442062 }, .{
3826542063 .required_features = .{ .avx, null, null, null },
3826642064 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },
38267 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }},
42065 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any },
3826842066 .patterns = &.{
3826942067 .{ .src = .{ .to_mem, .none, .none } },
3827042068 },
......@@ -38279,7 +42077,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3827942077 .unused,
3828042078 .unused,
3828142079 },
38282 .dst_temps = .{.mem},
42080 .dst_temps = .{ .mem, .unused },
3828342081 .clobbers = .{ .eflags = true },
3828442082 .each = .{ .once = &.{
3828542083 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -38291,7 +42089,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3829142089 }, .{
3829242090 .required_features = .{ .sse2, null, null, null },
3829342091 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any },
38294 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }},
42092 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any },
3829542093 .patterns = &.{
3829642094 .{ .src = .{ .to_mem, .none, .none } },
3829742095 },
......@@ -38306,7 +42104,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3830642104 .unused,
3830742105 .unused,
3830842106 },
38309 .dst_temps = .{.mem},
42107 .dst_temps = .{ .mem, .unused },
3831042108 .clobbers = .{ .eflags = true },
3831142109 .each = .{ .once = &.{
3831242110 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -38318,7 +42116,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3831842116 }, .{
3831942117 .required_features = .{ .x87, null, null, null },
3832042118 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
38321 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
42119 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
3832242120 .patterns = &.{
3832342121 .{ .src = .{ .to_mem, .none, .none } },
3832442122 },
......@@ -38333,7 +42131,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3833342131 .unused,
3833442132 .unused,
3833542133 },
38336 .dst_temps = .{.mem},
42134 .dst_temps = .{ .mem, .unused },
3833742135 .clobbers = .{ .eflags = true },
3833842136 .each = .{ .once = &.{
3833942137 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -38345,7 +42143,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3834542143 }, .{
3834642144 .required_features = .{ .x87, null, null, null },
3834742145 .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
38348 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .tbyte } }},
42146 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
3834942147 .patterns = &.{
3835042148 .{ .src = .{ .to_mem, .none, .none } },
3835142149 },
......@@ -38360,7 +42158,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3836042158 .unused,
3836142159 .unused,
3836242160 },
38363 .dst_temps = .{.mem},
42161 .dst_temps = .{ .mem, .unused },
3836442162 .each = .{ .once = &.{
3836542163 .{ ._, .f_, .ld, .src0d, ._, ._, ._ },
3836642164 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
......@@ -38368,7 +42166,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3836842166 }, .{
3836942167 .required_features = .{ .x87, null, null, null },
3837042168 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
38371 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }},
42169 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
3837242170 .patterns = &.{
3837342171 .{ .src = .{ .to_mem, .none, .none } },
3837442172 },
......@@ -38383,7 +42181,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3838342181 .unused,
3838442182 .unused,
3838542183 },
38386 .dst_temps = .{.mem},
42184 .dst_temps = .{ .mem, .unused },
3838742185 .clobbers = .{ .eflags = true },
3838842186 .each = .{ .once = &.{
3838942187 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -38395,7 +42193,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3839542193 }, .{
3839642194 .required_features = .{ .sse, null, null, null },
3839742195 .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
38398 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .xword } }},
42196 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any },
3839942197 .patterns = &.{
3840042198 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
3840142199 },
......@@ -38411,7 +42209,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3841142209 .unused,
3841242210 .unused,
3841342211 },
38414 .dst_temps = .{.{ .ref = .src0 }},
42212 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3841542213 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3841642214 .each = .{ .once = &.{
3841742215 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -38419,7 +42217,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3841942217 }, .{
3842042218 .required_features = .{ .avx, null, null, null },
3842142219 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
38422 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
42220 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
3842342221 .patterns = &.{
3842442222 .{ .src = .{ .to_mem, .none, .none } },
3842542223 },
......@@ -38435,7 +42233,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3843542233 .unused,
3843642234 .unused,
3843742235 },
38438 .dst_temps = .{.mem},
42236 .dst_temps = .{ .mem, .unused },
3843942237 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3844042238 .each = .{ .once = &.{
3844142239 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -38448,7 +42246,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3844842246 }, .{
3844942247 .required_features = .{ .sse2, null, null, null },
3845042248 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
38451 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
42249 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
3845242250 .patterns = &.{
3845342251 .{ .src = .{ .to_mem, .none, .none } },
3845442252 },
......@@ -38464,7 +42262,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3846442262 .unused,
3846542263 .unused,
3846642264 },
38467 .dst_temps = .{.mem},
42265 .dst_temps = .{ .mem, .unused },
3846842266 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3846942267 .each = .{ .once = &.{
3847042268 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -38477,7 +42275,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3847742275 }, .{
3847842276 .required_features = .{ .sse, null, null, null },
3847942277 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
38480 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
42278 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
3848142279 .patterns = &.{
3848242280 .{ .src = .{ .to_mem, .none, .none } },
3848342281 },
......@@ -38493,7 +42291,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3849342291 .unused,
3849442292 .unused,
3849542293 },
38496 .dst_temps = .{.mem},
42294 .dst_temps = .{ .mem, .unused },
3849742295 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3849842296 .each = .{ .once = &.{
3849942297 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -38506,7 +42304,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3850642304 }, .{
3850742305 .required_features = .{ .x87, null, null, null },
3850842306 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
38509 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .tbyte } }},
42307 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
3851042308 .patterns = &.{
3851142309 .{ .src = .{ .to_mem, .none, .none } },
3851242310 },
......@@ -38521,7 +42319,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3852142319 .unused,
3852242320 .unused,
3852342321 },
38524 .dst_temps = .{.mem},
42322 .dst_temps = .{ .mem, .unused },
3852542323 .each = .{ .once = &.{
3852642324 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
3852742325 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
......@@ -38529,7 +42327,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3852942327 }, .{
3853042328 .required_features = .{ .x87, null, null, null },
3853142329 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
38532 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }},
42330 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
3853342331 .patterns = &.{
3853442332 .{ .src = .{ .to_mem, .none, .none } },
3853542333 },
......@@ -38544,7 +42342,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3854442342 .unused,
3854542343 .unused,
3854642344 },
38547 .dst_temps = .{.mem},
42345 .dst_temps = .{ .mem, .unused },
3854842346 .clobbers = .{ .eflags = true },
3854942347 .each = .{ .once = &.{
3855042348 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -38556,7 +42354,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3855642354 }, .{
3855742355 .required_features = .{ .sse, null, null, null },
3855842356 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
38559 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .xword } }},
42357 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any },
3856042358 .patterns = &.{
3856142359 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
3856242360 },
......@@ -38572,7 +42370,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3857242370 .unused,
3857342371 .unused,
3857442372 },
38575 .dst_temps = .{.{ .ref = .src0 }},
42373 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3857642374 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3857742375 .each = .{ .once = &.{
3857842376 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -38580,7 +42378,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3858042378 }, .{
3858142379 .required_features = .{ .avx, null, null, null },
3858242380 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
38583 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
42381 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
3858442382 .patterns = &.{
3858542383 .{ .src = .{ .to_mem, .none, .none } },
3858642384 },
......@@ -38596,7 +42394,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3859642394 .unused,
3859742395 .unused,
3859842396 },
38599 .dst_temps = .{.mem},
42397 .dst_temps = .{ .mem, .unused },
3860042398 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3860142399 .each = .{ .once = &.{
3860242400 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -38609,7 +42407,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3860942407 }, .{
3861042408 .required_features = .{ .sse2, null, null, null },
3861142409 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
38612 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
42410 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
3861342411 .patterns = &.{
3861442412 .{ .src = .{ .to_mem, .none, .none } },
3861542413 },
......@@ -38625,7 +42423,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3862542423 .unused,
3862642424 .unused,
3862742425 },
38628 .dst_temps = .{.mem},
42426 .dst_temps = .{ .mem, .unused },
3862942427 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3863042428 .each = .{ .once = &.{
3863142429 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -38638,7 +42436,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3863842436 }, .{
3863942437 .required_features = .{ .sse, null, null, null },
3864042438 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
38641 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
42439 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
3864242440 .patterns = &.{
3864342441 .{ .src = .{ .to_mem, .none, .none } },
3864442442 },
......@@ -38654,7 +42452,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3865442452 .unused,
3865542453 .unused,
3865642454 },
38657 .dst_temps = .{.mem},
42455 .dst_temps = .{ .mem, .unused },
3865842456 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3865942457 .each = .{ .once = &.{
3866042458 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -38668,7 +42466,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3866842466 }, .{
3866942467 .required_features = .{ .avx, null, null, null },
3867042468 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
38671 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .xword } }},
42469 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any },
3867242470 .patterns = &.{
3867342471 .{ .src = .{ .to_mem, .none, .none } },
3867442472 },
......@@ -38684,7 +42482,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3868442482 .unused,
3868542483 .unused,
3868642484 },
38687 .dst_temps = .{.{ .reg = .xmm0 }},
42485 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
3868842486 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3868942487 .each = .{ .once = &.{
3869042488 .{ ._, .v_dqa, .mov, .dst0x, .mem(.src0x), ._, ._ },
......@@ -38694,7 +42492,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3869442492 }, .{
3869542493 .required_features = .{ .sse2, null, null, null },
3869642494 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
38697 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .xword } }},
42495 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any },
3869842496 .patterns = &.{
3869942497 .{ .src = .{ .to_mem, .none, .none } },
3870042498 },
......@@ -38710,7 +42508,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3871042508 .unused,
3871142509 .unused,
3871242510 },
38713 .dst_temps = .{.{ .reg = .xmm0 }},
42511 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
3871442512 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3871542513 .each = .{ .once = &.{
3871642514 .{ ._, ._dqa, .mov, .dst0x, .mem(.src0x), ._, ._ },
......@@ -38720,7 +42518,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3872042518 }, .{
3872142519 .required_features = .{ .sse, null, null, null },
3872242520 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
38723 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .xword } }},
42521 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any },
3872442522 .patterns = &.{
3872542523 .{ .src = .{ .to_mem, .none, .none } },
3872642524 },
......@@ -38736,7 +42534,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3873642534 .unused,
3873742535 .unused,
3873842536 },
38739 .dst_temps = .{.{ .reg = .xmm0 }},
42537 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
3874042538 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3874142539 .each = .{ .once = &.{
3874242540 .{ ._, ._ps, .mova, .dst0x, .mem(.src0x), ._, ._ },
......@@ -38746,7 +42544,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3874642544 }, .{
3874742545 .required_features = .{ .avx, null, null, null },
3874842546 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
38749 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
42547 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
3875042548 .patterns = &.{
3875142549 .{ .src = .{ .to_mem, .none, .none } },
3875242550 },
......@@ -38762,7 +42560,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3876242560 .unused,
3876342561 .unused,
3876442562 },
38765 .dst_temps = .{.mem},
42563 .dst_temps = .{ .mem, .unused },
3876642564 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3876742565 .each = .{ .once = &.{
3876842566 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -38776,7 +42574,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3877642574 }, .{
3877742575 .required_features = .{ .sse2, null, null, null },
3877842576 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
38779 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
42577 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
3878042578 .patterns = &.{
3878142579 .{ .src = .{ .to_mem, .none, .none } },
3878242580 },
......@@ -38792,7 +42590,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3879242590 .unused,
3879342591 .unused,
3879442592 },
38795 .dst_temps = .{.mem},
42593 .dst_temps = .{ .mem, .unused },
3879642594 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3879742595 .each = .{ .once = &.{
3879842596 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -38806,7 +42604,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3880642604 }, .{
3880742605 .required_features = .{ .sse, null, null, null },
3880842606 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
38809 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
42607 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
3881042608 .patterns = &.{
3881142609 .{ .src = .{ .to_mem, .none, .none } },
3881242610 },
......@@ -38822,7 +42620,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3882242620 .unused,
3882342621 .unused,
3882442622 },
38825 .dst_temps = .{.mem},
42623 .dst_temps = .{ .mem, .unused },
3882642624 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
3882742625 .each = .{ .once = &.{
3882842626 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -38851,62 +42649,62 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3885142649 var ops = try cg.tempsFromOperands(inst, .{ty_op.operand});
3885242650 var res: [1]Temp = undefined;
3885342651 cg.select(&res, &.{dst_ty}, &ops, if (dst_ty.scalarType(zcu).abiSize(zcu) <= src_ty.scalarType(zcu).abiSize(zcu)) comptime &.{ .{
38854 .dst_constraints = .{.{ .int = .dword }},
42652 .dst_constraints = .{ .{ .int = .dword }, .any },
3885542653 .patterns = &.{
3885642654 .{ .src = .{ .mut_mem, .none, .none } },
3885742655 .{ .src = .{ .to_mut_gpr, .none, .none } },
3885842656 },
38859 .dst_temps = .{.{ .ref = .src0 }},
42657 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3886042658 .each = .{ .once = &.{} },
3886142659 }, .{
3886242660 .required_features = .{ .@"64bit", null, null, null },
38863 .dst_constraints = .{.{ .int = .qword }},
42661 .dst_constraints = .{ .{ .int = .qword }, .any },
3886442662 .patterns = &.{
3886542663 .{ .src = .{ .mut_mem, .none, .none } },
3886642664 .{ .src = .{ .to_mut_gpr, .none, .none } },
3886742665 },
38868 .dst_temps = .{.{ .ref = .src0 }},
42666 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3886942667 .each = .{ .once = &.{} },
3887042668 }, .{
38871 .dst_constraints = .{.{ .int = .byte }},
42669 .dst_constraints = .{ .{ .int = .byte }, .any },
3887242670 .patterns = &.{
3887342671 .{ .src = .{ .to_mem, .none, .none } },
3887442672 },
38875 .dst_temps = .{.{ .rc = .general_purpose }},
42673 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
3887642674 .each = .{ .once = &.{
3887742675 .{ ._, ._, .mov, .dst0b, .mem(.src0b), ._, ._ },
3887842676 } },
3887942677 }, .{
38880 .dst_constraints = .{.{ .int = .word }},
42678 .dst_constraints = .{ .{ .int = .word }, .any },
3888142679 .patterns = &.{
3888242680 .{ .src = .{ .to_mem, .none, .none } },
3888342681 },
38884 .dst_temps = .{.{ .rc = .general_purpose }},
42682 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
3888542683 .each = .{ .once = &.{
3888642684 .{ ._, ._, .mov, .dst0w, .mem(.src0w), ._, ._ },
3888742685 } },
3888842686 }, .{
38889 .dst_constraints = .{.{ .int = .dword }},
42687 .dst_constraints = .{ .{ .int = .dword }, .any },
3889042688 .patterns = &.{
3889142689 .{ .src = .{ .to_mem, .none, .none } },
3889242690 },
38893 .dst_temps = .{.{ .rc = .general_purpose }},
42691 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
3889442692 .each = .{ .once = &.{
3889542693 .{ ._, ._, .mov, .dst0d, .mem(.src0d), ._, ._ },
3889642694 } },
3889742695 }, .{
3889842696 .required_features = .{ .@"64bit", null, null, null },
38899 .dst_constraints = .{.{ .int = .qword }},
42697 .dst_constraints = .{ .{ .int = .qword }, .any },
3890042698 .patterns = &.{
3890142699 .{ .src = .{ .to_mem, .none, .none } },
3890242700 },
38903 .dst_temps = .{.{ .rc = .general_purpose }},
42701 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
3890442702 .each = .{ .once = &.{
3890542703 .{ ._, ._, .mov, .dst0q, .mem(.src0q), ._, ._ },
3890642704 } },
3890742705 }, .{
3890842706 .required_features = .{ .@"64bit", null, null, null },
38909 .dst_constraints = .{.{ .remainder_int = .{ .of = .qword, .is = .qword } }},
42707 .dst_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any },
3891042708 .patterns = &.{
3891142709 .{ .src = .{ .to_mem, .none, .none } },
3891242710 },
......@@ -38921,7 +42719,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3892142719 .unused,
3892242720 .unused,
3892342721 },
38924 .dst_temps = .{.mem},
42722 .dst_temps = .{ .mem, .unused },
3892542723 .each = .{ .once = &.{
3892642724 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
3892742725 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
......@@ -38931,93 +42729,93 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3893142729 }, .{
3893242730 .required_features = .{ .sse, null, null, null },
3893342731 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any },
38934 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .byte } }},
42732 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .byte } }, .any },
3893542733 .patterns = &.{
3893642734 .{ .src = .{ .mut_mem, .none, .none } },
3893742735 .{ .src = .{ .to_mut_sse, .none, .none } },
3893842736 },
38939 .dst_temps = .{.{ .ref = .src0 }},
42737 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3894042738 .each = .{ .once = &.{} },
3894142739 }, .{
3894242740 .required_features = .{ .avx, null, null, null },
3894342741 .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any },
38944 .dst_constraints = .{.{ .scalar_int = .{ .of = .yword, .is = .byte } }},
42742 .dst_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .byte } }, .any },
3894542743 .patterns = &.{
3894642744 .{ .src = .{ .mut_mem, .none, .none } },
3894742745 .{ .src = .{ .to_mut_sse, .none, .none } },
3894842746 },
38949 .dst_temps = .{.{ .ref = .src0 }},
42747 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3895042748 .each = .{ .once = &.{} },
3895142749 }, .{
3895242750 .required_features = .{ .avx, null, null, null },
3895342751 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any, .any },
38954 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .qword, .is = .byte } }},
42752 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any },
3895542753 .patterns = &.{
3895642754 .{ .src = .{ .to_sse, .none, .none } },
3895742755 },
38958 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
42756 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3895942757 .each = .{ .once = &.{
3896042758 .{ ._, .vp_b, .ackssw, .dst0x, .src0x, .dst0x, ._ },
3896142759 } },
3896242760 }, .{
3896342761 .required_features = .{ .avx, null, null, null },
3896442762 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any, .any },
38965 .dst_constraints = .{.{ .scalar_int = .{ .of = .qword, .is = .byte } }},
42763 .dst_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .byte } }, .any },
3896642764 .patterns = &.{
3896742765 .{ .src = .{ .to_sse, .none, .none } },
3896842766 },
38969 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
42767 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3897042768 .each = .{ .once = &.{
3897142769 .{ ._, .vp_b, .ackusw, .dst0x, .src0x, .dst0x, ._ },
3897242770 } },
3897342771 }, .{
3897442772 .required_features = .{ .sse2, null, null, null },
3897542773 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any, .any },
38976 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .qword, .is = .byte } }},
42774 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any },
3897742775 .patterns = &.{
3897842776 .{ .src = .{ .to_mut_sse, .none, .none } },
3897942777 },
38980 .dst_temps = .{.{ .ref = .src0 }},
42778 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3898142779 .each = .{ .once = &.{
3898242780 .{ ._, .p_b, .ackssw, .dst0x, .dst0x, ._, ._ },
3898342781 } },
3898442782 }, .{
3898542783 .required_features = .{ .sse2, null, null, null },
3898642784 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any, .any },
38987 .dst_constraints = .{.{ .scalar_int = .{ .of = .qword, .is = .byte } }},
42785 .dst_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .byte } }, .any },
3898842786 .patterns = &.{
3898942787 .{ .src = .{ .to_mut_sse, .none, .none } },
3899042788 },
38991 .dst_temps = .{.{ .ref = .src0 }},
42789 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3899242790 .each = .{ .once = &.{
3899342791 .{ ._, .p_b, .ackusw, .dst0x, .dst0x, ._, ._ },
3899442792 } },
3899542793 }, .{
3899642794 .required_features = .{ .avx2, null, null, null },
3899742795 .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .word } }, .any, .any },
38998 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }},
42796 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any },
3899942797 .patterns = &.{
3900042798 .{ .src = .{ .to_sse, .none, .none } },
3900142799 },
39002 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
42800 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3900342801 .each = .{ .once = &.{
3900442802 .{ ._, .vp_b, .ackssw, .dst0y, .src0y, .dst0y, ._ },
3900542803 } },
3900642804 }, .{
3900742805 .required_features = .{ .avx2, null, null, null },
3900842806 .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .word } }, .any, .any },
39009 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .byte } }},
42807 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .byte } }, .any },
3901042808 .patterns = &.{
3901142809 .{ .src = .{ .to_sse, .none, .none } },
3901242810 },
39013 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
42811 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3901442812 .each = .{ .once = &.{
3901542813 .{ ._, .vp_b, .ackusw, .dst0y, .src0y, .dst0y, ._ },
3901642814 } },
3901742815 }, .{
3901842816 .required_features = .{ .slow_incdec, null, null, null },
3901942817 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any, .any },
39020 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
42818 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
3902142819 .patterns = &.{
3902242820 .{ .src = .{ .to_mem, .none, .none } },
3902342821 },
......@@ -39032,7 +42830,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3903242830 .unused,
3903342831 .unused,
3903442832 },
39035 .dst_temps = .{.mem},
42833 .dst_temps = .{ .mem, .unused },
3903642834 .clobbers = .{ .eflags = true },
3903742835 .each = .{ .once = &.{
3903842836 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -39043,7 +42841,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3904342841 } },
3904442842 }, .{
3904542843 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any, .any },
39046 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
42844 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
3904742845 .patterns = &.{
3904842846 .{ .src = .{ .to_mem, .none, .none } },
3904942847 },
......@@ -39058,7 +42856,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3905842856 .unused,
3905942857 .unused,
3906042858 },
39061 .dst_temps = .{.mem},
42859 .dst_temps = .{ .mem, .unused },
3906242860 .clobbers = .{ .eflags = true },
3906342861 .each = .{ .once = &.{
3906442862 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -39070,11 +42868,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3907042868 }, .{
3907142869 .required_features = .{ .avx, null, null, null },
3907242870 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },
39073 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .dword, .is = .byte } }},
42871 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any },
3907442872 .patterns = &.{
3907542873 .{ .src = .{ .to_sse, .none, .none } },
3907642874 },
39077 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
42875 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3907842876 .each = .{ .once = &.{
3907942877 .{ ._, .vp_w, .ackssd, .dst0x, .src0x, .dst0x, ._ },
3908042878 .{ ._, .vp_b, .ackssw, .dst0x, .dst0x, .dst0x, ._ },
......@@ -39082,11 +42880,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3908242880 }, .{
3908342881 .required_features = .{ .avx, null, null, null },
3908442882 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },
39085 .dst_constraints = .{.{ .scalar_int = .{ .of = .dword, .is = .byte } }},
42883 .dst_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any },
3908642884 .patterns = &.{
3908742885 .{ .src = .{ .to_sse, .none, .none } },
3908842886 },
39089 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
42887 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3909042888 .each = .{ .once = &.{
3909142889 .{ ._, .vp_w, .ackusd, .dst0x, .src0x, .dst0x, ._ },
3909242890 .{ ._, .vp_b, .ackusw, .dst0x, .dst0x, .dst0x, ._ },
......@@ -39094,11 +42892,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3909442892 }, .{
3909542893 .required_features = .{ .sse2, null, null, null },
3909642894 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },
39097 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .dword, .is = .byte } }},
42895 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any },
3909842896 .patterns = &.{
3909942897 .{ .src = .{ .to_mut_sse, .none, .none } },
3910042898 },
39101 .dst_temps = .{.{ .ref = .src0 }},
42899 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3910242900 .each = .{ .once = &.{
3910342901 .{ ._, .p_w, .ackssd, .dst0x, .dst0x, ._, ._ },
3910442902 .{ ._, .p_b, .ackssw, .dst0x, .dst0x, ._, ._ },
......@@ -39106,11 +42904,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3910642904 }, .{
3910742905 .required_features = .{ .sse4_1, null, null, null },
3910842906 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },
39109 .dst_constraints = .{.{ .scalar_int = .{ .of = .dword, .is = .byte } }},
42907 .dst_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any },
3911042908 .patterns = &.{
3911142909 .{ .src = .{ .to_mut_sse, .none, .none } },
3911242910 },
39113 .dst_temps = .{.{ .ref = .src0 }},
42911 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3911442912 .each = .{ .once = &.{
3911542913 .{ ._, .p_w, .ackusd, .dst0x, .dst0x, ._, ._ },
3911642914 .{ ._, .p_b, .ackusw, .dst0x, .dst0x, ._, ._ },
......@@ -39118,11 +42916,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3911842916 }, .{
3911942917 .required_features = .{ .avx2, null, null, null },
3912042918 .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any },
39121 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .qword, .is = .byte } }},
42919 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any },
3912242920 .patterns = &.{
3912342921 .{ .src = .{ .to_sse, .none, .none } },
3912442922 },
39125 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
42923 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3912642924 .each = .{ .once = &.{
3912742925 .{ ._, .vp_w, .ackssd, .dst0y, .src0y, .dst0y, ._ },
3912842926 .{ ._, .vp_b, .ackssw, .dst0y, .dst0y, .dst0y, ._ },
......@@ -39130,11 +42928,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3913042928 }, .{
3913142929 .required_features = .{ .avx2, null, null, null },
3913242930 .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any },
39133 .dst_constraints = .{.{ .scalar_int = .{ .of = .qword, .is = .byte } }},
42931 .dst_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .byte } }, .any },
3913442932 .patterns = &.{
3913542933 .{ .src = .{ .to_sse, .none, .none } },
3913642934 },
39137 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
42935 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3913842936 .each = .{ .once = &.{
3913942937 .{ ._, .vp_w, .ackusd, .dst0y, .src0y, .dst0y, ._ },
3914042938 .{ ._, .vp_b, .ackusw, .dst0y, .dst0y, .dst0y, ._ },
......@@ -39142,7 +42940,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3914242940 }, .{
3914342941 .required_features = .{ .slow_incdec, null, null, null },
3914442942 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any },
39145 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
42943 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
3914642944 .patterns = &.{
3914742945 .{ .src = .{ .to_mem, .none, .none } },
3914842946 },
......@@ -39157,7 +42955,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3915742955 .unused,
3915842956 .unused,
3915942957 },
39160 .dst_temps = .{.mem},
42958 .dst_temps = .{ .mem, .unused },
3916142959 .clobbers = .{ .eflags = true },
3916242960 .each = .{ .once = &.{
3916342961 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -39168,7 +42966,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3916842966 } },
3916942967 }, .{
3917042968 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any },
39171 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
42969 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
3917242970 .patterns = &.{
3917342971 .{ .src = .{ .to_mem, .none, .none } },
3917442972 },
......@@ -39183,7 +42981,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3918342981 .unused,
3918442982 .unused,
3918542983 },
39186 .dst_temps = .{.mem},
42984 .dst_temps = .{ .mem, .unused },
3918742985 .clobbers = .{ .eflags = true },
3918842986 .each = .{ .once = &.{
3918942987 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -39195,7 +42993,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3919542993 }, .{
3919642994 .required_features = .{ .slow_incdec, null, null, null },
3919742995 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any, .any },
39198 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
42996 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
3919942997 .patterns = &.{
3920042998 .{ .src = .{ .to_mem, .none, .none } },
3920142999 },
......@@ -39210,7 +43008,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3921043008 .unused,
3921143009 .unused,
3921243010 },
39213 .dst_temps = .{.mem},
43011 .dst_temps = .{ .mem, .unused },
3921443012 .clobbers = .{ .eflags = true },
3921543013 .each = .{ .once = &.{
3921643014 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -39221,7 +43019,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3922143019 } },
3922243020 }, .{
3922343021 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any, .any },
39224 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
43022 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
3922543023 .patterns = &.{
3922643024 .{ .src = .{ .to_mem, .none, .none } },
3922743025 },
......@@ -39236,7 +43034,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3923643034 .unused,
3923743035 .unused,
3923843036 },
39239 .dst_temps = .{.mem},
43037 .dst_temps = .{ .mem, .unused },
3924043038 .clobbers = .{ .eflags = true },
3924143039 .each = .{ .once = &.{
3924243040 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -39248,7 +43046,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3924843046 }, .{
3924943047 .required_features = .{ .slow_incdec, null, null, null },
3925043048 .src_constraints = .{ .any_scalar_int, .any, .any },
39251 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
43049 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
3925243050 .patterns = &.{
3925343051 .{ .src = .{ .to_mem, .none, .none } },
3925443052 },
......@@ -39263,7 +43061,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3926343061 .unused,
3926443062 .unused,
3926543063 },
39266 .dst_temps = .{.mem},
43064 .dst_temps = .{ .mem, .unused },
3926743065 .clobbers = .{ .eflags = true },
3926843066 .each = .{ .once = &.{
3926943067 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -39276,7 +43074,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3927643074 } },
3927743075 }, .{
3927843076 .src_constraints = .{ .any_scalar_int, .any, .any },
39279 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
43077 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
3928043078 .patterns = &.{
3928143079 .{ .src = .{ .to_mem, .none, .none } },
3928243080 },
......@@ -39291,7 +43089,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3929143089 .unused,
3929243090 .unused,
3929343091 },
39294 .dst_temps = .{.mem},
43092 .dst_temps = .{ .mem, .unused },
3929543093 .clobbers = .{ .eflags = true },
3929643094 .each = .{ .once = &.{
3929743095 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -39305,92 +43103,92 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3930543103 }, .{
3930643104 .required_features = .{ .sse, null, null, null },
3930743105 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any, .any },
39308 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .word } }},
43106 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any },
3930943107 .patterns = &.{
3931043108 .{ .src = .{ .mut_mem, .none, .none } },
3931143109 .{ .src = .{ .to_mut_sse, .none, .none } },
3931243110 },
39313 .dst_temps = .{.{ .ref = .src0 }},
43111 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3931443112 .each = .{ .once = &.{} },
3931543113 }, .{
3931643114 .required_features = .{ .avx, null, null, null },
3931743115 .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .word } }, .any, .any },
39318 .dst_constraints = .{.{ .scalar_int = .{ .of = .yword, .is = .word } }},
43116 .dst_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .word } }, .any },
3931943117 .patterns = &.{
3932043118 .{ .src = .{ .mut_mem, .none, .none } },
3932143119 .{ .src = .{ .to_mut_sse, .none, .none } },
3932243120 },
39323 .dst_temps = .{.{ .ref = .src0 }},
43121 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3932443122 .each = .{ .once = &.{} },
3932543123 }, .{
3932643124 .required_features = .{ .avx, null, null, null },
3932743125 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },
39328 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .qword, .is = .word } }},
43126 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .word } }, .any },
3932943127 .patterns = &.{
3933043128 .{ .src = .{ .to_sse, .none, .none } },
3933143129 },
39332 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
43130 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3933343131 .each = .{ .once = &.{
3933443132 .{ ._, .vp_w, .ackssd, .dst0x, .src0x, .dst0x, ._ },
3933543133 } },
3933643134 }, .{
3933743135 .required_features = .{ .avx, null, null, null },
3933843136 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },
39339 .dst_constraints = .{.{ .scalar_int = .{ .of = .qword, .is = .word } }},
43137 .dst_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .word } }, .any },
3934043138 .patterns = &.{
3934143139 .{ .src = .{ .to_sse, .none, .none } },
3934243140 },
39343 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
43141 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3934443142 .each = .{ .once = &.{
3934543143 .{ ._, .vp_w, .ackusd, .dst0x, .src0x, .dst0x, ._ },
3934643144 } },
3934743145 }, .{
3934843146 .required_features = .{ .sse2, null, null, null },
3934943147 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },
39350 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .qword, .is = .word } }},
43148 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .word } }, .any },
3935143149 .patterns = &.{
3935243150 .{ .src = .{ .to_mut_sse, .none, .none } },
3935343151 },
39354 .dst_temps = .{.{ .ref = .src0 }},
43152 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3935543153 .each = .{ .once = &.{
3935643154 .{ ._, .p_w, .ackssd, .dst0x, .dst0x, ._, ._ },
3935743155 } },
3935843156 }, .{
3935943157 .required_features = .{ .sse4_1, null, null, null },
3936043158 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },
39361 .dst_constraints = .{.{ .scalar_int = .{ .of = .qword, .is = .word } }},
43159 .dst_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .word } }, .any },
3936243160 .patterns = &.{
3936343161 .{ .src = .{ .to_mut_sse, .none, .none } },
3936443162 },
39365 .dst_temps = .{.{ .ref = .src0 }},
43163 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3936643164 .each = .{ .once = &.{
3936743165 .{ ._, .p_w, .ackusd, .dst0x, .dst0x, ._, ._ },
3936843166 } },
3936943167 }, .{
3937043168 .required_features = .{ .avx2, null, null, null },
3937143169 .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any },
39372 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .word } }},
43170 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, .any },
3937343171 .patterns = &.{
3937443172 .{ .src = .{ .to_sse, .none, .none } },
3937543173 },
39376 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
43174 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3937743175 .each = .{ .once = &.{
3937843176 .{ ._, .vp_w, .ackssd, .dst0y, .src0y, .dst0y, ._ },
3937943177 } },
3938043178 }, .{
3938143179 .required_features = .{ .avx2, null, null, null },
3938243180 .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any },
39383 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .word } }},
43181 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any },
3938443182 .patterns = &.{
3938543183 .{ .src = .{ .to_sse, .none, .none } },
3938643184 },
39387 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
43185 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3938843186 .each = .{ .once = &.{
3938943187 .{ ._, .vp_w, .ackusd, .dst0y, .src0y, .dst0y, ._ },
3939043188 } },
3939143189 }, .{
3939243190 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any },
39393 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .word, .is = .word } }},
43191 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any },
3939443192 .patterns = &.{
3939543193 .{ .src = .{ .to_mem, .none, .none } },
3939643194 },
......@@ -39405,7 +43203,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3940543203 .unused,
3940643204 .unused,
3940743205 },
39408 .dst_temps = .{.mem},
43206 .dst_temps = .{ .mem, .unused },
3940943207 .clobbers = .{ .eflags = true },
3941043208 .each = .{ .once = &.{
3941143209 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -39416,7 +43214,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3941643214 } },
3941743215 }, .{
3941843216 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any, .any },
39419 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .word, .is = .word } }},
43217 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any },
3942043218 .patterns = &.{
3942143219 .{ .src = .{ .to_mem, .none, .none } },
3942243220 },
......@@ -39431,7 +43229,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3943143229 .unused,
3943243230 .unused,
3943343231 },
39434 .dst_temps = .{.mem},
43232 .dst_temps = .{ .mem, .unused },
3943543233 .clobbers = .{ .eflags = true },
3943643234 .each = .{ .once = &.{
3943743235 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -39442,7 +43240,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3944243240 } },
3944343241 }, .{
3944443242 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .xword } }, .any, .any },
39445 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .word, .is = .word } }},
43243 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any },
3944643244 .patterns = &.{
3944743245 .{ .src = .{ .to_mem, .none, .none } },
3944843246 },
......@@ -39457,7 +43255,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3945743255 .unused,
3945843256 .unused,
3945943257 },
39460 .dst_temps = .{.mem},
43258 .dst_temps = .{ .mem, .unused },
3946143259 .clobbers = .{ .eflags = true },
3946243260 .each = .{ .once = &.{
3946343261 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -39468,7 +43266,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3946843266 } },
3946943267 }, .{
3947043268 .src_constraints = .{ .any_scalar_int, .any, .any },
39471 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .word, .is = .word } }},
43269 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any },
3947243270 .patterns = &.{
3947343271 .{ .src = .{ .to_mem, .none, .none } },
3947443272 },
......@@ -39483,7 +43281,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3948343281 .unused,
3948443282 .unused,
3948543283 },
39486 .dst_temps = .{.mem},
43284 .dst_temps = .{ .mem, .unused },
3948743285 .clobbers = .{ .eflags = true },
3948843286 .each = .{ .once = &.{
3948943287 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -39497,50 +43295,50 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3949743295 }, .{
3949843296 .required_features = .{ .sse, null, null, null },
3949943297 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },
39500 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .dword } }},
43298 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any },
3950143299 .patterns = &.{
3950243300 .{ .src = .{ .mut_mem, .none, .none } },
3950343301 .{ .src = .{ .to_mut_sse, .none, .none } },
3950443302 },
39505 .dst_temps = .{.{ .ref = .src0 }},
43303 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3950643304 .each = .{ .once = &.{} },
3950743305 }, .{
3950843306 .required_features = .{ .avx, null, null, null },
3950943307 .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any },
39510 .dst_constraints = .{.{ .scalar_int = .{ .of = .yword, .is = .dword } }},
43308 .dst_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .dword } }, .any },
3951143309 .patterns = &.{
3951243310 .{ .src = .{ .mut_mem, .none, .none } },
3951343311 .{ .src = .{ .to_mut_sse, .none, .none } },
3951443312 },
39515 .dst_temps = .{.{ .ref = .src0 }},
43313 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3951643314 .each = .{ .once = &.{} },
3951743315 }, .{
3951843316 .required_features = .{ .avx, null, null, null },
3951943317 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .qword } }, .any, .any },
39520 .dst_constraints = .{.{ .scalar_int = .{ .of = .qword, .is = .dword } }},
43318 .dst_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .dword } }, .any },
3952143319 .patterns = &.{
3952243320 .{ .src = .{ .mem, .none, .none } },
3952343321 .{ .src = .{ .to_sse, .none, .none } },
3952443322 },
39525 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
43323 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3952643324 .each = .{ .once = &.{
3952743325 .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b10_00_10_00), ._ },
3952843326 } },
3952943327 }, .{
3953043328 .required_features = .{ .sse2, null, null, null },
3953143329 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .qword } }, .any, .any },
39532 .dst_constraints = .{.{ .scalar_int = .{ .of = .qword, .is = .dword } }},
43330 .dst_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .dword } }, .any },
3953343331 .patterns = &.{
3953443332 .{ .src = .{ .mem, .none, .none } },
3953543333 .{ .src = .{ .to_sse, .none, .none } },
3953643334 },
39537 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
43335 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
3953843336 .each = .{ .once = &.{
3953943337 .{ ._, .p_d, .shuf, .dst0x, .src0x, .ui(0b10_00_10_00), ._ },
3954043338 } },
3954143339 }, .{
3954243340 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any, .any },
39543 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }},
43341 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any },
3954443342 .patterns = &.{
3954543343 .{ .src = .{ .to_mem, .none, .none } },
3954643344 },
......@@ -39555,7 +43353,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3955543353 .unused,
3955643354 .unused,
3955743355 },
39558 .dst_temps = .{.mem},
43356 .dst_temps = .{ .mem, .unused },
3955943357 .clobbers = .{ .eflags = true },
3956043358 .each = .{ .once = &.{
3956143359 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -39566,7 +43364,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3956643364 } },
3956743365 }, .{
3956843366 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .xword } }, .any, .any },
39569 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }},
43367 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any },
3957043368 .patterns = &.{
3957143369 .{ .src = .{ .to_mem, .none, .none } },
3957243370 },
......@@ -39581,7 +43379,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3958143379 .unused,
3958243380 .unused,
3958343381 },
39584 .dst_temps = .{.mem},
43382 .dst_temps = .{ .mem, .unused },
3958543383 .clobbers = .{ .eflags = true },
3958643384 .each = .{ .once = &.{
3958743385 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -39592,7 +43390,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3959243390 } },
3959343391 }, .{
3959443392 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .yword } }, .any, .any },
39595 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }},
43393 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any },
3959643394 .patterns = &.{
3959743395 .{ .src = .{ .to_mem, .none, .none } },
3959843396 },
......@@ -39607,7 +43405,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3960743405 .unused,
3960843406 .unused,
3960943407 },
39610 .dst_temps = .{.mem},
43408 .dst_temps = .{ .mem, .unused },
3961143409 .clobbers = .{ .eflags = true },
3961243410 .each = .{ .once = &.{
3961343411 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -39618,7 +43416,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3961843416 } },
3961943417 }, .{
3962043418 .src_constraints = .{ .any_scalar_int, .any, .any },
39621 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }},
43419 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any },
3962243420 .patterns = &.{
3962343421 .{ .src = .{ .to_mem, .none, .none } },
3962443422 },
......@@ -39633,7 +43431,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3963343431 .unused,
3963443432 .unused,
3963543433 },
39636 .dst_temps = .{.mem},
43434 .dst_temps = .{ .mem, .unused },
3963743435 .clobbers = .{ .eflags = true },
3963843436 .each = .{ .once = &.{
3963943437 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -39647,27 +43445,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3964743445 }, .{
3964843446 .required_features = .{ .sse, null, null, null },
3964943447 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .qword } }, .any, .any },
39650 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .qword } }},
43448 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .qword } }, .any },
3965143449 .patterns = &.{
3965243450 .{ .src = .{ .mut_mem, .none, .none } },
3965343451 .{ .src = .{ .to_mut_sse, .none, .none } },
3965443452 },
39655 .dst_temps = .{.{ .ref = .src0 }},
43453 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3965643454 .each = .{ .once = &.{} },
3965743455 }, .{
3965843456 .required_features = .{ .avx, null, null, null },
3965943457 .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .qword } }, .any, .any },
39660 .dst_constraints = .{.{ .scalar_int = .{ .of = .yword, .is = .qword } }},
43458 .dst_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .qword } }, .any },
3966143459 .patterns = &.{
3966243460 .{ .src = .{ .mut_mem, .none, .none } },
3966343461 .{ .src = .{ .to_mut_sse, .none, .none } },
3966443462 },
39665 .dst_temps = .{.{ .ref = .src0 }},
43463 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3966643464 .each = .{ .once = &.{} },
3966743465 }, .{
3966843466 .required_features = .{ .@"64bit", null, null, null },
3966943467 .src_constraints = .{ .any_scalar_int, .any, .any },
39670 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }},
43468 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any },
3967143469 .patterns = &.{
3967243470 .{ .src = .{ .to_mem, .none, .none } },
3967343471 },
......@@ -39682,7 +43480,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3968243480 .unused,
3968343481 .unused,
3968443482 },
39685 .dst_temps = .{.mem},
43483 .dst_temps = .{ .mem, .unused },
3968643484 .clobbers = .{ .eflags = true },
3968743485 .each = .{ .once = &.{
3968843486 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -39696,37 +43494,37 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3969643494 }, .{
3969743495 .required_features = .{ .sse, null, null, null },
3969843496 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .xword } }, .any, .any },
39699 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .xword } }},
43497 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .xword } }, .any },
3970043498 .patterns = &.{
3970143499 .{ .src = .{ .mut_mem, .none, .none } },
3970243500 .{ .src = .{ .to_mut_sse, .none, .none } },
3970343501 },
39704 .dst_temps = .{.{ .ref = .src0 }},
43502 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3970543503 .each = .{ .once = &.{} },
3970643504 }, .{
3970743505 .required_features = .{ .avx, null, null, null },
3970843506 .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .xword } }, .any, .any },
39709 .dst_constraints = .{.{ .scalar_int = .{ .of = .yword, .is = .xword } }},
43507 .dst_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .xword } }, .any },
3971043508 .patterns = &.{
3971143509 .{ .src = .{ .mut_mem, .none, .none } },
3971243510 .{ .src = .{ .to_mut_sse, .none, .none } },
3971343511 },
39714 .dst_temps = .{.{ .ref = .src0 }},
43512 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3971543513 .each = .{ .once = &.{} },
3971643514 }, .{
3971743515 .required_features = .{ .avx, null, null, null },
3971843516 .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .yword } }, .any, .any },
39719 .dst_constraints = .{.{ .scalar_int = .{ .of = .yword, .is = .yword } }},
43517 .dst_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .yword } }, .any },
3972043518 .patterns = &.{
3972143519 .{ .src = .{ .mut_mem, .none, .none } },
3972243520 .{ .src = .{ .to_mut_sse, .none, .none } },
3972343521 },
39724 .dst_temps = .{.{ .ref = .src0 }},
43522 .dst_temps = .{ .{ .ref = .src0 }, .unused },
3972543523 .each = .{ .once = &.{} },
3972643524 }, .{
3972743525 .required_features = .{ .@"64bit", .slow_incdec, null, null },
3972843526 .src_constraints = .{ .any_scalar_int, .any, .any },
39729 .dst_constraints = .{.any_scalar_int},
43527 .dst_constraints = .{ .any_scalar_int, .any },
3973043528 .patterns = &.{
3973143529 .{ .src = .{ .to_mem, .none, .none } },
3973243530 },
......@@ -39741,7 +43539,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3974143539 .unused,
3974243540 .unused,
3974343541 },
39744 .dst_temps = .{.mem},
43542 .dst_temps = .{ .mem, .unused },
3974543543 .clobbers = .{ .eflags = true },
3974643544 .each = .{ .once = &.{
3974743545 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
......@@ -39756,7 +43554,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3975643554 }, .{
3975743555 .required_features = .{ .@"64bit", null, null, null },
3975843556 .src_constraints = .{ .any_scalar_int, .any, .any },
39759 .dst_constraints = .{.any_scalar_int},
43557 .dst_constraints = .{ .any_scalar_int, .any },
3976043558 .patterns = &.{
3976143559 .{ .src = .{ .to_mem, .none, .none } },
3976243560 },
......@@ -39771,7 +43569,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3977143569 .unused,
3977243570 .unused,
3977343571 },
39774 .dst_temps = .{.mem},
43572 .dst_temps = .{ .mem, .unused },
3977543573 .clobbers = .{ .eflags = true },
3977643574 .each = .{ .once = &.{
3977743575 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
......@@ -39785,54 +43583,54 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3978543583 } },
3978643584 } } else comptime &.{ .{
3978743585 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },
39788 .dst_constraints = .{.{ .signed_int = .dword }},
43586 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
3978943587 .patterns = &.{
3979043588 .{ .src = .{ .mem, .none, .none } },
3979143589 .{ .src = .{ .to_gpr, .none, .none } },
3979243590 },
39793 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }},
43591 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused },
3979443592 .each = .{ .once = &.{
3979543593 .{ ._, ._, .movsx, .dst0d, .src0b, ._, ._ },
3979643594 } },
3979743595 }, .{
3979843596 .src_constraints = .{ .{ .int = .byte }, .any, .any },
39799 .dst_constraints = .{.{ .int = .dword }},
43597 .dst_constraints = .{ .{ .int = .dword }, .any },
3980043598 .patterns = &.{
3980143599 .{ .src = .{ .mem, .none, .none } },
3980243600 .{ .src = .{ .to_gpr, .none, .none } },
3980343601 },
39804 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }},
43602 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused },
3980543603 .each = .{ .once = &.{
3980643604 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },
3980743605 } },
3980843606 }, .{
3980943607 .required_features = .{ .@"64bit", null, null, null },
3981043608 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },
39811 .dst_constraints = .{.{ .signed_int = .qword }},
43609 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
3981243610 .patterns = &.{
3981343611 .{ .src = .{ .mem, .none, .none } },
3981443612 .{ .src = .{ .to_gpr, .none, .none } },
3981543613 },
39816 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }},
43614 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused },
3981743615 .each = .{ .once = &.{
3981843616 .{ ._, ._, .movsx, .dst0q, .src0b, ._, ._ },
3981943617 } },
3982043618 }, .{
3982143619 .required_features = .{ .@"64bit", null, null, null },
3982243620 .src_constraints = .{ .{ .int = .byte }, .any, .any },
39823 .dst_constraints = .{.{ .int = .qword }},
43621 .dst_constraints = .{ .{ .int = .qword }, .any },
3982443622 .patterns = &.{
3982543623 .{ .src = .{ .mem, .none, .none } },
3982643624 .{ .src = .{ .to_gpr, .none, .none } },
3982743625 },
39828 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }},
43626 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused },
3982943627 .each = .{ .once = &.{
3983043628 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },
3983143629 } },
3983243630 }, .{
3983343631 .required_features = .{ .@"64bit", null, null, null },
3983443632 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },
39835 .dst_constraints = .{.{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }},
43633 .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any },
3983643634 .patterns = &.{
3983743635 .{ .src = .{ .mem, .none, .none } },
3983843636 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -39848,7 +43646,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3984843646 .unused,
3984943647 .unused,
3985043648 },
39851 .dst_temps = .{.mem},
43649 .dst_temps = .{ .mem, .unused },
3985243650 .clobbers = .{ .eflags = true },
3985343651 .each = .{ .once = &.{
3985443652 .{ ._, ._, .movsx, .tmp0q, .src0b, ._, ._ },
......@@ -39861,7 +43659,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3986143659 }, .{
3986243660 .required_features = .{ .@"64bit", null, null, null },
3986343661 .src_constraints = .{ .{ .int = .byte }, .any, .any },
39864 .dst_constraints = .{.{ .remainder_int = .{ .of = .qword, .is = .qword } }},
43662 .dst_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any },
3986543663 .patterns = &.{
3986643664 .{ .src = .{ .mem, .none, .none } },
3986743665 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -39877,7 +43675,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3987743675 .unused,
3987843676 .unused,
3987943677 },
39880 .dst_temps = .{.mem},
43678 .dst_temps = .{ .mem, .unused },
3988143679 .clobbers = .{ .eflags = true },
3988243680 .each = .{ .once = &.{
3988343681 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
......@@ -39889,7 +43687,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3988943687 } },
3989043688 }, .{
3989143689 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },
39892 .dst_constraints = .{.{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }},
43690 .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any },
3989343691 .patterns = &.{
3989443692 .{ .src = .{ .mem, .none, .none } },
3989543693 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -39905,7 +43703,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3990543703 .unused,
3990643704 .unused,
3990743705 },
39908 .dst_temps = .{.mem},
43706 .dst_temps = .{ .mem, .unused },
3990943707 .clobbers = .{ .eflags = true },
3991043708 .each = .{ .once = &.{
3991143709 .{ ._, ._, .movsx, .tmp0d, .src0b, ._, ._ },
......@@ -39917,7 +43715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3991743715 } },
3991843716 }, .{
3991943717 .src_constraints = .{ .{ .int = .byte }, .any, .any },
39920 .dst_constraints = .{.{ .remainder_int = .{ .of = .dword, .is = .dword } }},
43718 .dst_constraints = .{ .{ .remainder_int = .{ .of = .dword, .is = .dword } }, .any },
3992143719 .patterns = &.{
3992243720 .{ .src = .{ .mem, .none, .none } },
3992343721 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -39933,7 +43731,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3993343731 .unused,
3993443732 .unused,
3993543733 },
39936 .dst_temps = .{.mem},
43734 .dst_temps = .{ .mem, .unused },
3993743735 .clobbers = .{ .eflags = true },
3993843736 .each = .{ .once = &.{
3993943737 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
......@@ -39945,54 +43743,54 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
3994543743 } },
3994643744 }, .{
3994743745 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },
39948 .dst_constraints = .{.{ .signed_int = .dword }},
43746 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
3994943747 .patterns = &.{
3995043748 .{ .src = .{ .mem, .none, .none } },
3995143749 .{ .src = .{ .to_gpr, .none, .none } },
3995243750 },
39953 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }},
43751 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused },
3995443752 .each = .{ .once = &.{
3995543753 .{ ._, ._, .movsx, .dst0d, .src0w, ._, ._ },
3995643754 } },
3995743755 }, .{
3995843756 .src_constraints = .{ .{ .int = .word }, .any, .any },
39959 .dst_constraints = .{.{ .int = .dword }},
43757 .dst_constraints = .{ .{ .int = .dword }, .any },
3996043758 .patterns = &.{
3996143759 .{ .src = .{ .mem, .none, .none } },
3996243760 .{ .src = .{ .to_gpr, .none, .none } },
3996343761 },
39964 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }},
43762 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused },
3996543763 .each = .{ .once = &.{
3996643764 .{ ._, ._, .movzx, .dst0d, .src0w, ._, ._ },
3996743765 } },
3996843766 }, .{
3996943767 .required_features = .{ .@"64bit", null, null, null },
3997043768 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },
39971 .dst_constraints = .{.{ .signed_int = .qword }},
43769 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
3997243770 .patterns = &.{
3997343771 .{ .src = .{ .mem, .none, .none } },
3997443772 .{ .src = .{ .to_gpr, .none, .none } },
3997543773 },
39976 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }},
43774 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused },
3997743775 .each = .{ .once = &.{
3997843776 .{ ._, ._, .movsx, .dst0q, .src0w, ._, ._ },
3997943777 } },
3998043778 }, .{
3998143779 .required_features = .{ .@"64bit", null, null, null },
3998243780 .src_constraints = .{ .{ .int = .word }, .any, .any },
39983 .dst_constraints = .{.{ .int = .qword }},
43781 .dst_constraints = .{ .{ .int = .qword }, .any },
3998443782 .patterns = &.{
3998543783 .{ .src = .{ .mem, .none, .none } },
3998643784 .{ .src = .{ .to_gpr, .none, .none } },
3998743785 },
39988 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }},
43786 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused },
3998943787 .each = .{ .once = &.{
3999043788 .{ ._, ._, .movzx, .dst0d, .src0w, ._, ._ },
3999143789 } },
3999243790 }, .{
3999343791 .required_features = .{ .@"64bit", null, null, null },
3999443792 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },
39995 .dst_constraints = .{.{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }},
43793 .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any },
3999643794 .patterns = &.{
3999743795 .{ .src = .{ .mem, .none, .none } },
3999843796 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -40008,7 +43806,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4000843806 .unused,
4000943807 .unused,
4001043808 },
40011 .dst_temps = .{.mem},
43809 .dst_temps = .{ .mem, .unused },
4001243810 .clobbers = .{ .eflags = true },
4001343811 .each = .{ .once = &.{
4001443812 .{ ._, ._, .movsx, .tmp0q, .src0w, ._, ._ },
......@@ -40021,7 +43819,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4002143819 }, .{
4002243820 .required_features = .{ .@"64bit", null, null, null },
4002343821 .src_constraints = .{ .{ .int = .word }, .any, .any },
40024 .dst_constraints = .{.{ .remainder_int = .{ .of = .qword, .is = .qword } }},
43822 .dst_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any },
4002543823 .patterns = &.{
4002643824 .{ .src = .{ .mem, .none, .none } },
4002743825 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -40037,7 +43835,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4003743835 .unused,
4003843836 .unused,
4003943837 },
40040 .dst_temps = .{.mem},
43838 .dst_temps = .{ .mem, .unused },
4004143839 .clobbers = .{ .eflags = true },
4004243840 .each = .{ .once = &.{
4004343841 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },
......@@ -40049,7 +43847,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4004943847 } },
4005043848 }, .{
4005143849 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },
40052 .dst_constraints = .{.{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }},
43850 .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any },
4005343851 .patterns = &.{
4005443852 .{ .src = .{ .mem, .none, .none } },
4005543853 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -40065,7 +43863,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4006543863 .unused,
4006643864 .unused,
4006743865 },
40068 .dst_temps = .{.mem},
43866 .dst_temps = .{ .mem, .unused },
4006943867 .clobbers = .{ .eflags = true },
4007043868 .each = .{ .once = &.{
4007143869 .{ ._, ._, .movsx, .tmp0d, .src0w, ._, ._ },
......@@ -40077,7 +43875,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4007743875 } },
4007843876 }, .{
4007943877 .src_constraints = .{ .{ .int = .word }, .any, .any },
40080 .dst_constraints = .{.{ .remainder_int = .{ .of = .dword, .is = .dword } }},
43878 .dst_constraints = .{ .{ .remainder_int = .{ .of = .dword, .is = .dword } }, .any },
4008143879 .patterns = &.{
4008243880 .{ .src = .{ .mem, .none, .none } },
4008343881 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -40093,7 +43891,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4009343891 .unused,
4009443892 .unused,
4009543893 },
40096 .dst_temps = .{.mem},
43894 .dst_temps = .{ .mem, .unused },
4009743895 .clobbers = .{ .eflags = true },
4009843896 .each = .{ .once = &.{
4009943897 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },
......@@ -40106,31 +43904,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4010643904 }, .{
4010743905 .required_features = .{ .@"64bit", null, null, null },
4010843906 .src_constraints = .{ .{ .signed_int = .dword }, .any, .any },
40109 .dst_constraints = .{.{ .signed_int = .qword }},
43907 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
4011043908 .patterns = &.{
4011143909 .{ .src = .{ .mem, .none, .none } },
4011243910 .{ .src = .{ .to_gpr, .none, .none } },
4011343911 },
40114 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }},
43912 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused },
4011543913 .each = .{ .once = &.{
4011643914 .{ ._, ._d, .movsx, .dst0q, .src0d, ._, ._ },
4011743915 } },
4011843916 }, .{
4011943917 .required_features = .{ .@"64bit", null, null, null },
4012043918 .src_constraints = .{ .{ .int = .dword }, .any, .any },
40121 .dst_constraints = .{.{ .int = .qword }},
43919 .dst_constraints = .{ .{ .int = .qword }, .any },
4012243920 .patterns = &.{
4012343921 .{ .src = .{ .mem, .none, .none } },
4012443922 .{ .src = .{ .to_gpr, .none, .none } },
4012543923 },
40126 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }},
43924 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused },
4012743925 .each = .{ .once = &.{
4012843926 .{ ._, ._, .mov, .dst0d, .src0d, ._, ._ },
4012943927 } },
4013043928 }, .{
4013143929 .required_features = .{ .@"64bit", null, null, null },
4013243930 .src_constraints = .{ .{ .signed_int = .dword }, .any, .any },
40133 .dst_constraints = .{.{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }},
43931 .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any },
4013443932 .patterns = &.{
4013543933 .{ .src = .{ .mem, .none, .none } },
4013643934 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -40146,7 +43944,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4014643944 .unused,
4014743945 .unused,
4014843946 },
40149 .dst_temps = .{.mem},
43947 .dst_temps = .{ .mem, .unused },
4015043948 .clobbers = .{ .eflags = true },
4015143949 .each = .{ .once = &.{
4015243950 .{ ._, ._d, .movsx, .tmp0q, .src0d, ._, ._ },
......@@ -40159,7 +43957,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4015943957 }, .{
4016043958 .required_features = .{ .@"64bit", null, null, null },
4016143959 .src_constraints = .{ .{ .int = .dword }, .any, .any },
40162 .dst_constraints = .{.{ .remainder_int = .{ .of = .qword, .is = .qword } }},
43960 .dst_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any },
4016343961 .patterns = &.{
4016443962 .{ .src = .{ .mem, .none, .none } },
4016543963 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -40175,7 +43973,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4017543973 .unused,
4017643974 .unused,
4017743975 },
40178 .dst_temps = .{.mem},
43976 .dst_temps = .{ .mem, .unused },
4017943977 .clobbers = .{ .eflags = true },
4018043978 .each = .{ .once = &.{
4018143979 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },
......@@ -40187,7 +43985,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4018743985 } },
4018843986 }, .{
4018943987 .src_constraints = .{ .{ .signed_int = .dword }, .any, .any },
40190 .dst_constraints = .{.{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }},
43988 .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any },
4019143989 .patterns = &.{
4019243990 .{ .src = .{ .mem, .none, .none } },
4019343991 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -40203,7 +44001,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4020344001 .unused,
4020444002 .unused,
4020544003 },
40206 .dst_temps = .{.mem},
44004 .dst_temps = .{ .mem, .unused },
4020744005 .clobbers = .{ .eflags = true },
4020844006 .each = .{ .once = &.{
4020944007 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },
......@@ -40215,7 +44013,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4021544013 } },
4021644014 }, .{
4021744015 .src_constraints = .{ .{ .int = .dword }, .any, .any },
40218 .dst_constraints = .{.{ .remainder_int = .{ .of = .dword, .is = .dword } }},
44016 .dst_constraints = .{ .{ .remainder_int = .{ .of = .dword, .is = .dword } }, .any },
4021944017 .patterns = &.{
4022044018 .{ .src = .{ .mem, .none, .none } },
4022144019 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -40231,7 +44029,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4023144029 .unused,
4023244030 .unused,
4023344031 },
40234 .dst_temps = .{.mem},
44032 .dst_temps = .{ .mem, .unused },
4023544033 .clobbers = .{ .eflags = true },
4023644034 .each = .{ .once = &.{
4023744035 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },
......@@ -40244,7 +44042,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4024444042 }, .{
4024544043 .required_features = .{ .@"64bit", null, null, null },
4024644044 .src_constraints = .{ .{ .signed_int = .qword }, .any, .any },
40247 .dst_constraints = .{.{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }},
44045 .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any },
4024844046 .patterns = &.{
4024944047 .{ .src = .{ .mem, .none, .none } },
4025044048 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -40260,7 +44058,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4026044058 .unused,
4026144059 .unused,
4026244060 },
40263 .dst_temps = .{.mem},
44061 .dst_temps = .{ .mem, .unused },
4026444062 .clobbers = .{ .eflags = true },
4026544063 .each = .{ .once = &.{
4026644064 .{ ._, ._, .mov, .tmp0q, .src0q, ._, ._ },
......@@ -40273,7 +44071,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4027344071 }, .{
4027444072 .required_features = .{ .@"64bit", null, null, null },
4027544073 .src_constraints = .{ .{ .int = .qword }, .any, .any },
40276 .dst_constraints = .{.{ .remainder_int = .{ .of = .qword, .is = .qword } }},
44074 .dst_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any },
4027744075 .patterns = &.{
4027844076 .{ .src = .{ .mem, .none, .none } },
4027944077 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -40289,7 +44087,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4028944087 .unused,
4029044088 .unused,
4029144089 },
40292 .dst_temps = .{.mem},
44090 .dst_temps = .{ .mem, .unused },
4029344091 .clobbers = .{ .eflags = true },
4029444092 .each = .{ .once = &.{
4029544093 .{ ._, ._, .mov, .tmp0q, .src0q, ._, ._ },
......@@ -40302,7 +44100,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4030244100 }, .{
4030344101 .required_features = .{ .@"64bit", null, null, null },
4030444102 .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },
40305 .dst_constraints = .{.{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }},
44103 .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any },
4030644104 .patterns = &.{
4030744105 .{ .src = .{ .to_mem, .none, .none } },
4030844106 },
......@@ -40317,7 +44115,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4031744115 .unused,
4031844116 .unused,
4031944117 },
40320 .dst_temps = .{.mem},
44118 .dst_temps = .{ .mem, .unused },
4032144119 .clobbers = .{ .eflags = true },
4032244120 .each = .{ .once = &.{
4032344121 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -40333,7 +44131,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4033344131 }, .{
4033444132 .required_features = .{ .@"64bit", null, null, null },
4033544133 .src_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any, .any },
40336 .dst_constraints = .{.{ .remainder_int = .{ .of = .qword, .is = .qword } }},
44134 .dst_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any },
4033744135 .patterns = &.{
4033844136 .{ .src = .{ .to_mem, .none, .none } },
4033944137 },
......@@ -40348,7 +44146,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4034844146 .unused,
4034944147 .unused,
4035044148 },
40351 .dst_temps = .{.mem},
44149 .dst_temps = .{ .mem, .unused },
4035244150 .clobbers = .{ .eflags = true },
4035344151 .each = .{ .once = &.{
4035444152 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -40362,55 +44160,55 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4036244160 }, .{
4036344161 .required_features = .{ .avx, null, null, null },
4036444162 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any },
40365 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .word } }},
44163 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, .any },
4036644164 .patterns = &.{
4036744165 .{ .src = .{ .mem, .none, .none } },
4036844166 .{ .src = .{ .to_sse, .none, .none } },
4036944167 },
40370 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
44168 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4037144169 .each = .{ .once = &.{
4037244170 .{ ._, .vp_w, .movsxb, .dst0x, .src0q, ._, ._ },
4037344171 } },
4037444172 }, .{
4037544173 .required_features = .{ .avx, null, null, null },
4037644174 .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any },
40377 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .word } }},
44175 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any },
4037844176 .patterns = &.{
4037944177 .{ .src = .{ .mem, .none, .none } },
4038044178 .{ .src = .{ .to_sse, .none, .none } },
4038144179 },
40382 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
44180 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4038344181 .each = .{ .once = &.{
4038444182 .{ ._, .vp_w, .movzxb, .dst0x, .src0q, ._, ._ },
4038544183 } },
4038644184 }, .{
4038744185 .required_features = .{ .sse4_1, null, null, null },
4038844186 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any },
40389 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .word } }},
44187 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, .any },
4039044188 .patterns = &.{
4039144189 .{ .src = .{ .mem, .none, .none } },
4039244190 .{ .src = .{ .to_sse, .none, .none } },
4039344191 },
40394 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
44192 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4039544193 .each = .{ .once = &.{
4039644194 .{ ._, .p_w, .movsxb, .dst0x, .src0q, ._, ._ },
4039744195 } },
4039844196 }, .{
4039944197 .required_features = .{ .sse4_1, null, null, null },
4040044198 .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any },
40401 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .word } }},
44199 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any },
4040244200 .patterns = &.{
4040344201 .{ .src = .{ .mem, .none, .none } },
4040444202 .{ .src = .{ .to_sse, .none, .none } },
4040544203 },
40406 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
44204 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4040744205 .each = .{ .once = &.{
4040844206 .{ ._, .p_w, .movzxb, .dst0x, .src0q, ._, ._ },
4040944207 } },
4041044208 }, .{
4041144209 .required_features = .{ .sse2, null, null, null },
4041244210 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any },
40413 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .word } }},
44211 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, .any },
4041444212 .patterns = &.{
4041544213 .{ .src = .{ .to_mut_sse, .none, .none } },
4041644214 },
......@@ -40425,7 +44223,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4042544223 .unused,
4042644224 .unused,
4042744225 },
40428 .dst_temps = .{.{ .ref = .src0 }},
44226 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4042944227 .each = .{ .once = &.{
4043044228 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
4043144229 .{ ._, .p_b, .cmpgt, .tmp0x, .src0x, ._, ._ },
......@@ -40434,7 +44232,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4043444232 }, .{
4043544233 .required_features = .{ .sse2, null, null, null },
4043644234 .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any },
40437 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .word } }},
44235 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any },
4043844236 .patterns = &.{
4043944237 .{ .src = .{ .to_mut_sse, .none, .none } },
4044044238 },
......@@ -40449,7 +44247,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4044944247 .unused,
4045044248 .unused,
4045144249 },
40452 .dst_temps = .{.{ .ref = .src0 }},
44250 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4045344251 .each = .{ .once = &.{
4045444252 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
4045544253 .{ ._, .p_, .unpcklbw, .dst0x, .tmp0x, ._, ._ },
......@@ -40457,31 +44255,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4045744255 }, .{
4045844256 .required_features = .{ .avx2, null, null, null },
4045944257 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any },
40460 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .yword, .is = .word } }},
44258 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .yword, .is = .word } }, .any },
4046144259 .patterns = &.{
4046244260 .{ .src = .{ .mem, .none, .none } },
4046344261 .{ .src = .{ .to_sse, .none, .none } },
4046444262 },
40465 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
44263 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4046644264 .each = .{ .once = &.{
4046744265 .{ ._, .vp_w, .movsxb, .dst0y, .src0x, ._, ._ },
4046844266 } },
4046944267 }, .{
4047044268 .required_features = .{ .avx2, null, null, null },
4047144269 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any },
40472 .dst_constraints = .{.{ .scalar_int = .{ .of = .yword, .is = .word } }},
44270 .dst_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .word } }, .any },
4047344271 .patterns = &.{
4047444272 .{ .src = .{ .mem, .none, .none } },
4047544273 .{ .src = .{ .to_sse, .none, .none } },
4047644274 },
40477 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
44275 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4047844276 .each = .{ .once = &.{
4047944277 .{ ._, .vp_w, .movzxb, .dst0y, .src0x, ._, ._ },
4048044278 } },
4048144279 }, .{
4048244280 .required_features = .{ .avx2, null, null, null },
4048344281 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any },
40484 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .word } }},
44282 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .word } }, .any },
4048544283 .patterns = &.{
4048644284 .{ .src = .{ .to_mem, .none, .none } },
4048744285 },
......@@ -40496,7 +44294,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4049644294 .unused,
4049744295 .unused,
4049844296 },
40499 .dst_temps = .{.mem},
44297 .dst_temps = .{ .mem, .unused },
4050044298 .clobbers = .{ .eflags = true },
4050144299 .each = .{ .once = &.{
4050244300 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -40508,7 +44306,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4050844306 }, .{
4050944307 .required_features = .{ .avx2, null, null, null },
4051044308 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any },
40511 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .yword, .is = .word } }},
44309 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .word } }, .any },
4051244310 .patterns = &.{
4051344311 .{ .src = .{ .to_mem, .none, .none } },
4051444312 },
......@@ -40523,7 +44321,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4052344321 .unused,
4052444322 .unused,
4052544323 },
40526 .dst_temps = .{.mem},
44324 .dst_temps = .{ .mem, .unused },
4052744325 .clobbers = .{ .eflags = true },
4052844326 .each = .{ .once = &.{
4052944327 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -40535,7 +44333,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4053544333 }, .{
4053644334 .required_features = .{ .avx, null, null, null },
4053744335 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any },
40538 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }},
44336 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any },
4053944337 .patterns = &.{
4054044338 .{ .src = .{ .to_mem, .none, .none } },
4054144339 },
......@@ -40550,7 +44348,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4055044348 .unused,
4055144349 .unused,
4055244350 },
40553 .dst_temps = .{.mem},
44351 .dst_temps = .{ .mem, .unused },
4055444352 .clobbers = .{ .eflags = true },
4055544353 .each = .{ .once = &.{
4055644354 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -40562,7 +44360,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4056244360 }, .{
4056344361 .required_features = .{ .avx, null, null, null },
4056444362 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any },
40565 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .word } }},
44363 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any },
4056644364 .patterns = &.{
4056744365 .{ .src = .{ .to_mem, .none, .none } },
4056844366 },
......@@ -40577,7 +44375,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4057744375 .unused,
4057844376 .unused,
4057944377 },
40580 .dst_temps = .{.mem},
44378 .dst_temps = .{ .mem, .unused },
4058144379 .clobbers = .{ .eflags = true },
4058244380 .each = .{ .once = &.{
4058344381 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -40589,7 +44387,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4058944387 }, .{
4059044388 .required_features = .{ .sse4_1, null, null, null },
4059144389 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any },
40592 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }},
44390 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any },
4059344391 .patterns = &.{
4059444392 .{ .src = .{ .to_mem, .none, .none } },
4059544393 },
......@@ -40604,7 +44402,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4060444402 .unused,
4060544403 .unused,
4060644404 },
40607 .dst_temps = .{.mem},
44405 .dst_temps = .{ .mem, .unused },
4060844406 .clobbers = .{ .eflags = true },
4060944407 .each = .{ .once = &.{
4061044408 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -40616,7 +44414,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4061644414 }, .{
4061744415 .required_features = .{ .sse4_1, null, null, null },
4061844416 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any },
40619 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .word } }},
44417 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any },
4062044418 .patterns = &.{
4062144419 .{ .src = .{ .to_mem, .none, .none } },
4062244420 },
......@@ -40631,7 +44429,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4063144429 .unused,
4063244430 .unused,
4063344431 },
40634 .dst_temps = .{.mem},
44432 .dst_temps = .{ .mem, .unused },
4063544433 .clobbers = .{ .eflags = true },
4063644434 .each = .{ .once = &.{
4063744435 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -40643,7 +44441,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4064344441 }, .{
4064444442 .required_features = .{ .slow_incdec, null, null, null },
4064544443 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
40646 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }},
44444 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any },
4064744445 .patterns = &.{
4064844446 .{ .src = .{ .to_mem, .none, .none } },
4064944447 },
......@@ -40658,7 +44456,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4065844456 .unused,
4065944457 .unused,
4066044458 },
40661 .dst_temps = .{.mem},
44459 .dst_temps = .{ .mem, .unused },
4066244460 .clobbers = .{ .eflags = true },
4066344461 .each = .{ .once = &.{
4066444462 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -40669,7 +44467,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4066944467 } },
4067044468 }, .{
4067144469 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
40672 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }},
44470 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any },
4067344471 .patterns = &.{
4067444472 .{ .src = .{ .to_mem, .none, .none } },
4067544473 },
......@@ -40684,7 +44482,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4068444482 .unused,
4068544483 .unused,
4068644484 },
40687 .dst_temps = .{.mem},
44485 .dst_temps = .{ .mem, .unused },
4068844486 .clobbers = .{ .eflags = true },
4068944487 .each = .{ .once = &.{
4069044488 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -40696,7 +44494,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4069644494 }, .{
4069744495 .required_features = .{ .slow_incdec, null, null, null },
4069844496 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any },
40699 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .word, .is = .word } }},
44497 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any },
4070044498 .patterns = &.{
4070144499 .{ .src = .{ .to_mem, .none, .none } },
4070244500 },
......@@ -40711,7 +44509,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4071144509 .unused,
4071244510 .unused,
4071344511 },
40714 .dst_temps = .{.mem},
44512 .dst_temps = .{ .mem, .unused },
4071544513 .clobbers = .{ .eflags = true },
4071644514 .each = .{ .once = &.{
4071744515 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -40722,7 +44520,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4072244520 } },
4072344521 }, .{
4072444522 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any },
40725 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .word, .is = .word } }},
44523 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any },
4072644524 .patterns = &.{
4072744525 .{ .src = .{ .to_mem, .none, .none } },
4072844526 },
......@@ -40737,7 +44535,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4073744535 .unused,
4073844536 .unused,
4073944537 },
40740 .dst_temps = .{.mem},
44538 .dst_temps = .{ .mem, .unused },
4074144539 .clobbers = .{ .eflags = true },
4074244540 .each = .{ .once = &.{
4074344541 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -40749,55 +44547,55 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4074944547 }, .{
4075044548 .required_features = .{ .avx, null, null, null },
4075144549 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },
40752 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }},
44550 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any },
4075344551 .patterns = &.{
4075444552 .{ .src = .{ .mem, .none, .none } },
4075544553 .{ .src = .{ .to_sse, .none, .none } },
4075644554 },
40757 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
44555 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4075844556 .each = .{ .once = &.{
4075944557 .{ ._, .vp_d, .movsxb, .dst0x, .src0d, ._, ._ },
4076044558 } },
4076144559 }, .{
4076244560 .required_features = .{ .avx, null, null, null },
4076344561 .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any },
40764 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .dword } }},
44562 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any },
4076544563 .patterns = &.{
4076644564 .{ .src = .{ .mem, .none, .none } },
4076744565 .{ .src = .{ .to_sse, .none, .none } },
4076844566 },
40769 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
44567 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4077044568 .each = .{ .once = &.{
4077144569 .{ ._, .vp_d, .movzxb, .dst0x, .src0d, ._, ._ },
4077244570 } },
4077344571 }, .{
4077444572 .required_features = .{ .sse4_1, null, null, null },
4077544573 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },
40776 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }},
44574 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any },
4077744575 .patterns = &.{
4077844576 .{ .src = .{ .mem, .none, .none } },
4077944577 .{ .src = .{ .to_sse, .none, .none } },
4078044578 },
40781 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
44579 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4078244580 .each = .{ .once = &.{
4078344581 .{ ._, .p_d, .movsxb, .dst0x, .src0d, ._, ._ },
4078444582 } },
4078544583 }, .{
4078644584 .required_features = .{ .sse4_1, null, null, null },
4078744585 .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any },
40788 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .dword } }},
44586 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any },
4078944587 .patterns = &.{
4079044588 .{ .src = .{ .mem, .none, .none } },
4079144589 .{ .src = .{ .to_sse, .none, .none } },
4079244590 },
40793 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
44591 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4079444592 .each = .{ .once = &.{
4079544593 .{ ._, .p_d, .movzxb, .dst0x, .src0d, ._, ._ },
4079644594 } },
4079744595 }, .{
4079844596 .required_features = .{ .sse2, null, null, null },
4079944597 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },
40800 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }},
44598 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any },
4080144599 .patterns = &.{
4080244600 .{ .src = .{ .to_mut_sse, .none, .none } },
4080344601 },
......@@ -40812,7 +44610,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4081244610 .unused,
4081344611 .unused,
4081444612 },
40815 .dst_temps = .{.{ .ref = .src0 }},
44613 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4081644614 .each = .{ .once = &.{
4081744615 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
4081844616 .{ ._, .p_b, .cmpgt, .tmp0x, .src0x, ._, ._ },
......@@ -40823,7 +44621,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4082344621 }, .{
4082444622 .required_features = .{ .sse2, null, null, null },
4082544623 .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any },
40826 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .dword } }},
44624 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any },
4082744625 .patterns = &.{
4082844626 .{ .src = .{ .to_mut_sse, .none, .none } },
4082944627 },
......@@ -40838,7 +44636,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4083844636 .unused,
4083944637 .unused,
4084044638 },
40841 .dst_temps = .{.{ .ref = .src0 }},
44639 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4084244640 .each = .{ .once = &.{
4084344641 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
4084444642 .{ ._, .p_, .unpcklbw, .dst0x, .tmp0x, ._, ._ },
......@@ -40847,31 +44645,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4084744645 }, .{
4084844646 .required_features = .{ .avx2, null, null, null },
4084944647 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any },
40850 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .yword, .is = .dword } }},
44648 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any },
4085144649 .patterns = &.{
4085244650 .{ .src = .{ .mem, .none, .none } },
4085344651 .{ .src = .{ .to_sse, .none, .none } },
4085444652 },
40855 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
44653 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4085644654 .each = .{ .once = &.{
4085744655 .{ ._, .vp_d, .movsxb, .dst0y, .src0q, ._, ._ },
4085844656 } },
4085944657 }, .{
4086044658 .required_features = .{ .avx2, null, null, null },
4086144659 .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any },
40862 .dst_constraints = .{.{ .scalar_int = .{ .of = .yword, .is = .dword } }},
44660 .dst_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .dword } }, .any },
4086344661 .patterns = &.{
4086444662 .{ .src = .{ .mem, .none, .none } },
4086544663 .{ .src = .{ .to_sse, .none, .none } },
4086644664 },
40867 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
44665 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4086844666 .each = .{ .once = &.{
4086944667 .{ ._, .vp_d, .movzxb, .dst0y, .src0q, ._, ._ },
4087044668 } },
4087144669 }, .{
4087244670 .required_features = .{ .avx2, null, null, null },
4087344671 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any },
40874 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }},
44672 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any },
4087544673 .patterns = &.{
4087644674 .{ .src = .{ .to_mem, .none, .none } },
4087744675 },
......@@ -40886,7 +44684,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4088644684 .unused,
4088744685 .unused,
4088844686 },
40889 .dst_temps = .{.mem},
44687 .dst_temps = .{ .mem, .unused },
4089044688 .clobbers = .{ .eflags = true },
4089144689 .each = .{ .once = &.{
4089244690 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -40898,7 +44696,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4089844696 }, .{
4089944697 .required_features = .{ .avx2, null, null, null },
4090044698 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any },
40901 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } }},
44699 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } }, .any },
4090244700 .patterns = &.{
4090344701 .{ .src = .{ .to_mem, .none, .none } },
4090444702 },
......@@ -40913,7 +44711,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4091344711 .unused,
4091444712 .unused,
4091544713 },
40916 .dst_temps = .{.mem},
44714 .dst_temps = .{ .mem, .unused },
4091744715 .clobbers = .{ .eflags = true },
4091844716 .each = .{ .once = &.{
4091944717 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -40925,7 +44723,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4092544723 }, .{
4092644724 .required_features = .{ .avx, null, null, null },
4092744725 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },
40928 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }},
44726 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any },
4092944727 .patterns = &.{
4093044728 .{ .src = .{ .to_mem, .none, .none } },
4093144729 },
......@@ -40940,7 +44738,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4094044738 .unused,
4094144739 .unused,
4094244740 },
40943 .dst_temps = .{.mem},
44741 .dst_temps = .{ .mem, .unused },
4094444742 .clobbers = .{ .eflags = true },
4094544743 .each = .{ .once = &.{
4094644744 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -40952,7 +44750,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4095244750 }, .{
4095344751 .required_features = .{ .avx, null, null, null },
4095444752 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any },
40955 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }},
44753 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any },
4095644754 .patterns = &.{
4095744755 .{ .src = .{ .to_mem, .none, .none } },
4095844756 },
......@@ -40967,7 +44765,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4096744765 .unused,
4096844766 .unused,
4096944767 },
40970 .dst_temps = .{.mem},
44768 .dst_temps = .{ .mem, .unused },
4097144769 .clobbers = .{ .eflags = true },
4097244770 .each = .{ .once = &.{
4097344771 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -40979,7 +44777,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4097944777 }, .{
4098044778 .required_features = .{ .sse4_1, null, null, null },
4098144779 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },
40982 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }},
44780 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any },
4098344781 .patterns = &.{
4098444782 .{ .src = .{ .to_mem, .none, .none } },
4098544783 },
......@@ -40994,7 +44792,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4099444792 .unused,
4099544793 .unused,
4099644794 },
40997 .dst_temps = .{.mem},
44795 .dst_temps = .{ .mem, .unused },
4099844796 .clobbers = .{ .eflags = true },
4099944797 .each = .{ .once = &.{
4100044798 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -41006,7 +44804,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4100644804 }, .{
4100744805 .required_features = .{ .sse4_1, null, null, null },
4100844806 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any },
41009 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }},
44807 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any },
4101044808 .patterns = &.{
4101144809 .{ .src = .{ .to_mem, .none, .none } },
4101244810 },
......@@ -41021,7 +44819,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4102144819 .unused,
4102244820 .unused,
4102344821 },
41024 .dst_temps = .{.mem},
44822 .dst_temps = .{ .mem, .unused },
4102544823 .clobbers = .{ .eflags = true },
4102644824 .each = .{ .once = &.{
4102744825 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -41033,7 +44831,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4103344831 }, .{
4103444832 .required_features = .{ .slow_incdec, null, null, null },
4103544833 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
41036 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }},
44834 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any },
4103744835 .patterns = &.{
4103844836 .{ .src = .{ .to_mem, .none, .none } },
4103944837 },
......@@ -41048,7 +44846,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4104844846 .unused,
4104944847 .unused,
4105044848 },
41051 .dst_temps = .{.mem},
44849 .dst_temps = .{ .mem, .unused },
4105244850 .clobbers = .{ .eflags = true },
4105344851 .each = .{ .once = &.{
4105444852 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -41059,7 +44857,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4105944857 } },
4106044858 }, .{
4106144859 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
41062 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }},
44860 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any },
4106344861 .patterns = &.{
4106444862 .{ .src = .{ .to_mem, .none, .none } },
4106544863 },
......@@ -41074,7 +44872,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4107444872 .unused,
4107544873 .unused,
4107644874 },
41077 .dst_temps = .{.mem},
44875 .dst_temps = .{ .mem, .unused },
4107844876 .clobbers = .{ .eflags = true },
4107944877 .each = .{ .once = &.{
4108044878 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -41086,7 +44884,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4108644884 }, .{
4108744885 .required_features = .{ .slow_incdec, null, null, null },
4108844886 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any },
41089 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }},
44887 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any },
4109044888 .patterns = &.{
4109144889 .{ .src = .{ .to_mem, .none, .none } },
4109244890 },
......@@ -41101,7 +44899,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4110144899 .unused,
4110244900 .unused,
4110344901 },
41104 .dst_temps = .{.mem},
44902 .dst_temps = .{ .mem, .unused },
4110544903 .clobbers = .{ .eflags = true },
4110644904 .each = .{ .once = &.{
4110744905 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -41112,7 +44910,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4111244910 } },
4111344911 }, .{
4111444912 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any },
41115 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }},
44913 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any },
4111644914 .patterns = &.{
4111744915 .{ .src = .{ .to_mem, .none, .none } },
4111844916 },
......@@ -41127,7 +44925,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4112744925 .unused,
4112844926 .unused,
4112944927 },
41130 .dst_temps = .{.mem},
44928 .dst_temps = .{ .mem, .unused },
4113144929 .clobbers = .{ .eflags = true },
4113244930 .each = .{ .once = &.{
4113344931 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -41139,55 +44937,55 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4113944937 }, .{
4114044938 .required_features = .{ .avx, null, null, null },
4114144939 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .word, .is = .byte } }, .any, .any },
41142 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }},
44940 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any },
4114344941 .patterns = &.{
4114444942 .{ .src = .{ .mem, .none, .none } },
4114544943 .{ .src = .{ .to_sse, .none, .none } },
4114644944 },
41147 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
44945 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4114844946 .each = .{ .once = &.{
4114944947 .{ ._, .vp_q, .movsxb, .dst0x, .src0w, ._, ._ },
4115044948 } },
4115144949 }, .{
4115244950 .required_features = .{ .avx, null, null, null },
4115344951 .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any, .any },
41154 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .qword } }},
44952 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .qword } }, .any },
4115544953 .patterns = &.{
4115644954 .{ .src = .{ .mem, .none, .none } },
4115744955 .{ .src = .{ .to_sse, .none, .none } },
4115844956 },
41159 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
44957 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4116044958 .each = .{ .once = &.{
4116144959 .{ ._, .vp_q, .movzxb, .dst0x, .src0w, ._, ._ },
4116244960 } },
4116344961 }, .{
4116444962 .required_features = .{ .sse4_1, null, null, null },
4116544963 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .word, .is = .byte } }, .any, .any },
41166 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }},
44964 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any },
4116744965 .patterns = &.{
4116844966 .{ .src = .{ .mem, .none, .none } },
4116944967 .{ .src = .{ .to_sse, .none, .none } },
4117044968 },
41171 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
44969 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4117244970 .each = .{ .once = &.{
4117344971 .{ ._, .p_q, .movsxb, .dst0x, .src0w, ._, ._ },
4117444972 } },
4117544973 }, .{
4117644974 .required_features = .{ .sse4_1, null, null, null },
4117744975 .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any, .any },
41178 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .qword } }},
44976 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .qword } }, .any },
4117944977 .patterns = &.{
4118044978 .{ .src = .{ .mem, .none, .none } },
4118144979 .{ .src = .{ .to_sse, .none, .none } },
4118244980 },
41183 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
44981 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4118444982 .each = .{ .once = &.{
4118544983 .{ ._, .p_q, .movzxb, .dst0x, .src0w, ._, ._ },
4118644984 } },
4118744985 }, .{
4118844986 .required_features = .{ .sse2, null, null, null },
4118944987 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .word, .is = .byte } }, .any, .any },
41190 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }},
44988 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any },
4119144989 .patterns = &.{
4119244990 .{ .src = .{ .to_mut_sse, .none, .none } },
4119344991 },
......@@ -41202,7 +45000,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4120245000 .unused,
4120345001 .unused,
4120445002 },
41205 .dst_temps = .{.{ .ref = .src0 }},
45003 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4120645004 .each = .{ .once = &.{
4120745005 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
4120845006 .{ ._, .p_b, .cmpgt, .tmp0x, .src0x, ._, ._ },
......@@ -41215,7 +45013,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4121545013 }, .{
4121645014 .required_features = .{ .sse2, null, null, null },
4121745015 .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any, .any },
41218 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .qword } }},
45016 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .qword } }, .any },
4121945017 .patterns = &.{
4122045018 .{ .src = .{ .to_mut_sse, .none, .none } },
4122145019 },
......@@ -41230,7 +45028,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4123045028 .unused,
4123145029 .unused,
4123245030 },
41233 .dst_temps = .{.{ .ref = .src0 }},
45031 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4123445032 .each = .{ .once = &.{
4123545033 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
4123645034 .{ ._, .p_, .unpcklbw, .dst0x, .tmp0x, ._, ._ },
......@@ -41240,31 +45038,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4124045038 }, .{
4124145039 .required_features = .{ .avx2, null, null, null },
4124245040 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },
41243 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .yword, .is = .qword } }},
45041 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any },
4124445042 .patterns = &.{
4124545043 .{ .src = .{ .mem, .none, .none } },
4124645044 .{ .src = .{ .to_sse, .none, .none } },
4124745045 },
41248 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
45046 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4124945047 .each = .{ .once = &.{
4125045048 .{ ._, .vp_q, .movsxb, .dst0y, .src0d, ._, ._ },
4125145049 } },
4125245050 }, .{
4125345051 .required_features = .{ .avx2, null, null, null },
4125445052 .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any },
41255 .dst_constraints = .{.{ .scalar_int = .{ .of = .yword, .is = .qword } }},
45053 .dst_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .qword } }, .any },
4125645054 .patterns = &.{
4125745055 .{ .src = .{ .mem, .none, .none } },
4125845056 .{ .src = .{ .to_sse, .none, .none } },
4125945057 },
41260 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
45058 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4126145059 .each = .{ .once = &.{
4126245060 .{ ._, .vp_q, .movzxb, .dst0y, .src0d, ._, ._ },
4126345061 } },
4126445062 }, .{
4126545063 .required_features = .{ .avx2, null, null, null },
4126645064 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },
41267 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }},
45065 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any },
4126845066 .patterns = &.{
4126945067 .{ .src = .{ .to_mem, .none, .none } },
4127045068 },
......@@ -41279,7 +45077,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4127945077 .unused,
4128045078 .unused,
4128145079 },
41282 .dst_temps = .{.mem},
45080 .dst_temps = .{ .mem, .unused },
4128345081 .clobbers = .{ .eflags = true },
4128445082 .each = .{ .once = &.{
4128545083 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -41291,7 +45089,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4129145089 }, .{
4129245090 .required_features = .{ .avx2, null, null, null },
4129345091 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any },
41294 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .yword, .is = .qword } }},
45092 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .qword } }, .any },
4129545093 .patterns = &.{
4129645094 .{ .src = .{ .to_mem, .none, .none } },
4129745095 },
......@@ -41306,7 +45104,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4130645104 .unused,
4130745105 .unused,
4130845106 },
41309 .dst_temps = .{.mem},
45107 .dst_temps = .{ .mem, .unused },
4131045108 .clobbers = .{ .eflags = true },
4131145109 .each = .{ .once = &.{
4131245110 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -41318,7 +45116,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4131845116 }, .{
4131945117 .required_features = .{ .avx, null, null, null },
4132045118 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .byte } }, .any, .any },
41321 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }},
45119 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any },
4132245120 .patterns = &.{
4132345121 .{ .src = .{ .to_mem, .none, .none } },
4132445122 },
......@@ -41333,7 +45131,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4133345131 .unused,
4133445132 .unused,
4133545133 },
41336 .dst_temps = .{.mem},
45134 .dst_temps = .{ .mem, .unused },
4133745135 .clobbers = .{ .eflags = true },
4133845136 .each = .{ .once = &.{
4133945137 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -41345,7 +45143,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4134545143 }, .{
4134645144 .required_features = .{ .avx, null, null, null },
4134745145 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .byte } }, .any, .any },
41348 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }},
45146 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }, .any },
4134945147 .patterns = &.{
4135045148 .{ .src = .{ .to_mem, .none, .none } },
4135145149 },
......@@ -41360,7 +45158,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4136045158 .unused,
4136145159 .unused,
4136245160 },
41363 .dst_temps = .{.mem},
45161 .dst_temps = .{ .mem, .unused },
4136445162 .clobbers = .{ .eflags = true },
4136545163 .each = .{ .once = &.{
4136645164 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -41372,7 +45170,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4137245170 }, .{
4137345171 .required_features = .{ .sse4_1, null, null, null },
4137445172 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .byte } }, .any, .any },
41375 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }},
45173 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any },
4137645174 .patterns = &.{
4137745175 .{ .src = .{ .to_mem, .none, .none } },
4137845176 },
......@@ -41387,7 +45185,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4138745185 .unused,
4138845186 .unused,
4138945187 },
41390 .dst_temps = .{.mem},
45188 .dst_temps = .{ .mem, .unused },
4139145189 .clobbers = .{ .eflags = true },
4139245190 .each = .{ .once = &.{
4139345191 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -41399,7 +45197,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4139945197 }, .{
4140045198 .required_features = .{ .sse4_1, null, null, null },
4140145199 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .byte } }, .any, .any },
41402 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }},
45200 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }, .any },
4140345201 .patterns = &.{
4140445202 .{ .src = .{ .to_mem, .none, .none } },
4140545203 },
......@@ -41414,7 +45212,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4141445212 .unused,
4141545213 .unused,
4141645214 },
41417 .dst_temps = .{.mem},
45215 .dst_temps = .{ .mem, .unused },
4141845216 .clobbers = .{ .eflags = true },
4141945217 .each = .{ .once = &.{
4142045218 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -41426,7 +45224,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4142645224 }, .{
4142745225 .required_features = .{ .@"64bit", .slow_incdec, null, null },
4142845226 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
41429 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }},
45227 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
4143045228 .patterns = &.{
4143145229 .{ .src = .{ .to_mem, .none, .none } },
4143245230 },
......@@ -41441,7 +45239,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4144145239 .unused,
4144245240 .unused,
4144345241 },
41444 .dst_temps = .{.mem},
45242 .dst_temps = .{ .mem, .unused },
4144545243 .clobbers = .{ .eflags = true },
4144645244 .each = .{ .once = &.{
4144745245 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -41453,7 +45251,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4145345251 }, .{
4145445252 .required_features = .{ .@"64bit", null, null, null },
4145545253 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
41456 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }},
45254 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
4145745255 .patterns = &.{
4145845256 .{ .src = .{ .to_mem, .none, .none } },
4145945257 },
......@@ -41468,7 +45266,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4146845266 .unused,
4146945267 .unused,
4147045268 },
41471 .dst_temps = .{.mem},
45269 .dst_temps = .{ .mem, .unused },
4147245270 .clobbers = .{ .eflags = true },
4147345271 .each = .{ .once = &.{
4147445272 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -41480,7 +45278,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4148045278 }, .{
4148145279 .required_features = .{ .slow_incdec, null, null, null },
4148245280 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any },
41483 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }},
45281 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any },
4148445282 .patterns = &.{
4148545283 .{ .src = .{ .to_mem, .none, .none } },
4148645284 },
......@@ -41495,7 +45293,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4149545293 .unused,
4149645294 .unused,
4149745295 },
41498 .dst_temps = .{.mem},
45296 .dst_temps = .{ .mem, .unused },
4149945297 .clobbers = .{ .eflags = true },
4150045298 .each = .{ .once = &.{
4150145299 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -41506,7 +45304,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4150645304 } },
4150745305 }, .{
4150845306 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any },
41509 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }},
45307 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any },
4151045308 .patterns = &.{
4151145309 .{ .src = .{ .to_mem, .none, .none } },
4151245310 },
......@@ -41521,7 +45319,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4152145319 .unused,
4152245320 .unused,
4152345321 },
41524 .dst_temps = .{.mem},
45322 .dst_temps = .{ .mem, .unused },
4152545323 .clobbers = .{ .eflags = true },
4152645324 .each = .{ .once = &.{
4152745325 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -41533,12 +45331,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4153345331 }, .{
4153445332 .required_features = .{ .avx, null, null, null },
4153545333 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
41536 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .xword } }},
45334 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any },
4153745335 .patterns = &.{
4153845336 .{ .src = .{ .mem, .none, .none } },
4153945337 .{ .src = .{ .to_sse, .none, .none } },
4154045338 },
41541 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
45339 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4154245340 .each = .{ .once = &.{
4154345341 .{ ._, .vp_q, .movsxb, .dst0x, .src0w, ._, ._ },
4154445342 .{ ._, .vp_q, .movsxd, .dst0x, .dst0q, ._, ._ },
......@@ -41546,12 +45344,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4154645344 }, .{
4154745345 .required_features = .{ .avx, null, null, null },
4154845346 .src_constraints = .{ .{ .scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any },
41549 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .xword } }},
45347 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .xword } }, .any },
4155045348 .patterns = &.{
4155145349 .{ .src = .{ .mem, .none, .none } },
4155245350 .{ .src = .{ .to_sse, .none, .none } },
4155345351 },
41554 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
45352 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4155545353 .each = .{ .once = &.{
4155645354 .{ ._, .vp_q, .movzxb, .dst0x, .src0w, ._, ._ },
4155745355 .{ ._, .vp_q, .movzxd, .dst0x, .dst0q, ._, ._ },
......@@ -41559,12 +45357,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4155945357 }, .{
4156045358 .required_features = .{ .sse4_1, null, null, null },
4156145359 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
41562 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .xword } }},
45360 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any },
4156345361 .patterns = &.{
4156445362 .{ .src = .{ .mem, .none, .none } },
4156545363 .{ .src = .{ .to_sse, .none, .none } },
4156645364 },
41567 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
45365 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4156845366 .each = .{ .once = &.{
4156945367 .{ ._, .p_q, .movsxb, .dst0x, .src0w, ._, ._ },
4157045368 .{ ._, .p_q, .movsxd, .dst0x, .dst0q, ._, ._ },
......@@ -41572,12 +45370,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4157245370 }, .{
4157345371 .required_features = .{ .sse4_1, null, null, null },
4157445372 .src_constraints = .{ .{ .scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any },
41575 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .xword } }},
45373 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .xword } }, .any },
4157645374 .patterns = &.{
4157745375 .{ .src = .{ .mem, .none, .none } },
4157845376 .{ .src = .{ .to_sse, .none, .none } },
4157945377 },
41580 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
45378 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4158145379 .each = .{ .once = &.{
4158245380 .{ ._, .p_q, .movzxb, .dst0x, .src0w, ._, ._ },
4158345381 .{ ._, .p_q, .movzxd, .dst0x, .dst0q, ._, ._ },
......@@ -41585,7 +45383,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4158545383 }, .{
4158645384 .required_features = .{ .sse2, null, null, null },
4158745385 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
41588 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .xword } }},
45386 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any },
4158945387 .patterns = &.{
4159045388 .{ .src = .{ .to_mut_sse, .none, .none } },
4159145389 },
......@@ -41600,7 +45398,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4160045398 .unused,
4160145399 .unused,
4160245400 },
41603 .dst_temps = .{.{ .ref = .src0 }},
45401 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4160445402 .each = .{ .once = &.{
4160545403 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
4160645404 .{ ._, .p_b, .cmpgt, .tmp0x, .src0x, ._, ._ },
......@@ -41615,7 +45413,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4161545413 }, .{
4161645414 .required_features = .{ .sse2, null, null, null },
4161745415 .src_constraints = .{ .{ .scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any },
41618 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .xword } }},
45416 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .xword } }, .any },
4161945417 .patterns = &.{
4162045418 .{ .src = .{ .to_mut_sse, .none, .none } },
4162145419 },
......@@ -41630,7 +45428,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4163045428 .unused,
4163145429 .unused,
4163245430 },
41633 .dst_temps = .{.{ .ref = .src0 }},
45431 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4163445432 .each = .{ .once = &.{
4163545433 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
4163645434 .{ ._, .p_, .unpcklbw, .dst0x, .tmp0x, ._, ._ },
......@@ -41641,7 +45439,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4164145439 }, .{
4164245440 .required_features = .{ .@"64bit", .slow_incdec, null, null },
4164345441 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
41644 .dst_constraints = .{.any_scalar_signed_int},
45442 .dst_constraints = .{ .any_scalar_signed_int, .any },
4164545443 .patterns = &.{
4164645444 .{ .src = .{ .to_mem, .none, .none } },
4164745445 },
......@@ -41656,7 +45454,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4165645454 .unused,
4165745455 .unused,
4165845456 },
41659 .dst_temps = .{.mem},
45457 .dst_temps = .{ .mem, .unused },
4166045458 .clobbers = .{ .eflags = true },
4166145459 .each = .{ .once = &.{
4166245460 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -41672,7 +45470,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4167245470 }, .{
4167345471 .required_features = .{ .@"64bit", null, null, null },
4167445472 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
41675 .dst_constraints = .{.any_scalar_signed_int},
45473 .dst_constraints = .{ .any_scalar_signed_int, .any },
4167645474 .patterns = &.{
4167745475 .{ .src = .{ .to_mem, .none, .none } },
4167845476 },
......@@ -41687,7 +45485,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4168745485 .unused,
4168845486 .unused,
4168945487 },
41690 .dst_temps = .{.mem},
45488 .dst_temps = .{ .mem, .unused },
4169145489 .clobbers = .{ .eflags = true },
4169245490 .each = .{ .once = &.{
4169345491 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -41703,7 +45501,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4170345501 }, .{
4170445502 .required_features = .{ .@"64bit", .slow_incdec, null, null },
4170545503 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any },
41706 .dst_constraints = .{.any_scalar_int},
45504 .dst_constraints = .{ .any_scalar_int, .any },
4170745505 .patterns = &.{
4170845506 .{ .src = .{ .to_mem, .none, .none } },
4170945507 },
......@@ -41718,7 +45516,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4171845516 .unused,
4171945517 .unused,
4172045518 },
41721 .dst_temps = .{.mem},
45519 .dst_temps = .{ .mem, .unused },
4172245520 .clobbers = .{ .eflags = true },
4172345521 .each = .{ .once = &.{
4172445522 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -41734,7 +45532,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4173445532 }, .{
4173545533 .required_features = .{ .@"64bit", null, null, null },
4173645534 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any },
41737 .dst_constraints = .{.any_scalar_int},
45535 .dst_constraints = .{ .any_scalar_int, .any },
4173845536 .patterns = &.{
4173945537 .{ .src = .{ .to_mem, .none, .none } },
4174045538 },
......@@ -41749,7 +45547,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4174945547 .unused,
4175045548 .unused,
4175145549 },
41752 .dst_temps = .{.mem},
45550 .dst_temps = .{ .mem, .unused },
4175345551 .clobbers = .{ .eflags = true },
4175445552 .each = .{ .once = &.{
4175545553 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -41765,55 +45563,55 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4176545563 }, .{
4176645564 .required_features = .{ .avx, null, null, null },
4176745565 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },
41768 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }},
45566 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any },
4176945567 .patterns = &.{
4177045568 .{ .src = .{ .mem, .none, .none } },
4177145569 .{ .src = .{ .to_sse, .none, .none } },
4177245570 },
41773 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
45571 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4177445572 .each = .{ .once = &.{
4177545573 .{ ._, .vp_d, .movsxw, .dst0x, .src0q, ._, ._ },
4177645574 } },
4177745575 }, .{
4177845576 .required_features = .{ .avx, null, null, null },
4177945577 .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .word } }, .any, .any },
41780 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .dword } }},
45578 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any },
4178145579 .patterns = &.{
4178245580 .{ .src = .{ .mem, .none, .none } },
4178345581 .{ .src = .{ .to_sse, .none, .none } },
4178445582 },
41785 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
45583 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4178645584 .each = .{ .once = &.{
4178745585 .{ ._, .vp_d, .movzxw, .dst0x, .src0q, ._, ._ },
4178845586 } },
4178945587 }, .{
4179045588 .required_features = .{ .sse4_1, null, null, null },
4179145589 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },
41792 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }},
45590 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any },
4179345591 .patterns = &.{
4179445592 .{ .src = .{ .mem, .none, .none } },
4179545593 .{ .src = .{ .to_sse, .none, .none } },
4179645594 },
41797 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
45595 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4179845596 .each = .{ .once = &.{
4179945597 .{ ._, .p_d, .movsxw, .dst0x, .src0q, ._, ._ },
4180045598 } },
4180145599 }, .{
4180245600 .required_features = .{ .sse4_1, null, null, null },
4180345601 .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .word } }, .any, .any },
41804 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .dword } }},
45602 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any },
4180545603 .patterns = &.{
4180645604 .{ .src = .{ .mem, .none, .none } },
4180745605 .{ .src = .{ .to_sse, .none, .none } },
4180845606 },
41809 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
45607 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4181045608 .each = .{ .once = &.{
4181145609 .{ ._, .p_d, .movzxw, .dst0x, .src0q, ._, ._ },
4181245610 } },
4181345611 }, .{
4181445612 .required_features = .{ .sse2, null, null, null },
4181545613 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },
41816 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }},
45614 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any },
4181745615 .patterns = &.{
4181845616 .{ .src = .{ .to_mut_sse, .none, .none } },
4181945617 },
......@@ -41828,7 +45626,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4182845626 .unused,
4182945627 .unused,
4183045628 },
41831 .dst_temps = .{.{ .ref = .src0 }},
45629 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4183245630 .each = .{ .once = &.{
4183345631 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
4183445632 .{ ._, .p_w, .cmpgt, .tmp0x, .src0x, ._, ._ },
......@@ -41837,7 +45635,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4183745635 }, .{
4183845636 .required_features = .{ .sse2, null, null, null },
4183945637 .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .word } }, .any, .any },
41840 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .dword } }},
45638 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any },
4184145639 .patterns = &.{
4184245640 .{ .src = .{ .to_mut_sse, .none, .none } },
4184345641 },
......@@ -41852,7 +45650,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4185245650 .unused,
4185345651 .unused,
4185445652 },
41855 .dst_temps = .{.{ .ref = .src0 }},
45653 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4185645654 .each = .{ .once = &.{
4185745655 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
4185845656 .{ ._, .p_, .unpcklwd, .dst0x, .tmp0x, ._, ._ },
......@@ -41860,31 +45658,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4186045658 }, .{
4186145659 .required_features = .{ .avx2, null, null, null },
4186245660 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },
41863 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .yword, .is = .dword } }},
45661 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any },
4186445662 .patterns = &.{
4186545663 .{ .src = .{ .mem, .none, .none } },
4186645664 .{ .src = .{ .to_sse, .none, .none } },
4186745665 },
41868 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
45666 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4186945667 .each = .{ .once = &.{
4187045668 .{ ._, .vp_d, .movsxw, .dst0y, .src0x, ._, ._ },
4187145669 } },
4187245670 }, .{
4187345671 .required_features = .{ .avx2, null, null, null },
4187445672 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any, .any },
41875 .dst_constraints = .{.{ .scalar_int = .{ .of = .yword, .is = .dword } }},
45673 .dst_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .dword } }, .any },
4187645674 .patterns = &.{
4187745675 .{ .src = .{ .mem, .none, .none } },
4187845676 .{ .src = .{ .to_sse, .none, .none } },
4187945677 },
41880 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
45678 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4188145679 .each = .{ .once = &.{
4188245680 .{ ._, .vp_d, .movzxw, .dst0y, .src0x, ._, ._ },
4188345681 } },
4188445682 }, .{
4188545683 .required_features = .{ .avx2, null, null, null },
4188645684 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },
41887 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }},
45685 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any },
4188845686 .patterns = &.{
4188945687 .{ .src = .{ .to_mem, .none, .none } },
4189045688 },
......@@ -41899,7 +45697,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4189945697 .unused,
4190045698 .unused,
4190145699 },
41902 .dst_temps = .{.mem},
45700 .dst_temps = .{ .mem, .unused },
4190345701 .clobbers = .{ .eflags = true },
4190445702 .each = .{ .once = &.{
4190545703 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -41911,7 +45709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4191145709 }, .{
4191245710 .required_features = .{ .avx2, null, null, null },
4191345711 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any },
41914 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } }},
45712 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } }, .any },
4191545713 .patterns = &.{
4191645714 .{ .src = .{ .to_mem, .none, .none } },
4191745715 },
......@@ -41926,7 +45724,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4192645724 .unused,
4192745725 .unused,
4192845726 },
41929 .dst_temps = .{.mem},
45727 .dst_temps = .{ .mem, .unused },
4193045728 .clobbers = .{ .eflags = true },
4193145729 .each = .{ .once = &.{
4193245730 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -41938,7 +45736,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4193845736 }, .{
4193945737 .required_features = .{ .avx, null, null, null },
4194045738 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },
41941 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }},
45739 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any },
4194245740 .patterns = &.{
4194345741 .{ .src = .{ .to_mem, .none, .none } },
4194445742 },
......@@ -41953,7 +45751,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4195345751 .unused,
4195445752 .unused,
4195545753 },
41956 .dst_temps = .{.mem},
45754 .dst_temps = .{ .mem, .unused },
4195745755 .clobbers = .{ .eflags = true },
4195845756 .each = .{ .once = &.{
4195945757 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -41965,7 +45763,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4196545763 }, .{
4196645764 .required_features = .{ .avx, null, null, null },
4196745765 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .word } }, .any, .any },
41968 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }},
45766 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any },
4196945767 .patterns = &.{
4197045768 .{ .src = .{ .to_mem, .none, .none } },
4197145769 },
......@@ -41980,7 +45778,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4198045778 .unused,
4198145779 .unused,
4198245780 },
41983 .dst_temps = .{.mem},
45781 .dst_temps = .{ .mem, .unused },
4198445782 .clobbers = .{ .eflags = true },
4198545783 .each = .{ .once = &.{
4198645784 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -41992,7 +45790,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4199245790 }, .{
4199345791 .required_features = .{ .sse4_1, null, null, null },
4199445792 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },
41995 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }},
45793 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any },
4199645794 .patterns = &.{
4199745795 .{ .src = .{ .to_mem, .none, .none } },
4199845796 },
......@@ -42007,7 +45805,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4200745805 .unused,
4200845806 .unused,
4200945807 },
42010 .dst_temps = .{.mem},
45808 .dst_temps = .{ .mem, .unused },
4201145809 .clobbers = .{ .eflags = true },
4201245810 .each = .{ .once = &.{
4201345811 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -42019,7 +45817,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4201945817 }, .{
4202045818 .required_features = .{ .sse4_1, null, null, null },
4202145819 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .word } }, .any, .any },
42022 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }},
45820 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any },
4202345821 .patterns = &.{
4202445822 .{ .src = .{ .to_mem, .none, .none } },
4202545823 },
......@@ -42034,7 +45832,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4203445832 .unused,
4203545833 .unused,
4203645834 },
42037 .dst_temps = .{.mem},
45835 .dst_temps = .{ .mem, .unused },
4203845836 .clobbers = .{ .eflags = true },
4203945837 .each = .{ .once = &.{
4204045838 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -42045,7 +45843,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4204545843 } },
4204645844 }, .{
4204745845 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },
42048 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }},
45846 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any },
4204945847 .patterns = &.{
4205045848 .{ .src = .{ .to_mem, .none, .none } },
4205145849 },
......@@ -42060,7 +45858,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4206045858 .unused,
4206145859 .unused,
4206245860 },
42063 .dst_temps = .{.mem},
45861 .dst_temps = .{ .mem, .unused },
4206445862 .clobbers = .{ .eflags = true },
4206545863 .each = .{ .once = &.{
4206645864 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -42071,7 +45869,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4207145869 } },
4207245870 }, .{
4207345871 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any, .any },
42074 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }},
45872 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any },
4207545873 .patterns = &.{
4207645874 .{ .src = .{ .to_mem, .none, .none } },
4207745875 },
......@@ -42086,7 +45884,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4208645884 .unused,
4208745885 .unused,
4208845886 },
42089 .dst_temps = .{.mem},
45887 .dst_temps = .{ .mem, .unused },
4209045888 .clobbers = .{ .eflags = true },
4209145889 .each = .{ .once = &.{
4209245890 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -42098,55 +45896,55 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4209845896 }, .{
4209945897 .required_features = .{ .avx, null, null, null },
4210045898 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .word } }, .any, .any },
42101 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }},
45899 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any },
4210245900 .patterns = &.{
4210345901 .{ .src = .{ .mem, .none, .none } },
4210445902 .{ .src = .{ .to_sse, .none, .none } },
4210545903 },
42106 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
45904 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4210745905 .each = .{ .once = &.{
4210845906 .{ ._, .vp_q, .movsxw, .dst0x, .src0d, ._, ._ },
4210945907 } },
4211045908 }, .{
4211145909 .required_features = .{ .avx, null, null, null },
4211245910 .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .word } }, .any, .any },
42113 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .qword } }},
45911 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .qword } }, .any },
4211445912 .patterns = &.{
4211545913 .{ .src = .{ .mem, .none, .none } },
4211645914 .{ .src = .{ .to_sse, .none, .none } },
4211745915 },
42118 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
45916 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4211945917 .each = .{ .once = &.{
4212045918 .{ ._, .vp_q, .movzxw, .dst0x, .src0d, ._, ._ },
4212145919 } },
4212245920 }, .{
4212345921 .required_features = .{ .sse4_1, null, null, null },
4212445922 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .word } }, .any, .any },
42125 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }},
45923 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any },
4212645924 .patterns = &.{
4212745925 .{ .src = .{ .mem, .none, .none } },
4212845926 .{ .src = .{ .to_sse, .none, .none } },
4212945927 },
42130 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
45928 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4213145929 .each = .{ .once = &.{
4213245930 .{ ._, .p_q, .movsxw, .dst0x, .src0d, ._, ._ },
4213345931 } },
4213445932 }, .{
4213545933 .required_features = .{ .sse4_1, null, null, null },
4213645934 .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .word } }, .any, .any },
42137 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .qword } }},
45935 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .qword } }, .any },
4213845936 .patterns = &.{
4213945937 .{ .src = .{ .mem, .none, .none } },
4214045938 .{ .src = .{ .to_sse, .none, .none } },
4214145939 },
42142 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
45940 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4214345941 .each = .{ .once = &.{
4214445942 .{ ._, .p_q, .movzxw, .dst0x, .src0d, ._, ._ },
4214545943 } },
4214645944 }, .{
4214745945 .required_features = .{ .sse2, null, null, null },
4214845946 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .word } }, .any, .any },
42149 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }},
45947 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any },
4215045948 .patterns = &.{
4215145949 .{ .src = .{ .to_mut_sse, .none, .none } },
4215245950 },
......@@ -42161,7 +45959,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4216145959 .unused,
4216245960 .unused,
4216345961 },
42164 .dst_temps = .{.{ .ref = .src0 }},
45962 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4216545963 .each = .{ .once = &.{
4216645964 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
4216745965 .{ ._, .p_w, .cmpgt, .tmp0x, .src0x, ._, ._ },
......@@ -42172,7 +45970,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4217245970 }, .{
4217345971 .required_features = .{ .sse2, null, null, null },
4217445972 .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .word } }, .any, .any },
42175 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .qword } }},
45973 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .qword } }, .any },
4217645974 .patterns = &.{
4217745975 .{ .src = .{ .to_mut_sse, .none, .none } },
4217845976 },
......@@ -42187,7 +45985,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4218745985 .unused,
4218845986 .unused,
4218945987 },
42190 .dst_temps = .{.{ .ref = .src0 }},
45988 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4219145989 .each = .{ .once = &.{
4219245990 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
4219345991 .{ ._, .p_, .unpcklwd, .dst0x, .tmp0x, ._, ._ },
......@@ -42196,31 +45994,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4219645994 }, .{
4219745995 .required_features = .{ .avx2, null, null, null },
4219845996 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },
42199 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .yword, .is = .qword } }},
45997 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any },
4220045998 .patterns = &.{
4220145999 .{ .src = .{ .mem, .none, .none } },
4220246000 .{ .src = .{ .to_sse, .none, .none } },
4220346001 },
42204 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
46002 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4220546003 .each = .{ .once = &.{
4220646004 .{ ._, .vp_q, .movsxw, .dst0y, .src0q, ._, ._ },
4220746005 } },
4220846006 }, .{
4220946007 .required_features = .{ .avx2, null, null, null },
4221046008 .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .word } }, .any, .any },
42211 .dst_constraints = .{.{ .scalar_int = .{ .of = .yword, .is = .qword } }},
46009 .dst_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .qword } }, .any },
4221246010 .patterns = &.{
4221346011 .{ .src = .{ .mem, .none, .none } },
4221446012 .{ .src = .{ .to_sse, .none, .none } },
4221546013 },
42216 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
46014 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4221746015 .each = .{ .once = &.{
4221846016 .{ ._, .vp_q, .movzxw, .dst0y, .src0q, ._, ._ },
4221946017 } },
4222046018 }, .{
4222146019 .required_features = .{ .avx2, null, null, null },
4222246020 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },
42223 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }},
46021 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any },
4222446022 .patterns = &.{
4222546023 .{ .src = .{ .to_mem, .none, .none } },
4222646024 },
......@@ -42235,7 +46033,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4223546033 .unused,
4223646034 .unused,
4223746035 },
42238 .dst_temps = .{.mem},
46036 .dst_temps = .{ .mem, .unused },
4223946037 .clobbers = .{ .eflags = true },
4224046038 .each = .{ .once = &.{
4224146039 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -42247,7 +46045,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4224746045 }, .{
4224846046 .required_features = .{ .avx2, null, null, null },
4224946047 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .word } }, .any, .any },
42250 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .yword, .is = .qword } }},
46048 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .qword } }, .any },
4225146049 .patterns = &.{
4225246050 .{ .src = .{ .to_mem, .none, .none } },
4225346051 },
......@@ -42262,7 +46060,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4226246060 .unused,
4226346061 .unused,
4226446062 },
42265 .dst_temps = .{.mem},
46063 .dst_temps = .{ .mem, .unused },
4226646064 .clobbers = .{ .eflags = true },
4226746065 .each = .{ .once = &.{
4226846066 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -42274,7 +46072,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4227446072 }, .{
4227546073 .required_features = .{ .avx, null, null, null },
4227646074 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .word } }, .any, .any },
42277 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }},
46075 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any },
4227846076 .patterns = &.{
4227946077 .{ .src = .{ .to_mem, .none, .none } },
4228046078 },
......@@ -42289,7 +46087,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4228946087 .unused,
4229046088 .unused,
4229146089 },
42292 .dst_temps = .{.mem},
46090 .dst_temps = .{ .mem, .unused },
4229346091 .clobbers = .{ .eflags = true },
4229446092 .each = .{ .once = &.{
4229546093 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -42301,7 +46099,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4230146099 }, .{
4230246100 .required_features = .{ .avx, null, null, null },
4230346101 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .word } }, .any, .any },
42304 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }},
46102 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }, .any },
4230546103 .patterns = &.{
4230646104 .{ .src = .{ .to_mem, .none, .none } },
4230746105 },
......@@ -42316,7 +46114,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4231646114 .unused,
4231746115 .unused,
4231846116 },
42319 .dst_temps = .{.mem},
46117 .dst_temps = .{ .mem, .unused },
4232046118 .clobbers = .{ .eflags = true },
4232146119 .each = .{ .once = &.{
4232246120 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -42328,7 +46126,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4232846126 }, .{
4232946127 .required_features = .{ .sse4_1, null, null, null },
4233046128 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .word } }, .any, .any },
42331 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }},
46129 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any },
4233246130 .patterns = &.{
4233346131 .{ .src = .{ .to_mem, .none, .none } },
4233446132 },
......@@ -42343,7 +46141,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4234346141 .unused,
4234446142 .unused,
4234546143 },
42346 .dst_temps = .{.mem},
46144 .dst_temps = .{ .mem, .unused },
4234746145 .clobbers = .{ .eflags = true },
4234846146 .each = .{ .once = &.{
4234946147 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -42355,7 +46153,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4235546153 }, .{
4235646154 .required_features = .{ .sse4_1, null, null, null },
4235746155 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .word } }, .any, .any },
42358 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }},
46156 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }, .any },
4235946157 .patterns = &.{
4236046158 .{ .src = .{ .to_mem, .none, .none } },
4236146159 },
......@@ -42370,7 +46168,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4237046168 .unused,
4237146169 .unused,
4237246170 },
42373 .dst_temps = .{.mem},
46171 .dst_temps = .{ .mem, .unused },
4237446172 .clobbers = .{ .eflags = true },
4237546173 .each = .{ .once = &.{
4237646174 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -42382,7 +46180,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4238246180 }, .{
4238346181 .required_features = .{ .@"64bit", null, null, null },
4238446182 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },
42385 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }},
46183 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
4238646184 .patterns = &.{
4238746185 .{ .src = .{ .to_mem, .none, .none } },
4238846186 },
......@@ -42397,7 +46195,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4239746195 .unused,
4239846196 .unused,
4239946197 },
42400 .dst_temps = .{.mem},
46198 .dst_temps = .{ .mem, .unused },
4240146199 .clobbers = .{ .eflags = true },
4240246200 .each = .{ .once = &.{
4240346201 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -42409,7 +46207,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4240946207 }, .{
4241046208 .required_features = .{ .@"64bit", null, null, null },
4241146209 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any, .any },
42412 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }},
46210 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any },
4241346211 .patterns = &.{
4241446212 .{ .src = .{ .to_mem, .none, .none } },
4241546213 },
......@@ -42424,7 +46222,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4242446222 .unused,
4242546223 .unused,
4242646224 },
42427 .dst_temps = .{.mem},
46225 .dst_temps = .{ .mem, .unused },
4242846226 .clobbers = .{ .eflags = true },
4242946227 .each = .{ .once = &.{
4243046228 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -42436,12 +46234,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4243646234 }, .{
4243746235 .required_features = .{ .avx, null, null, null },
4243846236 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },
42439 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .xword } }},
46237 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any },
4244046238 .patterns = &.{
4244146239 .{ .src = .{ .mem, .none, .none } },
4244246240 .{ .src = .{ .to_sse, .none, .none } },
4244346241 },
42444 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
46242 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4244546243 .each = .{ .once = &.{
4244646244 .{ ._, .vp_q, .movsxw, .dst0x, .src0d, ._, ._ },
4244746245 .{ ._, .vp_q, .movsxd, .dst0x, .dst0q, ._, ._ },
......@@ -42449,12 +46247,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4244946247 }, .{
4245046248 .required_features = .{ .avx, null, null, null },
4245146249 .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .word } }, .any, .any },
42452 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .xword } }},
46250 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .xword } }, .any },
4245346251 .patterns = &.{
4245446252 .{ .src = .{ .mem, .none, .none } },
4245546253 .{ .src = .{ .to_sse, .none, .none } },
4245646254 },
42457 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
46255 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4245846256 .each = .{ .once = &.{
4245946257 .{ ._, .vp_q, .movzxw, .dst0x, .src0d, ._, ._ },
4246046258 .{ ._, .vp_q, .movzxd, .dst0x, .dst0q, ._, ._ },
......@@ -42462,12 +46260,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4246246260 }, .{
4246346261 .required_features = .{ .sse4_1, null, null, null },
4246446262 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },
42465 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .xword } }},
46263 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any },
4246646264 .patterns = &.{
4246746265 .{ .src = .{ .mem, .none, .none } },
4246846266 .{ .src = .{ .to_sse, .none, .none } },
4246946267 },
42470 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
46268 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4247146269 .each = .{ .once = &.{
4247246270 .{ ._, .p_q, .movsxw, .dst0x, .src0d, ._, ._ },
4247346271 .{ ._, .p_q, .movsxd, .dst0x, .dst0q, ._, ._ },
......@@ -42475,12 +46273,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4247546273 }, .{
4247646274 .required_features = .{ .sse4_1, null, null, null },
4247746275 .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .word } }, .any, .any },
42478 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .xword } }},
46276 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .xword } }, .any },
4247946277 .patterns = &.{
4248046278 .{ .src = .{ .mem, .none, .none } },
4248146279 .{ .src = .{ .to_sse, .none, .none } },
4248246280 },
42483 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
46281 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4248446282 .each = .{ .once = &.{
4248546283 .{ ._, .p_q, .movzxw, .dst0x, .src0d, ._, ._ },
4248646284 .{ ._, .p_q, .movzxd, .dst0x, .dst0q, ._, ._ },
......@@ -42488,7 +46286,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4248846286 }, .{
4248946287 .required_features = .{ .sse2, null, null, null },
4249046288 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },
42491 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .xword } }},
46289 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any },
4249246290 .patterns = &.{
4249346291 .{ .src = .{ .to_mut_sse, .none, .none } },
4249446292 },
......@@ -42503,7 +46301,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4250346301 .unused,
4250446302 .unused,
4250546303 },
42506 .dst_temps = .{.{ .ref = .src0 }},
46304 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4250746305 .each = .{ .once = &.{
4250846306 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
4250946307 .{ ._, .p_w, .cmpgt, .tmp0x, .src0x, ._, ._ },
......@@ -42516,7 +46314,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4251646314 }, .{
4251746315 .required_features = .{ .sse2, null, null, null },
4251846316 .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .word } }, .any, .any },
42519 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .xword } }},
46317 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .xword } }, .any },
4252046318 .patterns = &.{
4252146319 .{ .src = .{ .to_mut_sse, .none, .none } },
4252246320 },
......@@ -42531,7 +46329,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4253146329 .unused,
4253246330 .unused,
4253346331 },
42534 .dst_temps = .{.{ .ref = .src0 }},
46332 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4253546333 .each = .{ .once = &.{
4253646334 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
4253746335 .{ ._, .p_, .unpcklwd, .dst0x, .tmp0x, ._, ._ },
......@@ -42541,7 +46339,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4254146339 }, .{
4254246340 .required_features = .{ .@"64bit", null, null, null },
4254346341 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },
42544 .dst_constraints = .{.any_scalar_signed_int},
46342 .dst_constraints = .{ .any_scalar_signed_int, .any },
4254546343 .patterns = &.{
4254646344 .{ .src = .{ .to_mem, .none, .none } },
4254746345 },
......@@ -42556,7 +46354,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4255646354 .unused,
4255746355 .unused,
4255846356 },
42559 .dst_temps = .{.mem},
46357 .dst_temps = .{ .mem, .unused },
4256046358 .clobbers = .{ .eflags = true },
4256146359 .each = .{ .once = &.{
4256246360 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -42572,7 +46370,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4257246370 }, .{
4257346371 .required_features = .{ .@"64bit", null, null, null },
4257446372 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any, .any },
42575 .dst_constraints = .{.any_scalar_int},
46373 .dst_constraints = .{ .any_scalar_int, .any },
4257646374 .patterns = &.{
4257746375 .{ .src = .{ .to_mem, .none, .none } },
4257846376 },
......@@ -42587,7 +46385,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4258746385 .unused,
4258846386 .unused,
4258946387 },
42590 .dst_temps = .{.mem},
46388 .dst_temps = .{ .mem, .unused },
4259146389 .clobbers = .{ .eflags = true },
4259246390 .each = .{ .once = &.{
4259346391 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -42603,55 +46401,55 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4260346401 }, .{
4260446402 .required_features = .{ .avx, null, null, null },
4260546403 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any, .any },
42606 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }},
46404 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any },
4260746405 .patterns = &.{
4260846406 .{ .src = .{ .mem, .none, .none } },
4260946407 .{ .src = .{ .to_sse, .none, .none } },
4261046408 },
42611 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
46409 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4261246410 .each = .{ .once = &.{
4261346411 .{ ._, .vp_q, .movsxd, .dst0x, .src0q, ._, ._ },
4261446412 } },
4261546413 }, .{
4261646414 .required_features = .{ .avx, null, null, null },
4261746415 .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .dword } }, .any, .any },
42618 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .qword } }},
46416 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .qword } }, .any },
4261946417 .patterns = &.{
4262046418 .{ .src = .{ .mem, .none, .none } },
4262146419 .{ .src = .{ .to_sse, .none, .none } },
4262246420 },
42623 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
46421 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4262446422 .each = .{ .once = &.{
4262546423 .{ ._, .vp_q, .movzxd, .dst0x, .src0q, ._, ._ },
4262646424 } },
4262746425 }, .{
4262846426 .required_features = .{ .sse4_1, null, null, null },
4262946427 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any, .any },
42630 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }},
46428 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any },
4263146429 .patterns = &.{
4263246430 .{ .src = .{ .mem, .none, .none } },
4263346431 .{ .src = .{ .to_sse, .none, .none } },
4263446432 },
42635 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
46433 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4263646434 .each = .{ .once = &.{
4263746435 .{ ._, .p_q, .movsxd, .dst0x, .src0q, ._, ._ },
4263846436 } },
4263946437 }, .{
4264046438 .required_features = .{ .sse4_1, null, null, null },
4264146439 .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .dword } }, .any, .any },
42642 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .qword } }},
46440 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .qword } }, .any },
4264346441 .patterns = &.{
4264446442 .{ .src = .{ .mem, .none, .none } },
4264546443 .{ .src = .{ .to_sse, .none, .none } },
4264646444 },
42647 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
46445 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4264846446 .each = .{ .once = &.{
4264946447 .{ ._, .p_q, .movzxd, .dst0x, .src0q, ._, ._ },
4265046448 } },
4265146449 }, .{
4265246450 .required_features = .{ .sse2, null, null, null },
4265346451 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any, .any },
42654 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }},
46452 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any },
4265546453 .patterns = &.{
4265646454 .{ .src = .{ .to_mut_sse, .none, .none } },
4265746455 },
......@@ -42666,7 +46464,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4266646464 .unused,
4266746465 .unused,
4266846466 },
42669 .dst_temps = .{.{ .ref = .src0 }},
46467 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4267046468 .each = .{ .once = &.{
4267146469 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
4267246470 .{ ._, .p_d, .cmpgt, .tmp0x, .src0x, ._, ._ },
......@@ -42675,7 +46473,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4267546473 }, .{
4267646474 .required_features = .{ .sse2, null, null, null },
4267746475 .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .dword } }, .any, .any },
42678 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .qword } }},
46476 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .qword } }, .any },
4267946477 .patterns = &.{
4268046478 .{ .src = .{ .to_mut_sse, .none, .none } },
4268146479 },
......@@ -42690,7 +46488,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4269046488 .unused,
4269146489 .unused,
4269246490 },
42693 .dst_temps = .{.{ .ref = .src0 }},
46491 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4269446492 .each = .{ .once = &.{
4269546493 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
4269646494 .{ ._, .p_, .unpckldq, .dst0x, .tmp0x, ._, ._ },
......@@ -42698,31 +46496,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4269846496 }, .{
4269946497 .required_features = .{ .avx2, null, null, null },
4270046498 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },
42701 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .yword, .is = .qword } }},
46499 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any },
4270246500 .patterns = &.{
4270346501 .{ .src = .{ .mem, .none, .none } },
4270446502 .{ .src = .{ .to_sse, .none, .none } },
4270546503 },
42706 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
46504 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4270746505 .each = .{ .once = &.{
4270846506 .{ ._, .vp_q, .movsxd, .dst0y, .src0x, ._, ._ },
4270946507 } },
4271046508 }, .{
4271146509 .required_features = .{ .avx2, null, null, null },
4271246510 .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },
42713 .dst_constraints = .{.{ .scalar_int = .{ .of = .yword, .is = .qword } }},
46511 .dst_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .qword } }, .any },
4271446512 .patterns = &.{
4271546513 .{ .src = .{ .mem, .none, .none } },
4271646514 .{ .src = .{ .to_sse, .none, .none } },
4271746515 },
42718 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
46516 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4271946517 .each = .{ .once = &.{
4272046518 .{ ._, .vp_q, .movzxd, .dst0y, .src0x, ._, ._ },
4272146519 } },
4272246520 }, .{
4272346521 .required_features = .{ .avx2, null, null, null },
4272446522 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },
42725 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }},
46523 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any },
4272646524 .patterns = &.{
4272746525 .{ .src = .{ .to_mem, .none, .none } },
4272846526 },
......@@ -42737,7 +46535,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4273746535 .unused,
4273846536 .unused,
4273946537 },
42740 .dst_temps = .{.mem},
46538 .dst_temps = .{ .mem, .unused },
4274146539 .clobbers = .{ .eflags = true },
4274246540 .each = .{ .once = &.{
4274346541 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -42749,7 +46547,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4274946547 }, .{
4275046548 .required_features = .{ .avx2, null, null, null },
4275146549 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any },
42752 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .yword, .is = .qword } }},
46550 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .qword } }, .any },
4275346551 .patterns = &.{
4275446552 .{ .src = .{ .to_mem, .none, .none } },
4275546553 },
......@@ -42764,7 +46562,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4276446562 .unused,
4276546563 .unused,
4276646564 },
42767 .dst_temps = .{.mem},
46565 .dst_temps = .{ .mem, .unused },
4276846566 .clobbers = .{ .eflags = true },
4276946567 .each = .{ .once = &.{
4277046568 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -42776,7 +46574,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4277646574 }, .{
4277746575 .required_features = .{ .avx, null, null, null },
4277846576 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any, .any },
42779 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }},
46577 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any },
4278046578 .patterns = &.{
4278146579 .{ .src = .{ .to_mem, .none, .none } },
4278246580 },
......@@ -42791,7 +46589,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4279146589 .unused,
4279246590 .unused,
4279346591 },
42794 .dst_temps = .{.mem},
46592 .dst_temps = .{ .mem, .unused },
4279546593 .clobbers = .{ .eflags = true },
4279646594 .each = .{ .once = &.{
4279746595 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -42803,7 +46601,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4280346601 }, .{
4280446602 .required_features = .{ .avx, null, null, null },
4280546603 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .word } }, .any, .any },
42806 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }},
46604 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }, .any },
4280746605 .patterns = &.{
4280846606 .{ .src = .{ .to_mem, .none, .none } },
4280946607 },
......@@ -42818,7 +46616,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4281846616 .unused,
4281946617 .unused,
4282046618 },
42821 .dst_temps = .{.mem},
46619 .dst_temps = .{ .mem, .unused },
4282246620 .clobbers = .{ .eflags = true },
4282346621 .each = .{ .once = &.{
4282446622 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -42830,7 +46628,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4283046628 }, .{
4283146629 .required_features = .{ .sse4_1, null, null, null },
4283246630 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any, .any },
42833 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }},
46631 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any },
4283446632 .patterns = &.{
4283546633 .{ .src = .{ .to_mem, .none, .none } },
4283646634 },
......@@ -42845,7 +46643,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4284546643 .unused,
4284646644 .unused,
4284746645 },
42848 .dst_temps = .{.mem},
46646 .dst_temps = .{ .mem, .unused },
4284946647 .clobbers = .{ .eflags = true },
4285046648 .each = .{ .once = &.{
4285146649 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -42857,7 +46655,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4285746655 }, .{
4285846656 .required_features = .{ .sse4_1, null, null, null },
4285946657 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .dword } }, .any, .any },
42860 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }},
46658 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }, .any },
4286146659 .patterns = &.{
4286246660 .{ .src = .{ .to_mem, .none, .none } },
4286346661 },
......@@ -42872,7 +46670,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4287246670 .unused,
4287346671 .unused,
4287446672 },
42875 .dst_temps = .{.mem},
46673 .dst_temps = .{ .mem, .unused },
4287646674 .clobbers = .{ .eflags = true },
4287746675 .each = .{ .once = &.{
4287846676 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -42884,7 +46682,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4288446682 }, .{
4288546683 .required_features = .{ .@"64bit", null, null, null },
4288646684 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
42887 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }},
46685 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
4288846686 .patterns = &.{
4288946687 .{ .src = .{ .to_mem, .none, .none } },
4289046688 },
......@@ -42899,7 +46697,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4289946697 .unused,
4290046698 .unused,
4290146699 },
42902 .dst_temps = .{.mem},
46700 .dst_temps = .{ .mem, .unused },
4290346701 .clobbers = .{ .eflags = true },
4290446702 .each = .{ .once = &.{
4290546703 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -42911,7 +46709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4291146709 }, .{
4291246710 .required_features = .{ .@"64bit", null, null, null },
4291346711 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any },
42914 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }},
46712 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any },
4291546713 .patterns = &.{
4291646714 .{ .src = .{ .to_mem, .none, .none } },
4291746715 },
......@@ -42926,7 +46724,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4292646724 .unused,
4292746725 .unused,
4292846726 },
42929 .dst_temps = .{.mem},
46727 .dst_temps = .{ .mem, .unused },
4293046728 .clobbers = .{ .eflags = true },
4293146729 .each = .{ .once = &.{
4293246730 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -42938,12 +46736,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4293846736 }, .{
4293946737 .required_features = .{ .avx, null, null, null },
4294046738 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
42941 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .xword } }},
46739 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any },
4294246740 .patterns = &.{
4294346741 .{ .src = .{ .mem, .none, .none } },
4294446742 .{ .src = .{ .to_sse, .none, .none } },
4294546743 },
42946 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
46744 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4294746745 .each = .{ .once = &.{
4294846746 .{ ._, .vp_q, .movsxd, .dst0x, .src0q, ._, ._ },
4294946747 .{ ._, .vp_q, .movsxd, .dst0x, .dst0q, ._, ._ },
......@@ -42951,12 +46749,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4295146749 }, .{
4295246750 .required_features = .{ .avx, null, null, null },
4295346751 .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any },
42954 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .xword } }},
46752 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .xword } }, .any },
4295546753 .patterns = &.{
4295646754 .{ .src = .{ .mem, .none, .none } },
4295746755 .{ .src = .{ .to_sse, .none, .none } },
4295846756 },
42959 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
46757 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4296046758 .each = .{ .once = &.{
4296146759 .{ ._, .vp_q, .movzxd, .dst0x, .src0q, ._, ._ },
4296246760 .{ ._, .vp_q, .movzxd, .dst0x, .dst0q, ._, ._ },
......@@ -42964,12 +46762,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4296446762 }, .{
4296546763 .required_features = .{ .sse4_1, null, null, null },
4296646764 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
42967 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .xword } }},
46765 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any },
4296846766 .patterns = &.{
4296946767 .{ .src = .{ .mem, .none, .none } },
4297046768 .{ .src = .{ .to_sse, .none, .none } },
4297146769 },
42972 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
46770 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4297346771 .each = .{ .once = &.{
4297446772 .{ ._, .p_q, .movsxd, .dst0x, .src0q, ._, ._ },
4297546773 .{ ._, .p_q, .movsxd, .dst0x, .dst0q, ._, ._ },
......@@ -42977,12 +46775,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4297746775 }, .{
4297846776 .required_features = .{ .sse4_1, null, null, null },
4297946777 .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any },
42980 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .xword } }},
46778 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .xword } }, .any },
4298146779 .patterns = &.{
4298246780 .{ .src = .{ .mem, .none, .none } },
4298346781 .{ .src = .{ .to_sse, .none, .none } },
4298446782 },
42985 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
46783 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4298646784 .each = .{ .once = &.{
4298746785 .{ ._, .p_q, .movzxd, .dst0x, .src0q, ._, ._ },
4298846786 .{ ._, .p_q, .movzxd, .dst0x, .dst0q, ._, ._ },
......@@ -42990,7 +46788,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4299046788 }, .{
4299146789 .required_features = .{ .sse2, null, null, null },
4299246790 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
42993 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .xword } }},
46791 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any },
4299446792 .patterns = &.{
4299546793 .{ .src = .{ .to_mut_sse, .none, .none } },
4299646794 },
......@@ -43005,7 +46803,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4300546803 .unused,
4300646804 .unused,
4300746805 },
43008 .dst_temps = .{.{ .ref = .src0 }},
46806 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4300946807 .each = .{ .once = &.{
4301046808 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
4301146809 .{ ._, .p_d, .cmpgt, .tmp0x, .src0x, ._, ._ },
......@@ -43016,7 +46814,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4301646814 }, .{
4301746815 .required_features = .{ .sse2, null, null, null },
4301846816 .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any },
43019 .dst_constraints = .{.{ .scalar_int = .{ .of = .xword, .is = .xword } }},
46817 .dst_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .xword } }, .any },
4302046818 .patterns = &.{
4302146819 .{ .src = .{ .to_mut_sse, .none, .none } },
4302246820 },
......@@ -43031,7 +46829,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4303146829 .unused,
4303246830 .unused,
4303346831 },
43034 .dst_temps = .{.{ .ref = .src0 }},
46832 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4303546833 .each = .{ .once = &.{
4303646834 .{ ._, .p_, .xor, .tmp0x, .tmp0x, ._, ._ },
4303746835 .{ ._, .p_, .unpckldq, .dst0x, .tmp0x, ._, ._ },
......@@ -43040,7 +46838,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4304046838 }, .{
4304146839 .required_features = .{ .@"64bit", null, null, null },
4304246840 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
43043 .dst_constraints = .{.any_scalar_signed_int},
46841 .dst_constraints = .{ .any_scalar_signed_int, .any },
4304446842 .patterns = &.{
4304546843 .{ .src = .{ .to_mem, .none, .none } },
4304646844 },
......@@ -43055,7 +46853,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4305546853 .unused,
4305646854 .unused,
4305746855 },
43058 .dst_temps = .{.mem},
46856 .dst_temps = .{ .mem, .unused },
4305946857 .clobbers = .{ .eflags = true },
4306046858 .each = .{ .once = &.{
4306146859 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -43071,7 +46869,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4307146869 }, .{
4307246870 .required_features = .{ .@"64bit", null, null, null },
4307346871 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any },
43074 .dst_constraints = .{.any_scalar_int},
46872 .dst_constraints = .{ .any_scalar_int, .any },
4307546873 .patterns = &.{
4307646874 .{ .src = .{ .to_mem, .none, .none } },
4307746875 },
......@@ -43086,7 +46884,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4308646884 .unused,
4308746885 .unused,
4308846886 },
43089 .dst_temps = .{.mem},
46887 .dst_temps = .{ .mem, .unused },
4309046888 .clobbers = .{ .eflags = true },
4309146889 .each = .{ .once = &.{
4309246890 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -43102,7 +46900,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4310246900 }, .{
4310346901 .required_features = .{ .@"64bit", .slow_incdec, null, null },
4310446902 .src_constraints = .{ .any_scalar_signed_int, .any, .any },
43105 .dst_constraints = .{.any_scalar_signed_int},
46903 .dst_constraints = .{ .any_scalar_signed_int, .any },
4310646904 .patterns = &.{
4310746905 .{ .src = .{ .to_mem, .none, .none } },
4310846906 },
......@@ -43117,7 +46915,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4311746915 .unused,
4311846916 .unused,
4311946917 },
43120 .dst_temps = .{.mem},
46918 .dst_temps = .{ .mem, .unused },
4312146919 .clobbers = .{ .eflags = true },
4312246920 .each = .{ .once = &.{
4312346921 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
......@@ -43136,7 +46934,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4313646934 }, .{
4313746935 .required_features = .{ .@"64bit", null, null, null },
4313846936 .src_constraints = .{ .any_scalar_signed_int, .any, .any },
43139 .dst_constraints = .{.any_scalar_signed_int},
46937 .dst_constraints = .{ .any_scalar_signed_int, .any },
4314046938 .patterns = &.{
4314146939 .{ .src = .{ .to_mem, .none, .none } },
4314246940 },
......@@ -43151,7 +46949,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4315146949 .unused,
4315246950 .unused,
4315346951 },
43154 .dst_temps = .{.mem},
46952 .dst_temps = .{ .mem, .unused },
4315546953 .clobbers = .{ .eflags = true },
4315646954 .each = .{ .once = &.{
4315746955 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
......@@ -43170,7 +46968,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4317046968 }, .{
4317146969 .required_features = .{ .@"64bit", .slow_incdec, null, null },
4317246970 .src_constraints = .{ .any_scalar_int, .any, .any },
43173 .dst_constraints = .{.any_scalar_int},
46971 .dst_constraints = .{ .any_scalar_int, .any },
4317446972 .patterns = &.{
4317546973 .{ .src = .{ .to_mem, .none, .none } },
4317646974 },
......@@ -43185,7 +46983,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4318546983 .unused,
4318646984 .unused,
4318746985 },
43188 .dst_temps = .{.mem},
46986 .dst_temps = .{ .mem, .unused },
4318946987 .clobbers = .{ .eflags = true },
4319046988 .each = .{ .once = &.{
4319146989 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
......@@ -43202,7 +47000,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4320247000 }, .{
4320347001 .required_features = .{ .@"64bit", null, null, null },
4320447002 .src_constraints = .{ .any_scalar_int, .any, .any },
43205 .dst_constraints = .{.any_scalar_int},
47003 .dst_constraints = .{ .any_scalar_int, .any },
4320647004 .patterns = &.{
4320747005 .{ .src = .{ .to_mem, .none, .none } },
4320847006 },
......@@ -43217,7 +47015,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4321747015 .unused,
4321847016 .unused,
4321947017 },
43220 .dst_temps = .{.mem},
47018 .dst_temps = .{ .mem, .unused },
4322147019 .clobbers = .{ .eflags = true },
4322247020 .each = .{ .once = &.{
4322347021 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
......@@ -43242,17 +47040,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4324247040 };
4324347041 try res[0].finish(inst, &.{ty_op.operand}, &ops, cg);
4324447042 },
47043 .intcast_safe => unreachable,
4324547044 .trunc => |air_tag| if (use_old) try cg.airTrunc(inst) else {
4324647045 const ty_op = air_datas[@intFromEnum(inst)].ty_op;
4324747046 var ops = try cg.tempsFromOperands(inst, .{ty_op.operand});
4324847047 var res: [1]Temp = undefined;
4324947048 cg.select(&res, &.{ty_op.ty.toType()}, &ops, comptime &.{ .{
4325047049 .src_constraints = .{ .{ .signed_int = .gpr }, .any, .any },
43251 .dst_constraints = .{.{ .exact_signed_int = 1 }},
47050 .dst_constraints = .{ .{ .exact_signed_int = 1 }, .any },
4325247051 .patterns = &.{
4325347052 .{ .src = .{ .to_mut_gpr, .none, .none } },
4325447053 },
43255 .dst_temps = .{.{ .ref = .src0 }},
47054 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4325647055 .clobbers = .{ .eflags = true },
4325747056 .each = .{ .once = &.{
4325847057 .{ ._, ._, .@"and", .dst0d, .si(1), ._, ._ },
......@@ -43260,11 +47059,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4326047059 } },
4326147060 }, .{
4326247061 .src_constraints = .{ .any_signed_int, .any, .any },
43263 .dst_constraints = .{.{ .exact_signed_int = 1 }},
47062 .dst_constraints = .{ .{ .exact_signed_int = 1 }, .any },
4326447063 .patterns = &.{
4326547064 .{ .src = .{ .to_mem, .none, .none } },
4326647065 },
43267 .dst_temps = .{.{ .rc = .general_purpose }},
47066 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
4326847067 .clobbers = .{ .eflags = true },
4326947068 .each = .{ .once = &.{
4327047069 .{ ._, ._, .movzx, .dst0d, .mem(.src0b), ._, ._ },
......@@ -43273,39 +47072,39 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4327347072 } },
4327447073 }, .{
4327547074 .src_constraints = .{ .{ .int = .gpr }, .any, .any },
43276 .dst_constraints = .{.{ .exact_int = 8 }},
47075 .dst_constraints = .{ .{ .exact_int = 8 }, .any },
4327747076 .patterns = &.{
4327847077 .{ .src = .{ .to_mut_gpr, .none, .none } },
4327947078 },
43280 .dst_temps = .{.{ .ref = .src0 }},
47079 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4328147080 .each = .{ .once = &.{} },
4328247081 }, .{
4328347082 .src_constraints = .{ .any_signed_int, .any, .any },
43284 .dst_constraints = .{.{ .exact_signed_int = 8 }},
47083 .dst_constraints = .{ .{ .exact_signed_int = 8 }, .any },
4328547084 .patterns = &.{
4328647085 .{ .src = .{ .to_mem, .none, .none } },
4328747086 },
43288 .dst_temps = .{.{ .rc = .general_purpose }},
47087 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
4328947088 .each = .{ .once = &.{
4329047089 .{ ._, ._, .movsx, .dst0d, .mem(.src0b), ._, ._ },
4329147090 } },
4329247091 }, .{
4329347092 .src_constraints = .{ .any_unsigned_int, .any, .any },
43294 .dst_constraints = .{.{ .exact_unsigned_int = 8 }},
47093 .dst_constraints = .{ .{ .exact_unsigned_int = 8 }, .any },
4329547094 .patterns = &.{
4329647095 .{ .src = .{ .to_mem, .none, .none } },
4329747096 },
43298 .dst_temps = .{.{ .rc = .general_purpose }},
47097 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
4329947098 .each = .{ .once = &.{
4330047099 .{ ._, ._, .movzx, .dst0d, .mem(.src0b), ._, ._ },
4330147100 } },
4330247101 }, .{
4330347102 .src_constraints = .{ .{ .signed_int = .gpr }, .any, .any },
43304 .dst_constraints = .{.{ .signed_int = .byte }},
47103 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
4330547104 .patterns = &.{
4330647105 .{ .src = .{ .to_mut_gpr, .none, .none } },
4330747106 },
43308 .dst_temps = .{.{ .ref = .src0 }},
47107 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4330947108 .clobbers = .{ .eflags = true },
4331047109 .each = .{ .once = &.{
4331147110 .{ ._, ._l, .sa, .dst0b, .uia(8, .dst0, .sub_bit_size), ._, ._ },
......@@ -43313,22 +47112,22 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4331347112 } },
4331447113 }, .{
4331547114 .src_constraints = .{ .{ .unsigned_int = .gpr }, .any, .any },
43316 .dst_constraints = .{.{ .unsigned_int = .byte }},
47115 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
4331747116 .patterns = &.{
4331847117 .{ .src = .{ .to_mut_gpr, .none, .none } },
4331947118 },
43320 .dst_temps = .{.{ .ref = .src0 }},
47119 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4332147120 .clobbers = .{ .eflags = true },
4332247121 .each = .{ .once = &.{
4332347122 .{ ._, ._, .@"and", .dst0b, .sa(.dst0, .add_umax), ._, ._ },
4332447123 } },
4332547124 }, .{
4332647125 .src_constraints = .{ .any_int, .any, .any },
43327 .dst_constraints = .{.{ .unsigned_int = .byte }},
47126 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
4332847127 .patterns = &.{
4332947128 .{ .src = .{ .to_mem, .none, .none } },
4333047129 },
43331 .dst_temps = .{.{ .rc = .general_purpose }},
47130 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
4333247131 .clobbers = .{ .eflags = true },
4333347132 .each = .{ .once = &.{
4333447133 .{ ._, ._, .movzx, .dst0d, .mem(.src0b), ._, ._ },
......@@ -43336,40 +47135,40 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4333647135 } },
4333747136 }, .{
4333847137 .src_constraints = .{ .{ .int = .gpr }, .any, .any },
43339 .dst_constraints = .{.{ .exact_int = 16 }},
47138 .dst_constraints = .{ .{ .exact_int = 16 }, .any },
4334047139 .patterns = &.{
4334147140 .{ .src = .{ .to_mut_gpr, .none, .none } },
4334247141 },
43343 .dst_temps = .{.{ .ref = .src0 }},
47142 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4334447143 .each = .{ .once = &.{} },
4334547144 }, .{
4334647145 .src_constraints = .{ .any_signed_int, .any, .any },
43347 .dst_constraints = .{.{ .exact_signed_int = 16 }},
47146 .dst_constraints = .{ .{ .exact_signed_int = 16 }, .any },
4334847147 .patterns = &.{
4334947148 .{ .src = .{ .to_mem, .none, .none } },
4335047149 },
43351 .dst_temps = .{.{ .rc = .general_purpose }},
47150 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
4335247151 .each = .{ .once = &.{
4335347152 .{ ._, ._, .movsx, .dst0d, .mem(.src0w), ._, ._ },
4335447153 } },
4335547154 }, .{
4335647155 .src_constraints = .{ .any_unsigned_int, .any, .any },
43357 .dst_constraints = .{.{ .exact_unsigned_int = 16 }},
47156 .dst_constraints = .{ .{ .exact_unsigned_int = 16 }, .any },
4335847157 .patterns = &.{
4335947158 .{ .src = .{ .to_mem, .none, .none } },
4336047159 },
43361 .dst_temps = .{.{ .rc = .general_purpose }},
47160 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
4336247161 .each = .{ .once = &.{
4336347162 .{ ._, ._, .movzx, .dst0d, .mem(.src0w), ._, ._ },
4336447163 } },
4336547164 }, .{
4336647165 .required_features = .{ .fast_imm16, null, null, null },
4336747166 .src_constraints = .{ .{ .unsigned_int = .gpr }, .any, .any },
43368 .dst_constraints = .{.{ .unsigned_int = .word }},
47167 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
4336947168 .patterns = &.{
4337047169 .{ .src = .{ .to_mut_gpr, .none, .none } },
4337147170 },
43372 .dst_temps = .{.{ .ref = .src0 }},
47171 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4337347172 .clobbers = .{ .eflags = true },
4337447173 .each = .{ .once = &.{
4337547174 .{ ._, ._, .@"and", .dst0w, .sa(.dst0, .add_umax), ._, ._ },
......@@ -43377,11 +47176,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4337747176 }, .{
4337847177 .required_features = .{ .fast_imm16, null, null, null },
4337947178 .src_constraints = .{ .any_unsigned_int, .any, .any },
43380 .dst_constraints = .{.{ .unsigned_int = .word }},
47179 .dst_constraints = .{ .{ .unsigned_int = .word }, .any },
4338147180 .patterns = &.{
4338247181 .{ .src = .{ .to_mem, .none, .none } },
4338347182 },
43384 .dst_temps = .{.{ .rc = .general_purpose }},
47183 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
4338547184 .clobbers = .{ .eflags = true },
4338647185 .each = .{ .once = &.{
4338747186 .{ ._, ._, .movzx, .dst0d, .mem(.src0w), ._, ._ },
......@@ -43389,29 +47188,29 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4338947188 } },
4339047189 }, .{
4339147190 .src_constraints = .{ .{ .int = .gpr }, .any, .any },
43392 .dst_constraints = .{.{ .exact_int = 32 }},
47191 .dst_constraints = .{ .{ .exact_int = 32 }, .any },
4339347192 .patterns = &.{
4339447193 .{ .src = .{ .to_mut_gpr, .none, .none } },
4339547194 },
43396 .dst_temps = .{.{ .ref = .src0 }},
47195 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4339747196 .each = .{ .once = &.{} },
4339847197 }, .{
4339947198 .src_constraints = .{ .any_int, .any, .any },
43400 .dst_constraints = .{.{ .exact_int = 32 }},
47199 .dst_constraints = .{ .{ .exact_int = 32 }, .any },
4340147200 .patterns = &.{
4340247201 .{ .src = .{ .to_mem, .none, .none } },
4340347202 },
43404 .dst_temps = .{.{ .rc = .general_purpose }},
47203 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
4340547204 .each = .{ .once = &.{
4340647205 .{ ._, ._, .mov, .dst0d, .mem(.src0d), ._, ._ },
4340747206 } },
4340847207 }, .{
4340947208 .src_constraints = .{ .{ .signed_int = .gpr }, .any, .any },
43410 .dst_constraints = .{.{ .signed_int = .dword }},
47209 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
4341147210 .patterns = &.{
4341247211 .{ .src = .{ .to_mut_gpr, .none, .none } },
4341347212 },
43414 .dst_temps = .{.{ .ref = .src0 }},
47213 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4341547214 .clobbers = .{ .eflags = true },
4341647215 .each = .{ .once = &.{
4341747216 .{ ._, ._l, .sa, .dst0d, .uia(32, .dst0, .sub_bit_size), ._, ._ },
......@@ -43419,11 +47218,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4341947218 } },
4342047219 }, .{
4342147220 .src_constraints = .{ .any_signed_int, .any, .any },
43422 .dst_constraints = .{.{ .signed_int = .dword }},
47221 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
4342347222 .patterns = &.{
4342447223 .{ .src = .{ .to_mem, .none, .none } },
4342547224 },
43426 .dst_temps = .{.{ .rc = .general_purpose }},
47225 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
4342747226 .clobbers = .{ .eflags = true },
4342847227 .each = .{ .once = &.{
4342947228 .{ ._, ._, .mov, .dst0d, .mem(.src0d), ._, ._ },
......@@ -43432,22 +47231,22 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4343247231 } },
4343347232 }, .{
4343447233 .src_constraints = .{ .{ .unsigned_int = .gpr }, .any, .any },
43435 .dst_constraints = .{.{ .unsigned_int = .dword }},
47234 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
4343647235 .patterns = &.{
4343747236 .{ .src = .{ .to_mut_gpr, .none, .none } },
4343847237 },
43439 .dst_temps = .{.{ .ref = .src0 }},
47238 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4344047239 .clobbers = .{ .eflags = true },
4344147240 .each = .{ .once = &.{
4344247241 .{ ._, ._, .@"and", .dst0d, .sa(.dst0, .add_umax), ._, ._ },
4344347242 } },
4344447243 }, .{
4344547244 .src_constraints = .{ .any_unsigned_int, .any, .any },
43446 .dst_constraints = .{.{ .unsigned_int = .dword }},
47245 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
4344747246 .patterns = &.{
4344847247 .{ .src = .{ .to_mem, .none, .none } },
4344947248 },
43450 .dst_temps = .{.{ .rc = .general_purpose }},
47249 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
4345147250 .clobbers = .{ .eflags = true },
4345247251 .each = .{ .once = &.{
4345347252 .{ ._, ._, .mov, .dst0d, .mem(.src0d), ._, ._ },
......@@ -43456,22 +47255,22 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4345647255 }, .{
4345747256 .required_features = .{ .@"64bit", null, null, null },
4345847257 .src_constraints = .{ .any_int, .any, .any },
43459 .dst_constraints = .{.{ .exact_int = 64 }},
47258 .dst_constraints = .{ .{ .exact_int = 64 }, .any },
4346047259 .patterns = &.{
4346147260 .{ .src = .{ .to_mem, .none, .none } },
4346247261 },
43463 .dst_temps = .{.{ .rc = .general_purpose }},
47262 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
4346447263 .each = .{ .once = &.{
4346547264 .{ ._, ._, .mov, .dst0q, .mem(.src0q), ._, ._ },
4346647265 } },
4346747266 }, .{
4346847267 .required_features = .{ .@"64bit", null, null, null },
4346947268 .src_constraints = .{ .{ .signed_int = .gpr }, .any, .any },
43470 .dst_constraints = .{.{ .signed_int = .qword }},
47269 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
4347147270 .patterns = &.{
4347247271 .{ .src = .{ .to_mut_gpr, .none, .none } },
4347347272 },
43474 .dst_temps = .{.{ .ref = .src0 }},
47273 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4347547274 .clobbers = .{ .eflags = true },
4347647275 .each = .{ .once = &.{
4347747276 .{ ._, ._l, .sa, .dst0q, .uia(64, .dst0, .sub_bit_size), ._, ._ },
......@@ -43480,11 +47279,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4348047279 }, .{
4348147280 .required_features = .{ .@"64bit", null, null, null },
4348247281 .src_constraints = .{ .any_signed_int, .any, .any },
43483 .dst_constraints = .{.{ .signed_int = .qword }},
47282 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
4348447283 .patterns = &.{
4348547284 .{ .src = .{ .to_mem, .none, .none } },
4348647285 },
43487 .dst_temps = .{.{ .rc = .general_purpose }},
47286 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
4348847287 .clobbers = .{ .eflags = true },
4348947288 .each = .{ .once = &.{
4349047289 .{ ._, ._, .mov, .dst0q, .mem(.src0q), ._, ._ },
......@@ -43494,12 +47293,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4349447293 }, .{
4349547294 .required_features = .{ .@"64bit", .bmi2, null, null },
4349647295 .src_constraints = .{ .{ .unsigned_int = .gpr }, .any, .any },
43497 .dst_constraints = .{.{ .unsigned_int = .qword }},
47296 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
4349847297 .patterns = &.{
4349947298 .{ .src = .{ .mem, .none, .none } },
4350047299 .{ .src = .{ .to_gpr, .none, .none } },
4350147300 },
43502 .dst_temps = .{.{ .rc = .general_purpose }},
47301 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
4350347302 .clobbers = .{ .eflags = true },
4350447303 .each = .{ .once = &.{
4350547304 .{ ._, ._, .mov, .dst0d, .sa(.dst0, .add_bit_size), ._, ._ },
......@@ -43508,11 +47307,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4350847307 }, .{
4350947308 .required_features = .{ .@"64bit", .bmi2, null, null },
4351047309 .src_constraints = .{ .any_unsigned_int, .any, .any },
43511 .dst_constraints = .{.{ .unsigned_int = .qword }},
47310 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
4351247311 .patterns = &.{
4351347312 .{ .src = .{ .to_mem, .none, .none } },
4351447313 },
43515 .dst_temps = .{.{ .rc = .general_purpose }},
47314 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
4351647315 .clobbers = .{ .eflags = true },
4351747316 .each = .{ .once = &.{
4351847317 .{ ._, ._, .mov, .dst0d, .sa(.dst0, .add_bit_size), ._, ._ },
......@@ -43521,12 +47320,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4352147320 }, .{
4352247321 .required_features = .{ .@"64bit", null, null, null },
4352347322 .src_constraints = .{ .{ .unsigned_int = .gpr }, .any, .any },
43524 .dst_constraints = .{.{ .unsigned_int = .qword }},
47323 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
4352547324 .patterns = &.{
4352647325 .{ .src = .{ .mem, .none, .none } },
4352747326 .{ .src = .{ .to_gpr, .none, .none } },
4352847327 },
43529 .dst_temps = .{.{ .rc = .general_purpose }},
47328 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
4353047329 .clobbers = .{ .eflags = true },
4353147330 .each = .{ .once = &.{
4353247331 .{ ._, ._, .mov, .dst0q, .ua(.dst0, .add_umax), ._, ._ },
......@@ -43535,11 +47334,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4353547334 }, .{
4353647335 .required_features = .{ .@"64bit", null, null, null },
4353747336 .src_constraints = .{ .any_unsigned_int, .any, .any },
43538 .dst_constraints = .{.{ .unsigned_int = .qword }},
47337 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
4353947338 .patterns = &.{
4354047339 .{ .src = .{ .to_mem, .none, .none } },
4354147340 },
43542 .dst_temps = .{.{ .rc = .general_purpose }},
47341 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
4354347342 .clobbers = .{ .eflags = true },
4354447343 .each = .{ .once = &.{
4354547344 .{ ._, ._, .mov, .dst0q, .ua(.dst0, .add_umax), ._, ._ },
......@@ -43548,7 +47347,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4354847347 }, .{
4354947348 .required_features = .{ .@"64bit", null, null, null },
4355047349 .src_constraints = .{ .any_int, .any, .any },
43551 .dst_constraints = .{.{ .exact_remainder_int = .{ .of = .xword, .is = .xword } }},
47350 .dst_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = .xword } }, .any },
4355247351 .patterns = &.{
4355347352 .{ .src = .{ .to_mem, .none, .none } },
4355447353 },
......@@ -43563,7 +47362,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4356347362 .unused,
4356447363 .unused,
4356547364 },
43566 .dst_temps = .{.mem},
47365 .dst_temps = .{ .mem, .unused },
4356747366 .each = .{ .once = &.{
4356847367 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
4356947368 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
......@@ -43573,7 +47372,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4357347372 }, .{
4357447373 .required_features = .{ .@"64bit", null, null, null },
4357547374 .src_constraints = .{ .any_signed_int, .any, .any },
43576 .dst_constraints = .{.{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }},
47375 .dst_constraints = .{ .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, .any },
4357747376 .patterns = &.{
4357847377 .{ .src = .{ .to_mem, .none, .none } },
4357947378 },
......@@ -43588,7 +47387,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4358847387 .unused,
4358947388 .unused,
4359047389 },
43591 .dst_temps = .{.mem},
47390 .dst_temps = .{ .mem, .unused },
4359247391 .clobbers = .{ .eflags = true },
4359347392 .each = .{ .once = &.{
4359447393 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -43603,7 +47402,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4360347402 }, .{
4360447403 .required_features = .{ .@"64bit", null, null, null },
4360547404 .src_constraints = .{ .any_signed_int, .any, .any },
43606 .dst_constraints = .{.{ .remainder_signed_int = .{ .of = .xword, .is = .qword } }},
47405 .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .xword, .is = .qword } }, .any },
4360747406 .patterns = &.{
4360847407 .{ .src = .{ .to_mem, .none, .none } },
4360947408 },
......@@ -43618,7 +47417,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4361847417 .unused,
4361947418 .unused,
4362047419 },
43621 .dst_temps = .{.mem},
47420 .dst_temps = .{ .mem, .unused },
4362247421 .clobbers = .{ .eflags = true },
4362347422 .each = .{ .once = &.{
4362447423 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -43635,7 +47434,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4363547434 }, .{
4363647435 .required_features = .{ .@"64bit", null, null, null },
4363747436 .src_constraints = .{ .any_signed_int, .any, .any },
43638 .dst_constraints = .{.{ .remainder_signed_int = .{ .of = .xword, .is = .xword } }},
47437 .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .xword, .is = .xword } }, .any },
4363947438 .patterns = &.{
4364047439 .{ .src = .{ .to_mem, .none, .none } },
4364147440 },
......@@ -43650,7 +47449,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4365047449 .unused,
4365147450 .unused,
4365247451 },
43653 .dst_temps = .{.mem},
47452 .dst_temps = .{ .mem, .unused },
4365447453 .clobbers = .{ .eflags = true },
4365547454 .each = .{ .once = &.{
4365647455 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -43665,7 +47464,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4366547464 }, .{
4366647465 .required_features = .{ .@"64bit", null, null, null },
4366747466 .src_constraints = .{ .any_unsigned_int, .any, .any },
43668 .dst_constraints = .{.{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }},
47467 .dst_constraints = .{ .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, .any },
4366947468 .patterns = &.{
4367047469 .{ .src = .{ .to_mem, .none, .none } },
4367147470 },
......@@ -43680,7 +47479,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4368047479 .unused,
4368147480 .unused,
4368247481 },
43683 .dst_temps = .{.mem},
47482 .dst_temps = .{ .mem, .unused },
4368447483 .each = .{ .once = &.{
4368547484 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
4368647485 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
......@@ -43691,7 +47490,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4369147490 }, .{
4369247491 .required_features = .{ .@"64bit", .bmi2, null, null },
4369347492 .src_constraints = .{ .any_unsigned_int, .any, .any },
43694 .dst_constraints = .{.{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }},
47493 .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, .any },
4369547494 .patterns = &.{
4369647495 .{ .src = .{ .to_mem, .none, .none } },
4369747496 },
......@@ -43706,7 +47505,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4370647505 .unused,
4370747506 .unused,
4370847507 },
43709 .dst_temps = .{.mem},
47508 .dst_temps = .{ .mem, .unused },
4371047509 .clobbers = .{ .eflags = true },
4371147510 .each = .{ .once = &.{
4371247511 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -43721,7 +47520,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4372147520 }, .{
4372247521 .required_features = .{ .@"64bit", .bmi2, null, null },
4372347522 .src_constraints = .{ .any_unsigned_int, .any, .any },
43724 .dst_constraints = .{.{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }},
47523 .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, .any },
4372547524 .patterns = &.{
4372647525 .{ .src = .{ .to_mem, .none, .none } },
4372747526 },
......@@ -43736,7 +47535,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4373647535 .unused,
4373747536 .unused,
4373847537 },
43739 .dst_temps = .{.mem},
47538 .dst_temps = .{ .mem, .unused },
4374047539 .clobbers = .{ .eflags = true },
4374147540 .each = .{ .once = &.{
4374247541 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -43750,7 +47549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4375047549 }, .{
4375147550 .required_features = .{ .@"64bit", null, null, null },
4375247551 .src_constraints = .{ .any_unsigned_int, .any, .any },
43753 .dst_constraints = .{.{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }},
47552 .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, .any },
4375447553 .patterns = &.{
4375547554 .{ .src = .{ .to_mem, .none, .none } },
4375647555 },
......@@ -43765,7 +47564,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4376547564 .unused,
4376647565 .unused,
4376747566 },
43768 .dst_temps = .{.mem},
47567 .dst_temps = .{ .mem, .unused },
4376947568 .clobbers = .{ .eflags = true },
4377047569 .each = .{ .once = &.{
4377147570 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -43780,7 +47579,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4378047579 }, .{
4378147580 .required_features = .{ .@"64bit", null, null, null },
4378247581 .src_constraints = .{ .any_unsigned_int, .any, .any },
43783 .dst_constraints = .{.{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }},
47582 .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, .any },
4378447583 .patterns = &.{
4378547584 .{ .src = .{ .to_mem, .none, .none } },
4378647585 },
......@@ -43795,7 +47594,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4379547594 .unused,
4379647595 .unused,
4379747596 },
43798 .dst_temps = .{.mem},
47597 .dst_temps = .{ .mem, .unused },
4379947598 .clobbers = .{ .eflags = true },
4380047599 .each = .{ .once = &.{
4380147600 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -43809,7 +47608,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4380947608 }, .{
4381047609 .required_features = .{ .avx, null, null, null },
4381147610 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any },
43812 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }},
47611 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any },
4381347612 .patterns = &.{
4381447613 .{ .src = .{ .to_sse, .none, .none } },
4381547614 },
......@@ -43824,7 +47623,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4382447623 .unused,
4382547624 .unused,
4382647625 },
43827 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
47626 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4382847627 .each = .{ .once = &.{
4382947628 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
4383047629 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
......@@ -43835,7 +47634,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4383547634 }, .{
4383647635 .required_features = .{ .avx, null, null, null },
4383747636 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any },
43838 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }},
47637 .dst_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any },
4383947638 .patterns = &.{
4384047639 .{ .src = .{ .to_sse, .none, .none } },
4384147640 },
......@@ -43850,7 +47649,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4385047649 .unused,
4385147650 .unused,
4385247651 },
43853 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
47652 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4385447653 .each = .{ .once = &.{
4385547654 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
4385647655 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
......@@ -43858,7 +47657,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4385847657 }, .{
4385947658 .required_features = .{ .sse2, null, null, null },
4386047659 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any },
43861 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }},
47660 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any },
4386247661 .patterns = &.{
4386347662 .{ .src = .{ .to_mut_sse, .none, .none } },
4386447663 },
......@@ -43873,7 +47672,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4387347672 .unused,
4387447673 .unused,
4387547674 },
43876 .dst_temps = .{.{ .ref = .src0 }},
47675 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4387747676 .each = .{ .once = &.{
4387847677 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
4387947678 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
......@@ -43884,7 +47683,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4388447683 }, .{
4388547684 .required_features = .{ .sse2, null, null, null },
4388647685 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any },
43887 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }},
47686 .dst_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any },
4388847687 .patterns = &.{
4388947688 .{ .src = .{ .to_mut_sse, .none, .none } },
4389047689 },
......@@ -43899,7 +47698,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4389947698 .unused,
4390047699 .unused,
4390147700 },
43902 .dst_temps = .{.{ .ref = .src0 }},
47701 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4390347702 .each = .{ .once = &.{
4390447703 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
4390547704 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
......@@ -43907,7 +47706,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4390747706 }, .{
4390847707 .required_features = .{ .sse, null, null, null },
4390947708 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any },
43910 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }},
47709 .dst_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any },
4391147710 .patterns = &.{
4391247711 .{ .src = .{ .to_mut_sse, .none, .none } },
4391347712 },
......@@ -43922,7 +47721,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4392247721 .unused,
4392347722 .unused,
4392447723 },
43925 .dst_temps = .{.{ .ref = .src0 }},
47724 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4392647725 .each = .{ .once = &.{
4392747726 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
4392847727 .{ ._, ._ps, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
......@@ -43930,7 +47729,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4393047729 }, .{
4393147730 .required_features = .{ .avx2, null, null, null },
4393247731 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .yword, .is = .byte } }, .any, .any },
43933 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .yword, .is = .byte } }},
47732 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .yword, .is = .byte } }, .any },
4393447733 .patterns = &.{
4393547734 .{ .src = .{ .to_sse, .none, .none } },
4393647735 },
......@@ -43945,7 +47744,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4394547744 .unused,
4394647745 .unused,
4394747746 },
43948 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
47747 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4394947748 .each = .{ .once = &.{
4395047749 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
4395147750 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
......@@ -43956,7 +47755,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4395647755 }, .{
4395747756 .required_features = .{ .avx2, null, null, null },
4395847757 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, .any, .any },
43959 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .yword, .is = .byte } }},
47758 .dst_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, .any },
4396047759 .patterns = &.{
4396147760 .{ .src = .{ .to_sse, .none, .none } },
4396247761 },
......@@ -43971,7 +47770,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4397147770 .unused,
4397247771 .unused,
4397347772 },
43974 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
47773 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4397547774 .each = .{ .once = &.{
4397647775 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
4397747776 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
......@@ -43979,7 +47778,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4397947778 }, .{
4398047779 .required_features = .{ .avx2, null, null, null },
4398147780 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .byte } }, .any, .any },
43982 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .byte } }},
47781 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .byte } }, .any },
4398347782 .patterns = &.{
4398447783 .{ .src = .{ .to_mem, .none, .none } },
4398547784 },
......@@ -43994,7 +47793,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4399447793 .unused,
4399547794 .unused,
4399647795 },
43997 .dst_temps = .{.mem},
47796 .dst_temps = .{ .mem, .unused },
4399847797 .clobbers = .{ .eflags = true },
4399947798 .each = .{ .once = &.{
4400047799 .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ },
......@@ -44012,7 +47811,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4401247811 }, .{
4401347812 .required_features = .{ .avx2, null, null, null },
4401447813 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, .any, .any },
44015 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }},
47814 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, .any },
4401647815 .patterns = &.{
4401747816 .{ .src = .{ .to_mem, .none, .none } },
4401847817 },
......@@ -44027,7 +47826,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4402747826 .unused,
4402847827 .unused,
4402947828 },
44030 .dst_temps = .{.mem},
47829 .dst_temps = .{ .mem, .unused },
4403147830 .clobbers = .{ .eflags = true },
4403247831 .each = .{ .once = &.{
4403347832 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
......@@ -44041,7 +47840,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4404147840 }, .{
4404247841 .required_features = .{ .avx, null, null, null },
4404347842 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any },
44044 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }},
47843 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any },
4404547844 .patterns = &.{
4404647845 .{ .src = .{ .to_mem, .none, .none } },
4404747846 },
......@@ -44056,7 +47855,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4405647855 .unused,
4405747856 .unused,
4405847857 },
44059 .dst_temps = .{.mem},
47858 .dst_temps = .{ .mem, .unused },
4406047859 .clobbers = .{ .eflags = true },
4406147860 .each = .{ .once = &.{
4406247861 .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ },
......@@ -44074,7 +47873,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4407447873 }, .{
4407547874 .required_features = .{ .avx, null, null, null },
4407647875 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any },
44077 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }},
47876 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any },
4407847877 .patterns = &.{
4407947878 .{ .src = .{ .to_mem, .none, .none } },
4408047879 },
......@@ -44089,7 +47888,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4408947888 .unused,
4409047889 .unused,
4409147890 },
44092 .dst_temps = .{.mem},
47891 .dst_temps = .{ .mem, .unused },
4409347892 .clobbers = .{ .eflags = true },
4409447893 .each = .{ .once = &.{
4409547894 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
......@@ -44103,7 +47902,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4410347902 }, .{
4410447903 .required_features = .{ .sse2, null, null, null },
4410547904 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any },
44106 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }},
47905 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any },
4410747906 .patterns = &.{
4410847907 .{ .src = .{ .to_mem, .none, .none } },
4410947908 },
......@@ -44118,7 +47917,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4411847917 .unused,
4411947918 .unused,
4412047919 },
44121 .dst_temps = .{.mem},
47920 .dst_temps = .{ .mem, .unused },
4412247921 .clobbers = .{ .eflags = true },
4412347922 .each = .{ .once = &.{
4412447923 .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ },
......@@ -44137,7 +47936,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4413747936 }, .{
4413847937 .required_features = .{ .sse2, null, null, null },
4413947938 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any },
44140 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }},
47939 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any },
4414147940 .patterns = &.{
4414247941 .{ .src = .{ .to_mem, .none, .none } },
4414347942 },
......@@ -44152,7 +47951,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4415247951 .unused,
4415347952 .unused,
4415447953 },
44155 .dst_temps = .{.mem},
47954 .dst_temps = .{ .mem, .unused },
4415647955 .clobbers = .{ .eflags = true },
4415747956 .each = .{ .once = &.{
4415847957 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
......@@ -44167,7 +47966,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4416747966 }, .{
4416847967 .required_features = .{ .sse, null, null, null },
4416947968 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any },
44170 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }},
47969 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any },
4417147970 .patterns = &.{
4417247971 .{ .src = .{ .to_mem, .none, .none } },
4417347972 },
......@@ -44182,7 +47981,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4418247981 .unused,
4418347982 .unused,
4418447983 },
44185 .dst_temps = .{.mem},
47984 .dst_temps = .{ .mem, .unused },
4418647985 .clobbers = .{ .eflags = true },
4418747986 .each = .{ .once = &.{
4418847987 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
......@@ -44197,7 +47996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4419747996 }, .{
4419847997 .required_features = .{ .slow_incdec, null, null, null },
4419947998 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
44200 .dst_constraints = .{.{ .multiple_scalar_exact_signed_int = .{ .of = .byte, .is = 1 } }},
47999 .dst_constraints = .{ .{ .multiple_scalar_exact_signed_int = .{ .of = .byte, .is = 1 } }, .any },
4420148000 .patterns = &.{
4420248001 .{ .src = .{ .to_mem, .none, .none } },
4420348002 },
......@@ -44212,7 +48011,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4421248011 .unused,
4421348012 .unused,
4421448013 },
44215 .dst_temps = .{.mem},
48014 .dst_temps = .{ .mem, .unused },
4421648015 .clobbers = .{ .eflags = true },
4421748016 .each = .{ .once = &.{
4421848017 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -44225,7 +48024,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4422548024 } },
4422648025 }, .{
4422748026 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
44228 .dst_constraints = .{.{ .multiple_scalar_exact_signed_int = .{ .of = .byte, .is = 1 } }},
48027 .dst_constraints = .{ .{ .multiple_scalar_exact_signed_int = .{ .of = .byte, .is = 1 } }, .any },
4422948028 .patterns = &.{
4423048029 .{ .src = .{ .to_mem, .none, .none } },
4423148030 },
......@@ -44240,7 +48039,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4424048039 .unused,
4424148040 .unused,
4424248041 },
44243 .dst_temps = .{.mem},
48042 .dst_temps = .{ .mem, .unused },
4424448043 .clobbers = .{ .eflags = true },
4424548044 .each = .{ .once = &.{
4424648045 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -44254,7 +48053,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4425448053 }, .{
4425548054 .required_features = .{ .slow_incdec, null, null, null },
4425648055 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
44257 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }},
48056 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any },
4425848057 .patterns = &.{
4425948058 .{ .src = .{ .to_mem, .none, .none } },
4426048059 },
......@@ -44269,7 +48068,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4426948068 .unused,
4427048069 .unused,
4427148070 },
44272 .dst_temps = .{.mem},
48071 .dst_temps = .{ .mem, .unused },
4427348072 .clobbers = .{ .eflags = true },
4427448073 .each = .{ .once = &.{
4427548074 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -44282,7 +48081,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4428248081 } },
4428348082 }, .{
4428448083 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
44285 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }},
48084 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any },
4428648085 .patterns = &.{
4428748086 .{ .src = .{ .to_mem, .none, .none } },
4428848087 },
......@@ -44297,7 +48096,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4429748096 .unused,
4429848097 .unused,
4429948098 },
44300 .dst_temps = .{.mem},
48099 .dst_temps = .{ .mem, .unused },
4430148100 .clobbers = .{ .eflags = true },
4430248101 .each = .{ .once = &.{
4430348102 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -44311,7 +48110,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4431148110 }, .{
4431248111 .required_features = .{ .slow_incdec, null, null, null },
4431348112 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
44314 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
48113 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any },
4431548114 .patterns = &.{
4431648115 .{ .src = .{ .to_mem, .none, .none } },
4431748116 },
......@@ -44326,7 +48125,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4432648125 .unused,
4432748126 .unused,
4432848127 },
44329 .dst_temps = .{.mem},
48128 .dst_temps = .{ .mem, .unused },
4433048129 .clobbers = .{ .eflags = true },
4433148130 .each = .{ .once = &.{
4433248131 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -44338,7 +48137,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4433848137 } },
4433948138 }, .{
4434048139 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
44341 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
48140 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any },
4434248141 .patterns = &.{
4434348142 .{ .src = .{ .to_mem, .none, .none } },
4434448143 },
......@@ -44353,7 +48152,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4435348152 .unused,
4435448153 .unused,
4435548154 },
44356 .dst_temps = .{.mem},
48155 .dst_temps = .{ .mem, .unused },
4435748156 .clobbers = .{ .eflags = true },
4435848157 .each = .{ .once = &.{
4435948158 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -44366,7 +48165,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4436648165 }, .{
4436748166 .required_features = .{ .slow_incdec, null, null, null },
4436848167 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any, .any },
44369 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .byte, .is = 8 } }},
48168 .dst_constraints = .{ .{ .multiple_scalar_exact_int = .{ .of = .byte, .is = 8 } }, .any },
4437048169 .patterns = &.{
4437148170 .{ .src = .{ .to_mem, .none, .none } },
4437248171 },
......@@ -44381,7 +48180,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4438148180 .unused,
4438248181 .unused,
4438348182 },
44384 .dst_temps = .{.mem},
48183 .dst_temps = .{ .mem, .unused },
4438548184 .clobbers = .{ .eflags = true },
4438648185 .each = .{ .once = &.{
4438748186 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -44392,7 +48191,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4439248191 } },
4439348192 }, .{
4439448193 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any, .any },
44395 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .byte, .is = 8 } }},
48194 .dst_constraints = .{ .{ .multiple_scalar_exact_int = .{ .of = .byte, .is = 8 } }, .any },
4439648195 .patterns = &.{
4439748196 .{ .src = .{ .to_mem, .none, .none } },
4439848197 },
......@@ -44407,7 +48206,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4440748206 .unused,
4440848207 .unused,
4440948208 },
44410 .dst_temps = .{.mem},
48209 .dst_temps = .{ .mem, .unused },
4441148210 .clobbers = .{ .eflags = true },
4441248211 .each = .{ .once = &.{
4441348212 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -44419,7 +48218,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4441948218 }, .{
4442048219 .required_features = .{ .slow_incdec, null, null, null },
4442148220 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },
44422 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }},
48221 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any },
4442348222 .patterns = &.{
4442448223 .{ .src = .{ .to_mem, .none, .none } },
4442548224 },
......@@ -44434,7 +48233,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4443448233 .unused,
4443548234 .unused,
4443648235 },
44437 .dst_temps = .{.mem},
48236 .dst_temps = .{ .mem, .unused },
4443848237 .clobbers = .{ .eflags = true },
4443948238 .each = .{ .once = &.{
4444048239 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -44447,7 +48246,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4444748246 } },
4444848247 }, .{
4444948248 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },
44450 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }},
48249 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any },
4445148250 .patterns = &.{
4445248251 .{ .src = .{ .to_mem, .none, .none } },
4445348252 },
......@@ -44462,7 +48261,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4446248261 .unused,
4446348262 .unused,
4446448263 },
44465 .dst_temps = .{.mem},
48264 .dst_temps = .{ .mem, .unused },
4446648265 .clobbers = .{ .eflags = true },
4446748266 .each = .{ .once = &.{
4446848267 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -44476,7 +48275,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4447648275 }, .{
4447748276 .required_features = .{ .slow_incdec, null, null, null },
4447848277 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },
44479 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
48278 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any },
4448048279 .patterns = &.{
4448148280 .{ .src = .{ .to_mem, .none, .none } },
4448248281 },
......@@ -44491,7 +48290,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4449148290 .unused,
4449248291 .unused,
4449348292 },
44494 .dst_temps = .{.mem},
48293 .dst_temps = .{ .mem, .unused },
4449548294 .clobbers = .{ .eflags = true },
4449648295 .each = .{ .once = &.{
4449748296 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -44503,7 +48302,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4450348302 } },
4450448303 }, .{
4450548304 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },
44506 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
48305 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any },
4450748306 .patterns = &.{
4450848307 .{ .src = .{ .to_mem, .none, .none } },
4450948308 },
......@@ -44518,7 +48317,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4451848317 .unused,
4451948318 .unused,
4452048319 },
44521 .dst_temps = .{.mem},
48320 .dst_temps = .{ .mem, .unused },
4452248321 .clobbers = .{ .eflags = true },
4452348322 .each = .{ .once = &.{
4452448323 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -44531,7 +48330,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4453148330 }, .{
4453248331 .required_features = .{ .slow_incdec, null, null, null },
4453348332 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any },
44534 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .byte, .is = 8 } }},
48333 .dst_constraints = .{ .{ .multiple_scalar_exact_int = .{ .of = .byte, .is = 8 } }, .any },
4453548334 .patterns = &.{
4453648335 .{ .src = .{ .to_mem, .none, .none } },
4453748336 },
......@@ -44546,7 +48345,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4454648345 .unused,
4454748346 .unused,
4454848347 },
44549 .dst_temps = .{.mem},
48348 .dst_temps = .{ .mem, .unused },
4455048349 .clobbers = .{ .eflags = true },
4455148350 .each = .{ .once = &.{
4455248351 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -44557,7 +48356,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4455748356 } },
4455848357 }, .{
4455948358 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any },
44560 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .byte, .is = 8 } }},
48359 .dst_constraints = .{ .{ .multiple_scalar_exact_int = .{ .of = .byte, .is = 8 } }, .any },
4456148360 .patterns = &.{
4456248361 .{ .src = .{ .to_mem, .none, .none } },
4456348362 },
......@@ -44572,7 +48371,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4457248371 .unused,
4457348372 .unused,
4457448373 },
44575 .dst_temps = .{.mem},
48374 .dst_temps = .{ .mem, .unused },
4457648375 .clobbers = .{ .eflags = true },
4457748376 .each = .{ .once = &.{
4457848377 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -44584,7 +48383,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4458448383 }, .{
4458548384 .required_features = .{ .slow_incdec, null, null, null },
4458648385 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
44587 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }},
48386 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any },
4458848387 .patterns = &.{
4458948388 .{ .src = .{ .to_mem, .none, .none } },
4459048389 },
......@@ -44599,7 +48398,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4459948398 .unused,
4460048399 .unused,
4460148400 },
44602 .dst_temps = .{.mem},
48401 .dst_temps = .{ .mem, .unused },
4460348402 .clobbers = .{ .eflags = true },
4460448403 .each = .{ .once = &.{
4460548404 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -44612,7 +48411,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4461248411 } },
4461348412 }, .{
4461448413 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
44615 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }},
48414 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any },
4461648415 .patterns = &.{
4461748416 .{ .src = .{ .to_mem, .none, .none } },
4461848417 },
......@@ -44627,7 +48426,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4462748426 .unused,
4462848427 .unused,
4462948428 },
44630 .dst_temps = .{.mem},
48429 .dst_temps = .{ .mem, .unused },
4463148430 .clobbers = .{ .eflags = true },
4463248431 .each = .{ .once = &.{
4463348432 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -44641,7 +48440,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4464148440 }, .{
4464248441 .required_features = .{ .bmi2, .slow_incdec, null, null },
4464348442 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
44644 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
48443 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any },
4464548444 .patterns = &.{
4464648445 .{ .src = .{ .to_mem, .none, .none } },
4464748446 },
......@@ -44656,7 +48455,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4465648455 .unused,
4465748456 .unused,
4465848457 },
44659 .dst_temps = .{.mem},
48458 .dst_temps = .{ .mem, .unused },
4466048459 .clobbers = .{ .eflags = true },
4466148460 .each = .{ .once = &.{
4466248461 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -44669,7 +48468,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4466948468 }, .{
4467048469 .required_features = .{ .bmi2, null, null, null },
4467148470 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
44672 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
48471 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any },
4467348472 .patterns = &.{
4467448473 .{ .src = .{ .to_mem, .none, .none } },
4467548474 },
......@@ -44684,7 +48483,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4468448483 .unused,
4468548484 .unused,
4468648485 },
44687 .dst_temps = .{.mem},
48486 .dst_temps = .{ .mem, .unused },
4468848487 .clobbers = .{ .eflags = true },
4468948488 .each = .{ .once = &.{
4469048489 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -44697,7 +48496,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4469748496 }, .{
4469848497 .required_features = .{ .slow_incdec, null, null, null },
4469948498 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
44700 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
48499 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any },
4470148500 .patterns = &.{
4470248501 .{ .src = .{ .to_mem, .none, .none } },
4470348502 },
......@@ -44712,7 +48511,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4471248511 .unused,
4471348512 .unused,
4471448513 },
44715 .dst_temps = .{.mem},
48514 .dst_temps = .{ .mem, .unused },
4471648515 .clobbers = .{ .eflags = true },
4471748516 .each = .{ .once = &.{
4471848517 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -44724,7 +48523,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4472448523 } },
4472548524 }, .{
4472648525 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
44727 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
48526 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any },
4472848527 .patterns = &.{
4472948528 .{ .src = .{ .to_mem, .none, .none } },
4473048529 },
......@@ -44739,7 +48538,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4473948538 .unused,
4474048539 .unused,
4474148540 },
44742 .dst_temps = .{.mem},
48541 .dst_temps = .{ .mem, .unused },
4474348542 .clobbers = .{ .eflags = true },
4474448543 .each = .{ .once = &.{
4474548544 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -44752,7 +48551,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4475248551 }, .{
4475348552 .required_features = .{ .slow_incdec, null, null, null },
4475448553 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any, .any },
44755 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .byte, .is = 8 } }},
48554 .dst_constraints = .{ .{ .multiple_scalar_exact_int = .{ .of = .byte, .is = 8 } }, .any },
4475648555 .patterns = &.{
4475748556 .{ .src = .{ .to_mem, .none, .none } },
4475848557 },
......@@ -44767,7 +48566,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4476748566 .unused,
4476848567 .unused,
4476948568 },
44770 .dst_temps = .{.mem},
48569 .dst_temps = .{ .mem, .unused },
4477148570 .clobbers = .{ .eflags = true },
4477248571 .each = .{ .once = &.{
4477348572 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -44778,7 +48577,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4477848577 } },
4477948578 }, .{
4478048579 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any, .any },
44781 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .byte, .is = 8 } }},
48580 .dst_constraints = .{ .{ .multiple_scalar_exact_int = .{ .of = .byte, .is = 8 } }, .any },
4478248581 .patterns = &.{
4478348582 .{ .src = .{ .to_mem, .none, .none } },
4478448583 },
......@@ -44793,7 +48592,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4479348592 .unused,
4479448593 .unused,
4479548594 },
44796 .dst_temps = .{.mem},
48595 .dst_temps = .{ .mem, .unused },
4479748596 .clobbers = .{ .eflags = true },
4479848597 .each = .{ .once = &.{
4479948598 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -44805,7 +48604,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4480548604 }, .{
4480648605 .required_features = .{ .slow_incdec, null, null, null },
4480748606 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },
44808 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }},
48607 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any },
4480948608 .patterns = &.{
4481048609 .{ .src = .{ .to_mem, .none, .none } },
4481148610 },
......@@ -44820,7 +48619,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4482048619 .unused,
4482148620 .unused,
4482248621 },
44823 .dst_temps = .{.mem},
48622 .dst_temps = .{ .mem, .unused },
4482448623 .clobbers = .{ .eflags = true },
4482548624 .each = .{ .once = &.{
4482648625 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -44833,7 +48632,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4483348632 } },
4483448633 }, .{
4483548634 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },
44836 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }},
48635 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any },
4483748636 .patterns = &.{
4483848637 .{ .src = .{ .to_mem, .none, .none } },
4483948638 },
......@@ -44848,7 +48647,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4484848647 .unused,
4484948648 .unused,
4485048649 },
44851 .dst_temps = .{.mem},
48650 .dst_temps = .{ .mem, .unused },
4485248651 .clobbers = .{ .eflags = true },
4485348652 .each = .{ .once = &.{
4485448653 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -44862,7 +48661,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4486248661 }, .{
4486348662 .required_features = .{ .bmi2, .slow_incdec, null, null },
4486448663 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },
44865 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
48664 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any },
4486648665 .patterns = &.{
4486748666 .{ .src = .{ .to_mem, .none, .none } },
4486848667 },
......@@ -44877,7 +48676,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4487748676 .unused,
4487848677 .unused,
4487948678 },
44880 .dst_temps = .{.mem},
48679 .dst_temps = .{ .mem, .unused },
4488148680 .clobbers = .{ .eflags = true },
4488248681 .each = .{ .once = &.{
4488348682 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -44890,7 +48689,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4489048689 }, .{
4489148690 .required_features = .{ .bmi2, null, null, null },
4489248691 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },
44893 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
48692 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any },
4489448693 .patterns = &.{
4489548694 .{ .src = .{ .to_mem, .none, .none } },
4489648695 },
......@@ -44905,7 +48704,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4490548704 .unused,
4490648705 .unused,
4490748706 },
44908 .dst_temps = .{.mem},
48707 .dst_temps = .{ .mem, .unused },
4490948708 .clobbers = .{ .eflags = true },
4491048709 .each = .{ .once = &.{
4491148710 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -44918,7 +48717,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4491848717 }, .{
4491948718 .required_features = .{ .slow_incdec, null, null, null },
4492048719 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },
44921 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
48720 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any },
4492248721 .patterns = &.{
4492348722 .{ .src = .{ .to_mem, .none, .none } },
4492448723 },
......@@ -44933,7 +48732,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4493348732 .unused,
4493448733 .unused,
4493548734 },
44936 .dst_temps = .{.mem},
48735 .dst_temps = .{ .mem, .unused },
4493748736 .clobbers = .{ .eflags = true },
4493848737 .each = .{ .once = &.{
4493948738 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -44945,7 +48744,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4494548744 } },
4494648745 }, .{
4494748746 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },
44948 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
48747 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any },
4494948748 .patterns = &.{
4495048749 .{ .src = .{ .to_mem, .none, .none } },
4495148750 },
......@@ -44960,7 +48759,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4496048759 .unused,
4496148760 .unused,
4496248761 },
44963 .dst_temps = .{.mem},
48762 .dst_temps = .{ .mem, .unused },
4496448763 .clobbers = .{ .eflags = true },
4496548764 .each = .{ .once = &.{
4496648765 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -44973,7 +48772,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4497348772 }, .{
4497448773 .required_features = .{ .slow_incdec, null, null, null },
4497548774 .src_constraints = .{ .any_scalar_int, .any, .any },
44976 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .byte, .is = 8 } }},
48775 .dst_constraints = .{ .{ .multiple_scalar_exact_int = .{ .of = .byte, .is = 8 } }, .any },
4497748776 .patterns = &.{
4497848777 .{ .src = .{ .to_mem, .none, .none } },
4497948778 },
......@@ -44988,7 +48787,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4498848787 .unused,
4498948788 .unused,
4499048789 },
44991 .dst_temps = .{.mem},
48790 .dst_temps = .{ .mem, .unused },
4499248791 .clobbers = .{ .eflags = true },
4499348792 .each = .{ .once = &.{
4499448793 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -45001,7 +48800,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4500148800 } },
4500248801 }, .{
4500348802 .src_constraints = .{ .any_scalar_int, .any, .any },
45004 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .byte, .is = 8 } }},
48803 .dst_constraints = .{ .{ .multiple_scalar_exact_int = .{ .of = .byte, .is = 8 } }, .any },
4500548804 .patterns = &.{
4500648805 .{ .src = .{ .to_mem, .none, .none } },
4500748806 },
......@@ -45016,7 +48815,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4501648815 .unused,
4501748816 .unused,
4501848817 },
45019 .dst_temps = .{.mem},
48818 .dst_temps = .{ .mem, .unused },
4502048819 .clobbers = .{ .eflags = true },
4502148820 .each = .{ .once = &.{
4502248821 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -45030,7 +48829,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4503048829 }, .{
4503148830 .required_features = .{ .slow_incdec, null, null, null },
4503248831 .src_constraints = .{ .any_scalar_signed_int, .any, .any },
45033 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }},
48832 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any },
4503448833 .patterns = &.{
4503548834 .{ .src = .{ .to_mem, .none, .none } },
4503648835 },
......@@ -45045,7 +48844,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4504548844 .unused,
4504648845 .unused,
4504748846 },
45048 .dst_temps = .{.mem},
48847 .dst_temps = .{ .mem, .unused },
4504948848 .clobbers = .{ .eflags = true },
4505048849 .each = .{ .once = &.{
4505148850 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -45060,7 +48859,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4506048859 } },
4506148860 }, .{
4506248861 .src_constraints = .{ .any_scalar_signed_int, .any, .any },
45063 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }},
48862 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any },
4506448863 .patterns = &.{
4506548864 .{ .src = .{ .to_mem, .none, .none } },
4506648865 },
......@@ -45075,7 +48874,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4507548874 .unused,
4507648875 .unused,
4507748876 },
45078 .dst_temps = .{.mem},
48877 .dst_temps = .{ .mem, .unused },
4507948878 .clobbers = .{ .eflags = true },
4508048879 .each = .{ .once = &.{
4508148880 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -45091,7 +48890,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4509148890 }, .{
4509248891 .required_features = .{ .bmi2, .slow_incdec, null, null },
4509348892 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },
45094 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
48893 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any },
4509548894 .patterns = &.{
4509648895 .{ .src = .{ .to_mem, .none, .none } },
4509748896 },
......@@ -45106,7 +48905,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4510648905 .unused,
4510748906 .unused,
4510848907 },
45109 .dst_temps = .{.mem},
48908 .dst_temps = .{ .mem, .unused },
4511048909 .clobbers = .{ .eflags = true },
4511148910 .each = .{ .once = &.{
4511248911 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -45121,7 +48920,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4512148920 }, .{
4512248921 .required_features = .{ .bmi2, null, null, null },
4512348922 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },
45124 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
48923 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any },
4512548924 .patterns = &.{
4512648925 .{ .src = .{ .to_mem, .none, .none } },
4512748926 },
......@@ -45136,7 +48935,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4513648935 .unused,
4513748936 .unused,
4513848937 },
45139 .dst_temps = .{.mem},
48938 .dst_temps = .{ .mem, .unused },
4514048939 .clobbers = .{ .eflags = true },
4514148940 .each = .{ .once = &.{
4514248941 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -45151,7 +48950,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4515148950 }, .{
4515248951 .required_features = .{ .slow_incdec, null, null, null },
4515348952 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },
45154 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
48953 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any },
4515548954 .patterns = &.{
4515648955 .{ .src = .{ .to_mem, .none, .none } },
4515748956 },
......@@ -45166,7 +48965,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4516648965 .unused,
4516748966 .unused,
4516848967 },
45169 .dst_temps = .{.mem},
48968 .dst_temps = .{ .mem, .unused },
4517048969 .clobbers = .{ .eflags = true },
4517148970 .each = .{ .once = &.{
4517248971 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -45180,7 +48979,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4518048979 } },
4518148980 }, .{
4518248981 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },
45183 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
48982 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any },
4518448983 .patterns = &.{
4518548984 .{ .src = .{ .to_mem, .none, .none } },
4518648985 },
......@@ -45195,7 +48994,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4519548994 .unused,
4519648995 .unused,
4519748996 },
45198 .dst_temps = .{.mem},
48997 .dst_temps = .{ .mem, .unused },
4519948998 .clobbers = .{ .eflags = true },
4520048999 .each = .{ .once = &.{
4520149000 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -45210,11 +49009,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4521049009 }, .{
4521149010 .required_features = .{ .avx, null, null, null },
4521249011 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },
45213 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .word } }},
49012 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, .any },
4521449013 .patterns = &.{
4521549014 .{ .src = .{ .to_sse, .none, .none } },
4521649015 },
45217 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
49016 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4521849017 .each = .{ .once = &.{
4521949018 .{ ._, .vp_w, .sll, .dst0x, .src0x, .uia(16, .dst0, .sub_bit_size), ._ },
4522049019 .{ ._, .vp_w, .sra, .dst0x, .dst0x, .uia(16, .dst0, .sub_bit_size), ._ },
......@@ -45222,7 +49021,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4522249021 }, .{
4522349022 .required_features = .{ .avx, null, null, null },
4522449023 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },
45225 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }},
49024 .dst_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any },
4522649025 .patterns = &.{
4522749026 .{ .src = .{ .to_sse, .none, .none } },
4522849027 },
......@@ -45237,7 +49036,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4523749036 .unused,
4523849037 .unused,
4523949038 },
45240 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
49039 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4524149040 .each = .{ .once = &.{
4524249041 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
4524349042 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
......@@ -45245,11 +49044,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4524549044 }, .{
4524649045 .required_features = .{ .sse2, null, null, null },
4524749046 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },
45248 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .word } }},
49047 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, .any },
4524949048 .patterns = &.{
4525049049 .{ .src = .{ .to_mut_sse, .none, .none } },
4525149050 },
45252 .dst_temps = .{.{ .ref = .src0 }},
49051 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4525349052 .each = .{ .once = &.{
4525449053 .{ ._, .p_w, .sll, .dst0x, .uia(16, .dst0, .sub_bit_size), ._, ._ },
4525549054 .{ ._, .p_w, .sra, .dst0x, .uia(16, .dst0, .sub_bit_size), ._, ._ },
......@@ -45257,7 +49056,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4525749056 }, .{
4525849057 .required_features = .{ .sse2, null, null, null },
4525949058 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },
45260 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }},
49059 .dst_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any },
4526149060 .patterns = &.{
4526249061 .{ .src = .{ .to_mut_sse, .none, .none } },
4526349062 },
......@@ -45272,7 +49071,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4527249071 .unused,
4527349072 .unused,
4527449073 },
45275 .dst_temps = .{.{ .ref = .src0 }},
49074 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4527649075 .each = .{ .once = &.{
4527749076 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
4527849077 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
......@@ -45280,7 +49079,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4528049079 }, .{
4528149080 .required_features = .{ .sse, null, null, null },
4528249081 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },
45283 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }},
49082 .dst_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any },
4528449083 .patterns = &.{
4528549084 .{ .src = .{ .to_mut_sse, .none, .none } },
4528649085 },
......@@ -45295,7 +49094,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4529549094 .unused,
4529649095 .unused,
4529749096 },
45298 .dst_temps = .{.{ .ref = .src0 }},
49097 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4529949098 .each = .{ .once = &.{
4530049099 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
4530149100 .{ ._, ._ps, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
......@@ -45303,11 +49102,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4530349102 }, .{
4530449103 .required_features = .{ .avx2, null, null, null },
4530549104 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .yword, .is = .word } }, .any, .any },
45306 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .yword, .is = .word } }},
49105 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .yword, .is = .word } }, .any },
4530749106 .patterns = &.{
4530849107 .{ .src = .{ .to_sse, .none, .none } },
4530949108 },
45310 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
49109 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4531149110 .each = .{ .once = &.{
4531249111 .{ ._, .vp_w, .sll, .dst0y, .src0y, .uia(16, .dst0, .sub_bit_size), ._ },
4531349112 .{ ._, .vp_w, .sra, .dst0y, .dst0y, .uia(16, .dst0, .sub_bit_size), ._ },
......@@ -45315,7 +49114,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4531549114 }, .{
4531649115 .required_features = .{ .avx2, null, null, null },
4531749116 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .yword, .is = .word } }, .any, .any },
45318 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .yword, .is = .word } }},
49117 .dst_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .yword, .is = .word } }, .any },
4531949118 .patterns = &.{
4532049119 .{ .src = .{ .to_sse, .none, .none } },
4532149120 },
......@@ -45330,7 +49129,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4533049129 .unused,
4533149130 .unused,
4533249131 },
45333 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
49132 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4533449133 .each = .{ .once = &.{
4533549134 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
4533649135 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
......@@ -45338,7 +49137,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4533849137 }, .{
4533949138 .required_features = .{ .avx2, null, null, null },
4534049139 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .word } }, .any, .any },
45341 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .word } }},
49140 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .word } }, .any },
4534249141 .patterns = &.{
4534349142 .{ .src = .{ .to_mem, .none, .none } },
4534449143 },
......@@ -45353,7 +49152,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4535349152 .unused,
4535449153 .unused,
4535549154 },
45356 .dst_temps = .{.mem},
49155 .dst_temps = .{ .mem, .unused },
4535749156 .clobbers = .{ .eflags = true },
4535849157 .each = .{ .once = &.{
4535949158 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -45367,7 +49166,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4536749166 }, .{
4536849167 .required_features = .{ .avx2, null, null, null },
4536949168 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, .any, .any },
45370 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .word } }},
49169 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, .any },
4537149170 .patterns = &.{
4537249171 .{ .src = .{ .to_mem, .none, .none } },
4537349172 },
......@@ -45382,7 +49181,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4538249181 .unused,
4538349182 .unused,
4538449183 },
45385 .dst_temps = .{.mem},
49184 .dst_temps = .{ .mem, .unused },
4538649185 .clobbers = .{ .eflags = true },
4538749186 .each = .{ .once = &.{
4538849187 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
......@@ -45396,7 +49195,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4539649195 }, .{
4539749196 .required_features = .{ .avx, null, null, null },
4539849197 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },
45399 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }},
49198 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any },
4540049199 .patterns = &.{
4540149200 .{ .src = .{ .to_mem, .none, .none } },
4540249201 },
......@@ -45411,7 +49210,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4541149210 .unused,
4541249211 .unused,
4541349212 },
45414 .dst_temps = .{.mem},
49213 .dst_temps = .{ .mem, .unused },
4541549214 .clobbers = .{ .eflags = true },
4541649215 .each = .{ .once = &.{
4541749216 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -45425,7 +49224,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4542549224 }, .{
4542649225 .required_features = .{ .avx, null, null, null },
4542749226 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },
45428 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }},
49227 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any },
4542949228 .patterns = &.{
4543049229 .{ .src = .{ .to_mem, .none, .none } },
4543149230 },
......@@ -45440,7 +49239,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4544049239 .unused,
4544149240 .unused,
4544249241 },
45443 .dst_temps = .{.mem},
49242 .dst_temps = .{ .mem, .unused },
4544449243 .clobbers = .{ .eflags = true },
4544549244 .each = .{ .once = &.{
4544649245 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
......@@ -45454,7 +49253,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4545449253 }, .{
4545549254 .required_features = .{ .sse2, null, null, null },
4545649255 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },
45457 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }},
49256 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any },
4545849257 .patterns = &.{
4545949258 .{ .src = .{ .to_mem, .none, .none } },
4546049259 },
......@@ -45469,7 +49268,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4546949268 .unused,
4547049269 .unused,
4547149270 },
45472 .dst_temps = .{.mem},
49271 .dst_temps = .{ .mem, .unused },
4547349272 .clobbers = .{ .eflags = true },
4547449273 .each = .{ .once = &.{
4547549274 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -45483,7 +49282,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4548349282 }, .{
4548449283 .required_features = .{ .sse2, null, null, null },
4548549284 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },
45486 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }},
49285 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any },
4548749286 .patterns = &.{
4548849287 .{ .src = .{ .to_mem, .none, .none } },
4548949288 },
......@@ -45498,7 +49297,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4549849297 .unused,
4549949298 .unused,
4550049299 },
45501 .dst_temps = .{.mem},
49300 .dst_temps = .{ .mem, .unused },
4550249301 .clobbers = .{ .eflags = true },
4550349302 .each = .{ .once = &.{
4550449303 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
......@@ -45513,7 +49312,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4551349312 }, .{
4551449313 .required_features = .{ .sse, null, null, null },
4551549314 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },
45516 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }},
49315 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any },
4551749316 .patterns = &.{
4551849317 .{ .src = .{ .to_mem, .none, .none } },
4551949318 },
......@@ -45528,7 +49327,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4552849327 .unused,
4552949328 .unused,
4553049329 },
45531 .dst_temps = .{.mem},
49330 .dst_temps = .{ .mem, .unused },
4553249331 .clobbers = .{ .eflags = true },
4553349332 .each = .{ .once = &.{
4553449333 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
......@@ -45542,7 +49341,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4554249341 } },
4554349342 }, .{
4554449343 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any, .any },
45545 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .word, .is = 16 } }},
49344 .dst_constraints = .{ .{ .multiple_scalar_exact_int = .{ .of = .word, .is = 16 } }, .any },
4554649345 .patterns = &.{
4554749346 .{ .src = .{ .to_mem, .none, .none } },
4554849347 },
......@@ -45557,7 +49356,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4555749356 .unused,
4555849357 .unused,
4555949358 },
45560 .dst_temps = .{.mem},
49359 .dst_temps = .{ .mem, .unused },
4556149360 .clobbers = .{ .eflags = true },
4556249361 .each = .{ .once = &.{
4556349362 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -45568,7 +49367,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4556849367 } },
4556949368 }, .{
4557049369 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },
45571 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }},
49370 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any },
4557249371 .patterns = &.{
4557349372 .{ .src = .{ .to_mem, .none, .none } },
4557449373 },
......@@ -45583,7 +49382,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4558349382 .unused,
4558449383 .unused,
4558549384 },
45586 .dst_temps = .{.mem},
49385 .dst_temps = .{ .mem, .unused },
4558749386 .clobbers = .{ .eflags = true },
4558849387 .each = .{ .once = &.{
4558949388 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -45597,7 +49396,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4559749396 }, .{
4559849397 .required_features = .{ .fast_imm16, null, null, null },
4559949398 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },
45600 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }},
49399 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any },
4560149400 .patterns = &.{
4560249401 .{ .src = .{ .to_mem, .none, .none } },
4560349402 },
......@@ -45612,7 +49411,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4561249411 .unused,
4561349412 .unused,
4561449413 },
45615 .dst_temps = .{.mem},
49414 .dst_temps = .{ .mem, .unused },
4561649415 .clobbers = .{ .eflags = true },
4561749416 .each = .{ .once = &.{
4561849417 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -45624,7 +49423,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4562449423 } },
4562549424 }, .{
4562649425 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },
45627 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }},
49426 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any },
4562849427 .patterns = &.{
4562949428 .{ .src = .{ .to_mem, .none, .none } },
4563049429 },
......@@ -45639,7 +49438,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4563949438 .unused,
4564049439 .unused,
4564149440 },
45642 .dst_temps = .{.mem},
49441 .dst_temps = .{ .mem, .unused },
4564349442 .clobbers = .{ .eflags = true },
4564449443 .each = .{ .once = &.{
4564549444 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -45651,7 +49450,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4565149450 } },
4565249451 }, .{
4565349452 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any },
45654 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .word, .is = 16 } }},
49453 .dst_constraints = .{ .{ .multiple_scalar_exact_int = .{ .of = .word, .is = 16 } }, .any },
4565549454 .patterns = &.{
4565649455 .{ .src = .{ .to_mem, .none, .none } },
4565749456 },
......@@ -45666,7 +49465,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4566649465 .unused,
4566749466 .unused,
4566849467 },
45669 .dst_temps = .{.mem},
49468 .dst_temps = .{ .mem, .unused },
4567049469 .clobbers = .{ .eflags = true },
4567149470 .each = .{ .once = &.{
4567249471 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -45677,7 +49476,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4567749476 } },
4567849477 }, .{
4567949478 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
45680 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }},
49479 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any },
4568149480 .patterns = &.{
4568249481 .{ .src = .{ .to_mem, .none, .none } },
4568349482 },
......@@ -45692,7 +49491,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4569249491 .unused,
4569349492 .unused,
4569449493 },
45695 .dst_temps = .{.mem},
49494 .dst_temps = .{ .mem, .unused },
4569649495 .clobbers = .{ .eflags = true },
4569749496 .each = .{ .once = &.{
4569849497 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -45706,7 +49505,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4570649505 }, .{
4570749506 .required_features = .{ .bmi2, null, null, null },
4570849507 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
45709 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }},
49508 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any },
4571049509 .patterns = &.{
4571149510 .{ .src = .{ .to_mem, .none, .none } },
4571249511 },
......@@ -45721,7 +49520,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4572149520 .unused,
4572249521 .unused,
4572349522 },
45724 .dst_temps = .{.mem},
49523 .dst_temps = .{ .mem, .unused },
4572549524 .clobbers = .{ .eflags = true },
4572649525 .each = .{ .once = &.{
4572749526 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -45734,7 +49533,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4573449533 }, .{
4573549534 .required_features = .{ .fast_imm16, null, null, null },
4573649535 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
45737 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }},
49536 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any },
4573849537 .patterns = &.{
4573949538 .{ .src = .{ .to_mem, .none, .none } },
4574049539 },
......@@ -45749,7 +49548,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4574949548 .unused,
4575049549 .unused,
4575149550 },
45752 .dst_temps = .{.mem},
49551 .dst_temps = .{ .mem, .unused },
4575349552 .clobbers = .{ .eflags = true },
4575449553 .each = .{ .once = &.{
4575549554 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -45761,7 +49560,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4576149560 } },
4576249561 }, .{
4576349562 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
45764 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }},
49563 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any },
4576549564 .patterns = &.{
4576649565 .{ .src = .{ .to_mem, .none, .none } },
4576749566 },
......@@ -45776,7 +49575,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4577649575 .unused,
4577749576 .unused,
4577849577 },
45779 .dst_temps = .{.mem},
49578 .dst_temps = .{ .mem, .unused },
4578049579 .clobbers = .{ .eflags = true },
4578149580 .each = .{ .once = &.{
4578249581 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -45788,7 +49587,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4578849587 } },
4578949588 }, .{
4579049589 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any, .any },
45791 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .word, .is = 16 } }},
49590 .dst_constraints = .{ .{ .multiple_scalar_exact_int = .{ .of = .word, .is = 16 } }, .any },
4579249591 .patterns = &.{
4579349592 .{ .src = .{ .to_mem, .none, .none } },
4579449593 },
......@@ -45803,7 +49602,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4580349602 .unused,
4580449603 .unused,
4580549604 },
45806 .dst_temps = .{.mem},
49605 .dst_temps = .{ .mem, .unused },
4580749606 .clobbers = .{ .eflags = true },
4580849607 .each = .{ .once = &.{
4580949608 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -45814,7 +49613,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4581449613 } },
4581549614 }, .{
4581649615 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },
45817 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }},
49616 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any },
4581849617 .patterns = &.{
4581949618 .{ .src = .{ .to_mem, .none, .none } },
4582049619 },
......@@ -45829,7 +49628,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4582949628 .unused,
4583049629 .unused,
4583149630 },
45832 .dst_temps = .{.mem},
49631 .dst_temps = .{ .mem, .unused },
4583349632 .clobbers = .{ .eflags = true },
4583449633 .each = .{ .once = &.{
4583549634 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -45843,7 +49642,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4584349642 }, .{
4584449643 .required_features = .{ .bmi2, null, null, null },
4584549644 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },
45846 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }},
49645 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any },
4584749646 .patterns = &.{
4584849647 .{ .src = .{ .to_mem, .none, .none } },
4584949648 },
......@@ -45858,7 +49657,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4585849657 .unused,
4585949658 .unused,
4586049659 },
45861 .dst_temps = .{.mem},
49660 .dst_temps = .{ .mem, .unused },
4586249661 .clobbers = .{ .eflags = true },
4586349662 .each = .{ .once = &.{
4586449663 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -45871,7 +49670,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4587149670 }, .{
4587249671 .required_features = .{ .fast_imm16, null, null, null },
4587349672 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },
45874 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }},
49673 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any },
4587549674 .patterns = &.{
4587649675 .{ .src = .{ .to_mem, .none, .none } },
4587749676 },
......@@ -45886,7 +49685,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4588649685 .unused,
4588749686 .unused,
4588849687 },
45889 .dst_temps = .{.mem},
49688 .dst_temps = .{ .mem, .unused },
4589049689 .clobbers = .{ .eflags = true },
4589149690 .each = .{ .once = &.{
4589249691 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -45898,7 +49697,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4589849697 } },
4589949698 }, .{
4590049699 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },
45901 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }},
49700 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any },
4590249701 .patterns = &.{
4590349702 .{ .src = .{ .to_mem, .none, .none } },
4590449703 },
......@@ -45913,7 +49712,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4591349712 .unused,
4591449713 .unused,
4591549714 },
45916 .dst_temps = .{.mem},
49715 .dst_temps = .{ .mem, .unused },
4591749716 .clobbers = .{ .eflags = true },
4591849717 .each = .{ .once = &.{
4591949718 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -45925,7 +49724,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4592549724 } },
4592649725 }, .{
4592749726 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .xword } }, .any, .any },
45928 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .word, .is = 16 } }},
49727 .dst_constraints = .{ .{ .multiple_scalar_exact_int = .{ .of = .word, .is = 16 } }, .any },
4592949728 .patterns = &.{
4593049729 .{ .src = .{ .to_mem, .none, .none } },
4593149730 },
......@@ -45940,7 +49739,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4594049739 .unused,
4594149740 .unused,
4594249741 },
45943 .dst_temps = .{.mem},
49742 .dst_temps = .{ .mem, .unused },
4594449743 .clobbers = .{ .eflags = true },
4594549744 .each = .{ .once = &.{
4594649745 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -45951,7 +49750,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4595149750 } },
4595249751 }, .{
4595349752 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },
45954 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }},
49753 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any },
4595549754 .patterns = &.{
4595649755 .{ .src = .{ .to_mem, .none, .none } },
4595749756 },
......@@ -45966,7 +49765,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4596649765 .unused,
4596749766 .unused,
4596849767 },
45969 .dst_temps = .{.mem},
49768 .dst_temps = .{ .mem, .unused },
4597049769 .clobbers = .{ .eflags = true },
4597149770 .each = .{ .once = &.{
4597249771 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -45980,7 +49779,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4598049779 }, .{
4598149780 .required_features = .{ .bmi2, null, null, null },
4598249781 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },
45983 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }},
49782 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any },
4598449783 .patterns = &.{
4598549784 .{ .src = .{ .to_mem, .none, .none } },
4598649785 },
......@@ -45995,7 +49794,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4599549794 .unused,
4599649795 .unused,
4599749796 },
45998 .dst_temps = .{.mem},
49797 .dst_temps = .{ .mem, .unused },
4599949798 .clobbers = .{ .eflags = true },
4600049799 .each = .{ .once = &.{
4600149800 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -46008,7 +49807,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4600849807 }, .{
4600949808 .required_features = .{ .fast_imm16, null, null, null },
4601049809 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },
46011 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }},
49810 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any },
4601249811 .patterns = &.{
4601349812 .{ .src = .{ .to_mem, .none, .none } },
4601449813 },
......@@ -46023,7 +49822,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4602349822 .unused,
4602449823 .unused,
4602549824 },
46026 .dst_temps = .{.mem},
49825 .dst_temps = .{ .mem, .unused },
4602749826 .clobbers = .{ .eflags = true },
4602849827 .each = .{ .once = &.{
4602949828 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -46035,7 +49834,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4603549834 } },
4603649835 }, .{
4603749836 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },
46038 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }},
49837 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any },
4603949838 .patterns = &.{
4604049839 .{ .src = .{ .to_mem, .none, .none } },
4604149840 },
......@@ -46050,7 +49849,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4605049849 .unused,
4605149850 .unused,
4605249851 },
46053 .dst_temps = .{.mem},
49852 .dst_temps = .{ .mem, .unused },
4605449853 .clobbers = .{ .eflags = true },
4605549854 .each = .{ .once = &.{
4605649855 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -46062,7 +49861,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4606249861 } },
4606349862 }, .{
4606449863 .src_constraints = .{ .any_scalar_int, .any, .any },
46065 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .word, .is = 16 } }},
49864 .dst_constraints = .{ .{ .multiple_scalar_exact_int = .{ .of = .word, .is = 16 } }, .any },
4606649865 .patterns = &.{
4606749866 .{ .src = .{ .to_mem, .none, .none } },
4606849867 },
......@@ -46077,7 +49876,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4607749876 .unused,
4607849877 .unused,
4607949878 },
46080 .dst_temps = .{.mem},
49879 .dst_temps = .{ .mem, .unused },
4608149880 .clobbers = .{ .eflags = true },
4608249881 .each = .{ .once = &.{
4608349882 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -46090,7 +49889,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4609049889 } },
4609149890 }, .{
4609249891 .src_constraints = .{ .any_scalar_signed_int, .any, .any },
46093 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }},
49892 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any },
4609449893 .patterns = &.{
4609549894 .{ .src = .{ .to_mem, .none, .none } },
4609649895 },
......@@ -46105,7 +49904,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4610549904 .unused,
4610649905 .unused,
4610749906 },
46108 .dst_temps = .{.mem},
49907 .dst_temps = .{ .mem, .unused },
4610949908 .clobbers = .{ .eflags = true },
4611049909 .each = .{ .once = &.{
4611149910 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -46121,7 +49920,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4612149920 }, .{
4612249921 .required_features = .{ .bmi2, null, null, null },
4612349922 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },
46124 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }},
49923 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any },
4612549924 .patterns = &.{
4612649925 .{ .src = .{ .to_mem, .none, .none } },
4612749926 },
......@@ -46136,7 +49935,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4613649935 .unused,
4613749936 .unused,
4613849937 },
46139 .dst_temps = .{.mem},
49938 .dst_temps = .{ .mem, .unused },
4614049939 .clobbers = .{ .eflags = true },
4614149940 .each = .{ .once = &.{
4614249941 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -46151,7 +49950,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4615149950 }, .{
4615249951 .required_features = .{ .fast_imm16, null, null, null },
4615349952 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },
46154 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }},
49953 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any },
4615549954 .patterns = &.{
4615649955 .{ .src = .{ .to_mem, .none, .none } },
4615749956 },
......@@ -46166,7 +49965,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4616649965 .unused,
4616749966 .unused,
4616849967 },
46169 .dst_temps = .{.mem},
49968 .dst_temps = .{ .mem, .unused },
4617049969 .clobbers = .{ .eflags = true },
4617149970 .each = .{ .once = &.{
4617249971 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -46180,7 +49979,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4618049979 } },
4618149980 }, .{
4618249981 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },
46183 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }},
49982 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any },
4618449983 .patterns = &.{
4618549984 .{ .src = .{ .to_mem, .none, .none } },
4618649985 },
......@@ -46195,7 +49994,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4619549994 .unused,
4619649995 .unused,
4619749996 },
46198 .dst_temps = .{.mem},
49997 .dst_temps = .{ .mem, .unused },
4619949998 .clobbers = .{ .eflags = true },
4620049999 .each = .{ .once = &.{
4620150000 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -46210,11 +50009,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4621050009 }, .{
4621150010 .required_features = .{ .avx, null, null, null },
4621250011 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },
46213 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }},
50012 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any },
4621450013 .patterns = &.{
4621550014 .{ .src = .{ .to_sse, .none, .none } },
4621650015 },
46217 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
50016 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4621850017 .each = .{ .once = &.{
4621950018 .{ ._, .vp_d, .sll, .dst0x, .src0x, .uia(32, .dst0, .sub_bit_size), ._ },
4622050019 .{ ._, .vp_d, .sra, .dst0x, .dst0x, .uia(32, .dst0, .sub_bit_size), ._ },
......@@ -46222,7 +50021,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4622250021 }, .{
4622350022 .required_features = .{ .avx, null, null, null },
4622450023 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any },
46225 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }},
50024 .dst_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any },
4622650025 .patterns = &.{
4622750026 .{ .src = .{ .to_sse, .none, .none } },
4622850027 },
......@@ -46237,7 +50036,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4623750036 .unused,
4623850037 .unused,
4623950038 },
46240 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
50039 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4624150040 .each = .{ .once = &.{
4624250041 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
4624350042 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
......@@ -46245,11 +50044,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4624550044 }, .{
4624650045 .required_features = .{ .sse2, null, null, null },
4624750046 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },
46248 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }},
50047 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any },
4624950048 .patterns = &.{
4625050049 .{ .src = .{ .to_mut_sse, .none, .none } },
4625150050 },
46252 .dst_temps = .{.{ .ref = .src0 }},
50051 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4625350052 .each = .{ .once = &.{
4625450053 .{ ._, .p_d, .sll, .dst0x, .uia(32, .dst0, .sub_bit_size), ._, ._ },
4625550054 .{ ._, .p_d, .sra, .dst0x, .uia(32, .dst0, .sub_bit_size), ._, ._ },
......@@ -46257,7 +50056,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4625750056 }, .{
4625850057 .required_features = .{ .sse2, null, null, null },
4625950058 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any },
46260 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }},
50059 .dst_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any },
4626150060 .patterns = &.{
4626250061 .{ .src = .{ .to_mut_sse, .none, .none } },
4626350062 },
......@@ -46272,7 +50071,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4627250071 .unused,
4627350072 .unused,
4627450073 },
46275 .dst_temps = .{.{ .ref = .src0 }},
50074 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4627650075 .each = .{ .once = &.{
4627750076 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
4627850077 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
......@@ -46280,7 +50079,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4628050079 }, .{
4628150080 .required_features = .{ .sse, null, null, null },
4628250081 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any },
46283 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }},
50082 .dst_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any },
4628450083 .patterns = &.{
4628550084 .{ .src = .{ .to_mut_sse, .none, .none } },
4628650085 },
......@@ -46295,7 +50094,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4629550094 .unused,
4629650095 .unused,
4629750096 },
46298 .dst_temps = .{.{ .ref = .src0 }},
50097 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4629950098 .each = .{ .once = &.{
4630050099 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
4630150100 .{ ._, ._ps, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
......@@ -46303,11 +50102,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4630350102 }, .{
4630450103 .required_features = .{ .avx2, null, null, null },
4630550104 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any },
46306 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .yword, .is = .dword } }},
50105 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any },
4630750106 .patterns = &.{
4630850107 .{ .src = .{ .to_sse, .none, .none } },
4630950108 },
46310 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
50109 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4631150110 .each = .{ .once = &.{
4631250111 .{ ._, .vp_d, .sll, .dst0y, .src0y, .uia(32, .dst0, .sub_bit_size), ._ },
4631350112 .{ ._, .vp_d, .sra, .dst0y, .dst0y, .uia(32, .dst0, .sub_bit_size), ._ },
......@@ -46315,7 +50114,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4631550114 }, .{
4631650115 .required_features = .{ .avx2, null, null, null },
4631750116 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, .any, .any },
46318 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .yword, .is = .dword } }},
50117 .dst_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, .any },
4631950118 .patterns = &.{
4632050119 .{ .src = .{ .to_sse, .none, .none } },
4632150120 },
......@@ -46330,7 +50129,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4633050129 .unused,
4633150130 .unused,
4633250131 },
46333 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
50132 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4633450133 .each = .{ .once = &.{
4633550134 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
4633650135 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
......@@ -46338,7 +50137,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4633850137 }, .{
4633950138 .required_features = .{ .avx2, null, null, null },
4634050139 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any },
46341 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }},
50140 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any },
4634250141 .patterns = &.{
4634350142 .{ .src = .{ .to_mem, .none, .none } },
4634450143 },
......@@ -46353,7 +50152,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4635350152 .unused,
4635450153 .unused,
4635550154 },
46356 .dst_temps = .{.mem},
50155 .dst_temps = .{ .mem, .unused },
4635750156 .clobbers = .{ .eflags = true },
4635850157 .each = .{ .once = &.{
4635950158 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -46367,7 +50166,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4636750166 }, .{
4636850167 .required_features = .{ .avx2, null, null, null },
4636950168 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, .any, .any },
46370 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }},
50169 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, .any },
4637150170 .patterns = &.{
4637250171 .{ .src = .{ .to_mem, .none, .none } },
4637350172 },
......@@ -46382,7 +50181,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4638250181 .unused,
4638350182 .unused,
4638450183 },
46385 .dst_temps = .{.mem},
50184 .dst_temps = .{ .mem, .unused },
4638650185 .clobbers = .{ .eflags = true },
4638750186 .each = .{ .once = &.{
4638850187 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
......@@ -46396,7 +50195,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4639650195 }, .{
4639750196 .required_features = .{ .avx, null, null, null },
4639850197 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },
46399 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }},
50198 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any },
4640050199 .patterns = &.{
4640150200 .{ .src = .{ .to_mem, .none, .none } },
4640250201 },
......@@ -46411,7 +50210,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4641150210 .unused,
4641250211 .unused,
4641350212 },
46414 .dst_temps = .{.mem},
50213 .dst_temps = .{ .mem, .unused },
4641550214 .clobbers = .{ .eflags = true },
4641650215 .each = .{ .once = &.{
4641750216 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -46425,7 +50224,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4642550224 }, .{
4642650225 .required_features = .{ .avx, null, null, null },
4642750226 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any },
46428 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }},
50227 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any },
4642950228 .patterns = &.{
4643050229 .{ .src = .{ .to_mem, .none, .none } },
4643150230 },
......@@ -46440,7 +50239,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4644050239 .unused,
4644150240 .unused,
4644250241 },
46443 .dst_temps = .{.mem},
50242 .dst_temps = .{ .mem, .unused },
4644450243 .clobbers = .{ .eflags = true },
4644550244 .each = .{ .once = &.{
4644650245 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
......@@ -46454,7 +50253,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4645450253 }, .{
4645550254 .required_features = .{ .sse2, null, null, null },
4645650255 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },
46457 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }},
50256 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any },
4645850257 .patterns = &.{
4645950258 .{ .src = .{ .to_mem, .none, .none } },
4646050259 },
......@@ -46469,7 +50268,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4646950268 .unused,
4647050269 .unused,
4647150270 },
46472 .dst_temps = .{.mem},
50271 .dst_temps = .{ .mem, .unused },
4647350272 .clobbers = .{ .eflags = true },
4647450273 .each = .{ .once = &.{
4647550274 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -46483,7 +50282,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4648350282 }, .{
4648450283 .required_features = .{ .sse2, null, null, null },
4648550284 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any },
46486 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }},
50285 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any },
4648750286 .patterns = &.{
4648850287 .{ .src = .{ .to_mem, .none, .none } },
4648950288 },
......@@ -46498,7 +50297,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4649850297 .unused,
4649950298 .unused,
4650050299 },
46501 .dst_temps = .{.mem},
50300 .dst_temps = .{ .mem, .unused },
4650250301 .clobbers = .{ .eflags = true },
4650350302 .each = .{ .once = &.{
4650450303 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
......@@ -46513,7 +50312,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4651350312 }, .{
4651450313 .required_features = .{ .sse, null, null, null },
4651550314 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any },
46516 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }},
50315 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any },
4651750316 .patterns = &.{
4651850317 .{ .src = .{ .to_mem, .none, .none } },
4651950318 },
......@@ -46528,7 +50327,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4652850327 .unused,
4652950328 .unused,
4653050329 },
46531 .dst_temps = .{.mem},
50330 .dst_temps = .{ .mem, .unused },
4653250331 .clobbers = .{ .eflags = true },
4653350332 .each = .{ .once = &.{
4653450333 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
......@@ -46542,7 +50341,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4654250341 } },
4654350342 }, .{
4654450343 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any },
46545 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .dword, .is = 32 } }},
50344 .dst_constraints = .{ .{ .multiple_scalar_exact_int = .{ .of = .dword, .is = 32 } }, .any },
4654650345 .patterns = &.{
4654750346 .{ .src = .{ .to_mem, .none, .none } },
4654850347 },
......@@ -46557,7 +50356,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4655750356 .unused,
4655850357 .unused,
4655950358 },
46560 .dst_temps = .{.mem},
50359 .dst_temps = .{ .mem, .unused },
4656150360 .clobbers = .{ .eflags = true },
4656250361 .each = .{ .once = &.{
4656350362 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -46568,7 +50367,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4656850367 } },
4656950368 }, .{
4657050369 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
46571 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }},
50370 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any },
4657250371 .patterns = &.{
4657350372 .{ .src = .{ .to_mem, .none, .none } },
4657450373 },
......@@ -46583,7 +50382,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4658350382 .unused,
4658450383 .unused,
4658550384 },
46586 .dst_temps = .{.mem},
50385 .dst_temps = .{ .mem, .unused },
4658750386 .clobbers = .{ .eflags = true },
4658850387 .each = .{ .once = &.{
4658950388 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -46597,7 +50396,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4659750396 }, .{
4659850397 .required_features = .{ .bmi2, null, null, null },
4659950398 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
46600 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
50399 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
4660150400 .patterns = &.{
4660250401 .{ .src = .{ .to_mem, .none, .none } },
4660350402 },
......@@ -46612,7 +50411,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4661250411 .unused,
4661350412 .unused,
4661450413 },
46615 .dst_temps = .{.mem},
50414 .dst_temps = .{ .mem, .unused },
4661650415 .clobbers = .{ .eflags = true },
4661750416 .each = .{ .once = &.{
4661850417 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -46624,7 +50423,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4662450423 } },
4662550424 }, .{
4662650425 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
46627 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
50426 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
4662850427 .patterns = &.{
4662950428 .{ .src = .{ .to_mem, .none, .none } },
4663050429 },
......@@ -46639,7 +50438,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4663950438 .unused,
4664050439 .unused,
4664150440 },
46642 .dst_temps = .{.mem},
50441 .dst_temps = .{ .mem, .unused },
4664350442 .clobbers = .{ .eflags = true },
4664450443 .each = .{ .once = &.{
4664550444 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -46651,7 +50450,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4665150450 } },
4665250451 }, .{
4665350452 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any, .any },
46654 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .dword, .is = 32 } }},
50453 .dst_constraints = .{ .{ .multiple_scalar_exact_int = .{ .of = .dword, .is = 32 } }, .any },
4665550454 .patterns = &.{
4665650455 .{ .src = .{ .to_mem, .none, .none } },
4665750456 },
......@@ -46666,7 +50465,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4666650465 .unused,
4666750466 .unused,
4666850467 },
46669 .dst_temps = .{.mem},
50468 .dst_temps = .{ .mem, .unused },
4667050469 .clobbers = .{ .eflags = true },
4667150470 .each = .{ .once = &.{
4667250471 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -46677,7 +50476,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4667750476 } },
4667850477 }, .{
4667950478 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },
46680 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }},
50479 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any },
4668150480 .patterns = &.{
4668250481 .{ .src = .{ .to_mem, .none, .none } },
4668350482 },
......@@ -46692,7 +50491,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4669250491 .unused,
4669350492 .unused,
4669450493 },
46695 .dst_temps = .{.mem},
50494 .dst_temps = .{ .mem, .unused },
4669650495 .clobbers = .{ .eflags = true },
4669750496 .each = .{ .once = &.{
4669850497 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -46706,7 +50505,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4670650505 }, .{
4670750506 .required_features = .{ .bmi2, null, null, null },
4670850507 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },
46709 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
50508 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
4671050509 .patterns = &.{
4671150510 .{ .src = .{ .to_mem, .none, .none } },
4671250511 },
......@@ -46721,7 +50520,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4672150520 .unused,
4672250521 .unused,
4672350522 },
46724 .dst_temps = .{.mem},
50523 .dst_temps = .{ .mem, .unused },
4672550524 .clobbers = .{ .eflags = true },
4672650525 .each = .{ .once = &.{
4672750526 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -46733,7 +50532,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4673350532 } },
4673450533 }, .{
4673550534 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },
46736 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
50535 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
4673750536 .patterns = &.{
4673850537 .{ .src = .{ .to_mem, .none, .none } },
4673950538 },
......@@ -46748,7 +50547,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4674850547 .unused,
4674950548 .unused,
4675050549 },
46751 .dst_temps = .{.mem},
50550 .dst_temps = .{ .mem, .unused },
4675250551 .clobbers = .{ .eflags = true },
4675350552 .each = .{ .once = &.{
4675450553 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -46760,7 +50559,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4676050559 } },
4676150560 }, .{
4676250561 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .xword } }, .any, .any },
46763 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .dword, .is = 32 } }},
50562 .dst_constraints = .{ .{ .multiple_scalar_exact_int = .{ .of = .dword, .is = 32 } }, .any },
4676450563 .patterns = &.{
4676550564 .{ .src = .{ .to_mem, .none, .none } },
4676650565 },
......@@ -46775,7 +50574,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4677550574 .unused,
4677650575 .unused,
4677750576 },
46778 .dst_temps = .{.mem},
50577 .dst_temps = .{ .mem, .unused },
4677950578 .clobbers = .{ .eflags = true },
4678050579 .each = .{ .once = &.{
4678150580 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -46786,7 +50585,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4678650585 } },
4678750586 }, .{
4678850587 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },
46789 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }},
50588 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any },
4679050589 .patterns = &.{
4679150590 .{ .src = .{ .to_mem, .none, .none } },
4679250591 },
......@@ -46801,7 +50600,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4680150600 .unused,
4680250601 .unused,
4680350602 },
46804 .dst_temps = .{.mem},
50603 .dst_temps = .{ .mem, .unused },
4680550604 .clobbers = .{ .eflags = true },
4680650605 .each = .{ .once = &.{
4680750606 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -46815,7 +50614,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4681550614 }, .{
4681650615 .required_features = .{ .bmi2, null, null, null },
4681750616 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },
46818 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
50617 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
4681950618 .patterns = &.{
4682050619 .{ .src = .{ .to_mem, .none, .none } },
4682150620 },
......@@ -46830,7 +50629,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4683050629 .unused,
4683150630 .unused,
4683250631 },
46833 .dst_temps = .{.mem},
50632 .dst_temps = .{ .mem, .unused },
4683450633 .clobbers = .{ .eflags = true },
4683550634 .each = .{ .once = &.{
4683650635 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -46842,7 +50641,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4684250641 } },
4684350642 }, .{
4684450643 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },
46845 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
50644 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
4684650645 .patterns = &.{
4684750646 .{ .src = .{ .to_mem, .none, .none } },
4684850647 },
......@@ -46857,7 +50656,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4685750656 .unused,
4685850657 .unused,
4685950658 },
46860 .dst_temps = .{.mem},
50659 .dst_temps = .{ .mem, .unused },
4686150660 .clobbers = .{ .eflags = true },
4686250661 .each = .{ .once = &.{
4686350662 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -46869,7 +50668,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4686950668 } },
4687050669 }, .{
4687150670 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .yword } }, .any, .any },
46872 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .dword, .is = 32 } }},
50671 .dst_constraints = .{ .{ .multiple_scalar_exact_int = .{ .of = .dword, .is = 32 } }, .any },
4687350672 .patterns = &.{
4687450673 .{ .src = .{ .to_mem, .none, .none } },
4687550674 },
......@@ -46884,7 +50683,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4688450683 .unused,
4688550684 .unused,
4688650685 },
46887 .dst_temps = .{.mem},
50686 .dst_temps = .{ .mem, .unused },
4688850687 .clobbers = .{ .eflags = true },
4688950688 .each = .{ .once = &.{
4689050689 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -46895,7 +50694,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4689550694 } },
4689650695 }, .{
4689750696 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .yword } }, .any, .any },
46898 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }},
50697 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any },
4689950698 .patterns = &.{
4690050699 .{ .src = .{ .to_mem, .none, .none } },
4690150700 },
......@@ -46910,7 +50709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4691050709 .unused,
4691150710 .unused,
4691250711 },
46913 .dst_temps = .{.mem},
50712 .dst_temps = .{ .mem, .unused },
4691450713 .clobbers = .{ .eflags = true },
4691550714 .each = .{ .once = &.{
4691650715 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -46924,7 +50723,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4692450723 }, .{
4692550724 .required_features = .{ .bmi2, null, null, null },
4692650725 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .yword } }, .any, .any },
46927 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
50726 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
4692850727 .patterns = &.{
4692950728 .{ .src = .{ .to_mem, .none, .none } },
4693050729 },
......@@ -46939,7 +50738,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4693950738 .unused,
4694050739 .unused,
4694150740 },
46942 .dst_temps = .{.mem},
50741 .dst_temps = .{ .mem, .unused },
4694350742 .clobbers = .{ .eflags = true },
4694450743 .each = .{ .once = &.{
4694550744 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -46951,7 +50750,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4695150750 } },
4695250751 }, .{
4695350752 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .yword } }, .any, .any },
46954 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
50753 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
4695550754 .patterns = &.{
4695650755 .{ .src = .{ .to_mem, .none, .none } },
4695750756 },
......@@ -46966,7 +50765,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4696650765 .unused,
4696750766 .unused,
4696850767 },
46969 .dst_temps = .{.mem},
50768 .dst_temps = .{ .mem, .unused },
4697050769 .clobbers = .{ .eflags = true },
4697150770 .each = .{ .once = &.{
4697250771 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -46978,7 +50777,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4697850777 } },
4697950778 }, .{
4698050779 .src_constraints = .{ .any_scalar_int, .any, .any },
46981 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .dword, .is = 32 } }},
50780 .dst_constraints = .{ .{ .multiple_scalar_exact_int = .{ .of = .dword, .is = 32 } }, .any },
4698250781 .patterns = &.{
4698350782 .{ .src = .{ .to_mem, .none, .none } },
4698450783 },
......@@ -46993,7 +50792,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4699350792 .unused,
4699450793 .unused,
4699550794 },
46996 .dst_temps = .{.mem},
50795 .dst_temps = .{ .mem, .unused },
4699750796 .clobbers = .{ .eflags = true },
4699850797 .each = .{ .once = &.{
4699950798 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -47006,7 +50805,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4700650805 } },
4700750806 }, .{
4700850807 .src_constraints = .{ .any_scalar_signed_int, .any, .any },
47009 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }},
50808 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any },
4701050809 .patterns = &.{
4701150810 .{ .src = .{ .to_mem, .none, .none } },
4701250811 },
......@@ -47021,7 +50820,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4702150820 .unused,
4702250821 .unused,
4702350822 },
47024 .dst_temps = .{.mem},
50823 .dst_temps = .{ .mem, .unused },
4702550824 .clobbers = .{ .eflags = true },
4702650825 .each = .{ .once = &.{
4702750826 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -47037,7 +50836,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4703750836 }, .{
4703850837 .required_features = .{ .bmi2, null, null, null },
4703950838 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },
47040 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
50839 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
4704150840 .patterns = &.{
4704250841 .{ .src = .{ .to_mem, .none, .none } },
4704350842 },
......@@ -47052,7 +50851,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4705250851 .unused,
4705350852 .unused,
4705450853 },
47055 .dst_temps = .{.mem},
50854 .dst_temps = .{ .mem, .unused },
4705650855 .clobbers = .{ .eflags = true },
4705750856 .each = .{ .once = &.{
4705850857 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -47066,7 +50865,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4706650865 } },
4706750866 }, .{
4706850867 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },
47069 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
50868 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
4707050869 .patterns = &.{
4707150870 .{ .src = .{ .to_mem, .none, .none } },
4707250871 },
......@@ -47081,7 +50880,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4708150880 .unused,
4708250881 .unused,
4708350882 },
47084 .dst_temps = .{.mem},
50883 .dst_temps = .{ .mem, .unused },
4708550884 .clobbers = .{ .eflags = true },
4708650885 .each = .{ .once = &.{
4708750886 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -47096,7 +50895,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4709650895 }, .{
4709750896 .required_features = .{ .avx, null, null, null },
4709850897 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any },
47099 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }},
50898 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any },
4710050899 .patterns = &.{
4710150900 .{ .src = .{ .to_sse, .none, .none } },
4710250901 },
......@@ -47111,7 +50910,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4711150910 .unused,
4711250911 .unused,
4711350912 },
47114 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
50913 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4711550914 .each = .{ .once = &.{
4711650915 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
4711750916 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
......@@ -47122,7 +50921,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4712250921 }, .{
4712350922 .required_features = .{ .avx, null, null, null },
4712450923 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any },
47125 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .xword, .is = .qword } }},
50924 .dst_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any },
4712650925 .patterns = &.{
4712750926 .{ .src = .{ .to_sse, .none, .none } },
4712850927 },
......@@ -47137,7 +50936,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4713750936 .unused,
4713850937 .unused,
4713950938 },
47140 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
50939 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4714150940 .each = .{ .once = &.{
4714250941 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
4714350942 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
......@@ -47145,7 +50944,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4714550944 }, .{
4714650945 .required_features = .{ .sse2, null, null, null },
4714750946 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any },
47148 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }},
50947 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any },
4714950948 .patterns = &.{
4715050949 .{ .src = .{ .to_mut_sse, .none, .none } },
4715150950 },
......@@ -47160,7 +50959,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4716050959 .unused,
4716150960 .unused,
4716250961 },
47163 .dst_temps = .{.{ .ref = .src0 }},
50962 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4716450963 .each = .{ .once = &.{
4716550964 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
4716650965 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
......@@ -47171,7 +50970,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4717150970 }, .{
4717250971 .required_features = .{ .sse2, null, null, null },
4717350972 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any },
47174 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .xword, .is = .qword } }},
50973 .dst_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any },
4717550974 .patterns = &.{
4717650975 .{ .src = .{ .to_mut_sse, .none, .none } },
4717750976 },
......@@ -47186,7 +50985,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4718650985 .unused,
4718750986 .unused,
4718850987 },
47189 .dst_temps = .{.{ .ref = .src0 }},
50988 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4719050989 .each = .{ .once = &.{
4719150990 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
4719250991 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
......@@ -47194,7 +50993,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4719450993 }, .{
4719550994 .required_features = .{ .sse, null, null, null },
4719650995 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any },
47197 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .xword, .is = .qword } }},
50996 .dst_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any },
4719850997 .patterns = &.{
4719950998 .{ .src = .{ .to_mut_sse, .none, .none } },
4720050999 },
......@@ -47209,7 +51008,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4720951008 .unused,
4721051009 .unused,
4721151010 },
47212 .dst_temps = .{.{ .ref = .src0 }},
51011 .dst_temps = .{ .{ .ref = .src0 }, .unused },
4721351012 .each = .{ .once = &.{
4721451013 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
4721551014 .{ ._, ._ps, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
......@@ -47217,7 +51016,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4721751016 }, .{
4721851017 .required_features = .{ .avx2, null, null, null },
4721951018 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any, .any },
47220 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .yword, .is = .qword } }},
51019 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any },
4722151020 .patterns = &.{
4722251021 .{ .src = .{ .to_sse, .none, .none } },
4722351022 },
......@@ -47232,7 +51031,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4723251031 .unused,
4723351032 .unused,
4723451033 },
47235 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
51034 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4723651035 .each = .{ .once = &.{
4723751036 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
4723851037 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
......@@ -47243,7 +51042,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4724351042 }, .{
4724451043 .required_features = .{ .avx2, null, null, null },
4724551044 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, .any, .any },
47246 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .yword, .is = .qword } }},
51045 .dst_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, .any },
4724751046 .patterns = &.{
4724851047 .{ .src = .{ .to_sse, .none, .none } },
4724951048 },
......@@ -47258,7 +51057,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4725851057 .unused,
4725951058 .unused,
4726051059 },
47261 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
51060 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4726251061 .each = .{ .once = &.{
4726351062 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
4726451063 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
......@@ -47266,7 +51065,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4726651065 }, .{
4726751066 .required_features = .{ .avx2, null, null, null },
4726851067 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any, .any },
47269 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }},
51068 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any },
4727051069 .patterns = &.{
4727151070 .{ .src = .{ .to_mem, .none, .none } },
4727251071 },
......@@ -47281,7 +51080,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4728151080 .unused,
4728251081 .unused,
4728351082 },
47284 .dst_temps = .{.mem},
51083 .dst_temps = .{ .mem, .unused },
4728551084 .clobbers = .{ .eflags = true },
4728651085 .each = .{ .once = &.{
4728751086 .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ },
......@@ -47299,7 +51098,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4729951098 }, .{
4730051099 .required_features = .{ .avx2, null, null, null },
4730151100 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, .any, .any },
47302 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .qword } }},
51101 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, .any },
4730351102 .patterns = &.{
4730451103 .{ .src = .{ .to_mem, .none, .none } },
4730551104 },
......@@ -47314,7 +51113,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4731451113 .unused,
4731551114 .unused,
4731651115 },
47317 .dst_temps = .{.mem},
51116 .dst_temps = .{ .mem, .unused },
4731851117 .clobbers = .{ .eflags = true },
4731951118 .each = .{ .once = &.{
4732051119 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
......@@ -47328,7 +51127,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4732851127 }, .{
4732951128 .required_features = .{ .avx, null, null, null },
4733051129 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any },
47331 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }},
51130 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any },
4733251131 .patterns = &.{
4733351132 .{ .src = .{ .to_mem, .none, .none } },
4733451133 },
......@@ -47343,7 +51142,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4734351142 .unused,
4734451143 .unused,
4734551144 },
47346 .dst_temps = .{.mem},
51145 .dst_temps = .{ .mem, .unused },
4734751146 .clobbers = .{ .eflags = true },
4734851147 .each = .{ .once = &.{
4734951148 .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ },
......@@ -47361,7 +51160,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4736151160 }, .{
4736251161 .required_features = .{ .avx, null, null, null },
4736351162 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any },
47364 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }},
51163 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any },
4736551164 .patterns = &.{
4736651165 .{ .src = .{ .to_mem, .none, .none } },
4736751166 },
......@@ -47376,7 +51175,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4737651175 .unused,
4737751176 .unused,
4737851177 },
47379 .dst_temps = .{.mem},
51178 .dst_temps = .{ .mem, .unused },
4738051179 .clobbers = .{ .eflags = true },
4738151180 .each = .{ .once = &.{
4738251181 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
......@@ -47390,7 +51189,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4739051189 }, .{
4739151190 .required_features = .{ .sse2, null, null, null },
4739251191 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any },
47393 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }},
51192 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any },
4739451193 .patterns = &.{
4739551194 .{ .src = .{ .to_mem, .none, .none } },
4739651195 },
......@@ -47405,7 +51204,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4740551204 .unused,
4740651205 .unused,
4740751206 },
47408 .dst_temps = .{.mem},
51207 .dst_temps = .{ .mem, .unused },
4740951208 .clobbers = .{ .eflags = true },
4741051209 .each = .{ .once = &.{
4741151210 .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ },
......@@ -47424,7 +51223,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4742451223 }, .{
4742551224 .required_features = .{ .sse2, null, null, null },
4742651225 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any },
47427 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }},
51226 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any },
4742851227 .patterns = &.{
4742951228 .{ .src = .{ .to_mem, .none, .none } },
4743051229 },
......@@ -47439,7 +51238,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4743951238 .unused,
4744051239 .unused,
4744151240 },
47442 .dst_temps = .{.mem},
51241 .dst_temps = .{ .mem, .unused },
4744351242 .clobbers = .{ .eflags = true },
4744451243 .each = .{ .once = &.{
4744551244 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
......@@ -47454,7 +51253,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4745451253 }, .{
4745551254 .required_features = .{ .sse, null, null, null },
4745651255 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any },
47457 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }},
51256 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any },
4745851257 .patterns = &.{
4745951258 .{ .src = .{ .to_mem, .none, .none } },
4746051259 },
......@@ -47469,7 +51268,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4746951268 .unused,
4747051269 .unused,
4747151270 },
47472 .dst_temps = .{.mem},
51271 .dst_temps = .{ .mem, .unused },
4747351272 .clobbers = .{ .eflags = true },
4747451273 .each = .{ .once = &.{
4747551274 .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ },
......@@ -47484,7 +51283,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4748451283 }, .{
4748551284 .required_features = .{ .@"64bit", null, null, null },
4748651285 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any, .any },
47487 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .qword, .is = 64 } }},
51286 .dst_constraints = .{ .{ .multiple_scalar_exact_int = .{ .of = .qword, .is = 64 } }, .any },
4748851287 .patterns = &.{
4748951288 .{ .src = .{ .to_mem, .none, .none } },
4749051289 },
......@@ -47499,7 +51298,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4749951298 .unused,
4750051299 .unused,
4750151300 },
47502 .dst_temps = .{.mem},
51301 .dst_temps = .{ .mem, .unused },
4750351302 .clobbers = .{ .eflags = true },
4750451303 .each = .{ .once = &.{
4750551304 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -47511,7 +51310,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4751151310 }, .{
4751251311 .required_features = .{ .@"64bit", null, null, null },
4751351312 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },
47514 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }},
51313 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
4751551314 .patterns = &.{
4751651315 .{ .src = .{ .to_mem, .none, .none } },
4751751316 },
......@@ -47526,7 +51325,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4752651325 .unused,
4752751326 .unused,
4752851327 },
47529 .dst_temps = .{.mem},
51328 .dst_temps = .{ .mem, .unused },
4753051329 .clobbers = .{ .eflags = true },
4753151330 .each = .{ .once = &.{
4753251331 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -47540,7 +51339,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4754051339 }, .{
4754151340 .required_features = .{ .@"64bit", .bmi2, null, null },
4754251341 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },
47543 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }},
51342 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
4754451343 .patterns = &.{
4754551344 .{ .src = .{ .to_mem, .none, .none } },
4754651345 },
......@@ -47555,7 +51354,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4755551354 .unused,
4755651355 .unused,
4755751356 },
47558 .dst_temps = .{.mem},
51357 .dst_temps = .{ .mem, .unused },
4755951358 .clobbers = .{ .eflags = true },
4756051359 .each = .{ .once = &.{
4756151360 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -47568,7 +51367,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4756851367 }, .{
4756951368 .required_features = .{ .@"64bit", null, null, null },
4757051369 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },
47571 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }},
51370 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
4757251371 .patterns = &.{
4757351372 .{ .src = .{ .to_mem, .none, .none } },
4757451373 },
......@@ -47583,7 +51382,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4758351382 .unused,
4758451383 .unused,
4758551384 },
47586 .dst_temps = .{.mem},
51385 .dst_temps = .{ .mem, .unused },
4758751386 .clobbers = .{ .eflags = true },
4758851387 .each = .{ .once = &.{
4758951388 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -47596,7 +51395,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4759651395 }, .{
4759751396 .required_features = .{ .@"64bit", null, null, null },
4759851397 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .xword } }, .any, .any },
47599 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .qword, .is = 64 } }},
51398 .dst_constraints = .{ .{ .multiple_scalar_exact_int = .{ .of = .qword, .is = 64 } }, .any },
4760051399 .patterns = &.{
4760151400 .{ .src = .{ .to_mem, .none, .none } },
4760251401 },
......@@ -47611,7 +51410,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4761151410 .unused,
4761251411 .unused,
4761351412 },
47614 .dst_temps = .{.mem},
51413 .dst_temps = .{ .mem, .unused },
4761551414 .clobbers = .{ .eflags = true },
4761651415 .each = .{ .once = &.{
4761751416 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -47623,7 +51422,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4762351422 }, .{
4762451423 .required_features = .{ .@"64bit", null, null, null },
4762551424 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },
47626 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }},
51425 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
4762751426 .patterns = &.{
4762851427 .{ .src = .{ .to_mem, .none, .none } },
4762951428 },
......@@ -47638,7 +51437,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4763851437 .unused,
4763951438 .unused,
4764051439 },
47641 .dst_temps = .{.mem},
51440 .dst_temps = .{ .mem, .unused },
4764251441 .clobbers = .{ .eflags = true },
4764351442 .each = .{ .once = &.{
4764451443 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -47652,7 +51451,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4765251451 }, .{
4765351452 .required_features = .{ .@"64bit", .bmi2, null, null },
4765451453 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },
47655 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }},
51454 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
4765651455 .patterns = &.{
4765751456 .{ .src = .{ .to_mem, .none, .none } },
4765851457 },
......@@ -47667,7 +51466,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4766751466 .unused,
4766851467 .unused,
4766951468 },
47670 .dst_temps = .{.mem},
51469 .dst_temps = .{ .mem, .unused },
4767151470 .clobbers = .{ .eflags = true },
4767251471 .each = .{ .once = &.{
4767351472 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -47680,7 +51479,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4768051479 }, .{
4768151480 .required_features = .{ .@"64bit", null, null, null },
4768251481 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },
47683 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }},
51482 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
4768451483 .patterns = &.{
4768551484 .{ .src = .{ .to_mem, .none, .none } },
4768651485 },
......@@ -47695,7 +51494,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4769551494 .unused,
4769651495 .unused,
4769751496 },
47698 .dst_temps = .{.mem},
51497 .dst_temps = .{ .mem, .unused },
4769951498 .clobbers = .{ .eflags = true },
4770051499 .each = .{ .once = &.{
4770151500 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -47708,7 +51507,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4770851507 }, .{
4770951508 .required_features = .{ .@"64bit", null, null, null },
4771051509 .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .yword } }, .any, .any },
47711 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .qword, .is = 64 } }},
51510 .dst_constraints = .{ .{ .multiple_scalar_exact_int = .{ .of = .qword, .is = 64 } }, .any },
4771251511 .patterns = &.{
4771351512 .{ .src = .{ .to_mem, .none, .none } },
4771451513 },
......@@ -47723,7 +51522,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4772351522 .unused,
4772451523 .unused,
4772551524 },
47726 .dst_temps = .{.mem},
51525 .dst_temps = .{ .mem, .unused },
4772751526 .clobbers = .{ .eflags = true },
4772851527 .each = .{ .once = &.{
4772951528 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -47735,7 +51534,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4773551534 }, .{
4773651535 .required_features = .{ .@"64bit", null, null, null },
4773751536 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .yword } }, .any, .any },
47738 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }},
51537 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
4773951538 .patterns = &.{
4774051539 .{ .src = .{ .to_mem, .none, .none } },
4774151540 },
......@@ -47750,7 +51549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4775051549 .unused,
4775151550 .unused,
4775251551 },
47753 .dst_temps = .{.mem},
51552 .dst_temps = .{ .mem, .unused },
4775451553 .clobbers = .{ .eflags = true },
4775551554 .each = .{ .once = &.{
4775651555 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -47764,7 +51563,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4776451563 }, .{
4776551564 .required_features = .{ .@"64bit", .bmi2, null, null },
4776651565 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .yword } }, .any, .any },
47767 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }},
51566 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
4776851567 .patterns = &.{
4776951568 .{ .src = .{ .to_mem, .none, .none } },
4777051569 },
......@@ -47779,7 +51578,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4777951578 .unused,
4778051579 .unused,
4778151580 },
47782 .dst_temps = .{.mem},
51581 .dst_temps = .{ .mem, .unused },
4778351582 .clobbers = .{ .eflags = true },
4778451583 .each = .{ .once = &.{
4778551584 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -47792,7 +51591,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4779251591 }, .{
4779351592 .required_features = .{ .@"64bit", null, null, null },
4779451593 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .yword } }, .any, .any },
47795 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }},
51594 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
4779651595 .patterns = &.{
4779751596 .{ .src = .{ .to_mem, .none, .none } },
4779851597 },
......@@ -47807,7 +51606,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4780751606 .unused,
4780851607 .unused,
4780951608 },
47810 .dst_temps = .{.mem},
51609 .dst_temps = .{ .mem, .unused },
4781151610 .clobbers = .{ .eflags = true },
4781251611 .each = .{ .once = &.{
4781351612 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -47820,7 +51619,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4782051619 }, .{
4782151620 .required_features = .{ .@"64bit", null, null, null },
4782251621 .src_constraints = .{ .any_scalar_int, .any, .any },
47823 .dst_constraints = .{.{ .multiple_scalar_exact_int = .{ .of = .qword, .is = 64 } }},
51622 .dst_constraints = .{ .{ .multiple_scalar_exact_int = .{ .of = .qword, .is = 64 } }, .any },
4782451623 .patterns = &.{
4782551624 .{ .src = .{ .to_mem, .none, .none } },
4782651625 },
......@@ -47835,7 +51634,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4783551634 .unused,
4783651635 .unused,
4783751636 },
47838 .dst_temps = .{.mem},
51637 .dst_temps = .{ .mem, .unused },
4783951638 .clobbers = .{ .eflags = true },
4784051639 .each = .{ .once = &.{
4784151640 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -47849,7 +51648,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4784951648 }, .{
4785051649 .required_features = .{ .@"64bit", null, null, null },
4785151650 .src_constraints = .{ .any_scalar_signed_int, .any, .any },
47852 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }},
51651 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
4785351652 .patterns = &.{
4785451653 .{ .src = .{ .to_mem, .none, .none } },
4785551654 },
......@@ -47864,7 +51663,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4786451663 .unused,
4786551664 .unused,
4786651665 },
47867 .dst_temps = .{.mem},
51666 .dst_temps = .{ .mem, .unused },
4786851667 .clobbers = .{ .eflags = true },
4786951668 .each = .{ .once = &.{
4787051669 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -47880,7 +51679,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4788051679 }, .{
4788151680 .required_features = .{ .@"64bit", .bmi2, null, null },
4788251681 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },
47883 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }},
51682 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
4788451683 .patterns = &.{
4788551684 .{ .src = .{ .to_mem, .none, .none } },
4788651685 },
......@@ -47895,7 +51694,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4789551694 .unused,
4789651695 .unused,
4789751696 },
47898 .dst_temps = .{.mem},
51697 .dst_temps = .{ .mem, .unused },
4789951698 .clobbers = .{ .eflags = true },
4790051699 .each = .{ .once = &.{
4790151700 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -47910,7 +51709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4791051709 }, .{
4791151710 .required_features = .{ .@"64bit", null, null, null },
4791251711 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },
47913 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }},
51712 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
4791451713 .patterns = &.{
4791551714 .{ .src = .{ .to_mem, .none, .none } },
4791651715 },
......@@ -47925,7 +51724,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4792551724 .unused,
4792651725 .unused,
4792751726 },
47928 .dst_temps = .{.mem},
51727 .dst_temps = .{ .mem, .unused },
4792951728 .clobbers = .{ .eflags = true },
4793051729 .each = .{ .once = &.{
4793151730 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -47940,7 +51739,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4794051739 }, .{
4794151740 .required_features = .{ .@"64bit", .slow_incdec, null, null },
4794251741 .src_constraints = .{ .any_scalar_int, .any, .any },
47943 .dst_constraints = .{.{ .scalar_exact_remainder_int = .{ .of = .xword, .is = .xword } }},
51742 .dst_constraints = .{ .{ .scalar_exact_remainder_int = .{ .of = .xword, .is = .xword } }, .any },
4794451743 .patterns = &.{
4794551744 .{ .src = .{ .to_mem, .none, .none } },
4794651745 },
......@@ -47955,7 +51754,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4795551754 .unused,
4795651755 .unused,
4795751756 },
47958 .dst_temps = .{.mem},
51757 .dst_temps = .{ .mem, .unused },
4795951758 .clobbers = .{ .eflags = true },
4796051759 .each = .{ .once = &.{
4796151760 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
......@@ -47970,7 +51769,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4797051769 }, .{
4797151770 .required_features = .{ .@"64bit", null, null, null },
4797251771 .src_constraints = .{ .any_scalar_int, .any, .any },
47973 .dst_constraints = .{.{ .scalar_exact_remainder_int = .{ .of = .xword, .is = .xword } }},
51772 .dst_constraints = .{ .{ .scalar_exact_remainder_int = .{ .of = .xword, .is = .xword } }, .any },
4797451773 .patterns = &.{
4797551774 .{ .src = .{ .to_mem, .none, .none } },
4797651775 },
......@@ -47985,7 +51784,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4798551784 .unused,
4798651785 .unused,
4798751786 },
47988 .dst_temps = .{.mem},
51787 .dst_temps = .{ .mem, .unused },
4798951788 .clobbers = .{ .eflags = true },
4799051789 .each = .{ .once = &.{
4799151790 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
......@@ -48000,7 +51799,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4800051799 }, .{
4800151800 .required_features = .{ .@"64bit", .slow_incdec, null, null },
4800251801 .src_constraints = .{ .any_scalar_signed_int, .any, .any },
48003 .dst_constraints = .{.{ .scalar_exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }},
51802 .dst_constraints = .{ .{ .scalar_exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, .any },
4800451803 .patterns = &.{
4800551804 .{ .src = .{ .to_mem, .none, .none } },
4800651805 },
......@@ -48015,7 +51814,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4801551814 .unused,
4801651815 .unused,
4801751816 },
48018 .dst_temps = .{.mem},
51817 .dst_temps = .{ .mem, .unused },
4801951818 .clobbers = .{ .eflags = true },
4802051819 .each = .{ .once = &.{
4802151820 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
......@@ -48035,7 +51834,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4803551834 }, .{
4803651835 .required_features = .{ .@"64bit", null, null, null },
4803751836 .src_constraints = .{ .any_scalar_signed_int, .any, .any },
48038 .dst_constraints = .{.{ .scalar_exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }},
51837 .dst_constraints = .{ .{ .scalar_exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, .any },
4803951838 .patterns = &.{
4804051839 .{ .src = .{ .to_mem, .none, .none } },
4804151840 },
......@@ -48050,7 +51849,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4805051849 .unused,
4805151850 .unused,
4805251851 },
48053 .dst_temps = .{.mem},
51852 .dst_temps = .{ .mem, .unused },
4805451853 .clobbers = .{ .eflags = true },
4805551854 .each = .{ .once = &.{
4805651855 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
......@@ -48070,7 +51869,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4807051869 }, .{
4807151870 .required_features = .{ .@"64bit", .slow_incdec, null, null },
4807251871 .src_constraints = .{ .any_scalar_signed_int, .any, .any },
48073 .dst_constraints = .{.{ .scalar_remainder_signed_int = .{ .of = .xword, .is = .qword } }},
51872 .dst_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .xword, .is = .qword } }, .any },
4807451873 .patterns = &.{
4807551874 .{ .src = .{ .to_mem, .none, .none } },
4807651875 },
......@@ -48085,7 +51884,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4808551884 .unused,
4808651885 .unused,
4808751886 },
48088 .dst_temps = .{.mem},
51887 .dst_temps = .{ .mem, .unused },
4808951888 .clobbers = .{ .eflags = true },
4809051889 .each = .{ .once = &.{
4809151890 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
......@@ -48107,7 +51906,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4810751906 }, .{
4810851907 .required_features = .{ .@"64bit", null, null, null },
4810951908 .src_constraints = .{ .any_scalar_signed_int, .any, .any },
48110 .dst_constraints = .{.{ .scalar_remainder_signed_int = .{ .of = .xword, .is = .qword } }},
51909 .dst_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .xword, .is = .qword } }, .any },
4811151910 .patterns = &.{
4811251911 .{ .src = .{ .to_mem, .none, .none } },
4811351912 },
......@@ -48122,7 +51921,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4812251921 .unused,
4812351922 .unused,
4812451923 },
48125 .dst_temps = .{.mem},
51924 .dst_temps = .{ .mem, .unused },
4812651925 .clobbers = .{ .eflags = true },
4812751926 .each = .{ .once = &.{
4812851927 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
......@@ -48144,7 +51943,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4814451943 }, .{
4814551944 .required_features = .{ .@"64bit", .slow_incdec, null, null },
4814651945 .src_constraints = .{ .any_scalar_signed_int, .any, .any },
48147 .dst_constraints = .{.{ .scalar_remainder_signed_int = .{ .of = .xword, .is = .xword } }},
51946 .dst_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .xword, .is = .xword } }, .any },
4814851947 .patterns = &.{
4814951948 .{ .src = .{ .to_mem, .none, .none } },
4815051949 },
......@@ -48159,7 +51958,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4815951958 .unused,
4816051959 .unused,
4816151960 },
48162 .dst_temps = .{.mem},
51961 .dst_temps = .{ .mem, .unused },
4816351962 .clobbers = .{ .eflags = true },
4816451963 .each = .{ .once = &.{
4816551964 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
......@@ -48178,7 +51977,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4817851977 }, .{
4817951978 .required_features = .{ .@"64bit", null, null, null },
4818051979 .src_constraints = .{ .any_scalar_signed_int, .any, .any },
48181 .dst_constraints = .{.{ .scalar_remainder_signed_int = .{ .of = .xword, .is = .xword } }},
51980 .dst_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .xword, .is = .xword } }, .any },
4818251981 .patterns = &.{
4818351982 .{ .src = .{ .to_mem, .none, .none } },
4818451983 },
......@@ -48193,7 +51992,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4819351992 .unused,
4819451993 .unused,
4819551994 },
48196 .dst_temps = .{.mem},
51995 .dst_temps = .{ .mem, .unused },
4819751996 .clobbers = .{ .eflags = true },
4819851997 .each = .{ .once = &.{
4819951998 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
......@@ -48212,7 +52011,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4821252011 }, .{
4821352012 .required_features = .{ .@"64bit", .slow_incdec, null, null },
4821452013 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },
48215 .dst_constraints = .{.{ .scalar_exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }},
52014 .dst_constraints = .{ .{ .scalar_exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, .any },
4821652015 .patterns = &.{
4821752016 .{ .src = .{ .to_mem, .none, .none } },
4821852017 },
......@@ -48227,7 +52026,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4822752026 .unused,
4822852027 .unused,
4822952028 },
48230 .dst_temps = .{.mem},
52029 .dst_temps = .{ .mem, .unused },
4823152030 .clobbers = .{ .eflags = true },
4823252031 .each = .{ .once = &.{
4823352032 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
......@@ -48244,7 +52043,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4824452043 }, .{
4824552044 .required_features = .{ .@"64bit", null, null, null },
4824652045 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },
48247 .dst_constraints = .{.{ .scalar_exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }},
52046 .dst_constraints = .{ .{ .scalar_exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, .any },
4824852047 .patterns = &.{
4824952048 .{ .src = .{ .to_mem, .none, .none } },
4825052049 },
......@@ -48259,7 +52058,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4825952058 .unused,
4826052059 .unused,
4826152060 },
48262 .dst_temps = .{.mem},
52061 .dst_temps = .{ .mem, .unused },
4826352062 .clobbers = .{ .eflags = true },
4826452063 .each = .{ .once = &.{
4826552064 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
......@@ -48276,7 +52075,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4827652075 }, .{
4827752076 .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null },
4827852077 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },
48279 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }},
52078 .dst_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, .any },
4828052079 .patterns = &.{
4828152080 .{ .src = .{ .to_mem, .none, .none } },
4828252081 },
......@@ -48291,7 +52090,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4829152090 .unused,
4829252091 .unused,
4829352092 },
48294 .dst_temps = .{.mem},
52093 .dst_temps = .{ .mem, .unused },
4829552094 .clobbers = .{ .eflags = true },
4829652095 .each = .{ .once = &.{
4829752096 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
......@@ -48311,7 +52110,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4831152110 }, .{
4831252111 .required_features = .{ .@"64bit", .bmi2, null, null },
4831352112 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },
48314 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }},
52113 .dst_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, .any },
4831552114 .patterns = &.{
4831652115 .{ .src = .{ .to_mem, .none, .none } },
4831752116 },
......@@ -48326,7 +52125,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4832652125 .unused,
4832752126 .unused,
4832852127 },
48329 .dst_temps = .{.mem},
52128 .dst_temps = .{ .mem, .unused },
4833052129 .clobbers = .{ .eflags = true },
4833152130 .each = .{ .once = &.{
4833252131 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
......@@ -48346,7 +52145,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4834652145 }, .{
4834752146 .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null },
4834852147 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },
48349 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }},
52148 .dst_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, .any },
4835052149 .patterns = &.{
4835152150 .{ .src = .{ .to_mem, .none, .none } },
4835252151 },
......@@ -48361,7 +52160,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4836152160 .unused,
4836252161 .unused,
4836352162 },
48364 .dst_temps = .{.mem},
52163 .dst_temps = .{ .mem, .unused },
4836552164 .clobbers = .{ .eflags = true },
4836652165 .each = .{ .once = &.{
4836752166 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
......@@ -48379,7 +52178,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4837952178 }, .{
4838052179 .required_features = .{ .@"64bit", .bmi2, null, null },
4838152180 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },
48382 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }},
52181 .dst_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, .any },
4838352182 .patterns = &.{
4838452183 .{ .src = .{ .to_mem, .none, .none } },
4838552184 },
......@@ -48394,7 +52193,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4839452193 .unused,
4839552194 .unused,
4839652195 },
48397 .dst_temps = .{.mem},
52196 .dst_temps = .{ .mem, .unused },
4839852197 .clobbers = .{ .eflags = true },
4839952198 .each = .{ .once = &.{
4840052199 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
......@@ -48412,7 +52211,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4841252211 }, .{
4841352212 .required_features = .{ .@"64bit", .slow_incdec, null, null },
4841452213 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },
48415 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }},
52214 .dst_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, .any },
4841652215 .patterns = &.{
4841752216 .{ .src = .{ .to_mem, .none, .none } },
4841852217 },
......@@ -48427,7 +52226,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4842752226 .unused,
4842852227 .unused,
4842952228 },
48430 .dst_temps = .{.mem},
52229 .dst_temps = .{ .mem, .unused },
4843152230 .clobbers = .{ .eflags = true },
4843252231 .each = .{ .once = &.{
4843352232 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
......@@ -48447,7 +52246,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4844752246 }, .{
4844852247 .required_features = .{ .@"64bit", null, null, null },
4844952248 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },
48450 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }},
52249 .dst_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, .any },
4845152250 .patterns = &.{
4845252251 .{ .src = .{ .to_mem, .none, .none } },
4845352252 },
......@@ -48462,7 +52261,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4846252261 .unused,
4846352262 .unused,
4846452263 },
48465 .dst_temps = .{.mem},
52264 .dst_temps = .{ .mem, .unused },
4846652265 .clobbers = .{ .eflags = true },
4846752266 .each = .{ .once = &.{
4846852267 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
......@@ -48482,7 +52281,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4848252281 }, .{
4848352282 .required_features = .{ .@"64bit", .slow_incdec, null, null },
4848452283 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },
48485 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }},
52284 .dst_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, .any },
4848652285 .patterns = &.{
4848752286 .{ .src = .{ .to_mem, .none, .none } },
4848852287 },
......@@ -48497,7 +52296,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4849752296 .unused,
4849852297 .unused,
4849952298 },
48500 .dst_temps = .{.mem},
52299 .dst_temps = .{ .mem, .unused },
4850152300 .clobbers = .{ .eflags = true },
4850252301 .each = .{ .once = &.{
4850352302 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
......@@ -48516,7 +52315,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4851652315 }, .{
4851752316 .required_features = .{ .@"64bit", null, null, null },
4851852317 .src_constraints = .{ .any_scalar_unsigned_int, .any, .any },
48519 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }},
52318 .dst_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, .any },
4852052319 .patterns = &.{
4852152320 .{ .src = .{ .to_mem, .none, .none } },
4852252321 },
......@@ -48531,7 +52330,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4853152330 .unused,
4853252331 .unused,
4853352332 },
48534 .dst_temps = .{.mem},
52333 .dst_temps = .{ .mem, .unused },
4853552334 .clobbers = .{ .eflags = true },
4853652335 .each = .{ .once = &.{
4853752336 .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_len), ._, ._ },
......@@ -48558,6 +52357,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4855852357 };
4855952358 try res[0].finish(inst, &.{ty_op.operand}, &ops, cg);
4856052359 },
52360 .optional_payload => if (use_old) try cg.airOptionalPayload(inst) else {
52361 const ty_op = air_datas[@intFromEnum(inst)].ty_op;
52362 var ops = try cg.tempsFromOperands(inst, .{ty_op.operand});
52363 const pl = if (!hack_around_sema_opv_bugs or ty_op.ty.toType().hasRuntimeBitsIgnoreComptime(zcu))
52364 try ops[0].read(ty_op.ty.toType(), .{}, cg)
52365 else
52366 try cg.tempInit(ty_op.ty.toType(), .none);
52367 try pl.finish(inst, &.{ty_op.operand}, &ops, cg);
52368 },
4856152369 .optional_payload_ptr => if (use_old) try cg.airOptionalPayloadPtr(inst) else {
4856252370 const ty_op = air_datas[@intFromEnum(inst)].ty_op;
4856352371 const ops = try cg.tempsFromOperands(inst, .{ty_op.operand});
......@@ -48568,16 +52376,52 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4856852376 const opt_ty = cg.typeOf(ty_op.operand).childType(zcu);
4856952377 var ops = try cg.tempsFromOperands(inst, .{ty_op.operand});
4857052378 if (!opt_ty.optionalReprIsPayload(zcu)) {
48571 const opt_child_ty = opt_ty.optionalChild(zcu);
48572 const opt_child_abi_size: i32 = @intCast(opt_child_ty.abiSize(zcu));
48573 try ops[0].toOffset(opt_child_abi_size, cg);
52379 const opt_pl_ty = opt_ty.optionalChild(zcu);
52380 const opt_pl_abi_size: i32 = @intCast(opt_pl_ty.abiSize(zcu));
52381 try ops[0].toOffset(opt_pl_abi_size, cg);
4857452382 var has_value = try cg.tempInit(.bool, .{ .immediate = 1 });
4857552383 try ops[0].store(&has_value, .{}, cg);
4857652384 try has_value.die(cg);
48577 try ops[0].toOffset(-opt_child_abi_size, cg);
52385 try ops[0].toOffset(-opt_pl_abi_size, cg);
4857852386 }
4857952387 try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg);
4858052388 },
52389 .wrap_optional => if (use_old) try cg.airWrapOptional(inst) else {
52390 const ty_op = air_datas[@intFromEnum(inst)].ty_op;
52391 const opt_ty = ty_op.ty.toType();
52392 const opt_pl_ty = cg.typeOf(ty_op.operand);
52393 const opt_pl_abi_size: u31 = @intCast(opt_pl_ty.abiSize(zcu));
52394 var ops = try cg.tempsFromOperands(inst, .{ty_op.operand});
52395 var opt = try cg.tempAlloc(opt_ty);
52396 try opt.write(&ops[0], .{}, cg);
52397 if (!opt_ty.optionalReprIsPayload(zcu)) {
52398 var has_value = try cg.tempInit(.bool, .{ .immediate = 1 });
52399 try opt.write(&has_value, .{ .disp = opt_pl_abi_size }, cg);
52400 try has_value.die(cg);
52401 }
52402 try opt.finish(inst, &.{ty_op.operand}, &ops, cg);
52403 },
52404 .unwrap_errunion_payload => if (use_old) try cg.airUnwrapErrUnionPayload(inst) else {
52405 const ty_op = air_datas[@intFromEnum(inst)].ty_op;
52406 const eu_pl_ty = ty_op.ty.toType();
52407 const eu_pl_off: i32 = @intCast(codegen.errUnionPayloadOffset(eu_pl_ty, zcu));
52408 var ops = try cg.tempsFromOperands(inst, .{ty_op.operand});
52409 const pl = if (!hack_around_sema_opv_bugs or eu_pl_ty.hasRuntimeBitsIgnoreComptime(zcu))
52410 try ops[0].read(eu_pl_ty, .{ .disp = eu_pl_off }, cg)
52411 else
52412 try cg.tempInit(eu_pl_ty, .none);
52413 try pl.finish(inst, &.{ty_op.operand}, &ops, cg);
52414 },
52415 .unwrap_errunion_err => if (use_old) try cg.airUnwrapErrUnionErr(inst) else {
52416 const ty_op = air_datas[@intFromEnum(inst)].ty_op;
52417 const eu_ty = cg.typeOf(ty_op.operand);
52418 const eu_err_ty = ty_op.ty.toType();
52419 const eu_pl_ty = eu_ty.errorUnionPayload(zcu);
52420 const eu_err_off: i32 = @intCast(codegen.errUnionErrorOffset(eu_pl_ty, zcu));
52421 var ops = try cg.tempsFromOperands(inst, .{ty_op.operand});
52422 const err = try ops[0].read(eu_err_ty, .{ .disp = eu_err_off }, cg);
52423 try err.finish(inst, &.{ty_op.operand}, &ops, cg);
52424 },
4858152425 .unwrap_errunion_payload_ptr => if (use_old) try cg.airUnwrapErrUnionPayloadPtr(inst) else {
4858252426 const ty_op = air_datas[@intFromEnum(inst)].ty_op;
4858352427 const eu_ty = cg.typeOf(ty_op.operand).childType(zcu);
......@@ -48590,11 +52434,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4859052434 .unwrap_errunion_err_ptr => if (use_old) try cg.airUnwrapErrUnionErrPtr(inst) else {
4859152435 const ty_op = air_datas[@intFromEnum(inst)].ty_op;
4859252436 const eu_ty = cg.typeOf(ty_op.operand).childType(zcu);
52437 const eu_err_ty = ty_op.ty.toType();
4859352438 const eu_pl_ty = eu_ty.errorUnionPayload(zcu);
4859452439 const eu_err_off: i32 = @intCast(codegen.errUnionErrorOffset(eu_pl_ty, zcu));
4859552440 var ops = try cg.tempsFromOperands(inst, .{ty_op.operand});
4859652441 try ops[0].toOffset(eu_err_off, cg);
48597 const err = try ops[0].load(eu_ty.errorUnionSet(zcu), .{}, cg);
52442 const err = try ops[0].load(eu_err_ty, .{}, cg);
4859852443 try err.finish(inst, &.{ty_op.operand}, &ops, cg);
4859952444 },
4860052445 .errunion_payload_ptr_set => if (use_old) try cg.airErrUnionPayloadPtrSet(inst) else {
......@@ -48606,12 +52451,37 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4860652451 const eu_pl_off: i32 = @intCast(codegen.errUnionPayloadOffset(eu_pl_ty, zcu));
4860752452 var ops = try cg.tempsFromOperands(inst, .{ty_op.operand});
4860852453 try ops[0].toOffset(eu_err_off, cg);
48609 var no_err = try cg.tempInit(eu_err_ty, .{ .immediate = 0 });
48610 try ops[0].store(&no_err, .{}, cg);
48611 try no_err.die(cg);
52454 var err = try cg.tempInit(eu_err_ty, .{ .immediate = 0 });
52455 try ops[0].store(&err, .{}, cg);
52456 try err.die(cg);
4861252457 try ops[0].toOffset(eu_pl_off - eu_err_off, cg);
4861352458 try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg);
4861452459 },
52460 .wrap_errunion_payload => if (use_old) try cg.airWrapErrUnionPayload(inst) else {
52461 const ty_op = air_datas[@intFromEnum(inst)].ty_op;
52462 const eu_ty = ty_op.ty.toType();
52463 const eu_err_ty = eu_ty.errorUnionSet(zcu);
52464 const eu_pl_ty = cg.typeOf(ty_op.operand);
52465 const eu_err_off: u31 = @intCast(codegen.errUnionErrorOffset(eu_pl_ty, zcu));
52466 const eu_pl_off: u31 = @intCast(codegen.errUnionPayloadOffset(eu_pl_ty, zcu));
52467 var ops = try cg.tempsFromOperands(inst, .{ty_op.operand});
52468 var eu = try cg.tempAlloc(eu_ty);
52469 try eu.write(&ops[0], .{ .disp = eu_pl_off }, cg);
52470 var err = try cg.tempInit(eu_err_ty, .{ .immediate = 0 });
52471 try eu.write(&err, .{ .disp = eu_err_off }, cg);
52472 try err.die(cg);
52473 try eu.finish(inst, &.{ty_op.operand}, &ops, cg);
52474 },
52475 .wrap_errunion_err => if (use_old) try cg.airWrapErrUnionErr(inst) else {
52476 const ty_op = air_datas[@intFromEnum(inst)].ty_op;
52477 const eu_ty = ty_op.ty.toType();
52478 const eu_pl_ty = eu_ty.errorUnionPayload(zcu);
52479 const eu_err_off: u31 = @intCast(codegen.errUnionErrorOffset(eu_pl_ty, zcu));
52480 var ops = try cg.tempsFromOperands(inst, .{ty_op.operand});
52481 var eu = try cg.tempAlloc(eu_ty);
52482 try eu.write(&ops[0], .{ .disp = eu_err_off }, cg);
52483 try eu.finish(inst, &.{ty_op.operand}, &ops, cg);
52484 },
4861552485 .struct_field_ptr => if (use_old) try cg.airStructFieldPtr(inst) else {
4861652486 const ty_pl = air_datas[@intFromEnum(inst)].ty_pl;
4861752487 const extra = cg.air.extraData(Air.StructField, ty_pl.payload).data;
......@@ -48659,8 +52529,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4865952529 .@"packed" => break :fallback try cg.airStructFieldVal(inst),
4866052530 };
4866152531 var ops = try cg.tempsFromOperands(inst, .{extra.struct_operand});
48662 // hack around Sema OPV bugs
48663 var res = if (field_ty.hasRuntimeBitsIgnoreComptime(zcu))
52532 var res = if (!hack_around_sema_opv_bugs or field_ty.hasRuntimeBitsIgnoreComptime(zcu))
4866452533 try ops[0].read(field_ty, .{ .disp = field_off }, cg)
4866552534 else
4866652535 try cg.tempInit(field_ty, .none);
......@@ -48671,8 +52540,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4867152540 const union_ty = cg.typeOf(bin_op.lhs).childType(zcu);
4867252541 const union_layout = union_ty.unionGetLayout(zcu);
4867352542 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });
48674 // hack around Sema OPV bugs
48675 if (union_layout.tag_size > 0) try ops[0].store(&ops[1], .{
52543 if (!hack_around_sema_opv_bugs or union_layout.tag_size > 0) try ops[0].store(&ops[1], .{
4867652544 .disp = @intCast(union_layout.tagOffset()),
4867752545 }, cg);
4867852546 const res = try cg.tempInit(.void, .none);
......@@ -48720,6 +52588,200 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4872052588 try ops[0].toOffset(0, cg);
4872152589 try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg);
4872252590 },
52591 .array_elem_val => if (use_old) try cg.airArrayElemVal(inst) else {
52592 const bin_op = air_datas[@intFromEnum(inst)].bin_op;
52593 const array_ty = cg.typeOf(bin_op.lhs);
52594 const res_ty = array_ty.elemType2(zcu);
52595 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });
52596 var res: [1]Temp = undefined;
52597 cg.select(&res, &.{res_ty}, &ops, comptime &.{ .{
52598 .src_constraints = .{ .{ .bool_vec = .dword }, .any, .any },
52599 .patterns = &.{
52600 .{ .src = .{ .to_gpr, .imm32, .none } },
52601 },
52602 .dst_temps = .{ .{ .cc = .c }, .unused },
52603 .clobbers = .{ .eflags = true },
52604 .each = .{ .once = &.{
52605 .{ ._, ._, .bt, .src0d, .ua(.none, .add_src1_rem_32), ._, ._ },
52606 } },
52607 }, .{
52608 .src_constraints = .{ .{ .bool_vec = .dword }, .any, .any },
52609 .patterns = &.{
52610 .{ .src = .{ .to_gpr, .to_gpr, .none } },
52611 },
52612 .dst_temps = .{ .{ .cc = .c }, .unused },
52613 .clobbers = .{ .eflags = true },
52614 .each = .{ .once = &.{
52615 .{ ._, ._, .bt, .src0d, .src1d, ._, ._ },
52616 } },
52617 }, .{
52618 .required_features = .{ .@"64bit", null, null, null },
52619 .src_constraints = .{ .{ .bool_vec = .qword }, .any, .any },
52620 .patterns = &.{
52621 .{ .src = .{ .to_gpr, .imm32, .none } },
52622 },
52623 .dst_temps = .{ .{ .cc = .c }, .unused },
52624 .clobbers = .{ .eflags = true },
52625 .each = .{ .once = &.{
52626 .{ ._, ._, .bt, .src0q, .ua(.none, .add_src1_rem_64), ._, ._ },
52627 } },
52628 }, .{
52629 .required_features = .{ .@"64bit", null, null, null },
52630 .src_constraints = .{ .{ .bool_vec = .qword }, .any, .any },
52631 .patterns = &.{
52632 .{ .src = .{ .to_gpr, .to_gpr, .none } },
52633 },
52634 .dst_temps = .{ .{ .cc = .c }, .unused },
52635 .clobbers = .{ .eflags = true },
52636 .each = .{ .once = &.{
52637 .{ ._, ._, .bt, .src0q, .src1q, ._, ._ },
52638 } },
52639 }, .{
52640 .src_constraints = .{ .any_bool_vec, .any, .any },
52641 .patterns = &.{
52642 .{ .src = .{ .to_mem, .imm32, .none } },
52643 },
52644 .dst_temps = .{ .{ .cc = .c }, .unused },
52645 .clobbers = .{ .eflags = true },
52646 .each = .{ .once = &.{
52647 .{ ._, ._, .bt, .mema(.src0d, .add_src1_div_8_down_4), .ua(.none, .add_src1_rem_32), ._, ._ },
52648 } },
52649 }, .{
52650 .src_constraints = .{ .any_bool_vec, .any, .any },
52651 .patterns = &.{
52652 .{ .src = .{ .to_mem, .to_gpr, .none } },
52653 },
52654 .dst_temps = .{ .{ .cc = .c }, .unused },
52655 .clobbers = .{ .eflags = true },
52656 .each = .{ .once = &.{
52657 .{ ._, ._, .bt, .src0d, .src1d, ._, ._ },
52658 } },
52659 }, .{
52660 .dst_constraints = .{ .{ .int = .byte }, .any },
52661 .patterns = &.{
52662 .{ .src = .{ .to_mem, .simm32, .none } },
52663 },
52664 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
52665 .each = .{ .once = &.{
52666 .{ ._, ._, .movzx, .dst0d, .mema(.src0b, .add_src0_elem_size_mul_src1), ._, ._ },
52667 } },
52668 }, .{
52669 .dst_constraints = .{ .{ .int = .byte }, .any },
52670 .patterns = &.{
52671 .{ .src = .{ .to_mem, .to_gpr, .none } },
52672 },
52673 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
52674 .each = .{ .once = &.{
52675 .{ ._, ._, .movzx, .dst0d, .memi(.src0b, .src1), ._, ._ },
52676 } },
52677 }, .{
52678 .dst_constraints = .{ .{ .int = .word }, .any },
52679 .patterns = &.{
52680 .{ .src = .{ .to_mem, .simm32, .none } },
52681 },
52682 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
52683 .each = .{ .once = &.{
52684 .{ ._, ._, .movzx, .dst0d, .mema(.src0w, .add_src0_elem_size_mul_src1), ._, ._ },
52685 } },
52686 }, .{
52687 .dst_constraints = .{ .{ .int = .word }, .any },
52688 .patterns = &.{
52689 .{ .src = .{ .to_mem, .to_gpr, .none } },
52690 },
52691 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
52692 .each = .{ .once = &.{
52693 .{ ._, ._, .movzx, .dst0d, .memsi(.src0w, .@"2", .src1), ._, ._ },
52694 } },
52695 }, .{
52696 .dst_constraints = .{ .{ .int = .dword }, .any },
52697 .patterns = &.{
52698 .{ .src = .{ .to_mem, .simm32, .none } },
52699 },
52700 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
52701 .each = .{ .once = &.{
52702 .{ ._, ._, .mov, .dst0d, .mema(.src0d, .add_src0_elem_size_mul_src1), ._, ._ },
52703 } },
52704 }, .{
52705 .dst_constraints = .{ .{ .int = .dword }, .any },
52706 .patterns = &.{
52707 .{ .src = .{ .to_mem, .to_gpr, .none } },
52708 },
52709 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
52710 .each = .{ .once = &.{
52711 .{ ._, ._, .mov, .dst0d, .memsi(.src0d, .@"4", .src1), ._, ._ },
52712 } },
52713 }, .{
52714 .dst_constraints = .{ .{ .int = .qword }, .any },
52715 .patterns = &.{
52716 .{ .src = .{ .to_mem, .simm32, .none } },
52717 },
52718 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
52719 .each = .{ .once = &.{
52720 .{ ._, ._, .mov, .dst0q, .mema(.src0q, .add_src0_elem_size_mul_src1), ._, ._ },
52721 } },
52722 }, .{
52723 .required_features = .{ .@"64bit", null, null, null },
52724 .dst_constraints = .{ .{ .int = .qword }, .any },
52725 .patterns = &.{
52726 .{ .src = .{ .to_mem, .to_gpr, .none } },
52727 },
52728 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
52729 .each = .{ .once = &.{
52730 .{ ._, ._, .mov, .dst0q, .memsi(.src0q, .@"8", .src1), ._, ._ },
52731 } },
52732 } }) catch |err| switch (err) {
52733 error.SelectFailed => {
52734 const elem_size = res_ty.abiSize(zcu);
52735 const base = try cg.tempAllocReg(.usize, abi.RegisterClass.gp);
52736 while (try ops[0].toBase(false, cg) or
52737 try ops[1].toRegClass(true, .general_purpose, cg))
52738 {}
52739 const base_reg = base.tracking(cg).short.register.to64();
52740 const rhs_reg = ops[1].tracking(cg).short.register.to64();
52741 if (!std.math.isPowerOfTwo(elem_size)) {
52742 try cg.spillEflagsIfOccupied();
52743 try cg.asmRegisterRegisterImmediate(
52744 .{ .i_, .mul },
52745 rhs_reg,
52746 rhs_reg,
52747 .u(elem_size),
52748 );
52749 try cg.asmRegisterMemory(
52750 .{ ._, .lea },
52751 base_reg,
52752 try ops[0].tracking(cg).short.mem(cg, .{ .index = rhs_reg }),
52753 );
52754 } else if (elem_size > 8) {
52755 try cg.spillEflagsIfOccupied();
52756 try cg.asmRegisterImmediate(
52757 .{ ._l, .sh },
52758 rhs_reg,
52759 .u(std.math.log2_int(u64, elem_size)),
52760 );
52761 try cg.asmRegisterMemory(
52762 .{ ._, .lea },
52763 base_reg,
52764 try ops[0].tracking(cg).short.mem(cg, .{ .index = rhs_reg }),
52765 );
52766 } else try cg.asmRegisterMemory(
52767 .{ ._, .lea },
52768 base_reg,
52769 try ops[0].tracking(cg).short.mem(cg, .{
52770 .index = rhs_reg,
52771 .scale = .fromFactor(@intCast(elem_size)),
52772 }),
52773 );
52774 // Hack around Sema insanity: lhs could be an arbitrarily large comptime-known array
52775 // which could easily get spilled by the upcoming `load`, which would infinite recurse
52776 // since spilling an array requires the same operation that triggered the spill.
52777 try ops[0].die(cg);
52778 ops[0] = base;
52779 res[0] = try ops[0].load(res_ty, .{}, cg);
52780 },
52781 else => |e| return e,
52782 };
52783 try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg);
52784 },
4872352785 .slice_elem_val, .ptr_elem_val => |air_tag| if (use_old) switch (air_tag) {
4872452786 else => unreachable,
4872552787 .slice_elem_val => try cg.airSliceElemVal(inst),
......@@ -48730,76 +52792,76 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4873052792 var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs });
4873152793 try ops[0].toSlicePtr(cg);
4873252794 var res: [1]Temp = undefined;
48733 if (res_ty.hasRuntimeBitsIgnoreComptime(zcu)) cg.select(&res, &.{res_ty}, &ops, comptime &.{ .{
48734 .dst_constraints = .{.{ .int = .byte }},
52795 if (!hack_around_sema_opv_bugs or res_ty.hasRuntimeBitsIgnoreComptime(zcu)) cg.select(&res, &.{res_ty}, &ops, comptime &.{ .{
52796 .dst_constraints = .{ .{ .int = .byte }, .any },
4873552797 .patterns = &.{
4873652798 .{ .src = .{ .to_gpr, .simm32, .none } },
4873752799 },
48738 .dst_temps = .{.{ .rc = .general_purpose }},
52800 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
4873952801 .each = .{ .once = &.{
48740 .{ ._, ._, .movzx, .dst0d, .leaa(.src0b, .add_src0_elem_size_times_src1), ._, ._ },
52802 .{ ._, ._, .movzx, .dst0d, .leaa(.src0b, .add_src0_elem_size_mul_src1), ._, ._ },
4874152803 } },
4874252804 }, .{
48743 .dst_constraints = .{.{ .int = .byte }},
52805 .dst_constraints = .{ .{ .int = .byte }, .any },
4874452806 .patterns = &.{
4874552807 .{ .src = .{ .to_gpr, .to_gpr, .none } },
4874652808 },
48747 .dst_temps = .{.{ .rc = .general_purpose }},
52809 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
4874852810 .each = .{ .once = &.{
4874952811 .{ ._, ._, .movzx, .dst0d, .leai(.src0b, .src1), ._, ._ },
4875052812 } },
4875152813 }, .{
48752 .dst_constraints = .{.{ .int = .word }},
52814 .dst_constraints = .{ .{ .int = .word }, .any },
4875352815 .patterns = &.{
4875452816 .{ .src = .{ .to_gpr, .simm32, .none } },
4875552817 },
48756 .dst_temps = .{.{ .rc = .general_purpose }},
52818 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
4875752819 .each = .{ .once = &.{
48758 .{ ._, ._, .movzx, .dst0d, .leaa(.src0w, .add_src0_elem_size_times_src1), ._, ._ },
52820 .{ ._, ._, .movzx, .dst0d, .leaa(.src0w, .add_src0_elem_size_mul_src1), ._, ._ },
4875952821 } },
4876052822 }, .{
48761 .dst_constraints = .{.{ .int = .word }},
52823 .dst_constraints = .{ .{ .int = .word }, .any },
4876252824 .patterns = &.{
4876352825 .{ .src = .{ .to_gpr, .to_gpr, .none } },
4876452826 },
48765 .dst_temps = .{.{ .rc = .general_purpose }},
52827 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
4876652828 .each = .{ .once = &.{
4876752829 .{ ._, ._, .movzx, .dst0d, .leasi(.src0w, .@"2", .src1), ._, ._ },
4876852830 } },
4876952831 }, .{
48770 .dst_constraints = .{.{ .int = .dword }},
52832 .dst_constraints = .{ .{ .int = .dword }, .any },
4877152833 .patterns = &.{
4877252834 .{ .src = .{ .to_gpr, .simm32, .none } },
4877352835 },
48774 .dst_temps = .{.{ .rc = .general_purpose }},
52836 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
4877552837 .each = .{ .once = &.{
48776 .{ ._, ._, .mov, .dst0d, .leaa(.src0d, .add_src0_elem_size_times_src1), ._, ._ },
52838 .{ ._, ._, .mov, .dst0d, .leaa(.src0d, .add_src0_elem_size_mul_src1), ._, ._ },
4877752839 } },
4877852840 }, .{
48779 .dst_constraints = .{.{ .int = .dword }},
52841 .dst_constraints = .{ .{ .int = .dword }, .any },
4878052842 .patterns = &.{
4878152843 .{ .src = .{ .to_gpr, .to_gpr, .none } },
4878252844 },
48783 .dst_temps = .{.{ .rc = .general_purpose }},
52845 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
4878452846 .each = .{ .once = &.{
4878552847 .{ ._, ._, .mov, .dst0d, .leasi(.src0d, .@"4", .src1), ._, ._ },
4878652848 } },
4878752849 }, .{
48788 .dst_constraints = .{.{ .int = .qword }},
52850 .dst_constraints = .{ .{ .int = .qword }, .any },
4878952851 .patterns = &.{
4879052852 .{ .src = .{ .to_gpr, .simm32, .none } },
4879152853 },
48792 .dst_temps = .{.{ .rc = .general_purpose }},
52854 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
4879352855 .each = .{ .once = &.{
48794 .{ ._, ._, .mov, .dst0q, .leaa(.src0q, .add_src0_elem_size_times_src1), ._, ._ },
52856 .{ ._, ._, .mov, .dst0q, .leaa(.src0q, .add_src0_elem_size_mul_src1), ._, ._ },
4879552857 } },
4879652858 }, .{
4879752859 .required_features = .{ .@"64bit", null, null, null },
48798 .dst_constraints = .{.{ .int = .qword }},
52860 .dst_constraints = .{ .{ .int = .qword }, .any },
4879952861 .patterns = &.{
4880052862 .{ .src = .{ .to_gpr, .to_gpr, .none } },
4880152863 },
48802 .dst_temps = .{.{ .rc = .general_purpose }},
52864 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
4880352865 .each = .{ .once = &.{
4880452866 .{ ._, ._, .mov, .dst0q, .leasi(.src0q, .@"8", .src1), ._, ._ },
4880552867 } },
......@@ -48809,8 +52871,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4880952871 while (true) for (&ops) |*op| {
4881052872 if (try op.toRegClass(true, .general_purpose, cg)) break;
4881152873 } else break;
48812 const lhs_reg = ops[0].unwrap(cg).temp.tracking(cg).short.register.to64();
48813 const rhs_reg = ops[1].unwrap(cg).temp.tracking(cg).short.register.to64();
52874 const lhs_reg = ops[0].tracking(cg).short.register.to64();
52875 const rhs_reg = ops[1].tracking(cg).short.register.to64();
4881452876 if (!std.math.isPowerOfTwo(elem_size)) {
4881552877 try cg.spillEflagsIfOccupied();
4881652878 try cg.asmRegisterRegisterImmediate(
......@@ -48821,7 +52883,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4882152883 );
4882252884 try cg.asmRegisterMemory(.{ ._, .lea }, lhs_reg, .{
4882352885 .base = .{ .reg = lhs_reg },
48824 .mod = .{ .rm = .{ .size = .qword, .index = rhs_reg } },
52886 .mod = .{ .rm = .{ .index = rhs_reg } },
4882552887 });
4882652888 } else if (elem_size > 8) {
4882752889 try cg.spillEflagsIfOccupied();
......@@ -48832,12 +52894,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4883252894 );
4883352895 try cg.asmRegisterMemory(.{ ._, .lea }, lhs_reg, .{
4883452896 .base = .{ .reg = lhs_reg },
48835 .mod = .{ .rm = .{ .size = .qword, .index = rhs_reg } },
52897 .mod = .{ .rm = .{ .index = rhs_reg } },
4883652898 });
4883752899 } else try cg.asmRegisterMemory(.{ ._, .lea }, lhs_reg, .{
4883852900 .base = .{ .reg = lhs_reg },
4883952901 .mod = .{ .rm = .{
48840 .size = .qword,
4884152902 .index = rhs_reg,
4884252903 .scale = .fromFactor(@intCast(elem_size)),
4884352904 } },
......@@ -48845,10 +52906,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4884552906 res[0] = try ops[0].load(res_ty, .{}, cg);
4884652907 },
4884752908 else => |e| return e,
48848 } else {
48849 // hack around Sema OPV bugs
48850 res[0] = try cg.tempInit(res_ty, .none);
48851 }
52909 } else res[0] = try cg.tempInit(res_ty, .none);
4885252910 try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg);
4885352911 },
4885452912 .slice_elem_ptr, .ptr_elem_ptr => |air_tag| if (use_old) switch (air_tag) {
......@@ -48863,13 +52921,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4886352921 const dst_ty = ty_pl.ty.toType();
4886452922 if (dst_ty.ptrInfo(zcu).flags.vector_index == .none) zero_offset: {
4886552923 const elem_size = dst_ty.childType(zcu).abiSize(zcu);
48866 // hack around Sema OPV bugs
48867 if (elem_size == 0) break :zero_offset;
52924 if (hack_around_sema_opv_bugs and elem_size == 0) break :zero_offset;
4886852925 while (true) for (&ops) |*op| {
4886952926 if (try op.toRegClass(true, .general_purpose, cg)) break;
4887052927 } else break;
48871 const lhs_reg = ops[0].unwrap(cg).temp.tracking(cg).short.register.to64();
48872 const rhs_reg = ops[1].unwrap(cg).temp.tracking(cg).short.register.to64();
52928 const lhs_reg = ops[0].tracking(cg).short.register.to64();
52929 const rhs_reg = ops[1].tracking(cg).short.register.to64();
4887352930 if (!std.math.isPowerOfTwo(elem_size)) {
4887452931 try cg.spillEflagsIfOccupied();
4887552932 try cg.asmRegisterRegisterImmediate(
......@@ -48880,7 +52937,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4888052937 );
4888152938 try cg.asmRegisterMemory(.{ ._, .lea }, lhs_reg, .{
4888252939 .base = .{ .reg = lhs_reg },
48883 .mod = .{ .rm = .{ .size = .qword, .index = rhs_reg } },
52940 .mod = .{ .rm = .{ .index = rhs_reg } },
4888452941 });
4888552942 } else if (elem_size > 8) {
4888652943 try cg.spillEflagsIfOccupied();
......@@ -48891,12 +52948,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4889152948 );
4889252949 try cg.asmRegisterMemory(.{ ._, .lea }, lhs_reg, .{
4889352950 .base = .{ .reg = lhs_reg },
48894 .mod = .{ .rm = .{ .size = .qword, .index = rhs_reg } },
52951 .mod = .{ .rm = .{ .index = rhs_reg } },
4889552952 });
4889652953 } else try cg.asmRegisterMemory(.{ ._, .lea }, lhs_reg, .{
4889752954 .base = .{ .reg = lhs_reg },
4889852955 .mod = .{ .rm = .{
48899 .size = .qword,
4890052956 .index = rhs_reg,
4890152957 .scale = .fromFactor(@intCast(elem_size)),
4890252958 } },
......@@ -48920,7 +52976,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4892052976 cg.select(&res, &.{ty_op.ty.toType()}, &ops, comptime &.{ .{
4892152977 .required_features = .{ .f16c, null, null, null },
4892252978 .src_constraints = .{ .{ .float = .word }, .any, .any },
48923 .dst_constraints = .{.{ .int = .dword }},
52979 .dst_constraints = .{ .{ .int = .dword }, .any },
4892452980 .patterns = &.{
4892552981 .{ .src = .{ .to_sse, .none, .none } },
4892652982 },
......@@ -48935,7 +52991,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4893552991 .unused,
4893652992 .unused,
4893752993 },
48938 .dst_temps = .{.{ .rc = .general_purpose }},
52994 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
4893952995 .each = .{ .once = &.{
4894052996 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },
4894152997 .{ ._, .v_, .cvttss2si, .dst0d, .tmp0d, ._, ._ },
......@@ -48943,7 +52999,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4894352999 }, .{
4894453000 .required_features = .{ .@"64bit", .f16c, null, null },
4894553001 .src_constraints = .{ .{ .float = .word }, .any, .any },
48946 .dst_constraints = .{.{ .signed_int = .qword }},
53002 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
4894753003 .patterns = &.{
4894853004 .{ .src = .{ .to_sse, .none, .none } },
4894953005 },
......@@ -48958,7 +53014,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4895853014 .unused,
4895953015 .unused,
4896053016 },
48961 .dst_temps = .{.{ .rc = .general_purpose }},
53017 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
4896253018 .each = .{ .once = &.{
4896353019 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },
4896453020 .{ ._, .v_, .cvttss2si, .dst0q, .tmp0d, ._, ._ },
......@@ -48966,7 +53022,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4896653022 }, .{
4896753023 .required_features = .{ .@"64bit", .f16c, null, null },
4896853024 .src_constraints = .{ .{ .float = .word }, .any, .any },
48969 .dst_constraints = .{.{ .unsigned_int = .qword }},
53025 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
4897053026 .patterns = &.{
4897153027 .{ .src = .{ .to_sse, .none, .none } },
4897253028 },
......@@ -48981,7 +53037,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4898153037 .unused,
4898253038 .unused,
4898353039 },
48984 .dst_temps = .{.{ .rc = .general_purpose }},
53040 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
4898553041 .each = .{ .once = &.{
4898653042 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },
4898753043 .{ ._, .v_, .cvttss2si, .dst0d, .tmp0d, ._, ._ },
......@@ -48989,7 +53045,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4898953045 }, .{
4899053046 .required_features = .{ .@"64bit", .f16c, null, null },
4899153047 .src_constraints = .{ .{ .float = .word }, .any, .any },
48992 .dst_constraints = .{.{ .signed_int = .xword }},
53048 .dst_constraints = .{ .{ .signed_int = .xword }, .any },
4899353049 .patterns = &.{
4899453050 .{ .src = .{ .to_sse, .none, .none } },
4899553051 },
......@@ -49004,7 +53060,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4900453060 .unused,
4900553061 .unused,
4900653062 },
49007 .dst_temps = .{.mem},
53063 .dst_temps = .{ .mem, .unused },
4900853064 .clobbers = .{ .eflags = true },
4900953065 .each = .{ .once = &.{
4901053066 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },
......@@ -49016,7 +53072,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4901653072 }, .{
4901753073 .required_features = .{ .@"64bit", .f16c, null, null },
4901853074 .src_constraints = .{ .{ .float = .word }, .any, .any },
49019 .dst_constraints = .{.{ .unsigned_int = .xword }},
53075 .dst_constraints = .{ .{ .unsigned_int = .xword }, .any },
4902053076 .patterns = &.{
4902153077 .{ .src = .{ .to_sse, .none, .none } },
4902253078 },
......@@ -49031,7 +53087,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4903153087 .unused,
4903253088 .unused,
4903353089 },
49034 .dst_temps = .{.mem},
53090 .dst_temps = .{ .mem, .unused },
4903553091 .each = .{ .once = &.{
4903653092 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },
4903753093 .{ ._, .v_, .cvttss2si, .tmp1q, .tmp0d, ._, ._ },
......@@ -49041,7 +53097,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4904153097 }, .{
4904253098 .required_features = .{ .@"64bit", .f16c, null, null },
4904353099 .src_constraints = .{ .{ .float = .word }, .any, .any },
49044 .dst_constraints = .{.{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }},
53100 .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any },
4904553101 .patterns = &.{
4904653102 .{ .src = .{ .to_sse, .none, .none } },
4904753103 },
......@@ -49056,7 +53112,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4905653112 .unused,
4905753113 .unused,
4905853114 },
49059 .dst_temps = .{.mem},
53115 .dst_temps = .{ .mem, .unused },
4906053116 .clobbers = .{ .eflags = true },
4906153117 .each = .{ .once = &.{
4906253118 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },
......@@ -49070,7 +53126,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4907053126 }, .{
4907153127 .required_features = .{ .@"64bit", .f16c, null, null },
4907253128 .src_constraints = .{ .{ .float = .word }, .any, .any },
49073 .dst_constraints = .{.{ .remainder_unsigned_int = .{ .of = .qword, .is = .qword } }},
53129 .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
4907453130 .patterns = &.{
4907553131 .{ .src = .{ .to_sse, .none, .none } },
4907653132 },
......@@ -49085,7 +53141,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4908553141 .unused,
4908653142 .unused,
4908753143 },
49088 .dst_temps = .{.mem},
53144 .dst_temps = .{ .mem, .unused },
4908953145 .clobbers = .{ .eflags = true },
4909053146 .each = .{ .once = &.{
4909153147 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },
......@@ -49099,7 +53155,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4909953155 }, .{
4910053156 .required_features = .{ .sse, null, null, null },
4910153157 .src_constraints = .{ .{ .float = .word }, .any, .any },
49102 .dst_constraints = .{.{ .signed_int = .dword }},
53158 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
4910353159 .patterns = &.{
4910453160 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
4910553161 },
......@@ -49115,7 +53171,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4911553171 .unused,
4911653172 .unused,
4911753173 },
49118 .dst_temps = .{.{ .reg = .eax }},
53174 .dst_temps = .{ .{ .reg = .eax }, .unused },
4911953175 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4912053176 .each = .{ .once = &.{
4912153177 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -49123,7 +53179,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4912353179 }, .{
4912453180 .required_features = .{ .sse, null, null, null },
4912553181 .src_constraints = .{ .{ .float = .word }, .any, .any },
49126 .dst_constraints = .{.{ .unsigned_int = .dword }},
53182 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
4912753183 .patterns = &.{
4912853184 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
4912953185 },
......@@ -49139,7 +53195,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4913953195 .unused,
4914053196 .unused,
4914153197 },
49142 .dst_temps = .{.{ .reg = .eax }},
53198 .dst_temps = .{ .{ .reg = .eax }, .unused },
4914353199 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4914453200 .each = .{ .once = &.{
4914553201 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -49147,7 +53203,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4914753203 }, .{
4914853204 .required_features = .{ .@"64bit", .sse, null, null },
4914953205 .src_constraints = .{ .{ .float = .word }, .any, .any },
49150 .dst_constraints = .{.{ .signed_int = .qword }},
53206 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
4915153207 .patterns = &.{
4915253208 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
4915353209 },
......@@ -49163,7 +53219,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4916353219 .unused,
4916453220 .unused,
4916553221 },
49166 .dst_temps = .{.{ .reg = .rax }},
53222 .dst_temps = .{ .{ .reg = .rax }, .unused },
4916753223 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4916853224 .each = .{ .once = &.{
4916953225 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -49171,7 +53227,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4917153227 }, .{
4917253228 .required_features = .{ .@"64bit", .sse, null, null },
4917353229 .src_constraints = .{ .{ .float = .word }, .any, .any },
49174 .dst_constraints = .{.{ .unsigned_int = .qword }},
53230 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
4917553231 .patterns = &.{
4917653232 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
4917753233 },
......@@ -49187,7 +53243,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4918753243 .unused,
4918853244 .unused,
4918953245 },
49190 .dst_temps = .{.{ .reg = .rax }},
53246 .dst_temps = .{ .{ .reg = .rax }, .unused },
4919153247 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4919253248 .each = .{ .once = &.{
4919353249 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -49195,7 +53251,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4919553251 }, .{
4919653252 .required_features = .{ .@"64bit", .sse, null, null },
4919753253 .src_constraints = .{ .{ .float = .word }, .any, .any },
49198 .dst_constraints = .{.{ .signed_int = .xword }},
53254 .dst_constraints = .{ .{ .signed_int = .xword }, .any },
4919953255 .patterns = &.{
4920053256 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
4920153257 },
......@@ -49211,7 +53267,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4921153267 .unused,
4921253268 .unused,
4921353269 },
49214 .dst_temps = .{.{ .reg_pair = .{ .rax, .rdx } }},
53270 .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused },
4921553271 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4921653272 .each = .{ .once = &.{
4921753273 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -49219,7 +53275,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4921953275 }, .{
4922053276 .required_features = .{ .@"64bit", .sse, null, null },
4922153277 .src_constraints = .{ .{ .float = .word }, .any, .any },
49222 .dst_constraints = .{.{ .unsigned_int = .xword }},
53278 .dst_constraints = .{ .{ .unsigned_int = .xword }, .any },
4922353279 .patterns = &.{
4922453280 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
4922553281 },
......@@ -49235,7 +53291,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4923553291 .unused,
4923653292 .unused,
4923753293 },
49238 .dst_temps = .{.{ .reg_pair = .{ .rax, .rdx } }},
53294 .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused },
4923953295 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4924053296 .each = .{ .once = &.{
4924153297 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -49243,7 +53299,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4924353299 }, .{
4924453300 .required_features = .{ .@"64bit", .sse, null, null },
4924553301 .src_constraints = .{ .{ .float = .word }, .any, .any },
49246 .dst_constraints = .{.{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }},
53302 .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any },
4924753303 .patterns = &.{
4924853304 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
4924953305 },
......@@ -49259,7 +53315,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4925953315 .unused,
4926053316 .unused,
4926153317 },
49262 .dst_temps = .{.mem},
53318 .dst_temps = .{ .mem, .unused },
4926353319 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4926453320 .each = .{ .once = &.{
4926553321 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -49272,7 +53328,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4927253328 }, .{
4927353329 .required_features = .{ .@"64bit", .sse, null, null },
4927453330 .src_constraints = .{ .{ .float = .word }, .any, .any },
49275 .dst_constraints = .{.{ .remainder_unsigned_int = .{ .of = .qword, .is = .qword } }},
53331 .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
4927653332 .patterns = &.{
4927753333 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
4927853334 },
......@@ -49288,7 +53344,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4928853344 .unused,
4928953345 .unused,
4929053346 },
49291 .dst_temps = .{.mem},
53347 .dst_temps = .{ .mem, .unused },
4929253348 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4929353349 .each = .{ .once = &.{
4929453350 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -49301,7 +53357,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4930153357 }, .{
4930253358 .required_features = .{ .f16c, null, null, null },
4930353359 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .word } }, .any, .any },
49304 .dst_constraints = .{.{ .scalar_int = .{ .of = .dword, .is = .byte } }},
53360 .dst_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any },
4930553361 .patterns = &.{
4930653362 .{ .src = .{ .mem, .none, .none } },
4930753363 .{ .src = .{ .to_sse, .none, .none } },
......@@ -49317,7 +53373,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4931753373 .unused,
4931853374 .unused,
4931953375 },
49320 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
53376 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4932153377 .each = .{ .once = &.{
4932253378 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
4932353379 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
......@@ -49327,7 +53383,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4932753383 }, .{
4932853384 .required_features = .{ .f16c, null, null, null },
4932953385 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any },
49330 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .dword, .is = .byte } }},
53386 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .byte } }, .any },
4933153387 .patterns = &.{
4933253388 .{ .src = .{ .to_mem, .none, .none } },
4933353389 },
......@@ -49342,7 +53398,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4934253398 .unused,
4934353399 .unused,
4934453400 },
49345 .dst_temps = .{.mem},
53401 .dst_temps = .{ .mem, .unused },
4934653402 .each = .{ .once = &.{
4934753403 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
4934853404 .{ ._, .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
......@@ -49357,7 +53413,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4935753413 }, .{
4935853414 .required_features = .{ .avx, .slow_incdec, null, null },
4935953415 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
49360 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
53416 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
4936153417 .patterns = &.{
4936253418 .{ .src = .{ .to_mem, .none, .none } },
4936353419 },
......@@ -49373,7 +53429,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4937353429 .unused,
4937453430 .unused,
4937553431 },
49376 .dst_temps = .{.mem},
53432 .dst_temps = .{ .mem, .unused },
4937753433 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4937853434 .each = .{ .once = &.{
4937953435 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -49387,7 +53443,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4938753443 }, .{
4938853444 .required_features = .{ .avx, null, null, null },
4938953445 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
49390 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
53446 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
4939153447 .patterns = &.{
4939253448 .{ .src = .{ .to_mem, .none, .none } },
4939353449 },
......@@ -49403,7 +53459,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4940353459 .unused,
4940453460 .unused,
4940553461 },
49406 .dst_temps = .{.mem},
53462 .dst_temps = .{ .mem, .unused },
4940753463 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4940853464 .each = .{ .once = &.{
4940953465 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -49417,7 +53473,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4941753473 }, .{
4941853474 .required_features = .{ .sse2, .slow_incdec, null, null },
4941953475 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
49420 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
53476 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
4942153477 .patterns = &.{
4942253478 .{ .src = .{ .to_mem, .none, .none } },
4942353479 },
......@@ -49433,7 +53489,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4943353489 .unused,
4943453490 .unused,
4943553491 },
49436 .dst_temps = .{.mem},
53492 .dst_temps = .{ .mem, .unused },
4943753493 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4943853494 .each = .{ .once = &.{
4943953495 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -49447,7 +53503,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4944753503 }, .{
4944853504 .required_features = .{ .sse2, null, null, null },
4944953505 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
49450 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
53506 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
4945153507 .patterns = &.{
4945253508 .{ .src = .{ .to_mem, .none, .none } },
4945353509 },
......@@ -49463,7 +53519,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4946353519 .unused,
4946453520 .unused,
4946553521 },
49466 .dst_temps = .{.mem},
53522 .dst_temps = .{ .mem, .unused },
4946753523 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4946853524 .each = .{ .once = &.{
4946953525 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -49477,7 +53533,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4947753533 }, .{
4947853534 .required_features = .{ .sse, .slow_incdec, null, null },
4947953535 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
49480 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
53536 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
4948153537 .patterns = &.{
4948253538 .{ .src = .{ .to_mem, .none, .none } },
4948353539 },
......@@ -49493,7 +53549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4949353549 .unused,
4949453550 .unused,
4949553551 },
49496 .dst_temps = .{.mem},
53552 .dst_temps = .{ .mem, .unused },
4949753553 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4949853554 .each = .{ .once = &.{
4949953555 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -49508,7 +53564,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4950853564 }, .{
4950953565 .required_features = .{ .sse, null, null, null },
4951053566 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
49511 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
53567 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
4951253568 .patterns = &.{
4951353569 .{ .src = .{ .to_mem, .none, .none } },
4951453570 },
......@@ -49524,7 +53580,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4952453580 .unused,
4952553581 .unused,
4952653582 },
49527 .dst_temps = .{.mem},
53583 .dst_temps = .{ .mem, .unused },
4952853584 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4952953585 .each = .{ .once = &.{
4953053586 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -49539,12 +53595,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4953953595 }, .{
4954053596 .required_features = .{ .f16c, null, null, null },
4954153597 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .word } }, .any, .any },
49542 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .dword, .is = .word } }},
53598 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .word } }, .any },
4954353599 .patterns = &.{
4954453600 .{ .src = .{ .mem, .none, .none } },
4954553601 .{ .src = .{ .to_sse, .none, .none } },
4954653602 },
49547 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
53603 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4954853604 .each = .{ .once = &.{
4954953605 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
4955053606 .{ ._, .v_, .cvttps2dq, .dst0x, .dst0x, ._, ._ },
......@@ -49553,12 +53609,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4955353609 }, .{
4955453610 .required_features = .{ .f16c, null, null, null },
4955553611 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .word } }, .any, .any },
49556 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .qword, .is = .word } }},
53612 .dst_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any },
4955753613 .patterns = &.{
4955853614 .{ .src = .{ .mem, .none, .none } },
4955953615 .{ .src = .{ .to_sse, .none, .none } },
4956053616 },
49561 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
53617 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
4956253618 .each = .{ .once = &.{
4956353619 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
4956453620 .{ ._, .v_, .cvttps2dq, .dst0x, .dst0x, ._, ._ },
......@@ -49567,7 +53623,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4956753623 }, .{
4956853624 .required_features = .{ .f16c, null, null, null },
4956953625 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any },
49570 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }},
53626 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any },
4957153627 .patterns = &.{
4957253628 .{ .src = .{ .to_mem, .none, .none } },
4957353629 },
......@@ -49582,7 +53638,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4958253638 .unused,
4958353639 .unused,
4958453640 },
49585 .dst_temps = .{.mem},
53641 .dst_temps = .{ .mem, .unused },
4958653642 .each = .{ .once = &.{
4958753643 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4958853644 .{ .@"0:", .v_ps, .cvtph2, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
......@@ -49595,7 +53651,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4959553651 }, .{
4959653652 .required_features = .{ .f16c, null, null, null },
4959753653 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any },
49598 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .word } }},
53654 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any },
4959953655 .patterns = &.{
4960053656 .{ .src = .{ .to_mem, .none, .none } },
4960153657 },
......@@ -49610,7 +53666,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4961053666 .unused,
4961153667 .unused,
4961253668 },
49613 .dst_temps = .{.mem},
53669 .dst_temps = .{ .mem, .unused },
4961453670 .each = .{ .once = &.{
4961553671 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4961653672 .{ .@"0:", .v_ps, .cvtph2, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
......@@ -49623,7 +53679,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4962353679 }, .{
4962453680 .required_features = .{ .avx, null, null, null },
4962553681 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
49626 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .word, .is = .word } }},
53682 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any },
4962753683 .patterns = &.{
4962853684 .{ .src = .{ .to_mem, .none, .none } },
4962953685 },
......@@ -49639,7 +53695,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4963953695 .unused,
4964053696 .unused,
4964153697 },
49642 .dst_temps = .{.mem},
53698 .dst_temps = .{ .mem, .unused },
4964353699 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4964453700 .each = .{ .once = &.{
4964553701 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -49653,7 +53709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4965353709 }, .{
4965453710 .required_features = .{ .sse2, null, null, null },
4965553711 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
49656 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .word, .is = .word } }},
53712 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any },
4965753713 .patterns = &.{
4965853714 .{ .src = .{ .to_mem, .none, .none } },
4965953715 },
......@@ -49669,7 +53725,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4966953725 .unused,
4967053726 .unused,
4967153727 },
49672 .dst_temps = .{.mem},
53728 .dst_temps = .{ .mem, .unused },
4967353729 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4967453730 .each = .{ .once = &.{
4967553731 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -49683,7 +53739,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4968353739 }, .{
4968453740 .required_features = .{ .sse, null, null, null },
4968553741 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
49686 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .word, .is = .word } }},
53742 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any },
4968753743 .patterns = &.{
4968853744 .{ .src = .{ .to_mem, .none, .none } },
4968953745 },
......@@ -49699,7 +53755,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4969953755 .unused,
4970053756 .unused,
4970153757 },
49702 .dst_temps = .{.mem},
53758 .dst_temps = .{ .mem, .unused },
4970353759 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4970453760 .each = .{ .once = &.{
4970553761 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -49714,7 +53770,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4971453770 }, .{
4971553771 .required_features = .{ .f16c, null, null, null },
4971653772 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any },
49717 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }},
53773 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any },
4971853774 .patterns = &.{
4971953775 .{ .src = .{ .to_mem, .none, .none } },
4972053776 },
......@@ -49729,7 +53785,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4972953785 .unused,
4973053786 .unused,
4973153787 },
49732 .dst_temps = .{.mem},
53788 .dst_temps = .{ .mem, .unused },
4973353789 .each = .{ .once = &.{
4973453790 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4973553791 .{ .@"0:", .v_ps, .cvtph2, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
......@@ -49741,7 +53797,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4974153797 }, .{
4974253798 .required_features = .{ .f16c, null, null, null },
4974353799 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
49744 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
53800 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
4974553801 .patterns = &.{
4974653802 .{ .src = .{ .to_mem, .none, .none } },
4974753803 },
......@@ -49756,7 +53812,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4975653812 .unused,
4975753813 .unused,
4975853814 },
49759 .dst_temps = .{.mem},
53815 .dst_temps = .{ .mem, .unused },
4976053816 .each = .{ .once = &.{
4976153817 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4976253818 .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ },
......@@ -49770,7 +53826,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4977053826 }, .{
4977153827 .required_features = .{ .avx, null, null, null },
4977253828 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
49773 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }},
53829 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any },
4977453830 .patterns = &.{
4977553831 .{ .src = .{ .to_mem, .none, .none } },
4977653832 },
......@@ -49786,7 +53842,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4978653842 .unused,
4978753843 .unused,
4978853844 },
49789 .dst_temps = .{.mem},
53845 .dst_temps = .{ .mem, .unused },
4979053846 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4979153847 .each = .{ .once = &.{
4979253848 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -49800,7 +53856,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4980053856 }, .{
4980153857 .required_features = .{ .avx, null, null, null },
4980253858 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
49803 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
53859 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
4980453860 .patterns = &.{
4980553861 .{ .src = .{ .to_mem, .none, .none } },
4980653862 },
......@@ -49816,7 +53872,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4981653872 .unused,
4981753873 .unused,
4981853874 },
49819 .dst_temps = .{.mem},
53875 .dst_temps = .{ .mem, .unused },
4982053876 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4982153877 .each = .{ .once = &.{
4982253878 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -49830,7 +53886,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4983053886 }, .{
4983153887 .required_features = .{ .sse2, null, null, null },
4983253888 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
49833 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }},
53889 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any },
4983453890 .patterns = &.{
4983553891 .{ .src = .{ .to_mem, .none, .none } },
4983653892 },
......@@ -49846,7 +53902,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4984653902 .unused,
4984753903 .unused,
4984853904 },
49849 .dst_temps = .{.mem},
53905 .dst_temps = .{ .mem, .unused },
4985053906 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4985153907 .each = .{ .once = &.{
4985253908 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -49860,7 +53916,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4986053916 }, .{
4986153917 .required_features = .{ .sse2, null, null, null },
4986253918 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
49863 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
53919 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
4986453920 .patterns = &.{
4986553921 .{ .src = .{ .to_mem, .none, .none } },
4986653922 },
......@@ -49876,7 +53932,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4987653932 .unused,
4987753933 .unused,
4987853934 },
49879 .dst_temps = .{.mem},
53935 .dst_temps = .{ .mem, .unused },
4988053936 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4988153937 .each = .{ .once = &.{
4988253938 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -49890,7 +53946,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4989053946 }, .{
4989153947 .required_features = .{ .sse, null, null, null },
4989253948 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
49893 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }},
53949 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any },
4989453950 .patterns = &.{
4989553951 .{ .src = .{ .to_mem, .none, .none } },
4989653952 },
......@@ -49906,7 +53962,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4990653962 .unused,
4990753963 .unused,
4990853964 },
49909 .dst_temps = .{.mem},
53965 .dst_temps = .{ .mem, .unused },
4991053966 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4991153967 .each = .{ .once = &.{
4991253968 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -49921,7 +53977,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4992153977 }, .{
4992253978 .required_features = .{ .sse, null, null, null },
4992353979 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
49924 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
53980 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
4992553981 .patterns = &.{
4992653982 .{ .src = .{ .to_mem, .none, .none } },
4992753983 },
......@@ -49937,7 +53993,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4993753993 .unused,
4993853994 .unused,
4993953995 },
49940 .dst_temps = .{.mem},
53996 .dst_temps = .{ .mem, .unused },
4994153997 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
4994253998 .each = .{ .once = &.{
4994353999 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -49952,7 +54008,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4995254008 }, .{
4995354009 .required_features = .{ .@"64bit", .f16c, null, null },
4995454010 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
49955 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }},
54011 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
4995654012 .patterns = &.{
4995754013 .{ .src = .{ .to_mem, .none, .none } },
4995854014 },
......@@ -49967,7 +54023,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4996754023 .unused,
4996854024 .unused,
4996954025 },
49970 .dst_temps = .{.mem},
54026 .dst_temps = .{ .mem, .unused },
4997154027 .each = .{ .once = &.{
4997254028 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
4997354029 .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ },
......@@ -49981,7 +54037,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4998154037 }, .{
4998254038 .required_features = .{ .avx, null, null, null },
4998354039 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
49984 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }},
54040 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
4998554041 .patterns = &.{
4998654042 .{ .src = .{ .to_mem, .none, .none } },
4998754043 },
......@@ -49997,7 +54053,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4999754053 .unused,
4999854054 .unused,
4999954055 },
50000 .dst_temps = .{.mem},
54056 .dst_temps = .{ .mem, .unused },
5000154057 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5000254058 .each = .{ .once = &.{
5000354059 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -50011,7 +54067,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5001154067 }, .{
5001254068 .required_features = .{ .avx, null, null, null },
5001354069 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
50014 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }},
54070 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
5001554071 .patterns = &.{
5001654072 .{ .src = .{ .to_mem, .none, .none } },
5001754073 },
......@@ -50027,7 +54083,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5002754083 .unused,
5002854084 .unused,
5002954085 },
50030 .dst_temps = .{.mem},
54086 .dst_temps = .{ .mem, .unused },
5003154087 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5003254088 .each = .{ .once = &.{
5003354089 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -50041,7 +54097,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5004154097 }, .{
5004254098 .required_features = .{ .sse2, null, null, null },
5004354099 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
50044 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }},
54100 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
5004554101 .patterns = &.{
5004654102 .{ .src = .{ .to_mem, .none, .none } },
5004754103 },
......@@ -50057,7 +54113,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5005754113 .unused,
5005854114 .unused,
5005954115 },
50060 .dst_temps = .{.mem},
54116 .dst_temps = .{ .mem, .unused },
5006154117 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5006254118 .each = .{ .once = &.{
5006354119 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -50071,7 +54127,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5007154127 }, .{
5007254128 .required_features = .{ .sse2, null, null, null },
5007354129 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
50074 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }},
54130 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
5007554131 .patterns = &.{
5007654132 .{ .src = .{ .to_mem, .none, .none } },
5007754133 },
......@@ -50087,7 +54143,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5008754143 .unused,
5008854144 .unused,
5008954145 },
50090 .dst_temps = .{.mem},
54146 .dst_temps = .{ .mem, .unused },
5009154147 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5009254148 .each = .{ .once = &.{
5009354149 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -50101,7 +54157,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5010154157 }, .{
5010254158 .required_features = .{ .sse, null, null, null },
5010354159 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
50104 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }},
54160 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
5010554161 .patterns = &.{
5010654162 .{ .src = .{ .to_mem, .none, .none } },
5010754163 },
......@@ -50117,7 +54173,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5011754173 .unused,
5011854174 .unused,
5011954175 },
50120 .dst_temps = .{.mem},
54176 .dst_temps = .{ .mem, .unused },
5012154177 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5012254178 .each = .{ .once = &.{
5012354179 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -50132,7 +54188,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5013254188 }, .{
5013354189 .required_features = .{ .sse, null, null, null },
5013454190 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
50135 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }},
54191 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
5013654192 .patterns = &.{
5013754193 .{ .src = .{ .to_mem, .none, .none } },
5013854194 },
......@@ -50148,7 +54204,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5014854204 .unused,
5014954205 .unused,
5015054206 },
50151 .dst_temps = .{.mem},
54207 .dst_temps = .{ .mem, .unused },
5015254208 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5015354209 .each = .{ .once = &.{
5015454210 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -50163,7 +54219,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5016354219 }, .{
5016454220 .required_features = .{ .avx, null, null, null },
5016554221 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
50166 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }},
54222 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any },
5016754223 .patterns = &.{
5016854224 .{ .src = .{ .to_mem, .none, .none } },
5016954225 },
......@@ -50179,7 +54235,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5017954235 .unused,
5018054236 .unused,
5018154237 },
50182 .dst_temps = .{.mem},
54238 .dst_temps = .{ .mem, .unused },
5018354239 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5018454240 .each = .{ .once = &.{
5018554241 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -50194,7 +54250,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5019454250 }, .{
5019554251 .required_features = .{ .avx, null, null, null },
5019654252 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
50197 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }},
54253 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any },
5019854254 .patterns = &.{
5019954255 .{ .src = .{ .to_mem, .none, .none } },
5020054256 },
......@@ -50210,7 +54266,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5021054266 .unused,
5021154267 .unused,
5021254268 },
50213 .dst_temps = .{.mem},
54269 .dst_temps = .{ .mem, .unused },
5021454270 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5021554271 .each = .{ .once = &.{
5021654272 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -50225,7 +54281,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5022554281 }, .{
5022654282 .required_features = .{ .sse2, null, null, null },
5022754283 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
50228 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }},
54284 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any },
5022954285 .patterns = &.{
5023054286 .{ .src = .{ .to_mem, .none, .none } },
5023154287 },
......@@ -50241,7 +54297,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5024154297 .unused,
5024254298 .unused,
5024354299 },
50244 .dst_temps = .{.mem},
54300 .dst_temps = .{ .mem, .unused },
5024554301 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5024654302 .each = .{ .once = &.{
5024754303 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -50256,7 +54312,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5025654312 }, .{
5025754313 .required_features = .{ .sse2, null, null, null },
5025854314 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
50259 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }},
54315 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any },
5026054316 .patterns = &.{
5026154317 .{ .src = .{ .to_mem, .none, .none } },
5026254318 },
......@@ -50272,7 +54328,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5027254328 .unused,
5027354329 .unused,
5027454330 },
50275 .dst_temps = .{.mem},
54331 .dst_temps = .{ .mem, .unused },
5027654332 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5027754333 .each = .{ .once = &.{
5027854334 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -50287,7 +54343,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5028754343 }, .{
5028854344 .required_features = .{ .sse, null, null, null },
5028954345 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
50290 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }},
54346 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any },
5029154347 .patterns = &.{
5029254348 .{ .src = .{ .to_mem, .none, .none } },
5029354349 },
......@@ -50303,7 +54359,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5030354359 .unused,
5030454360 .unused,
5030554361 },
50306 .dst_temps = .{.mem},
54362 .dst_temps = .{ .mem, .unused },
5030754363 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5030854364 .each = .{ .once = &.{
5030954365 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -50319,7 +54375,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5031954375 }, .{
5032054376 .required_features = .{ .sse, null, null, null },
5032154377 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
50322 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }},
54378 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any },
5032354379 .patterns = &.{
5032454380 .{ .src = .{ .to_mem, .none, .none } },
5032554381 },
......@@ -50335,7 +54391,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5033554391 .unused,
5033654392 .unused,
5033754393 },
50338 .dst_temps = .{.mem},
54394 .dst_temps = .{ .mem, .unused },
5033954395 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5034054396 .each = .{ .once = &.{
5034154397 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -50351,7 +54407,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5035154407 }, .{
5035254408 .required_features = .{ .@"64bit", .avx, null, null },
5035354409 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
50354 .dst_constraints = .{.{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }},
54410 .dst_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any },
5035554411 .patterns = &.{
5035654412 .{ .src = .{ .to_mem, .none, .none } },
5035754413 },
......@@ -50367,7 +54423,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5036754423 .unused,
5036854424 .unused,
5036954425 },
50370 .dst_temps = .{.mem},
54426 .dst_temps = .{ .mem, .unused },
5037154427 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5037254428 .each = .{ .once = &.{
5037354429 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -50384,7 +54440,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5038454440 }, .{
5038554441 .required_features = .{ .@"64bit", .avx, null, null },
5038654442 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
50387 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }},
54443 .dst_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
5038854444 .patterns = &.{
5038954445 .{ .src = .{ .to_mem, .none, .none } },
5039054446 },
......@@ -50400,7 +54456,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5040054456 .unused,
5040154457 .unused,
5040254458 },
50403 .dst_temps = .{.mem},
54459 .dst_temps = .{ .mem, .unused },
5040454460 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5040554461 .each = .{ .once = &.{
5040654462 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -50417,7 +54473,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5041754473 }, .{
5041854474 .required_features = .{ .@"64bit", .sse2, null, null },
5041954475 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
50420 .dst_constraints = .{.{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }},
54476 .dst_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any },
5042154477 .patterns = &.{
5042254478 .{ .src = .{ .to_mem, .none, .none } },
5042354479 },
......@@ -50433,7 +54489,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5043354489 .unused,
5043454490 .unused,
5043554491 },
50436 .dst_temps = .{.mem},
54492 .dst_temps = .{ .mem, .unused },
5043754493 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5043854494 .each = .{ .once = &.{
5043954495 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -50450,7 +54506,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5045054506 }, .{
5045154507 .required_features = .{ .@"64bit", .sse2, null, null },
5045254508 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
50453 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }},
54509 .dst_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
5045454510 .patterns = &.{
5045554511 .{ .src = .{ .to_mem, .none, .none } },
5045654512 },
......@@ -50466,7 +54522,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5046654522 .unused,
5046754523 .unused,
5046854524 },
50469 .dst_temps = .{.mem},
54525 .dst_temps = .{ .mem, .unused },
5047054526 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5047154527 .each = .{ .once = &.{
5047254528 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -50483,7 +54539,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5048354539 }, .{
5048454540 .required_features = .{ .@"64bit", .sse, null, null },
5048554541 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
50486 .dst_constraints = .{.{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }},
54542 .dst_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any },
5048754543 .patterns = &.{
5048854544 .{ .src = .{ .to_mem, .none, .none } },
5048954545 },
......@@ -50499,7 +54555,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5049954555 .unused,
5050054556 .unused,
5050154557 },
50502 .dst_temps = .{.mem},
54558 .dst_temps = .{ .mem, .unused },
5050354559 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5050454560 .each = .{ .once = &.{
5050554561 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -50517,7 +54573,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5051754573 }, .{
5051854574 .required_features = .{ .@"64bit", .sse, null, null },
5051954575 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any },
50520 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }},
54576 .dst_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
5052154577 .patterns = &.{
5052254578 .{ .src = .{ .to_mem, .none, .none } },
5052354579 },
......@@ -50533,7 +54589,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5053354589 .unused,
5053454590 .unused,
5053554591 },
50536 .dst_temps = .{.mem},
54592 .dst_temps = .{ .mem, .unused },
5053754593 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5053854594 .each = .{ .once = &.{
5053954595 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -50551,55 +54607,55 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5055154607 }, .{
5055254608 .required_features = .{ .avx, null, null, null },
5055354609 .src_constraints = .{ .{ .float = .dword }, .any, .any },
50554 .dst_constraints = .{.{ .signed_or_exclusive_int = .dword }},
54610 .dst_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any },
5055554611 .patterns = &.{
5055654612 .{ .src = .{ .mem, .none, .none } },
5055754613 .{ .src = .{ .to_sse, .none, .none } },
5055854614 },
50559 .dst_temps = .{.{ .rc = .general_purpose }},
54615 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
5056054616 .each = .{ .once = &.{
5056154617 .{ ._, .v_, .cvttss2si, .dst0d, .src0d, ._, ._ },
5056254618 } },
5056354619 }, .{
5056454620 .required_features = .{ .sse, null, null, null },
5056554621 .src_constraints = .{ .{ .float = .dword }, .any, .any },
50566 .dst_constraints = .{.{ .signed_or_exclusive_int = .dword }},
54622 .dst_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any },
5056754623 .patterns = &.{
5056854624 .{ .src = .{ .mem, .none, .none } },
5056954625 .{ .src = .{ .to_sse, .none, .none } },
5057054626 },
50571 .dst_temps = .{.{ .rc = .general_purpose }},
54627 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
5057254628 .each = .{ .once = &.{
5057354629 .{ ._, ._, .cvttss2si, .dst0d, .src0d, ._, ._ },
5057454630 } },
5057554631 }, .{
5057654632 .required_features = .{ .@"64bit", .avx, null, null },
5057754633 .src_constraints = .{ .{ .float = .dword }, .any, .any },
50578 .dst_constraints = .{.{ .signed_or_exclusive_int = .qword }},
54634 .dst_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any },
5057954635 .patterns = &.{
5058054636 .{ .src = .{ .mem, .none, .none } },
5058154637 .{ .src = .{ .to_sse, .none, .none } },
5058254638 },
50583 .dst_temps = .{.{ .rc = .general_purpose }},
54639 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
5058454640 .each = .{ .once = &.{
5058554641 .{ ._, .v_, .cvttss2si, .dst0q, .src0d, ._, ._ },
5058654642 } },
5058754643 }, .{
5058854644 .required_features = .{ .@"64bit", .sse, null, null },
5058954645 .src_constraints = .{ .{ .float = .dword }, .any, .any },
50590 .dst_constraints = .{.{ .signed_or_exclusive_int = .qword }},
54646 .dst_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any },
5059154647 .patterns = &.{
5059254648 .{ .src = .{ .mem, .none, .none } },
5059354649 .{ .src = .{ .to_sse, .none, .none } },
5059454650 },
50595 .dst_temps = .{.{ .rc = .general_purpose }},
54651 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
5059654652 .each = .{ .once = &.{
5059754653 .{ ._, ._, .cvttss2si, .dst0q, .src0d, ._, ._ },
5059854654 } },
5059954655 }, .{
5060054656 .required_features = .{ .@"64bit", .avx, null, null },
5060154657 .src_constraints = .{ .{ .float = .dword }, .any, .any },
50602 .dst_constraints = .{.{ .exact_unsigned_int = 64 }},
54658 .dst_constraints = .{ .{ .exact_unsigned_int = 64 }, .any },
5060354659 .patterns = &.{
5060454660 .{ .src = .{ .to_sse, .none, .none } },
5060554661 },
......@@ -50614,7 +54670,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5061454670 .unused,
5061554671 .unused,
5061654672 },
50617 .dst_temps = .{.{ .rc = .general_purpose }},
54673 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
5061854674 .clobbers = .{ .eflags = true },
5061954675 .each = .{ .once = &.{
5062054676 .{ ._, ._, .lea, .tmp1p, .mem(.tmp3), ._, ._ },
......@@ -50629,7 +54685,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5062954685 }, .{
5063054686 .required_features = .{ .@"64bit", .sse, null, null },
5063154687 .src_constraints = .{ .{ .float = .dword }, .any, .any },
50632 .dst_constraints = .{.{ .exact_unsigned_int = 64 }},
54688 .dst_constraints = .{ .{ .exact_unsigned_int = 64 }, .any },
5063354689 .patterns = &.{
5063454690 .{ .src = .{ .to_mut_sse, .none, .none } },
5063554691 },
......@@ -50644,7 +54700,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5064454700 .unused,
5064554701 .unused,
5064654702 },
50647 .dst_temps = .{.{ .rc = .general_purpose }},
54703 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
5064854704 .clobbers = .{ .eflags = true },
5064954705 .each = .{ .once = &.{
5065054706 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
......@@ -50659,7 +54715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5065954715 }, .{
5066054716 .required_features = .{ .@"64bit", .sse, null, null },
5066154717 .src_constraints = .{ .{ .float = .dword }, .any, .any },
50662 .dst_constraints = .{.{ .signed_int = .xword }},
54718 .dst_constraints = .{ .{ .signed_int = .xword }, .any },
5066354719 .patterns = &.{
5066454720 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
5066554721 },
......@@ -50675,7 +54731,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5067554731 .unused,
5067654732 .unused,
5067754733 },
50678 .dst_temps = .{.{ .reg_pair = .{ .rax, .rdx } }},
54734 .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused },
5067954735 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5068054736 .each = .{ .once = &.{
5068154737 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -50683,7 +54739,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5068354739 }, .{
5068454740 .required_features = .{ .@"64bit", .sse, null, null },
5068554741 .src_constraints = .{ .{ .float = .dword }, .any, .any },
50686 .dst_constraints = .{.{ .unsigned_int = .xword }},
54742 .dst_constraints = .{ .{ .unsigned_int = .xword }, .any },
5068754743 .patterns = &.{
5068854744 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
5068954745 },
......@@ -50699,7 +54755,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5069954755 .unused,
5070054756 .unused,
5070154757 },
50702 .dst_temps = .{.{ .reg_pair = .{ .rax, .rdx } }},
54758 .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused },
5070354759 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5070454760 .each = .{ .once = &.{
5070554761 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -50707,7 +54763,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5070754763 }, .{
5070854764 .required_features = .{ .@"64bit", .avx, null, null },
5070954765 .src_constraints = .{ .{ .float = .dword }, .any, .any },
50710 .dst_constraints = .{.{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }},
54766 .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any },
5071154767 .patterns = &.{
5071254768 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
5071354769 },
......@@ -50723,7 +54779,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5072354779 .unused,
5072454780 .unused,
5072554781 },
50726 .dst_temps = .{.mem},
54782 .dst_temps = .{ .mem, .unused },
5072754783 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5072854784 .each = .{ .once = &.{
5072954785 .{ ._, .v_d, .mov, .tmp0d, .src0x, ._, ._ },
......@@ -50746,7 +54802,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5074654802 }, .{
5074754803 .required_features = .{ .@"64bit", .sse2, null, null },
5074854804 .src_constraints = .{ .{ .float = .dword }, .any, .any },
50749 .dst_constraints = .{.{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }},
54805 .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any },
5075054806 .patterns = &.{
5075154807 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
5075254808 },
......@@ -50762,7 +54818,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5076254818 .unused,
5076354819 .unused,
5076454820 },
50765 .dst_temps = .{.mem},
54821 .dst_temps = .{ .mem, .unused },
5076654822 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5076754823 .each = .{ .once = &.{
5076854824 .{ ._, ._d, .mov, .tmp0d, .src0x, ._, ._ },
......@@ -50785,7 +54841,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5078554841 }, .{
5078654842 .required_features = .{ .@"64bit", .sse, null, null },
5078754843 .src_constraints = .{ .{ .float = .dword }, .any, .any },
50788 .dst_constraints = .{.{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }},
54844 .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any },
5078954845 .patterns = &.{
5079054846 .{ .src = .{ .to_mem, .none, .none } },
5079154847 },
......@@ -50801,7 +54857,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5080154857 .unused,
5080254858 .unused,
5080354859 },
50804 .dst_temps = .{.mem},
54860 .dst_temps = .{ .mem, .unused },
5080554861 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5080654862 .each = .{ .once = &.{
5080754863 .{ ._, ._ss, .mov, .tmp0x, .src0d, ._, ._ },
......@@ -50824,7 +54880,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5082454880 }, .{
5082554881 .required_features = .{ .@"64bit", .sse, null, null },
5082654882 .src_constraints = .{ .{ .float = .dword }, .any, .any },
50827 .dst_constraints = .{.{ .remainder_unsigned_int = .{ .of = .qword, .is = .qword } }},
54883 .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
5082854884 .patterns = &.{
5082954885 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
5083054886 },
......@@ -50840,7 +54896,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5084054896 .unused,
5084154897 .unused,
5084254898 },
50843 .dst_temps = .{.mem},
54899 .dst_temps = .{ .mem, .unused },
5084454900 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5084554901 .each = .{ .once = &.{
5084654902 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -50854,7 +54910,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5085454910 }, .{
5085554911 .required_features = .{ .avx, null, null, null },
5085654912 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },
50857 .dst_constraints = .{.{ .scalar_int = .{ .of = .dword, .is = .byte } }},
54913 .dst_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any },
5085854914 .patterns = &.{
5085954915 .{ .src = .{ .mem, .none, .none } },
5086054916 .{ .src = .{ .to_sse, .none, .none } },
......@@ -50870,7 +54926,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5087054926 .unused,
5087154927 .unused,
5087254928 },
50873 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
54929 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5087454930 .each = .{ .once = &.{
5087554931 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
5087654932 .{ ._, .v_, .cvttps2dq, .dst0x, .src0x, ._, ._ },
......@@ -50879,7 +54935,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5087954935 }, .{
5088054936 .required_features = .{ .ssse3, null, null, null },
5088154937 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },
50882 .dst_constraints = .{.{ .scalar_int = .{ .of = .dword, .is = .byte } }},
54938 .dst_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any },
5088354939 .patterns = &.{
5088454940 .{ .src = .{ .mem, .none, .none } },
5088554941 .{ .src = .{ .to_sse, .none, .none } },
......@@ -50895,7 +54951,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5089554951 .unused,
5089654952 .unused,
5089754953 },
50898 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
54954 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5089954955 .each = .{ .once = &.{
5090054956 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
5090154957 .{ ._, ._, .cvttps2dq, .dst0x, .src0x, ._, ._ },
......@@ -50904,7 +54960,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5090454960 }, .{
5090554961 .required_features = .{ .avx, null, null, null },
5090654962 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },
50907 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .dword, .is = .byte } }},
54963 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .byte } }, .any },
5090854964 .patterns = &.{
5090954965 .{ .src = .{ .to_mem, .none, .none } },
5091054966 },
......@@ -50919,7 +54975,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5091954975 .unused,
5092054976 .unused,
5092154977 },
50922 .dst_temps = .{.mem},
54978 .dst_temps = .{ .mem, .unused },
5092354979 .each = .{ .once = &.{
5092454980 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
5092554981 .{ ._, .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
......@@ -50933,7 +54989,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5093354989 }, .{
5093454990 .required_features = .{ .ssse3, null, null, null },
5093554991 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },
50936 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .dword, .is = .byte } }},
54992 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .byte } }, .any },
5093754993 .patterns = &.{
5093854994 .{ .src = .{ .to_mem, .none, .none } },
5093954995 },
......@@ -50948,7 +55004,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5094855004 .unused,
5094955005 .unused,
5095055006 },
50951 .dst_temps = .{.mem},
55007 .dst_temps = .{ .mem, .unused },
5095255008 .each = .{ .once = &.{
5095355009 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
5095455010 .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
......@@ -50962,7 +55018,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5096255018 }, .{
5096355019 .required_features = .{ .sse, .slow_incdec, null, null },
5096455020 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
50965 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
55021 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
5096655022 .patterns = &.{
5096755023 .{ .src = .{ .to_mem, .none, .none } },
5096855024 },
......@@ -50977,7 +55033,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5097755033 .unused,
5097855034 .unused,
5097955035 },
50980 .dst_temps = .{.mem},
55036 .dst_temps = .{ .mem, .unused },
5098155037 .each = .{ .once = &.{
5098255038 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
5098355039 .{ .@"0:", ._, .cvttss2si, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ },
......@@ -50988,7 +55044,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5098855044 }, .{
5098955045 .required_features = .{ .sse, null, null, null },
5099055046 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
50991 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
55047 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
5099255048 .patterns = &.{
5099355049 .{ .src = .{ .to_mem, .none, .none } },
5099455050 },
......@@ -51003,7 +55059,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5100355059 .unused,
5100455060 .unused,
5100555061 },
51006 .dst_temps = .{.mem},
55062 .dst_temps = .{ .mem, .unused },
5100755063 .each = .{ .once = &.{
5100855064 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
5100955065 .{ .@"0:", ._, .cvttss2si, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ },
......@@ -51014,7 +55070,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5101455070 }, .{
5101555071 .required_features = .{ .avx, .slow_incdec, null, null },
5101655072 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
51017 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
55073 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
5101855074 .patterns = &.{
5101955075 .{ .src = .{ .to_mem, .none, .none } },
5102055076 },
......@@ -51030,7 +55086,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5103055086 .unused,
5103155087 .unused,
5103255088 },
51033 .dst_temps = .{.mem},
55089 .dst_temps = .{ .mem, .unused },
5103455090 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5103555091 .each = .{ .once = &.{
5103655092 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -51043,7 +55099,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5104355099 }, .{
5104455100 .required_features = .{ .avx, null, null, null },
5104555101 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
51046 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
55102 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
5104755103 .patterns = &.{
5104855104 .{ .src = .{ .to_mem, .none, .none } },
5104955105 },
......@@ -51059,7 +55115,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5105955115 .unused,
5106055116 .unused,
5106155117 },
51062 .dst_temps = .{.mem},
55118 .dst_temps = .{ .mem, .unused },
5106355119 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5106455120 .each = .{ .once = &.{
5106555121 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -51072,7 +55128,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5107255128 }, .{
5107355129 .required_features = .{ .sse, .slow_incdec, null, null },
5107455130 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
51075 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
55131 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
5107655132 .patterns = &.{
5107755133 .{ .src = .{ .to_mem, .none, .none } },
5107855134 },
......@@ -51088,7 +55144,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5108855144 .unused,
5108955145 .unused,
5109055146 },
51091 .dst_temps = .{.mem},
55147 .dst_temps = .{ .mem, .unused },
5109255148 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5109355149 .each = .{ .once = &.{
5109455150 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -51101,7 +55157,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5110155157 }, .{
5110255158 .required_features = .{ .sse, null, null, null },
5110355159 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
51104 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
55160 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
5110555161 .patterns = &.{
5110655162 .{ .src = .{ .to_mem, .none, .none } },
5110755163 },
......@@ -51117,7 +55173,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5111755173 .unused,
5111855174 .unused,
5111955175 },
51120 .dst_temps = .{.mem},
55176 .dst_temps = .{ .mem, .unused },
5112155177 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5112255178 .each = .{ .once = &.{
5112355179 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -51130,12 +55186,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5113055186 }, .{
5113155187 .required_features = .{ .avx, null, null, null },
5113255188 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },
51133 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .qword, .is = .word } }},
55189 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .word } }, .any },
5113455190 .patterns = &.{
5113555191 .{ .src = .{ .mem, .none, .none } },
5113655192 .{ .src = .{ .to_sse, .none, .none } },
5113755193 },
51138 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
55194 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5113955195 .each = .{ .once = &.{
5114055196 .{ ._, .v_, .cvttps2dq, .dst0x, .src0x, ._, ._ },
5114155197 .{ ._, .vp_w, .ackssd, .dst0x, .dst0x, .dst0x, ._ },
......@@ -51143,12 +55199,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5114355199 }, .{
5114455200 .required_features = .{ .sse2, null, null, null },
5114555201 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },
51146 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .qword, .is = .word } }},
55202 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .word } }, .any },
5114755203 .patterns = &.{
5114855204 .{ .src = .{ .mem, .none, .none } },
5114955205 .{ .src = .{ .to_sse, .none, .none } },
5115055206 },
51151 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
55207 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5115255208 .each = .{ .once = &.{
5115355209 .{ ._, ._, .cvttps2dq, .dst0x, .src0x, ._, ._ },
5115455210 .{ ._, .p_w, .ackssd, .dst0x, .dst0x, ._, ._ },
......@@ -51156,12 +55212,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5115655212 }, .{
5115755213 .required_features = .{ .avx, null, null, null },
5115855214 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },
51159 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .qword, .is = .word } }},
55215 .dst_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any },
5116055216 .patterns = &.{
5116155217 .{ .src = .{ .mem, .none, .none } },
5116255218 .{ .src = .{ .to_sse, .none, .none } },
5116355219 },
51164 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
55220 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5116555221 .each = .{ .once = &.{
5116655222 .{ ._, .v_, .cvttps2dq, .dst0x, .src0x, ._, ._ },
5116755223 .{ ._, .vp_w, .ackusd, .dst0x, .dst0x, .dst0x, ._ },
......@@ -51169,12 +55225,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5116955225 }, .{
5117055226 .required_features = .{ .sse4_1, null, null, null },
5117155227 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },
51172 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .qword, .is = .word } }},
55228 .dst_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any },
5117355229 .patterns = &.{
5117455230 .{ .src = .{ .mem, .none, .none } },
5117555231 .{ .src = .{ .to_sse, .none, .none } },
5117655232 },
51177 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
55233 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5117855234 .each = .{ .once = &.{
5117955235 .{ ._, ._, .cvttps2dq, .dst0x, .src0x, ._, ._ },
5118055236 .{ ._, .p_w, .ackusd, .dst0x, .dst0x, ._, ._ },
......@@ -51182,7 +55238,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5118255238 }, .{
5118355239 .required_features = .{ .avx, null, null, null },
5118455240 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },
51185 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }},
55241 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any },
5118655242 .patterns = &.{
5118755243 .{ .src = .{ .to_mem, .none, .none } },
5118855244 },
......@@ -51197,7 +55253,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5119755253 .unused,
5119855254 .unused,
5119955255 },
51200 .dst_temps = .{.mem},
55256 .dst_temps = .{ .mem, .unused },
5120155257 .each = .{ .once = &.{
5120255258 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
5120355259 .{ .@"0:", .v_, .cvttps2dq, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
......@@ -51209,7 +55265,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5120955265 }, .{
5121055266 .required_features = .{ .sse2, null, null, null },
5121155267 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },
51212 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }},
55268 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any },
5121355269 .patterns = &.{
5121455270 .{ .src = .{ .to_mem, .none, .none } },
5121555271 },
......@@ -51224,7 +55280,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5122455280 .unused,
5122555281 .unused,
5122655282 },
51227 .dst_temps = .{.mem},
55283 .dst_temps = .{ .mem, .unused },
5122855284 .each = .{ .once = &.{
5122955285 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
5123055286 .{ .@"0:", ._, .cvttps2dq, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
......@@ -51236,7 +55292,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5123655292 }, .{
5123755293 .required_features = .{ .avx, null, null, null },
5123855294 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },
51239 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .word } }},
55295 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any },
5124055296 .patterns = &.{
5124155297 .{ .src = .{ .to_mem, .none, .none } },
5124255298 },
......@@ -51251,7 +55307,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5125155307 .unused,
5125255308 .unused,
5125355309 },
51254 .dst_temps = .{.mem},
55310 .dst_temps = .{ .mem, .unused },
5125555311 .each = .{ .once = &.{
5125655312 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
5125755313 .{ .@"0:", .v_, .cvttps2dq, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
......@@ -51263,7 +55319,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5126355319 }, .{
5126455320 .required_features = .{ .sse4_1, null, null, null },
5126555321 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },
51266 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .word } }},
55322 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any },
5126755323 .patterns = &.{
5126855324 .{ .src = .{ .to_mem, .none, .none } },
5126955325 },
......@@ -51278,7 +55334,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5127855334 .unused,
5127955335 .unused,
5128055336 },
51281 .dst_temps = .{.mem},
55337 .dst_temps = .{ .mem, .unused },
5128255338 .each = .{ .once = &.{
5128355339 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
5128455340 .{ .@"0:", ._, .cvttps2dq, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ },
......@@ -51290,7 +55346,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5129055346 }, .{
5129155347 .required_features = .{ .avx, null, null, null },
5129255348 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
51293 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .word, .is = .word } }},
55349 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any },
5129455350 .patterns = &.{
5129555351 .{ .src = .{ .to_mem, .none, .none } },
5129655352 },
......@@ -51306,7 +55362,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5130655362 .unused,
5130755363 .unused,
5130855364 },
51309 .dst_temps = .{.mem},
55365 .dst_temps = .{ .mem, .unused },
5131055366 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5131155367 .each = .{ .once = &.{
5131255368 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -51319,7 +55375,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5131955375 }, .{
5132055376 .required_features = .{ .sse, null, null, null },
5132155377 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
51322 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .word, .is = .word } }},
55378 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any },
5132355379 .patterns = &.{
5132455380 .{ .src = .{ .to_mem, .none, .none } },
5132555381 },
......@@ -51335,7 +55391,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5133555391 .unused,
5133655392 .unused,
5133755393 },
51338 .dst_temps = .{.mem},
55394 .dst_temps = .{ .mem, .unused },
5133955395 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5134055396 .each = .{ .once = &.{
5134155397 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -51348,31 +55404,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5134855404 }, .{
5134955405 .required_features = .{ .avx, null, null, null },
5135055406 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },
51351 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }},
55407 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any },
5135255408 .patterns = &.{
5135355409 .{ .src = .{ .mem, .none, .none } },
5135455410 .{ .src = .{ .to_sse, .none, .none } },
5135555411 },
51356 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
55412 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5135755413 .each = .{ .once = &.{
5135855414 .{ ._, .v_, .cvttps2dq, .dst0x, .src0x, ._, ._ },
5135955415 } },
5136055416 }, .{
5136155417 .required_features = .{ .sse2, null, null, null },
5136255418 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },
51363 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }},
55419 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any },
5136455420 .patterns = &.{
5136555421 .{ .src = .{ .mem, .none, .none } },
5136655422 .{ .src = .{ .to_sse, .none, .none } },
5136755423 },
51368 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
55424 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5136955425 .each = .{ .once = &.{
5137055426 .{ ._, ._, .cvttps2dq, .dst0x, .src0x, ._, ._ },
5137155427 } },
5137255428 }, .{
5137355429 .required_features = .{ .avx, null, null, null },
5137455430 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },
51375 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }},
55431 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any },
5137655432 .patterns = &.{
5137755433 .{ .src = .{ .to_mem, .none, .none } },
5137855434 },
......@@ -51387,7 +55443,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5138755443 .unused,
5138855444 .unused,
5138955445 },
51390 .dst_temps = .{.mem},
55446 .dst_temps = .{ .mem, .unused },
5139155447 .each = .{ .once = &.{
5139255448 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
5139355449 .{ .@"0:", .v_, .cvttps2dq, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
......@@ -51398,7 +55454,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5139855454 }, .{
5139955455 .required_features = .{ .sse2, null, null, null },
5140055456 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any },
51401 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }},
55457 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any },
5140255458 .patterns = &.{
5140355459 .{ .src = .{ .to_mem, .none, .none } },
5140455460 },
......@@ -51413,7 +55469,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5141355469 .unused,
5141455470 .unused,
5141555471 },
51416 .dst_temps = .{.mem},
55472 .dst_temps = .{ .mem, .unused },
5141755473 .each = .{ .once = &.{
5141855474 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
5141955475 .{ .@"0:", ._, .cvttps2dq, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
......@@ -51424,7 +55480,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5142455480 }, .{
5142555481 .required_features = .{ .avx, null, null, null },
5142655482 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
51427 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }},
55483 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any },
5142855484 .patterns = &.{
5142955485 .{ .src = .{ .to_mem, .none, .none } },
5143055486 },
......@@ -51440,7 +55496,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5144055496 .unused,
5144155497 .unused,
5144255498 },
51443 .dst_temps = .{.mem},
55499 .dst_temps = .{ .mem, .unused },
5144455500 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5144555501 .each = .{ .once = &.{
5144655502 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -51453,7 +55509,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5145355509 }, .{
5145455510 .required_features = .{ .avx, null, null, null },
5145555511 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
51456 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
55512 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
5145755513 .patterns = &.{
5145855514 .{ .src = .{ .to_mem, .none, .none } },
5145955515 },
......@@ -51469,7 +55525,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5146955525 .unused,
5147055526 .unused,
5147155527 },
51472 .dst_temps = .{.mem},
55528 .dst_temps = .{ .mem, .unused },
5147355529 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5147455530 .each = .{ .once = &.{
5147555531 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -51482,7 +55538,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5148255538 }, .{
5148355539 .required_features = .{ .sse, null, null, null },
5148455540 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
51485 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }},
55541 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any },
5148655542 .patterns = &.{
5148755543 .{ .src = .{ .to_mem, .none, .none } },
5148855544 },
......@@ -51498,7 +55554,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5149855554 .unused,
5149955555 .unused,
5150055556 },
51501 .dst_temps = .{.mem},
55557 .dst_temps = .{ .mem, .unused },
5150255558 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5150355559 .each = .{ .once = &.{
5150455560 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -51511,7 +55567,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5151155567 }, .{
5151255568 .required_features = .{ .sse, null, null, null },
5151355569 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
51514 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
55570 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
5151555571 .patterns = &.{
5151655572 .{ .src = .{ .to_mem, .none, .none } },
5151755573 },
......@@ -51527,7 +55583,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5152755583 .unused,
5152855584 .unused,
5152955585 },
51530 .dst_temps = .{.mem},
55586 .dst_temps = .{ .mem, .unused },
5153155587 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5153255588 .each = .{ .once = &.{
5153355589 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -51540,7 +55596,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5154055596 }, .{
5154155597 .required_features = .{ .@"64bit", .avx, null, null },
5154255598 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
51543 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }},
55599 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
5154455600 .patterns = &.{
5154555601 .{ .src = .{ .to_mem, .none, .none } },
5154655602 },
......@@ -51555,7 +55611,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5155555611 .unused,
5155655612 .unused,
5155755613 },
51558 .dst_temps = .{.mem},
55614 .dst_temps = .{ .mem, .unused },
5155955615 .each = .{ .once = &.{
5156055616 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
5156155617 .{ .@"0:", .v_, .cvttss2si, .tmp1q, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
......@@ -51566,7 +55622,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5156655622 }, .{
5156755623 .required_features = .{ .@"64bit", .sse, null, null },
5156855624 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
51569 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }},
55625 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
5157055626 .patterns = &.{
5157155627 .{ .src = .{ .to_mem, .none, .none } },
5157255628 },
......@@ -51581,7 +55637,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5158155637 .unused,
5158255638 .unused,
5158355639 },
51584 .dst_temps = .{.mem},
55640 .dst_temps = .{ .mem, .unused },
5158555641 .each = .{ .once = &.{
5158655642 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
5158755643 .{ .@"0:", ._, .cvttss2si, .tmp1q, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
......@@ -51592,7 +55648,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5159255648 }, .{
5159355649 .required_features = .{ .avx, null, null, null },
5159455650 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
51595 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }},
55651 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
5159655652 .patterns = &.{
5159755653 .{ .src = .{ .to_mem, .none, .none } },
5159855654 },
......@@ -51608,7 +55664,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5160855664 .unused,
5160955665 .unused,
5161055666 },
51611 .dst_temps = .{.mem},
55667 .dst_temps = .{ .mem, .unused },
5161255668 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5161355669 .each = .{ .once = &.{
5161455670 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -51621,7 +55677,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5162155677 }, .{
5162255678 .required_features = .{ .avx, null, null, null },
5162355679 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
51624 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }},
55680 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
5162555681 .patterns = &.{
5162655682 .{ .src = .{ .to_mem, .none, .none } },
5162755683 },
......@@ -51637,7 +55693,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5163755693 .unused,
5163855694 .unused,
5163955695 },
51640 .dst_temps = .{.mem},
55696 .dst_temps = .{ .mem, .unused },
5164155697 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5164255698 .each = .{ .once = &.{
5164355699 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -51650,7 +55706,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5165055706 }, .{
5165155707 .required_features = .{ .sse, null, null, null },
5165255708 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
51653 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }},
55709 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
5165455710 .patterns = &.{
5165555711 .{ .src = .{ .to_mem, .none, .none } },
5165655712 },
......@@ -51666,7 +55722,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5166655722 .unused,
5166755723 .unused,
5166855724 },
51669 .dst_temps = .{.mem},
55725 .dst_temps = .{ .mem, .unused },
5167055726 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5167155727 .each = .{ .once = &.{
5167255728 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -51679,7 +55735,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5167955735 }, .{
5168055736 .required_features = .{ .sse, null, null, null },
5168155737 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
51682 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }},
55738 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
5168355739 .patterns = &.{
5168455740 .{ .src = .{ .to_mem, .none, .none } },
5168555741 },
......@@ -51695,7 +55751,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5169555751 .unused,
5169655752 .unused,
5169755753 },
51698 .dst_temps = .{.mem},
55754 .dst_temps = .{ .mem, .unused },
5169955755 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5170055756 .each = .{ .once = &.{
5170155757 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -51708,7 +55764,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5170855764 }, .{
5170955765 .required_features = .{ .avx, null, null, null },
5171055766 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
51711 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }},
55767 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any },
5171255768 .patterns = &.{
5171355769 .{ .src = .{ .to_mem, .none, .none } },
5171455770 },
......@@ -51724,7 +55780,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5172455780 .unused,
5172555781 .unused,
5172655782 },
51727 .dst_temps = .{.mem},
55783 .dst_temps = .{ .mem, .unused },
5172855784 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5172955785 .each = .{ .once = &.{
5173055786 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -51738,7 +55794,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5173855794 }, .{
5173955795 .required_features = .{ .avx, null, null, null },
5174055796 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
51741 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }},
55797 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any },
5174255798 .patterns = &.{
5174355799 .{ .src = .{ .to_mem, .none, .none } },
5174455800 },
......@@ -51754,7 +55810,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5175455810 .unused,
5175555811 .unused,
5175655812 },
51757 .dst_temps = .{.mem},
55813 .dst_temps = .{ .mem, .unused },
5175855814 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5175955815 .each = .{ .once = &.{
5176055816 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -51768,7 +55824,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5176855824 }, .{
5176955825 .required_features = .{ .sse, null, null, null },
5177055826 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
51771 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }},
55827 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any },
5177255828 .patterns = &.{
5177355829 .{ .src = .{ .to_mem, .none, .none } },
5177455830 },
......@@ -51784,7 +55840,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5178455840 .unused,
5178555841 .unused,
5178655842 },
51787 .dst_temps = .{.mem},
55843 .dst_temps = .{ .mem, .unused },
5178855844 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5178955845 .each = .{ .once = &.{
5179055846 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -51798,7 +55854,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5179855854 }, .{
5179955855 .required_features = .{ .sse, null, null, null },
5180055856 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
51801 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }},
55857 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any },
5180255858 .patterns = &.{
5180355859 .{ .src = .{ .to_mem, .none, .none } },
5180455860 },
......@@ -51814,7 +55870,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5181455870 .unused,
5181555871 .unused,
5181655872 },
51817 .dst_temps = .{.mem},
55873 .dst_temps = .{ .mem, .unused },
5181855874 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5181955875 .each = .{ .once = &.{
5182055876 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -51828,7 +55884,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5182855884 }, .{
5182955885 .required_features = .{ .@"64bit", .avx, null, null },
5183055886 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
51831 .dst_constraints = .{.{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }},
55887 .dst_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any },
5183255888 .patterns = &.{
5183355889 .{ .src = .{ .to_mem, .none, .none } },
5183455890 },
......@@ -51844,7 +55900,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5184455900 .unused,
5184555901 .unused,
5184655902 },
51847 .dst_temps = .{.mem},
55903 .dst_temps = .{ .mem, .unused },
5184855904 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5184955905 .each = .{ .once = &.{
5185055906 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -51860,7 +55916,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5186055916 }, .{
5186155917 .required_features = .{ .@"64bit", .avx, null, null },
5186255918 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
51863 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }},
55919 .dst_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
5186455920 .patterns = &.{
5186555921 .{ .src = .{ .to_mem, .none, .none } },
5186655922 },
......@@ -51876,7 +55932,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5187655932 .unused,
5187755933 .unused,
5187855934 },
51879 .dst_temps = .{.mem},
55935 .dst_temps = .{ .mem, .unused },
5188055936 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5188155937 .each = .{ .once = &.{
5188255938 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -51892,7 +55948,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5189255948 }, .{
5189355949 .required_features = .{ .@"64bit", .sse, null, null },
5189455950 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
51895 .dst_constraints = .{.{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }},
55951 .dst_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any },
5189655952 .patterns = &.{
5189755953 .{ .src = .{ .to_mem, .none, .none } },
5189855954 },
......@@ -51908,7 +55964,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5190855964 .unused,
5190955965 .unused,
5191055966 },
51911 .dst_temps = .{.mem},
55967 .dst_temps = .{ .mem, .unused },
5191255968 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5191355969 .each = .{ .once = &.{
5191455970 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -51924,7 +55980,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5192455980 }, .{
5192555981 .required_features = .{ .@"64bit", .sse, null, null },
5192655982 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any },
51927 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }},
55983 .dst_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
5192855984 .patterns = &.{
5192955985 .{ .src = .{ .to_mem, .none, .none } },
5193055986 },
......@@ -51940,7 +55996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5194055996 .unused,
5194155997 .unused,
5194255998 },
51943 .dst_temps = .{.mem},
55999 .dst_temps = .{ .mem, .unused },
5194456000 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5194556001 .each = .{ .once = &.{
5194656002 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -51956,31 +56012,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5195656012 }, .{
5195756013 .required_features = .{ .avx, null, null, null },
5195856014 .src_constraints = .{ .{ .float = .qword }, .any, .any },
51959 .dst_constraints = .{.{ .signed_or_exclusive_int = .dword }},
56015 .dst_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any },
5196056016 .patterns = &.{
5196156017 .{ .src = .{ .mem, .none, .none } },
5196256018 .{ .src = .{ .to_sse, .none, .none } },
5196356019 },
51964 .dst_temps = .{.{ .rc = .general_purpose }},
56020 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
5196556021 .each = .{ .once = &.{
5196656022 .{ ._, .v_, .cvttsd2si, .dst0d, .src0q, ._, ._ },
5196756023 } },
5196856024 }, .{
5196956025 .required_features = .{ .sse2, null, null, null },
5197056026 .src_constraints = .{ .{ .float = .qword }, .any, .any },
51971 .dst_constraints = .{.{ .signed_or_exclusive_int = .dword }},
56027 .dst_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any },
5197256028 .patterns = &.{
5197356029 .{ .src = .{ .mem, .none, .none } },
5197456030 .{ .src = .{ .to_sse, .none, .none } },
5197556031 },
51976 .dst_temps = .{.{ .rc = .general_purpose }},
56032 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
5197756033 .each = .{ .once = &.{
5197856034 .{ ._, ._, .cvttsd2si, .dst0d, .src0q, ._, ._ },
5197956035 } },
5198056036 }, .{
5198156037 .required_features = .{ .x87, null, null, null },
5198256038 .src_constraints = .{ .{ .float = .qword }, .any, .any },
51983 .dst_constraints = .{.{ .signed_int = .byte }},
56039 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
5198456040 .patterns = &.{
5198556041 .{ .src = .{ .to_mem, .none, .none } },
5198656042 },
......@@ -51995,7 +56051,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5199556051 .unused,
5199656052 .unused,
5199756053 },
51998 .dst_temps = .{.{ .rc = .general_purpose }},
56054 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
5199956055 .each = .{ .once = &.{
5200056056 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
5200156057 .{ ._, .fi_p, .stt, .tmp1w, ._, ._, ._ },
......@@ -52004,7 +56060,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5200456060 }, .{
5200556061 .required_features = .{ .x87, null, null, null },
5200656062 .src_constraints = .{ .{ .float = .qword }, .any, .any },
52007 .dst_constraints = .{.{ .unsigned_int = .byte }},
56063 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
5200856064 .patterns = &.{
5200956065 .{ .src = .{ .to_mem, .none, .none } },
5201056066 },
......@@ -52019,7 +56075,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5201956075 .unused,
5202056076 .unused,
5202156077 },
52022 .dst_temps = .{.{ .rc = .general_purpose }},
56078 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
5202356079 .each = .{ .once = &.{
5202456080 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
5202556081 .{ ._, .fi_p, .stt, .tmp1w, ._, ._, ._ },
......@@ -52028,7 +56084,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5202856084 }, .{
5202956085 .required_features = .{ .x87, null, null, null },
5203056086 .src_constraints = .{ .{ .float = .qword }, .any, .any },
52031 .dst_constraints = .{.{ .signed_or_exclusive_int = .word }},
56087 .dst_constraints = .{ .{ .signed_or_exclusive_int = .word }, .any },
5203256088 .patterns = &.{
5203356089 .{ .src = .{ .to_mem, .none, .none } },
5203456090 },
......@@ -52043,7 +56099,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5204356099 .unused,
5204456100 .unused,
5204556101 },
52046 .dst_temps = .{.mem},
56102 .dst_temps = .{ .mem, .unused },
5204756103 .each = .{ .once = &.{
5204856104 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
5204956105 .{ ._, .fi_p, .stt, .dst0w, ._, ._, ._ },
......@@ -52051,7 +56107,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5205156107 }, .{
5205256108 .required_features = .{ .x87, null, null, null },
5205356109 .src_constraints = .{ .{ .float = .qword }, .any, .any },
52054 .dst_constraints = .{.{ .signed_or_exclusive_int = .dword }},
56110 .dst_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any },
5205556111 .patterns = &.{
5205656112 .{ .src = .{ .to_mem, .none, .none } },
5205756113 },
......@@ -52066,7 +56122,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5206656122 .unused,
5206756123 .unused,
5206856124 },
52069 .dst_temps = .{.mem},
56125 .dst_temps = .{ .mem, .unused },
5207056126 .each = .{ .once = &.{
5207156127 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
5207256128 .{ ._, .fi_p, .stt, .dst0d, ._, ._, ._ },
......@@ -52074,31 +56130,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5207456130 }, .{
5207556131 .required_features = .{ .@"64bit", .avx, null, null },
5207656132 .src_constraints = .{ .{ .float = .qword }, .any, .any },
52077 .dst_constraints = .{.{ .signed_or_exclusive_int = .qword }},
56133 .dst_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any },
5207856134 .patterns = &.{
5207956135 .{ .src = .{ .mem, .none, .none } },
5208056136 .{ .src = .{ .to_sse, .none, .none } },
5208156137 },
52082 .dst_temps = .{.{ .rc = .general_purpose }},
56138 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
5208356139 .each = .{ .once = &.{
5208456140 .{ ._, .v_, .cvttsd2si, .dst0q, .src0q, ._, ._ },
5208556141 } },
5208656142 }, .{
5208756143 .required_features = .{ .@"64bit", .sse2, null, null },
5208856144 .src_constraints = .{ .{ .float = .qword }, .any, .any },
52089 .dst_constraints = .{.{ .signed_or_exclusive_int = .qword }},
56145 .dst_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any },
5209056146 .patterns = &.{
5209156147 .{ .src = .{ .mem, .none, .none } },
5209256148 .{ .src = .{ .to_sse, .none, .none } },
5209356149 },
52094 .dst_temps = .{.{ .rc = .general_purpose }},
56150 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
5209556151 .each = .{ .once = &.{
5209656152 .{ ._, ._, .cvttsd2si, .dst0q, .src0q, ._, ._ },
5209756153 } },
5209856154 }, .{
5209956155 .required_features = .{ .x87, null, null, null },
5210056156 .src_constraints = .{ .{ .float = .qword }, .any, .any },
52101 .dst_constraints = .{.{ .signed_or_exclusive_int = .qword }},
56157 .dst_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any },
5210256158 .patterns = &.{
5210356159 .{ .src = .{ .to_mem, .none, .none } },
5210456160 },
......@@ -52113,7 +56169,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5211356169 .unused,
5211456170 .unused,
5211556171 },
52116 .dst_temps = .{.mem},
56172 .dst_temps = .{ .mem, .unused },
5211756173 .each = .{ .once = &.{
5211856174 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
5211956175 .{ ._, .fi_p, .stt, .dst0q, ._, ._, ._ },
......@@ -52121,7 +56177,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5212156177 }, .{
5212256178 .required_features = .{ .@"64bit", .avx, null, null },
5212356179 .src_constraints = .{ .{ .float = .qword }, .any, .any },
52124 .dst_constraints = .{.{ .exact_unsigned_int = 64 }},
56180 .dst_constraints = .{ .{ .exact_unsigned_int = 64 }, .any },
5212556181 .patterns = &.{
5212656182 .{ .src = .{ .to_sse, .none, .none } },
5212756183 },
......@@ -52136,7 +56192,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5213656192 .unused,
5213756193 .unused,
5213856194 },
52139 .dst_temps = .{.{ .rc = .general_purpose }},
56195 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
5214056196 .clobbers = .{ .eflags = true },
5214156197 .each = .{ .once = &.{
5214256198 .{ ._, ._, .lea, .tmp1p, .mem(.tmp3), ._, ._ },
......@@ -52151,7 +56207,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5215156207 }, .{
5215256208 .required_features = .{ .@"64bit", .sse2, null, null },
5215356209 .src_constraints = .{ .{ .float = .qword }, .any, .any },
52154 .dst_constraints = .{.{ .exact_unsigned_int = 64 }},
56210 .dst_constraints = .{ .{ .exact_unsigned_int = 64 }, .any },
5215556211 .patterns = &.{
5215656212 .{ .src = .{ .to_mut_sse, .none, .none } },
5215756213 },
......@@ -52166,7 +56222,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5216656222 .unused,
5216756223 .unused,
5216856224 },
52169 .dst_temps = .{.{ .rc = .general_purpose }},
56225 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
5217056226 .clobbers = .{ .eflags = true },
5217156227 .each = .{ .once = &.{
5217256228 .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ },
......@@ -52181,7 +56237,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5218156237 }, .{
5218256238 .required_features = .{ .@"64bit", .x87, null, null },
5218356239 .src_constraints = .{ .{ .float = .qword }, .any, .any },
52184 .dst_constraints = .{.{ .exact_unsigned_int = 64 }},
56240 .dst_constraints = .{ .{ .exact_unsigned_int = 64 }, .any },
5218556241 .patterns = &.{
5218656242 .{ .src = .{ .to_mem, .none, .none } },
5218756243 },
......@@ -52196,7 +56252,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5219656252 .unused,
5219756253 .unused,
5219856254 },
52199 .dst_temps = .{.{ .rc = .general_purpose }},
56255 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
5220056256 .clobbers = .{ .eflags = true },
5220156257 .each = .{ .once = &.{
5220256258 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
......@@ -52214,7 +56270,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5221456270 }, .{
5221556271 .required_features = .{ .@"64bit", .sse, null, null },
5221656272 .src_constraints = .{ .{ .float = .qword }, .any, .any },
52217 .dst_constraints = .{.{ .signed_int = .xword }},
56273 .dst_constraints = .{ .{ .signed_int = .xword }, .any },
5221856274 .patterns = &.{
5221956275 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
5222056276 },
......@@ -52230,7 +56286,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5223056286 .unused,
5223156287 .unused,
5223256288 },
52233 .dst_temps = .{.{ .reg_pair = .{ .rax, .rdx } }},
56289 .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused },
5223456290 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5223556291 .each = .{ .once = &.{
5223656292 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -52238,7 +56294,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5223856294 }, .{
5223956295 .required_features = .{ .@"64bit", .sse, null, null },
5224056296 .src_constraints = .{ .{ .float = .qword }, .any, .any },
52241 .dst_constraints = .{.{ .unsigned_int = .xword }},
56297 .dst_constraints = .{ .{ .unsigned_int = .xword }, .any },
5224256298 .patterns = &.{
5224356299 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
5224456300 },
......@@ -52254,7 +56310,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5225456310 .unused,
5225556311 .unused,
5225656312 },
52257 .dst_temps = .{.{ .reg_pair = .{ .rax, .rdx } }},
56313 .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused },
5225856314 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5225956315 .each = .{ .once = &.{
5226056316 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -52262,7 +56318,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5226256318 }, .{
5226356319 .required_features = .{ .@"64bit", .sse, null, null },
5226456320 .src_constraints = .{ .{ .float = .qword }, .any, .any },
52265 .dst_constraints = .{.{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }},
56321 .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any },
5226656322 .patterns = &.{
5226756323 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
5226856324 },
......@@ -52278,7 +56334,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5227856334 .unused,
5227956335 .unused,
5228056336 },
52281 .dst_temps = .{.mem},
56337 .dst_temps = .{ .mem, .unused },
5228256338 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5228356339 .each = .{ .once = &.{
5228456340 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
......@@ -52288,7 +56344,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5228856344 }, .{
5228956345 .required_features = .{ .@"64bit", .sse, null, null },
5229056346 .src_constraints = .{ .{ .float = .qword }, .any, .any },
52291 .dst_constraints = .{.{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }},
56347 .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
5229256348 .patterns = &.{
5229356349 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
5229456350 },
......@@ -52304,7 +56360,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5230456360 .unused,
5230556361 .unused,
5230656362 },
52307 .dst_temps = .{.mem},
56363 .dst_temps = .{ .mem, .unused },
5230856364 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5230956365 .each = .{ .once = &.{
5231056366 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
......@@ -52314,7 +56370,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5231456370 }, .{
5231556371 .required_features = .{ .avx, null, null, null },
5231656372 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any },
52317 .dst_constraints = .{.{ .scalar_int = .{ .of = .word, .is = .byte } }},
56373 .dst_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any },
5231856374 .patterns = &.{
5231956375 .{ .src = .{ .mem, .none, .none } },
5232056376 .{ .src = .{ .to_sse, .none, .none } },
......@@ -52330,7 +56386,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5233056386 .unused,
5233156387 .unused,
5233256388 },
52333 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
56389 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5233456390 .each = .{ .once = &.{
5233556391 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
5233656392 .{ ._, .v_, .cvttpd2dq, .dst0x, .src0x, ._, ._ },
......@@ -52339,7 +56395,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5233956395 }, .{
5234056396 .required_features = .{ .ssse3, null, null, null },
5234156397 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any },
52342 .dst_constraints = .{.{ .scalar_int = .{ .of = .word, .is = .byte } }},
56398 .dst_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any },
5234356399 .patterns = &.{
5234456400 .{ .src = .{ .mem, .none, .none } },
5234556401 .{ .src = .{ .to_sse, .none, .none } },
......@@ -52355,7 +56411,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5235556411 .unused,
5235656412 .unused,
5235756413 },
52358 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
56414 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5235956415 .each = .{ .once = &.{
5236056416 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
5236156417 .{ ._, ._, .cvttpd2dq, .dst0x, .src0x, ._, ._ },
......@@ -52364,7 +56420,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5236456420 }, .{
5236556421 .required_features = .{ .avx, null, null, null },
5236656422 .src_constraints = .{ .{ .scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any },
52367 .dst_constraints = .{.{ .scalar_int = .{ .of = .dword, .is = .byte } }},
56423 .dst_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any },
5236856424 .patterns = &.{
5236956425 .{ .src = .{ .mem, .none, .none } },
5237056426 .{ .src = .{ .to_sse, .none, .none } },
......@@ -52380,7 +56436,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5238056436 .unused,
5238156437 .unused,
5238256438 },
52383 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
56439 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5238456440 .each = .{ .once = &.{
5238556441 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
5238656442 .{ ._, .v_, .cvttpd2dq, .dst0x, .src0y, ._, ._ },
......@@ -52389,7 +56445,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5238956445 }, .{
5239056446 .required_features = .{ .avx, null, null, null },
5239156447 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any },
52392 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .dword, .is = .byte } }},
56448 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .byte } }, .any },
5239356449 .patterns = &.{
5239456450 .{ .src = .{ .to_mem, .none, .none } },
5239556451 },
......@@ -52404,7 +56460,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5240456460 .unused,
5240556461 .unused,
5240656462 },
52407 .dst_temps = .{.mem},
56463 .dst_temps = .{ .mem, .unused },
5240856464 .clobbers = .{ .eflags = true },
5240956465 .each = .{ .once = &.{
5241056466 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
......@@ -52419,7 +56475,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5241956475 }, .{
5242056476 .required_features = .{ .ssse3, null, null, null },
5242156477 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any },
52422 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .word, .is = .byte } }},
56478 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .byte } }, .any },
5242356479 .patterns = &.{
5242456480 .{ .src = .{ .to_mem, .none, .none } },
5242556481 },
......@@ -52434,7 +56490,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5243456490 .unused,
5243556491 .unused,
5243656492 },
52437 .dst_temps = .{.mem},
56493 .dst_temps = .{ .mem, .unused },
5243856494 .clobbers = .{ .eflags = true },
5243956495 .each = .{ .once = &.{
5244056496 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
......@@ -52449,7 +56505,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5244956505 }, .{
5245056506 .required_features = .{ .sse2, .slow_incdec, null, null },
5245156507 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
52452 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
56508 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
5245356509 .patterns = &.{
5245456510 .{ .src = .{ .to_mem, .none, .none } },
5245556511 },
......@@ -52464,7 +56520,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5246456520 .unused,
5246556521 .unused,
5246656522 },
52467 .dst_temps = .{.mem},
56523 .dst_temps = .{ .mem, .unused },
5246856524 .clobbers = .{ .eflags = true },
5246956525 .each = .{ .once = &.{
5247056526 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -52476,7 +56532,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5247656532 }, .{
5247756533 .required_features = .{ .sse2, null, null, null },
5247856534 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
52479 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
56535 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
5248056536 .patterns = &.{
5248156537 .{ .src = .{ .to_mem, .none, .none } },
5248256538 },
......@@ -52491,7 +56547,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5249156547 .unused,
5249256548 .unused,
5249356549 },
52494 .dst_temps = .{.mem},
56550 .dst_temps = .{ .mem, .unused },
5249556551 .clobbers = .{ .eflags = true },
5249656552 .each = .{ .once = &.{
5249756553 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -52503,7 +56559,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5250356559 }, .{
5250456560 .required_features = .{ .x87, .slow_incdec, null, null },
5250556561 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
52506 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
56562 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
5250756563 .patterns = &.{
5250856564 .{ .src = .{ .to_mem, .none, .none } },
5250956565 },
......@@ -52518,7 +56574,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5251856574 .unused,
5251956575 .unused,
5252056576 },
52521 .dst_temps = .{.mem},
56577 .dst_temps = .{ .mem, .unused },
5252256578 .each = .{ .once = &.{
5252356579 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
5252456580 .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"8", .tmp0, .add_unaligned_size), ._, ._, ._ },
......@@ -52531,7 +56587,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5253156587 }, .{
5253256588 .required_features = .{ .x87, null, null, null },
5253356589 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
52534 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
56590 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
5253556591 .patterns = &.{
5253656592 .{ .src = .{ .to_mem, .none, .none } },
5253756593 },
......@@ -52546,7 +56602,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5254656602 .unused,
5254756603 .unused,
5254856604 },
52549 .dst_temps = .{.mem},
56605 .dst_temps = .{ .mem, .unused },
5255056606 .each = .{ .once = &.{
5255156607 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
5255256608 .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"8", .tmp0, .add_unaligned_size), ._, ._, ._ },
......@@ -52559,7 +56615,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5255956615 }, .{
5256056616 .required_features = .{ .avx, .slow_incdec, null, null },
5256156617 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
52562 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
56618 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
5256356619 .patterns = &.{
5256456620 .{ .src = .{ .to_mem, .none, .none } },
5256556621 },
......@@ -52575,7 +56631,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5257556631 .unused,
5257656632 .unused,
5257756633 },
52578 .dst_temps = .{.mem},
56634 .dst_temps = .{ .mem, .unused },
5257956635 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5258056636 .each = .{ .once = &.{
5258156637 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -52588,7 +56644,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5258856644 }, .{
5258956645 .required_features = .{ .avx, null, null, null },
5259056646 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
52591 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
56647 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
5259256648 .patterns = &.{
5259356649 .{ .src = .{ .to_mem, .none, .none } },
5259456650 },
......@@ -52604,7 +56660,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5260456660 .unused,
5260556661 .unused,
5260656662 },
52607 .dst_temps = .{.mem},
56663 .dst_temps = .{ .mem, .unused },
5260856664 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5260956665 .each = .{ .once = &.{
5261056666 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -52617,7 +56673,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5261756673 }, .{
5261856674 .required_features = .{ .sse2, .slow_incdec, null, null },
5261956675 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
52620 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
56676 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
5262156677 .patterns = &.{
5262256678 .{ .src = .{ .to_mem, .none, .none } },
5262356679 },
......@@ -52633,7 +56689,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5263356689 .unused,
5263456690 .unused,
5263556691 },
52636 .dst_temps = .{.mem},
56692 .dst_temps = .{ .mem, .unused },
5263756693 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5263856694 .each = .{ .once = &.{
5263956695 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -52646,7 +56702,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5264656702 }, .{
5264756703 .required_features = .{ .sse2, null, null, null },
5264856704 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
52649 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
56705 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
5265056706 .patterns = &.{
5265156707 .{ .src = .{ .to_mem, .none, .none } },
5265256708 },
......@@ -52662,7 +56718,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5266256718 .unused,
5266356719 .unused,
5266456720 },
52665 .dst_temps = .{.mem},
56721 .dst_temps = .{ .mem, .unused },
5266656722 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5266756723 .each = .{ .once = &.{
5266856724 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -52675,7 +56731,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5267556731 }, .{
5267656732 .required_features = .{ .sse, .slow_incdec, null, null },
5267756733 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
52678 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
56734 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
5267956735 .patterns = &.{
5268056736 .{ .src = .{ .to_mem, .none, .none } },
5268156737 },
......@@ -52691,7 +56747,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5269156747 .unused,
5269256748 .unused,
5269356749 },
52694 .dst_temps = .{.mem},
56750 .dst_temps = .{ .mem, .unused },
5269556751 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5269656752 .each = .{ .once = &.{
5269756753 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -52705,7 +56761,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5270556761 }, .{
5270656762 .required_features = .{ .sse, null, null, null },
5270756763 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
52708 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
56764 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
5270956765 .patterns = &.{
5271056766 .{ .src = .{ .to_mem, .none, .none } },
5271156767 },
......@@ -52721,7 +56777,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5272156777 .unused,
5272256778 .unused,
5272356779 },
52724 .dst_temps = .{.mem},
56780 .dst_temps = .{ .mem, .unused },
5272556781 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5272656782 .each = .{ .once = &.{
5272756783 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -52735,12 +56791,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5273556791 }, .{
5273656792 .required_features = .{ .avx, null, null, null },
5273756793 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any },
52738 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .dword, .is = .word } }},
56794 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .word } }, .any },
5273956795 .patterns = &.{
5274056796 .{ .src = .{ .mem, .none, .none } },
5274156797 .{ .src = .{ .to_sse, .none, .none } },
5274256798 },
52743 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
56799 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5274456800 .each = .{ .once = &.{
5274556801 .{ ._, .v_, .cvttpd2dq, .dst0x, .src0x, ._, ._ },
5274656802 .{ ._, .vp_w, .ackssd, .dst0x, .dst0x, .dst0x, ._ },
......@@ -52748,12 +56804,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5274856804 }, .{
5274956805 .required_features = .{ .sse2, null, null, null },
5275056806 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any },
52751 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .dword, .is = .word } }},
56807 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .word } }, .any },
5275256808 .patterns = &.{
5275356809 .{ .src = .{ .mem, .none, .none } },
5275456810 .{ .src = .{ .to_sse, .none, .none } },
5275556811 },
52756 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
56812 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5275756813 .each = .{ .once = &.{
5275856814 .{ ._, ._, .cvttpd2dq, .dst0x, .src0x, ._, ._ },
5275956815 .{ ._, .p_w, .ackssd, .dst0x, .dst0x, ._, ._ },
......@@ -52761,12 +56817,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5276156817 }, .{
5276256818 .required_features = .{ .avx, null, null, null },
5276356819 .src_constraints = .{ .{ .scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any },
52764 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .qword, .is = .word } }},
56820 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .word } }, .any },
5276556821 .patterns = &.{
5276656822 .{ .src = .{ .mem, .none, .none } },
5276756823 .{ .src = .{ .to_sse, .none, .none } },
5276856824 },
52769 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
56825 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5277056826 .each = .{ .once = &.{
5277156827 .{ ._, .v_, .cvttpd2dq, .dst0x, .src0y, ._, ._ },
5277256828 .{ ._, .vp_w, .ackssd, .dst0x, .dst0x, .dst0x, ._ },
......@@ -52774,12 +56830,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5277456830 }, .{
5277556831 .required_features = .{ .avx, null, null, null },
5277656832 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any },
52777 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .dword, .is = .word } }},
56833 .dst_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .dword, .is = .word } }, .any },
5277856834 .patterns = &.{
5277956835 .{ .src = .{ .mem, .none, .none } },
5278056836 .{ .src = .{ .to_sse, .none, .none } },
5278156837 },
52782 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
56838 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5278356839 .each = .{ .once = &.{
5278456840 .{ ._, .v_, .cvttpd2dq, .dst0x, .src0x, ._, ._ },
5278556841 .{ ._, .vp_w, .ackusd, .dst0x, .dst0x, .dst0x, ._ },
......@@ -52787,12 +56843,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5278756843 }, .{
5278856844 .required_features = .{ .sse4_1, null, null, null },
5278956845 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any },
52790 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .dword, .is = .word } }},
56846 .dst_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .dword, .is = .word } }, .any },
5279156847 .patterns = &.{
5279256848 .{ .src = .{ .mem, .none, .none } },
5279356849 .{ .src = .{ .to_sse, .none, .none } },
5279456850 },
52795 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
56851 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5279656852 .each = .{ .once = &.{
5279756853 .{ ._, ._, .cvttpd2dq, .dst0x, .src0x, ._, ._ },
5279856854 .{ ._, .p_w, .ackusd, .dst0x, .dst0x, ._, ._ },
......@@ -52800,12 +56856,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5280056856 }, .{
5280156857 .required_features = .{ .avx, null, null, null },
5280256858 .src_constraints = .{ .{ .scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any },
52803 .dst_constraints = .{.{ .scalar_unsigned_int = .{ .of = .qword, .is = .word } }},
56859 .dst_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any },
5280456860 .patterns = &.{
5280556861 .{ .src = .{ .mem, .none, .none } },
5280656862 .{ .src = .{ .to_sse, .none, .none } },
5280756863 },
52808 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
56864 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5280956865 .each = .{ .once = &.{
5281056866 .{ ._, .v_, .cvttpd2dq, .dst0x, .src0y, ._, ._ },
5281156867 .{ ._, .vp_w, .ackusd, .dst0x, .dst0x, .dst0x, ._ },
......@@ -52813,7 +56869,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5281356869 }, .{
5281456870 .required_features = .{ .avx, null, null, null },
5281556871 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any },
52816 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }},
56872 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any },
5281756873 .patterns = &.{
5281856874 .{ .src = .{ .to_mem, .none, .none } },
5281956875 },
......@@ -52828,7 +56884,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5282856884 .unused,
5282956885 .unused,
5283056886 },
52831 .dst_temps = .{.mem},
56887 .dst_temps = .{ .mem, .unused },
5283256888 .clobbers = .{ .eflags = true },
5283356889 .each = .{ .once = &.{
5283456890 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -52841,7 +56897,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5284156897 }, .{
5284256898 .required_features = .{ .sse2, null, null, null },
5284356899 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any },
52844 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .word } }},
56900 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .word } }, .any },
5284556901 .patterns = &.{
5284656902 .{ .src = .{ .to_mem, .none, .none } },
5284756903 },
......@@ -52856,7 +56912,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5285656912 .unused,
5285756913 .unused,
5285856914 },
52859 .dst_temps = .{.mem},
56915 .dst_temps = .{ .mem, .unused },
5286056916 .clobbers = .{ .eflags = true },
5286156917 .each = .{ .once = &.{
5286256918 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -52869,7 +56925,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5286956925 }, .{
5287056926 .required_features = .{ .avx, null, null, null },
5287156927 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any },
52872 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .word } }},
56928 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any },
5287356929 .patterns = &.{
5287456930 .{ .src = .{ .to_mem, .none, .none } },
5287556931 },
......@@ -52884,7 +56940,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5288456940 .unused,
5288556941 .unused,
5288656942 },
52887 .dst_temps = .{.mem},
56943 .dst_temps = .{ .mem, .unused },
5288856944 .clobbers = .{ .eflags = true },
5288956945 .each = .{ .once = &.{
5289056946 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -52897,7 +56953,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5289756953 }, .{
5289856954 .required_features = .{ .sse4_1, null, null, null },
5289956955 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any },
52900 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .word } }},
56956 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .word } }, .any },
5290156957 .patterns = &.{
5290256958 .{ .src = .{ .to_mem, .none, .none } },
5290356959 },
......@@ -52912,7 +56968,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5291256968 .unused,
5291356969 .unused,
5291456970 },
52915 .dst_temps = .{.mem},
56971 .dst_temps = .{ .mem, .unused },
5291656972 .clobbers = .{ .eflags = true },
5291756973 .each = .{ .once = &.{
5291856974 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -52925,7 +56981,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5292556981 }, .{
5292656982 .required_features = .{ .sse2, null, null, null },
5292756983 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
52928 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .word, .is = .word } }},
56984 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any },
5292956985 .patterns = &.{
5293056986 .{ .src = .{ .to_mem, .none, .none } },
5293156987 },
......@@ -52940,7 +56996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5294056996 .unused,
5294156997 .unused,
5294256998 },
52943 .dst_temps = .{.mem},
56999 .dst_temps = .{ .mem, .unused },
5294457000 .clobbers = .{ .eflags = true },
5294557001 .each = .{ .once = &.{
5294657002 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -52952,7 +57008,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5295257008 }, .{
5295357009 .required_features = .{ .x87, null, null, null },
5295457010 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
52955 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }},
57011 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any },
5295657012 .patterns = &.{
5295757013 .{ .src = .{ .to_mem, .none, .none } },
5295857014 },
......@@ -52967,7 +57023,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5296757023 .unused,
5296857024 .unused,
5296957025 },
52970 .dst_temps = .{.mem},
57026 .dst_temps = .{ .mem, .unused },
5297157027 .each = .{ .once = &.{
5297257028 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
5297357029 .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._, ._ },
......@@ -52978,7 +57034,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5297857034 }, .{
5297957035 .required_features = .{ .x87, null, null, null },
5298057036 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
52981 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }},
57037 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any },
5298257038 .patterns = &.{
5298357039 .{ .src = .{ .to_mem, .none, .none } },
5298457040 },
......@@ -52993,7 +57049,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5299357049 .unused,
5299457050 .unused,
5299557051 },
52996 .dst_temps = .{.mem},
57052 .dst_temps = .{ .mem, .unused },
5299757053 .each = .{ .once = &.{
5299857054 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
5299957055 .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._, ._ },
......@@ -53006,7 +57062,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5300657062 }, .{
5300757063 .required_features = .{ .avx, null, null, null },
5300857064 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53009 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .word, .is = .word } }},
57065 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any },
5301057066 .patterns = &.{
5301157067 .{ .src = .{ .to_mem, .none, .none } },
5301257068 },
......@@ -53022,7 +57078,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5302257078 .unused,
5302357079 .unused,
5302457080 },
53025 .dst_temps = .{.mem},
57081 .dst_temps = .{ .mem, .unused },
5302657082 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5302757083 .each = .{ .once = &.{
5302857084 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -53035,7 +57091,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5303557091 }, .{
5303657092 .required_features = .{ .sse2, null, null, null },
5303757093 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53038 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .word, .is = .word } }},
57094 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any },
5303957095 .patterns = &.{
5304057096 .{ .src = .{ .to_mem, .none, .none } },
5304157097 },
......@@ -53051,7 +57107,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5305157107 .unused,
5305257108 .unused,
5305357109 },
53054 .dst_temps = .{.mem},
57110 .dst_temps = .{ .mem, .unused },
5305557111 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5305657112 .each = .{ .once = &.{
5305757113 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -53064,7 +57120,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5306457120 }, .{
5306557121 .required_features = .{ .sse, null, null, null },
5306657122 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53067 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .word, .is = .word } }},
57123 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any },
5306857124 .patterns = &.{
5306957125 .{ .src = .{ .to_mem, .none, .none } },
5307057126 },
......@@ -53080,7 +57136,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5308057136 .unused,
5308157137 .unused,
5308257138 },
53083 .dst_temps = .{.mem},
57139 .dst_temps = .{ .mem, .unused },
5308457140 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5308557141 .each = .{ .once = &.{
5308657142 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -53094,43 +57150,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5309457150 }, .{
5309557151 .required_features = .{ .avx, null, null, null },
5309657152 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any },
53097 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .qword, .is = .dword } }},
57153 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any },
5309857154 .patterns = &.{
5309957155 .{ .src = .{ .mem, .none, .none } },
5310057156 .{ .src = .{ .to_sse, .none, .none } },
5310157157 },
53102 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
57158 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5310357159 .each = .{ .once = &.{
5310457160 .{ ._, .v_, .cvttpd2dq, .dst0x, .src0x, ._, ._ },
5310557161 } },
5310657162 }, .{
5310757163 .required_features = .{ .sse2, null, null, null },
5310857164 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any },
53109 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .qword, .is = .dword } }},
57165 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any },
5311057166 .patterns = &.{
5311157167 .{ .src = .{ .mem, .none, .none } },
5311257168 .{ .src = .{ .to_sse, .none, .none } },
5311357169 },
53114 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
57170 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5311557171 .each = .{ .once = &.{
5311657172 .{ ._, ._, .cvttpd2dq, .dst0x, .src0x, ._, ._ },
5311757173 } },
5311857174 }, .{
5311957175 .required_features = .{ .avx, null, null, null },
5312057176 .src_constraints = .{ .{ .scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any },
53121 .dst_constraints = .{.{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }},
57177 .dst_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any },
5312257178 .patterns = &.{
5312357179 .{ .src = .{ .mem, .none, .none } },
5312457180 .{ .src = .{ .to_sse, .none, .none } },
5312557181 },
53126 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
57182 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5312757183 .each = .{ .once = &.{
5312857184 .{ ._, .v_, .cvttpd2dq, .dst0x, .src0y, ._, ._ },
5312957185 } },
5313057186 }, .{
5313157187 .required_features = .{ .avx, null, null, null },
5313257188 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any },
53133 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }},
57189 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any },
5313457190 .patterns = &.{
5313557191 .{ .src = .{ .to_mem, .none, .none } },
5313657192 },
......@@ -53145,7 +57201,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5314557201 .unused,
5314657202 .unused,
5314757203 },
53148 .dst_temps = .{.mem},
57204 .dst_temps = .{ .mem, .unused },
5314957205 .clobbers = .{ .eflags = true },
5315057206 .each = .{ .once = &.{
5315157207 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -53157,7 +57213,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5315757213 }, .{
5315857214 .required_features = .{ .sse2, null, null, null },
5315957215 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any },
53160 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .dword } }},
57216 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any },
5316157217 .patterns = &.{
5316257218 .{ .src = .{ .to_mem, .none, .none } },
5316357219 },
......@@ -53172,7 +57228,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5317257228 .unused,
5317357229 .unused,
5317457230 },
53175 .dst_temps = .{.mem},
57231 .dst_temps = .{ .mem, .unused },
5317657232 .clobbers = .{ .eflags = true },
5317757233 .each = .{ .once = &.{
5317857234 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -53184,7 +57240,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5318457240 }, .{
5318557241 .required_features = .{ .x87, null, null, null },
5318657242 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53187 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }},
57243 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any },
5318857244 .patterns = &.{
5318957245 .{ .src = .{ .to_mem, .none, .none } },
5319057246 },
......@@ -53199,7 +57255,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5319957255 .unused,
5320057256 .unused,
5320157257 },
53202 .dst_temps = .{.mem},
57258 .dst_temps = .{ .mem, .unused },
5320357259 .each = .{ .once = &.{
5320457260 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
5320557261 .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._, ._ },
......@@ -53210,7 +57266,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5321057266 }, .{
5321157267 .required_features = .{ .x87, null, null, null },
5321257268 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53213 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
57269 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
5321457270 .patterns = &.{
5321557271 .{ .src = .{ .to_mem, .none, .none } },
5321657272 },
......@@ -53225,7 +57281,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5322557281 .unused,
5322657282 .unused,
5322757283 },
53228 .dst_temps = .{.mem},
57284 .dst_temps = .{ .mem, .unused },
5322957285 .each = .{ .once = &.{
5323057286 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
5323157287 .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._, ._ },
......@@ -53238,7 +57294,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5323857294 }, .{
5323957295 .required_features = .{ .avx, null, null, null },
5324057296 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53241 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }},
57297 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any },
5324257298 .patterns = &.{
5324357299 .{ .src = .{ .to_mem, .none, .none } },
5324457300 },
......@@ -53254,7 +57310,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5325457310 .unused,
5325557311 .unused,
5325657312 },
53257 .dst_temps = .{.mem},
57313 .dst_temps = .{ .mem, .unused },
5325857314 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5325957315 .each = .{ .once = &.{
5326057316 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -53267,7 +57323,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5326757323 }, .{
5326857324 .required_features = .{ .avx, null, null, null },
5326957325 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53270 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
57326 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
5327157327 .patterns = &.{
5327257328 .{ .src = .{ .to_mem, .none, .none } },
5327357329 },
......@@ -53283,7 +57339,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5328357339 .unused,
5328457340 .unused,
5328557341 },
53286 .dst_temps = .{.mem},
57342 .dst_temps = .{ .mem, .unused },
5328757343 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5328857344 .each = .{ .once = &.{
5328957345 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -53296,7 +57352,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5329657352 }, .{
5329757353 .required_features = .{ .sse2, null, null, null },
5329857354 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53299 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }},
57355 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any },
5330057356 .patterns = &.{
5330157357 .{ .src = .{ .to_mem, .none, .none } },
5330257358 },
......@@ -53312,7 +57368,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5331257368 .unused,
5331357369 .unused,
5331457370 },
53315 .dst_temps = .{.mem},
57371 .dst_temps = .{ .mem, .unused },
5331657372 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5331757373 .each = .{ .once = &.{
5331857374 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -53325,7 +57381,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5332557381 }, .{
5332657382 .required_features = .{ .sse2, null, null, null },
5332757383 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53328 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
57384 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
5332957385 .patterns = &.{
5333057386 .{ .src = .{ .to_mem, .none, .none } },
5333157387 },
......@@ -53341,7 +57397,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5334157397 .unused,
5334257398 .unused,
5334357399 },
53344 .dst_temps = .{.mem},
57400 .dst_temps = .{ .mem, .unused },
5334557401 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5334657402 .each = .{ .once = &.{
5334757403 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -53354,7 +57410,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5335457410 }, .{
5335557411 .required_features = .{ .sse, null, null, null },
5335657412 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53357 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }},
57413 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any },
5335857414 .patterns = &.{
5335957415 .{ .src = .{ .to_mem, .none, .none } },
5336057416 },
......@@ -53370,7 +57426,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5337057426 .unused,
5337157427 .unused,
5337257428 },
53373 .dst_temps = .{.mem},
57429 .dst_temps = .{ .mem, .unused },
5337457430 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5337557431 .each = .{ .once = &.{
5337657432 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -53384,7 +57440,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5338457440 }, .{
5338557441 .required_features = .{ .sse, null, null, null },
5338657442 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53387 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
57443 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
5338857444 .patterns = &.{
5338957445 .{ .src = .{ .to_mem, .none, .none } },
5339057446 },
......@@ -53400,7 +57456,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5340057456 .unused,
5340157457 .unused,
5340257458 },
53403 .dst_temps = .{.mem},
57459 .dst_temps = .{ .mem, .unused },
5340457460 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5340557461 .each = .{ .once = &.{
5340657462 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -53414,7 +57470,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5341457470 }, .{
5341557471 .required_features = .{ .@"64bit", .avx, null, null },
5341657472 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53417 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }},
57473 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
5341857474 .patterns = &.{
5341957475 .{ .src = .{ .to_mem, .none, .none } },
5342057476 },
......@@ -53429,7 +57485,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5342957485 .unused,
5343057486 .unused,
5343157487 },
53432 .dst_temps = .{.mem},
57488 .dst_temps = .{ .mem, .unused },
5343357489 .clobbers = .{ .eflags = true },
5343457490 .each = .{ .once = &.{
5343557491 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -53441,7 +57497,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5344157497 }, .{
5344257498 .required_features = .{ .@"64bit", .sse2, null, null },
5344357499 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53444 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }},
57500 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
5344557501 .patterns = &.{
5344657502 .{ .src = .{ .to_mem, .none, .none } },
5344757503 },
......@@ -53456,7 +57512,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5345657512 .unused,
5345757513 .unused,
5345857514 },
53459 .dst_temps = .{.mem},
57515 .dst_temps = .{ .mem, .unused },
5346057516 .clobbers = .{ .eflags = true },
5346157517 .each = .{ .once = &.{
5346257518 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -53468,7 +57524,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5346857524 }, .{
5346957525 .required_features = .{ .x87, null, null, null },
5347057526 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53471 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }},
57527 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
5347257528 .patterns = &.{
5347357529 .{ .src = .{ .to_mem, .none, .none } },
5347457530 },
......@@ -53483,7 +57539,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5348357539 .unused,
5348457540 .unused,
5348557541 },
53486 .dst_temps = .{.mem},
57542 .dst_temps = .{ .mem, .unused },
5348757543 .each = .{ .once = &.{
5348857544 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
5348957545 .{ .@"0:", .f_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ },
......@@ -53494,7 +57550,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5349457550 }, .{
5349557551 .required_features = .{ .avx, null, null, null },
5349657552 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53497 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }},
57553 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
5349857554 .patterns = &.{
5349957555 .{ .src = .{ .to_mem, .none, .none } },
5350057556 },
......@@ -53510,7 +57566,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5351057566 .unused,
5351157567 .unused,
5351257568 },
53513 .dst_temps = .{.mem},
57569 .dst_temps = .{ .mem, .unused },
5351457570 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5351557571 .each = .{ .once = &.{
5351657572 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -53523,7 +57579,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5352357579 }, .{
5352457580 .required_features = .{ .avx, null, null, null },
5352557581 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53526 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }},
57582 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
5352757583 .patterns = &.{
5352857584 .{ .src = .{ .to_mem, .none, .none } },
5352957585 },
......@@ -53539,7 +57595,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5353957595 .unused,
5354057596 .unused,
5354157597 },
53542 .dst_temps = .{.mem},
57598 .dst_temps = .{ .mem, .unused },
5354357599 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5354457600 .each = .{ .once = &.{
5354557601 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -53552,7 +57608,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5355257608 }, .{
5355357609 .required_features = .{ .sse2, null, null, null },
5355457610 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53555 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }},
57611 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
5355657612 .patterns = &.{
5355757613 .{ .src = .{ .to_mem, .none, .none } },
5355857614 },
......@@ -53568,7 +57624,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5356857624 .unused,
5356957625 .unused,
5357057626 },
53571 .dst_temps = .{.mem},
57627 .dst_temps = .{ .mem, .unused },
5357257628 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5357357629 .each = .{ .once = &.{
5357457630 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -53581,7 +57637,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5358157637 }, .{
5358257638 .required_features = .{ .sse2, null, null, null },
5358357639 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53584 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }},
57640 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
5358557641 .patterns = &.{
5358657642 .{ .src = .{ .to_mem, .none, .none } },
5358757643 },
......@@ -53597,7 +57653,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5359757653 .unused,
5359857654 .unused,
5359957655 },
53600 .dst_temps = .{.mem},
57656 .dst_temps = .{ .mem, .unused },
5360157657 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5360257658 .each = .{ .once = &.{
5360357659 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -53610,7 +57666,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5361057666 }, .{
5361157667 .required_features = .{ .sse, null, null, null },
5361257668 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53613 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }},
57669 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
5361457670 .patterns = &.{
5361557671 .{ .src = .{ .to_mem, .none, .none } },
5361657672 },
......@@ -53626,7 +57682,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5362657682 .unused,
5362757683 .unused,
5362857684 },
53629 .dst_temps = .{.mem},
57685 .dst_temps = .{ .mem, .unused },
5363057686 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5363157687 .each = .{ .once = &.{
5363257688 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -53640,7 +57696,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5364057696 }, .{
5364157697 .required_features = .{ .sse, null, null, null },
5364257698 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53643 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }},
57699 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
5364457700 .patterns = &.{
5364557701 .{ .src = .{ .to_mem, .none, .none } },
5364657702 },
......@@ -53656,7 +57712,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5365657712 .unused,
5365757713 .unused,
5365857714 },
53659 .dst_temps = .{.mem},
57715 .dst_temps = .{ .mem, .unused },
5366057716 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5366157717 .each = .{ .once = &.{
5366257718 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -53670,7 +57726,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5367057726 }, .{
5367157727 .required_features = .{ .avx, null, null, null },
5367257728 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53673 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }},
57729 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any },
5367457730 .patterns = &.{
5367557731 .{ .src = .{ .to_mem, .none, .none } },
5367657732 },
......@@ -53686,7 +57742,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5368657742 .unused,
5368757743 .unused,
5368857744 },
53689 .dst_temps = .{.mem},
57745 .dst_temps = .{ .mem, .unused },
5369057746 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5369157747 .each = .{ .once = &.{
5369257748 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -53700,7 +57756,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5370057756 }, .{
5370157757 .required_features = .{ .avx, null, null, null },
5370257758 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53703 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }},
57759 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any },
5370457760 .patterns = &.{
5370557761 .{ .src = .{ .to_mem, .none, .none } },
5370657762 },
......@@ -53716,7 +57772,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5371657772 .unused,
5371757773 .unused,
5371857774 },
53719 .dst_temps = .{.mem},
57775 .dst_temps = .{ .mem, .unused },
5372057776 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5372157777 .each = .{ .once = &.{
5372257778 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -53730,7 +57786,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5373057786 }, .{
5373157787 .required_features = .{ .sse2, null, null, null },
5373257788 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53733 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }},
57789 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any },
5373457790 .patterns = &.{
5373557791 .{ .src = .{ .to_mem, .none, .none } },
5373657792 },
......@@ -53746,7 +57802,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5374657802 .unused,
5374757803 .unused,
5374857804 },
53749 .dst_temps = .{.mem},
57805 .dst_temps = .{ .mem, .unused },
5375057806 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5375157807 .each = .{ .once = &.{
5375257808 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -53760,7 +57816,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5376057816 }, .{
5376157817 .required_features = .{ .sse2, null, null, null },
5376257818 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53763 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }},
57819 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any },
5376457820 .patterns = &.{
5376557821 .{ .src = .{ .to_mem, .none, .none } },
5376657822 },
......@@ -53776,7 +57832,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5377657832 .unused,
5377757833 .unused,
5377857834 },
53779 .dst_temps = .{.mem},
57835 .dst_temps = .{ .mem, .unused },
5378057836 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5378157837 .each = .{ .once = &.{
5378257838 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -53790,7 +57846,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5379057846 }, .{
5379157847 .required_features = .{ .sse, null, null, null },
5379257848 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53793 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }},
57849 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any },
5379457850 .patterns = &.{
5379557851 .{ .src = .{ .to_mem, .none, .none } },
5379657852 },
......@@ -53806,7 +57862,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5380657862 .unused,
5380757863 .unused,
5380857864 },
53809 .dst_temps = .{.mem},
57865 .dst_temps = .{ .mem, .unused },
5381057866 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5381157867 .each = .{ .once = &.{
5381257868 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -53821,7 +57877,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5382157877 }, .{
5382257878 .required_features = .{ .sse, null, null, null },
5382357879 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53824 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }},
57880 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any },
5382557881 .patterns = &.{
5382657882 .{ .src = .{ .to_mem, .none, .none } },
5382757883 },
......@@ -53837,7 +57893,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5383757893 .unused,
5383857894 .unused,
5383957895 },
53840 .dst_temps = .{.mem},
57896 .dst_temps = .{ .mem, .unused },
5384157897 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5384257898 .each = .{ .once = &.{
5384357899 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -53852,7 +57908,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5385257908 }, .{
5385357909 .required_features = .{ .@"64bit", .avx, null, null },
5385457910 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53855 .dst_constraints = .{.{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }},
57911 .dst_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any },
5385657912 .patterns = &.{
5385757913 .{ .src = .{ .to_mem, .none, .none } },
5385857914 },
......@@ -53868,7 +57924,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5386857924 .unused,
5386957925 .unused,
5387057926 },
53871 .dst_temps = .{.mem},
57927 .dst_temps = .{ .mem, .unused },
5387257928 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5387357929 .each = .{ .once = &.{
5387457930 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -53884,7 +57940,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5388457940 }, .{
5388557941 .required_features = .{ .@"64bit", .avx, null, null },
5388657942 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53887 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }},
57943 .dst_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
5388857944 .patterns = &.{
5388957945 .{ .src = .{ .to_mem, .none, .none } },
5389057946 },
......@@ -53900,7 +57956,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5390057956 .unused,
5390157957 .unused,
5390257958 },
53903 .dst_temps = .{.mem},
57959 .dst_temps = .{ .mem, .unused },
5390457960 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5390557961 .each = .{ .once = &.{
5390657962 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -53916,7 +57972,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5391657972 }, .{
5391757973 .required_features = .{ .@"64bit", .sse2, null, null },
5391857974 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53919 .dst_constraints = .{.{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }},
57975 .dst_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any },
5392057976 .patterns = &.{
5392157977 .{ .src = .{ .to_mem, .none, .none } },
5392257978 },
......@@ -53932,7 +57988,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5393257988 .unused,
5393357989 .unused,
5393457990 },
53935 .dst_temps = .{.mem},
57991 .dst_temps = .{ .mem, .unused },
5393657992 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5393757993 .each = .{ .once = &.{
5393857994 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -53948,7 +58004,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5394858004 }, .{
5394958005 .required_features = .{ .@"64bit", .sse2, null, null },
5395058006 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53951 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }},
58007 .dst_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
5395258008 .patterns = &.{
5395358009 .{ .src = .{ .to_mem, .none, .none } },
5395458010 },
......@@ -53964,7 +58020,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5396458020 .unused,
5396558021 .unused,
5396658022 },
53967 .dst_temps = .{.mem},
58023 .dst_temps = .{ .mem, .unused },
5396858024 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5396958025 .each = .{ .once = &.{
5397058026 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -53980,7 +58036,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5398058036 }, .{
5398158037 .required_features = .{ .@"64bit", .sse, null, null },
5398258038 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
53983 .dst_constraints = .{.{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }},
58039 .dst_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any },
5398458040 .patterns = &.{
5398558041 .{ .src = .{ .to_mem, .none, .none } },
5398658042 },
......@@ -53996,7 +58052,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5399658052 .unused,
5399758053 .unused,
5399858054 },
53999 .dst_temps = .{.mem},
58055 .dst_temps = .{ .mem, .unused },
5400058056 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5400158057 .each = .{ .once = &.{
5400258058 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -54013,7 +58069,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5401358069 }, .{
5401458070 .required_features = .{ .@"64bit", .sse, null, null },
5401558071 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any },
54016 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }},
58072 .dst_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
5401758073 .patterns = &.{
5401858074 .{ .src = .{ .to_mem, .none, .none } },
5401958075 },
......@@ -54029,7 +58085,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5402958085 .unused,
5403058086 .unused,
5403158087 },
54032 .dst_temps = .{.mem},
58088 .dst_temps = .{ .mem, .unused },
5403358089 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5403458090 .each = .{ .once = &.{
5403558091 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -54046,7 +58102,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5404658102 }, .{
5404758103 .required_features = .{ .x87, null, null, null },
5404858104 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
54049 .dst_constraints = .{.{ .signed_int = .byte }},
58105 .dst_constraints = .{ .{ .signed_int = .byte }, .any },
5405058106 .patterns = &.{
5405158107 .{ .src = .{ .mem, .none, .none } },
5405258108 .{ .src = .{ .to_x87, .none, .none } },
......@@ -54062,7 +58118,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5406258118 .unused,
5406358119 .unused,
5406458120 },
54065 .dst_temps = .{.{ .rc = .general_purpose }},
58121 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
5406658122 .each = .{ .once = &.{
5406758123 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
5406858124 .{ ._, .fi_p, .stt, .tmp1w, ._, ._, ._ },
......@@ -54071,7 +58127,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5407158127 }, .{
5407258128 .required_features = .{ .x87, null, null, null },
5407358129 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
54074 .dst_constraints = .{.{ .unsigned_int = .byte }},
58130 .dst_constraints = .{ .{ .unsigned_int = .byte }, .any },
5407558131 .patterns = &.{
5407658132 .{ .src = .{ .mem, .none, .none } },
5407758133 .{ .src = .{ .to_x87, .none, .none } },
......@@ -54087,7 +58143,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5408758143 .unused,
5408858144 .unused,
5408958145 },
54090 .dst_temps = .{.{ .rc = .general_purpose }},
58146 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
5409158147 .each = .{ .once = &.{
5409258148 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
5409358149 .{ ._, .fi_p, .stt, .tmp1w, ._, ._, ._ },
......@@ -54096,7 +58152,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5409658152 }, .{
5409758153 .required_features = .{ .x87, .slow_incdec, null, null },
5409858154 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
54099 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }},
58155 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any },
5410058156 .patterns = &.{
5410158157 .{ .src = .{ .to_mem, .none, .none } },
5410258158 },
......@@ -54111,7 +58167,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5411158167 .unused,
5411258168 .unused,
5411358169 },
54114 .dst_temps = .{.mem},
58170 .dst_temps = .{ .mem, .unused },
5411558171 .clobbers = .{ .eflags = true },
5411658172 .each = .{ .once = &.{
5411758173 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -54127,7 +58183,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5412758183 }, .{
5412858184 .required_features = .{ .x87, null, null, null },
5412958185 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
54130 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }},
58186 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any },
5413158187 .patterns = &.{
5413258188 .{ .src = .{ .to_mem, .none, .none } },
5413358189 },
......@@ -54142,7 +58198,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5414258198 .unused,
5414358199 .unused,
5414458200 },
54145 .dst_temps = .{.mem},
58201 .dst_temps = .{ .mem, .unused },
5414658202 .clobbers = .{ .eflags = true },
5414758203 .each = .{ .once = &.{
5414858204 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -54158,7 +58214,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5415858214 }, .{
5415958215 .required_features = .{ .x87, .slow_incdec, null, null },
5416058216 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
54161 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
58217 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any },
5416258218 .patterns = &.{
5416358219 .{ .src = .{ .to_mem, .none, .none } },
5416458220 },
......@@ -54173,7 +58229,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5417358229 .unused,
5417458230 .unused,
5417558231 },
54176 .dst_temps = .{.mem},
58232 .dst_temps = .{ .mem, .unused },
5417758233 .clobbers = .{ .eflags = true },
5417858234 .each = .{ .once = &.{
5417958235 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -54189,7 +58245,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5418958245 }, .{
5419058246 .required_features = .{ .x87, null, null, null },
5419158247 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
54192 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }},
58248 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any },
5419358249 .patterns = &.{
5419458250 .{ .src = .{ .to_mem, .none, .none } },
5419558251 },
......@@ -54204,7 +58260,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5420458260 .unused,
5420558261 .unused,
5420658262 },
54207 .dst_temps = .{.mem},
58263 .dst_temps = .{ .mem, .unused },
5420858264 .clobbers = .{ .eflags = true },
5420958265 .each = .{ .once = &.{
5421058266 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -54220,7 +58276,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5422058276 }, .{
5422158277 .required_features = .{ .x87, null, null, null },
5422258278 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
54223 .dst_constraints = .{.{ .signed_or_exclusive_int = .word }},
58279 .dst_constraints = .{ .{ .signed_or_exclusive_int = .word }, .any },
5422458280 .patterns = &.{
5422558281 .{ .src = .{ .mem, .none, .none } },
5422658282 .{ .src = .{ .to_x87, .none, .none } },
......@@ -54236,7 +58292,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5423658292 .unused,
5423758293 .unused,
5423858294 },
54239 .dst_temps = .{.mem},
58295 .dst_temps = .{ .mem, .unused },
5424058296 .each = .{ .once = &.{
5424158297 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
5424258298 .{ ._, .fi_p, .stt, .dst0w, ._, ._, ._ },
......@@ -54244,7 +58300,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5424458300 }, .{
5424558301 .required_features = .{ .x87, null, null, null },
5424658302 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
54247 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }},
58303 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any },
5424858304 .patterns = &.{
5424958305 .{ .src = .{ .to_mem, .none, .none } },
5425058306 },
......@@ -54259,7 +58315,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5425958315 .unused,
5426058316 .unused,
5426158317 },
54262 .dst_temps = .{.mem},
58318 .dst_temps = .{ .mem, .unused },
5426358319 .clobbers = .{ .eflags = true },
5426458320 .each = .{ .once = &.{
5426558321 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -54271,7 +58327,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5427158327 }, .{
5427258328 .required_features = .{ .x87, null, null, null },
5427358329 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
54274 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }},
58330 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any },
5427558331 .patterns = &.{
5427658332 .{ .src = .{ .to_mem, .none, .none } },
5427758333 },
......@@ -54286,7 +58342,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5428658342 .unused,
5428758343 .unused,
5428858344 },
54289 .dst_temps = .{.mem},
58345 .dst_temps = .{ .mem, .unused },
5429058346 .clobbers = .{ .eflags = true },
5429158347 .each = .{ .once = &.{
5429258348 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -54300,7 +58356,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5430058356 }, .{
5430158357 .required_features = .{ .x87, null, null, null },
5430258358 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
54303 .dst_constraints = .{.{ .signed_or_exclusive_int = .dword }},
58359 .dst_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any },
5430458360 .patterns = &.{
5430558361 .{ .src = .{ .mem, .none, .none } },
5430658362 .{ .src = .{ .to_x87, .none, .none } },
......@@ -54316,7 +58372,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5431658372 .unused,
5431758373 .unused,
5431858374 },
54319 .dst_temps = .{.mem},
58375 .dst_temps = .{ .mem, .unused },
5432058376 .each = .{ .once = &.{
5432158377 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
5432258378 .{ ._, .fi_p, .stt, .dst0d, ._, ._, ._ },
......@@ -54324,7 +58380,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5432458380 }, .{
5432558381 .required_features = .{ .x87, null, null, null },
5432658382 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
54327 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }},
58383 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any },
5432858384 .patterns = &.{
5432958385 .{ .src = .{ .to_mem, .none, .none } },
5433058386 },
......@@ -54339,7 +58395,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5433958395 .unused,
5434058396 .unused,
5434158397 },
54342 .dst_temps = .{.mem},
58398 .dst_temps = .{ .mem, .unused },
5434358399 .clobbers = .{ .eflags = true },
5434458400 .each = .{ .once = &.{
5434558401 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -54351,7 +58407,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5435158407 }, .{
5435258408 .required_features = .{ .x87, null, null, null },
5435358409 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
54354 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
58410 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
5435558411 .patterns = &.{
5435658412 .{ .src = .{ .to_mem, .none, .none } },
5435758413 },
......@@ -54366,7 +58422,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5436658422 .unused,
5436758423 .unused,
5436858424 },
54369 .dst_temps = .{.mem},
58425 .dst_temps = .{ .mem, .unused },
5437058426 .clobbers = .{ .eflags = true },
5437158427 .each = .{ .once = &.{
5437258428 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -54380,7 +58436,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5438058436 }, .{
5438158437 .required_features = .{ .x87, null, null, null },
5438258438 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
54383 .dst_constraints = .{.{ .signed_or_exclusive_int = .qword }},
58439 .dst_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any },
5438458440 .patterns = &.{
5438558441 .{ .src = .{ .mem, .none, .none } },
5438658442 .{ .src = .{ .to_x87, .none, .none } },
......@@ -54396,7 +58452,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5439658452 .unused,
5439758453 .unused,
5439858454 },
54399 .dst_temps = .{.mem},
58455 .dst_temps = .{ .mem, .unused },
5440058456 .each = .{ .once = &.{
5440158457 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
5440258458 .{ ._, .fi_p, .stt, .dst0q, ._, ._, ._ },
......@@ -54404,7 +58460,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5440458460 }, .{
5440558461 .required_features = .{ .@"64bit", .x87, null, null },
5440658462 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
54407 .dst_constraints = .{.{ .exact_unsigned_int = 64 }},
58463 .dst_constraints = .{ .{ .exact_unsigned_int = 64 }, .any },
5440858464 .patterns = &.{
5440958465 .{ .src = .{ .mem, .none, .none } },
5441058466 .{ .src = .{ .to_x87, .none, .none } },
......@@ -54420,7 +58476,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5442058476 .unused,
5442158477 .unused,
5442258478 },
54423 .dst_temps = .{.{ .rc = .general_purpose }},
58479 .dst_temps = .{ .{ .rc = .general_purpose }, .unused },
5442458480 .clobbers = .{ .eflags = true },
5442558481 .each = .{ .once = &.{
5442658482 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
......@@ -54438,7 +58494,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5443858494 }, .{
5443958495 .required_features = .{ .x87, null, null, null },
5444058496 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
54441 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }},
58497 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
5444258498 .patterns = &.{
5444358499 .{ .src = .{ .to_mem, .none, .none } },
5444458500 },
......@@ -54453,7 +58509,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5445358509 .unused,
5445458510 .unused,
5445558511 },
54456 .dst_temps = .{.mem},
58512 .dst_temps = .{ .mem, .unused },
5445758513 .clobbers = .{ .eflags = true },
5445858514 .each = .{ .once = &.{
5445958515 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -54465,7 +58521,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5446558521 }, .{
5446658522 .required_features = .{ .@"64bit", .avx, null, null },
5446758523 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
54468 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }},
58524 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
5446958525 .patterns = &.{
5447058526 .{ .src = .{ .to_mem, .none, .none } },
5447158527 },
......@@ -54481,7 +58537,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5448158537 .unused,
5448258538 .unused,
5448358539 },
54484 .dst_temps = .{.mem},
58540 .dst_temps = .{ .mem, .unused },
5448558541 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5448658542 .each = .{ .once = &.{
5448758543 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -54495,7 +58551,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5449558551 }, .{
5449658552 .required_features = .{ .@"64bit", .sse2, null, null },
5449758553 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
54498 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }},
58554 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
5449958555 .patterns = &.{
5450058556 .{ .src = .{ .to_mem, .none, .none } },
5450158557 },
......@@ -54511,7 +58567,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5451158567 .unused,
5451258568 .unused,
5451358569 },
54514 .dst_temps = .{.mem},
58570 .dst_temps = .{ .mem, .unused },
5451558571 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5451658572 .each = .{ .once = &.{
5451758573 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -54525,7 +58581,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5452558581 }, .{
5452658582 .required_features = .{ .@"64bit", .sse, null, null },
5452758583 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
54528 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }},
58584 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
5452958585 .patterns = &.{
5453058586 .{ .src = .{ .to_mem, .none, .none } },
5453158587 },
......@@ -54541,7 +58597,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5454158597 .unused,
5454258598 .unused,
5454358599 },
54544 .dst_temps = .{.mem},
58600 .dst_temps = .{ .mem, .unused },
5454558601 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5454658602 .each = .{ .once = &.{
5454758603 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -54555,7 +58611,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5455558611 }, .{
5455658612 .required_features = .{ .@"64bit", .avx, null, null },
5455758613 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
54558 .dst_constraints = .{.{ .signed_int = .xword }},
58614 .dst_constraints = .{ .{ .signed_int = .xword }, .any },
5455958615 .patterns = &.{
5456058616 .{ .src = .{ .to_mem, .none, .none } },
5456158617 },
......@@ -54571,7 +58627,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5457158627 .unused,
5457258628 .unused,
5457358629 },
54574 .dst_temps = .{.{ .reg_pair = .{ .rax, .rdx } }},
58630 .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused },
5457558631 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5457658632 .each = .{ .once = &.{
5457758633 .{ ._, .v_dqa, .mov, .tmp0x, .src0x, ._, ._ },
......@@ -54581,7 +58637,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5458158637 }, .{
5458258638 .required_features = .{ .@"64bit", .avx, null, null },
5458358639 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
54584 .dst_constraints = .{.{ .unsigned_int = .xword }},
58640 .dst_constraints = .{ .{ .unsigned_int = .xword }, .any },
5458558641 .patterns = &.{
5458658642 .{ .src = .{ .to_mem, .none, .none } },
5458758643 },
......@@ -54597,7 +58653,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5459758653 .unused,
5459858654 .unused,
5459958655 },
54600 .dst_temps = .{.{ .reg_pair = .{ .rax, .rdx } }},
58656 .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused },
5460158657 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5460258658 .each = .{ .once = &.{
5460358659 .{ ._, .v_dqa, .mov, .tmp0x, .src0x, ._, ._ },
......@@ -54607,7 +58663,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5460758663 }, .{
5460858664 .required_features = .{ .@"64bit", .sse2, null, null },
5460958665 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
54610 .dst_constraints = .{.{ .signed_int = .xword }},
58666 .dst_constraints = .{ .{ .signed_int = .xword }, .any },
5461158667 .patterns = &.{
5461258668 .{ .src = .{ .to_mem, .none, .none } },
5461358669 },
......@@ -54623,7 +58679,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5462358679 .unused,
5462458680 .unused,
5462558681 },
54626 .dst_temps = .{.{ .reg_pair = .{ .rax, .rdx } }},
58682 .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused },
5462758683 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5462858684 .each = .{ .once = &.{
5462958685 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
......@@ -54633,7 +58689,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5463358689 }, .{
5463458690 .required_features = .{ .@"64bit", .sse2, null, null },
5463558691 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
54636 .dst_constraints = .{.{ .unsigned_int = .xword }},
58692 .dst_constraints = .{ .{ .unsigned_int = .xword }, .any },
5463758693 .patterns = &.{
5463858694 .{ .src = .{ .to_mem, .none, .none } },
5463958695 },
......@@ -54649,7 +58705,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5464958705 .unused,
5465058706 .unused,
5465158707 },
54652 .dst_temps = .{.{ .reg_pair = .{ .rax, .rdx } }},
58708 .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused },
5465358709 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5465458710 .each = .{ .once = &.{
5465558711 .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ },
......@@ -54659,7 +58715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5465958715 }, .{
5466058716 .required_features = .{ .@"64bit", .sse, null, null },
5466158717 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
54662 .dst_constraints = .{.{ .signed_int = .xword }},
58718 .dst_constraints = .{ .{ .signed_int = .xword }, .any },
5466358719 .patterns = &.{
5466458720 .{ .src = .{ .to_mem, .none, .none } },
5466558721 },
......@@ -54675,7 +58731,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5467558731 .unused,
5467658732 .unused,
5467758733 },
54678 .dst_temps = .{.{ .reg_pair = .{ .rax, .rdx } }},
58734 .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused },
5467958735 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5468058736 .each = .{ .once = &.{
5468158737 .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ },
......@@ -54685,7 +58741,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5468558741 }, .{
5468658742 .required_features = .{ .@"64bit", .sse, null, null },
5468758743 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
54688 .dst_constraints = .{.{ .unsigned_int = .xword }},
58744 .dst_constraints = .{ .{ .unsigned_int = .xword }, .any },
5468958745 .patterns = &.{
5469058746 .{ .src = .{ .to_mem, .none, .none } },
5469158747 },
......@@ -54701,7 +58757,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5470158757 .unused,
5470258758 .unused,
5470358759 },
54704 .dst_temps = .{.{ .reg_pair = .{ .rax, .rdx } }},
58760 .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused },
5470558761 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5470658762 .each = .{ .once = &.{
5470758763 .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ },
......@@ -54711,7 +58767,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5471158767 }, .{
5471258768 .required_features = .{ .@"64bit", .avx, null, null },
5471358769 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
54714 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }},
58770 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any },
5471558771 .patterns = &.{
5471658772 .{ .src = .{ .to_mem, .none, .none } },
5471758773 },
......@@ -54727,7 +58783,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5472758783 .unused,
5472858784 .unused,
5472958785 },
54730 .dst_temps = .{.mem},
58786 .dst_temps = .{ .mem, .unused },
5473158787 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5473258788 .each = .{ .once = &.{
5473358789 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -54742,7 +58798,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5474258798 }, .{
5474358799 .required_features = .{ .@"64bit", .avx, null, null },
5474458800 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
54745 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }},
58801 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any },
5474658802 .patterns = &.{
5474758803 .{ .src = .{ .to_mem, .none, .none } },
5474858804 },
......@@ -54758,7 +58814,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5475858814 .unused,
5475958815 .unused,
5476058816 },
54761 .dst_temps = .{.mem},
58817 .dst_temps = .{ .mem, .unused },
5476258818 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5476358819 .each = .{ .once = &.{
5476458820 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -54773,7 +58829,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5477358829 }, .{
5477458830 .required_features = .{ .@"64bit", .sse2, null, null },
5477558831 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
54776 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }},
58832 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any },
5477758833 .patterns = &.{
5477858834 .{ .src = .{ .to_mem, .none, .none } },
5477958835 },
......@@ -54789,7 +58845,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5478958845 .unused,
5479058846 .unused,
5479158847 },
54792 .dst_temps = .{.mem},
58848 .dst_temps = .{ .mem, .unused },
5479358849 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5479458850 .each = .{ .once = &.{
5479558851 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -54804,7 +58860,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5480458860 }, .{
5480558861 .required_features = .{ .@"64bit", .sse2, null, null },
5480658862 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
54807 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }},
58863 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any },
5480858864 .patterns = &.{
5480958865 .{ .src = .{ .to_mem, .none, .none } },
5481058866 },
......@@ -54820,7 +58876,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5482058876 .unused,
5482158877 .unused,
5482258878 },
54823 .dst_temps = .{.mem},
58879 .dst_temps = .{ .mem, .unused },
5482458880 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5482558881 .each = .{ .once = &.{
5482658882 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -54835,7 +58891,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5483558891 }, .{
5483658892 .required_features = .{ .@"64bit", .sse, null, null },
5483758893 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
54838 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }},
58894 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any },
5483958895 .patterns = &.{
5484058896 .{ .src = .{ .to_mem, .none, .none } },
5484158897 },
......@@ -54851,7 +58907,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5485158907 .unused,
5485258908 .unused,
5485358909 },
54854 .dst_temps = .{.mem},
58910 .dst_temps = .{ .mem, .unused },
5485558911 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5485658912 .each = .{ .once = &.{
5485758913 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -54866,7 +58922,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5486658922 }, .{
5486758923 .required_features = .{ .@"64bit", .sse, null, null },
5486858924 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
54869 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }},
58925 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any },
5487058926 .patterns = &.{
5487158927 .{ .src = .{ .to_mem, .none, .none } },
5487258928 },
......@@ -54882,7 +58938,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5488258938 .unused,
5488358939 .unused,
5488458940 },
54885 .dst_temps = .{.mem},
58941 .dst_temps = .{ .mem, .unused },
5488658942 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5488758943 .each = .{ .once = &.{
5488858944 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -54897,7 +58953,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5489758953 }, .{
5489858954 .required_features = .{ .@"64bit", .avx, null, null },
5489958955 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
54900 .dst_constraints = .{.{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }},
58956 .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any },
5490158957 .patterns = &.{
5490258958 .{ .src = .{ .to_mem, .none, .none } },
5490358959 },
......@@ -54913,7 +58969,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5491358969 .unused,
5491458970 .unused,
5491558971 },
54916 .dst_temps = .{.mem},
58972 .dst_temps = .{ .mem, .unused },
5491758973 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5491858974 .each = .{ .once = &.{
5491958975 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
......@@ -54925,7 +58981,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5492558981 }, .{
5492658982 .required_features = .{ .@"64bit", .avx, null, null },
5492758983 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
54928 .dst_constraints = .{.{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }},
58984 .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
5492958985 .patterns = &.{
5493058986 .{ .src = .{ .to_mem, .none, .none } },
5493158987 },
......@@ -54941,7 +58997,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5494158997 .unused,
5494258998 .unused,
5494358999 },
54944 .dst_temps = .{.mem},
59000 .dst_temps = .{ .mem, .unused },
5494559001 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5494659002 .each = .{ .once = &.{
5494759003 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
......@@ -54953,7 +59009,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5495359009 }, .{
5495459010 .required_features = .{ .@"64bit", .sse2, null, null },
5495559011 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
54956 .dst_constraints = .{.{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }},
59012 .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any },
5495759013 .patterns = &.{
5495859014 .{ .src = .{ .to_mem, .none, .none } },
5495959015 },
......@@ -54969,7 +59025,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5496959025 .unused,
5497059026 .unused,
5497159027 },
54972 .dst_temps = .{.mem},
59028 .dst_temps = .{ .mem, .unused },
5497359029 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5497459030 .each = .{ .once = &.{
5497559031 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
......@@ -54981,7 +59037,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5498159037 }, .{
5498259038 .required_features = .{ .@"64bit", .sse2, null, null },
5498359039 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
54984 .dst_constraints = .{.{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }},
59040 .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
5498559041 .patterns = &.{
5498659042 .{ .src = .{ .to_mem, .none, .none } },
5498759043 },
......@@ -54997,7 +59053,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5499759053 .unused,
5499859054 .unused,
5499959055 },
55000 .dst_temps = .{.mem},
59056 .dst_temps = .{ .mem, .unused },
5500159057 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5500259058 .each = .{ .once = &.{
5500359059 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
......@@ -55009,7 +59065,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5500959065 }, .{
5501059066 .required_features = .{ .@"64bit", .sse, null, null },
5501159067 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
55012 .dst_constraints = .{.{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }},
59068 .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any },
5501359069 .patterns = &.{
5501459070 .{ .src = .{ .to_mem, .none, .none } },
5501559071 },
......@@ -55025,7 +59081,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5502559081 .unused,
5502659082 .unused,
5502759083 },
55028 .dst_temps = .{.mem},
59084 .dst_temps = .{ .mem, .unused },
5502959085 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5503059086 .each = .{ .once = &.{
5503159087 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
......@@ -55037,7 +59093,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5503759093 }, .{
5503859094 .required_features = .{ .@"64bit", .sse, null, null },
5503959095 .src_constraints = .{ .{ .float = .tbyte }, .any, .any },
55040 .dst_constraints = .{.{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }},
59096 .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
5504159097 .patterns = &.{
5504259098 .{ .src = .{ .to_mem, .none, .none } },
5504359099 },
......@@ -55053,7 +59109,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5505359109 .unused,
5505459110 .unused,
5505559111 },
55056 .dst_temps = .{.mem},
59112 .dst_temps = .{ .mem, .unused },
5505759113 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5505859114 .each = .{ .once = &.{
5505959115 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
......@@ -55065,7 +59121,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5506559121 }, .{
5506659122 .required_features = .{ .@"64bit", .avx, null, null },
5506759123 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
55068 .dst_constraints = .{.{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }},
59124 .dst_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any },
5506959125 .patterns = &.{
5507059126 .{ .src = .{ .to_mem, .none, .none } },
5507159127 },
......@@ -55081,7 +59137,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5508159137 .unused,
5508259138 .unused,
5508359139 },
55084 .dst_temps = .{.mem},
59140 .dst_temps = .{ .mem, .unused },
5508559141 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5508659142 .each = .{ .once = &.{
5508759143 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -55098,7 +59154,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5509859154 }, .{
5509959155 .required_features = .{ .@"64bit", .avx, null, null },
5510059156 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
55101 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }},
59157 .dst_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
5510259158 .patterns = &.{
5510359159 .{ .src = .{ .to_mem, .none, .none } },
5510459160 },
......@@ -55114,7 +59170,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5511459170 .unused,
5511559171 .unused,
5511659172 },
55117 .dst_temps = .{.mem},
59173 .dst_temps = .{ .mem, .unused },
5511859174 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5511959175 .each = .{ .once = &.{
5512059176 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -55131,7 +59187,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5513159187 }, .{
5513259188 .required_features = .{ .@"64bit", .sse2, null, null },
5513359189 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
55134 .dst_constraints = .{.{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }},
59190 .dst_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any },
5513559191 .patterns = &.{
5513659192 .{ .src = .{ .to_mem, .none, .none } },
5513759193 },
......@@ -55147,7 +59203,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5514759203 .unused,
5514859204 .unused,
5514959205 },
55150 .dst_temps = .{.mem},
59206 .dst_temps = .{ .mem, .unused },
5515159207 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5515259208 .each = .{ .once = &.{
5515359209 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -55164,7 +59220,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5516459220 }, .{
5516559221 .required_features = .{ .@"64bit", .sse2, null, null },
5516659222 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
55167 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }},
59223 .dst_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
5516859224 .patterns = &.{
5516959225 .{ .src = .{ .to_mem, .none, .none } },
5517059226 },
......@@ -55180,7 +59236,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5518059236 .unused,
5518159237 .unused,
5518259238 },
55183 .dst_temps = .{.mem},
59239 .dst_temps = .{ .mem, .unused },
5518459240 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5518559241 .each = .{ .once = &.{
5518659242 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -55197,7 +59253,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5519759253 }, .{
5519859254 .required_features = .{ .@"64bit", .sse, null, null },
5519959255 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
55200 .dst_constraints = .{.{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }},
59256 .dst_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any },
5520159257 .patterns = &.{
5520259258 .{ .src = .{ .to_mem, .none, .none } },
5520359259 },
......@@ -55213,7 +59269,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5521359269 .unused,
5521459270 .unused,
5521559271 },
55216 .dst_temps = .{.mem},
59272 .dst_temps = .{ .mem, .unused },
5521759273 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5521859274 .each = .{ .once = &.{
5521959275 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -55230,7 +59286,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5523059286 }, .{
5523159287 .required_features = .{ .@"64bit", .sse, null, null },
5523259288 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any },
55233 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }},
59289 .dst_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
5523459290 .patterns = &.{
5523559291 .{ .src = .{ .to_mem, .none, .none } },
5523659292 },
......@@ -55246,7 +59302,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5524659302 .unused,
5524759303 .unused,
5524859304 },
55249 .dst_temps = .{.mem},
59305 .dst_temps = .{ .mem, .unused },
5525059306 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5525159307 .each = .{ .once = &.{
5525259308 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -55263,7 +59319,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5526359319 }, .{
5526459320 .required_features = .{ .avx, .slow_incdec, null, null },
5526559321 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
55266 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
59322 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
5526759323 .patterns = &.{
5526859324 .{ .src = .{ .to_mem, .none, .none } },
5526959325 },
......@@ -55279,7 +59335,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5527959335 .unused,
5528059336 .unused,
5528159337 },
55282 .dst_temps = .{.mem},
59338 .dst_temps = .{ .mem, .unused },
5528359339 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5528459340 .each = .{ .once = &.{
5528559341 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -55294,7 +59350,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5529459350 }, .{
5529559351 .required_features = .{ .avx, null, null, null },
5529659352 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
55297 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
59353 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
5529859354 .patterns = &.{
5529959355 .{ .src = .{ .to_mem, .none, .none } },
5530059356 },
......@@ -55310,7 +59366,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5531059366 .unused,
5531159367 .unused,
5531259368 },
55313 .dst_temps = .{.mem},
59369 .dst_temps = .{ .mem, .unused },
5531459370 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5531559371 .each = .{ .once = &.{
5531659372 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -55325,7 +59381,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5532559381 }, .{
5532659382 .required_features = .{ .sse2, .slow_incdec, null, null },
5532759383 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
55328 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
59384 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
5532959385 .patterns = &.{
5533059386 .{ .src = .{ .to_mem, .none, .none } },
5533159387 },
......@@ -55341,7 +59397,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5534159397 .unused,
5534259398 .unused,
5534359399 },
55344 .dst_temps = .{.mem},
59400 .dst_temps = .{ .mem, .unused },
5534559401 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5534659402 .each = .{ .once = &.{
5534759403 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -55356,7 +59412,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5535659412 }, .{
5535759413 .required_features = .{ .sse2, null, null, null },
5535859414 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
55359 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
59415 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
5536059416 .patterns = &.{
5536159417 .{ .src = .{ .to_mem, .none, .none } },
5536259418 },
......@@ -55372,7 +59428,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5537259428 .unused,
5537359429 .unused,
5537459430 },
55375 .dst_temps = .{.mem},
59431 .dst_temps = .{ .mem, .unused },
5537659432 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5537759433 .each = .{ .once = &.{
5537859434 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -55387,7 +59443,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5538759443 }, .{
5538859444 .required_features = .{ .sse, .slow_incdec, null, null },
5538959445 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
55390 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
59446 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
5539159447 .patterns = &.{
5539259448 .{ .src = .{ .to_mem, .none, .none } },
5539359449 },
......@@ -55403,7 +59459,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5540359459 .unused,
5540459460 .unused,
5540559461 },
55406 .dst_temps = .{.mem},
59462 .dst_temps = .{ .mem, .unused },
5540759463 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5540859464 .each = .{ .once = &.{
5540959465 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -55418,7 +59474,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5541859474 }, .{
5541959475 .required_features = .{ .sse, null, null, null },
5542059476 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
55421 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }},
59477 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any },
5542259478 .patterns = &.{
5542359479 .{ .src = .{ .to_mem, .none, .none } },
5542459480 },
......@@ -55434,7 +59490,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5543459490 .unused,
5543559491 .unused,
5543659492 },
55437 .dst_temps = .{.mem},
59493 .dst_temps = .{ .mem, .unused },
5543859494 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5543959495 .each = .{ .once = &.{
5544059496 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -55449,7 +59505,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5544959505 }, .{
5545059506 .required_features = .{ .avx, null, null, null },
5545159507 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
55452 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .word, .is = .word } }},
59508 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any },
5545359509 .patterns = &.{
5545459510 .{ .src = .{ .to_mem, .none, .none } },
5545559511 },
......@@ -55465,7 +59521,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5546559521 .unused,
5546659522 .unused,
5546759523 },
55468 .dst_temps = .{.mem},
59524 .dst_temps = .{ .mem, .unused },
5546959525 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5547059526 .each = .{ .once = &.{
5547159527 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -55478,7 +59534,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5547859534 }, .{
5547959535 .required_features = .{ .sse2, null, null, null },
5548059536 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
55481 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .word, .is = .word } }},
59537 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any },
5548259538 .patterns = &.{
5548359539 .{ .src = .{ .to_mem, .none, .none } },
5548459540 },
......@@ -55494,7 +59550,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5549459550 .unused,
5549559551 .unused,
5549659552 },
55497 .dst_temps = .{.mem},
59553 .dst_temps = .{ .mem, .unused },
5549859554 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5549959555 .each = .{ .once = &.{
5550059556 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -55507,7 +59563,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5550759563 }, .{
5550859564 .required_features = .{ .sse, null, null, null },
5550959565 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
55510 .dst_constraints = .{.{ .multiple_scalar_int = .{ .of = .word, .is = .word } }},
59566 .dst_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any },
5551159567 .patterns = &.{
5551259568 .{ .src = .{ .to_mem, .none, .none } },
5551359569 },
......@@ -55523,7 +59579,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5552359579 .unused,
5552459580 .unused,
5552559581 },
55526 .dst_temps = .{.mem},
59582 .dst_temps = .{ .mem, .unused },
5552759583 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5552859584 .each = .{ .once = &.{
5552959585 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -55536,7 +59592,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5553659592 }, .{
5553759593 .required_features = .{ .sse, null, null, null },
5553859594 .src_constraints = .{ .{ .float = .xword }, .any, .any },
55539 .dst_constraints = .{.{ .signed_int = .dword }},
59595 .dst_constraints = .{ .{ .signed_int = .dword }, .any },
5554059596 .patterns = &.{
5554159597 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
5554259598 },
......@@ -55552,7 +59608,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5555259608 .unused,
5555359609 .unused,
5555459610 },
55555 .dst_temps = .{.{ .reg = .eax }},
59611 .dst_temps = .{ .{ .reg = .eax }, .unused },
5555659612 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5555759613 .each = .{ .once = &.{
5555859614 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -55560,7 +59616,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5556059616 }, .{
5556159617 .required_features = .{ .sse, null, null, null },
5556259618 .src_constraints = .{ .{ .float = .xword }, .any, .any },
55563 .dst_constraints = .{.{ .unsigned_int = .dword }},
59619 .dst_constraints = .{ .{ .unsigned_int = .dword }, .any },
5556459620 .patterns = &.{
5556559621 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
5556659622 },
......@@ -55576,7 +59632,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5557659632 .unused,
5557759633 .unused,
5557859634 },
55579 .dst_temps = .{.{ .reg = .eax }},
59635 .dst_temps = .{ .{ .reg = .eax }, .unused },
5558059636 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5558159637 .each = .{ .once = &.{
5558259638 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -55584,7 +59640,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5558459640 }, .{
5558559641 .required_features = .{ .avx, null, null, null },
5558659642 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
55587 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }},
59643 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any },
5558859644 .patterns = &.{
5558959645 .{ .src = .{ .to_mem, .none, .none } },
5559059646 },
......@@ -55600,7 +59656,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5560059656 .unused,
5560159657 .unused,
5560259658 },
55603 .dst_temps = .{.mem},
59659 .dst_temps = .{ .mem, .unused },
5560459660 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5560559661 .each = .{ .once = &.{
5560659662 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -55613,7 +59669,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5561359669 }, .{
5561459670 .required_features = .{ .avx, null, null, null },
5561559671 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
55616 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
59672 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
5561759673 .patterns = &.{
5561859674 .{ .src = .{ .to_mem, .none, .none } },
5561959675 },
......@@ -55629,7 +59685,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5562959685 .unused,
5563059686 .unused,
5563159687 },
55632 .dst_temps = .{.mem},
59688 .dst_temps = .{ .mem, .unused },
5563359689 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5563459690 .each = .{ .once = &.{
5563559691 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -55642,7 +59698,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5564259698 }, .{
5564359699 .required_features = .{ .sse2, null, null, null },
5564459700 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
55645 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }},
59701 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any },
5564659702 .patterns = &.{
5564759703 .{ .src = .{ .to_mem, .none, .none } },
5564859704 },
......@@ -55658,7 +59714,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5565859714 .unused,
5565959715 .unused,
5566059716 },
55661 .dst_temps = .{.mem},
59717 .dst_temps = .{ .mem, .unused },
5566259718 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5566359719 .each = .{ .once = &.{
5566459720 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -55671,7 +59727,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5567159727 }, .{
5567259728 .required_features = .{ .sse2, null, null, null },
5567359729 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
55674 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
59730 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
5567559731 .patterns = &.{
5567659732 .{ .src = .{ .to_mem, .none, .none } },
5567759733 },
......@@ -55687,7 +59743,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5568759743 .unused,
5568859744 .unused,
5568959745 },
55690 .dst_temps = .{.mem},
59746 .dst_temps = .{ .mem, .unused },
5569159747 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5569259748 .each = .{ .once = &.{
5569359749 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -55700,7 +59756,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5570059756 }, .{
5570159757 .required_features = .{ .sse, null, null, null },
5570259758 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
55703 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }},
59759 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any },
5570459760 .patterns = &.{
5570559761 .{ .src = .{ .to_mem, .none, .none } },
5570659762 },
......@@ -55716,7 +59772,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5571659772 .unused,
5571759773 .unused,
5571859774 },
55719 .dst_temps = .{.mem},
59775 .dst_temps = .{ .mem, .unused },
5572059776 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5572159777 .each = .{ .once = &.{
5572259778 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -55729,7 +59785,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5572959785 }, .{
5573059786 .required_features = .{ .sse, null, null, null },
5573159787 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
55732 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }},
59788 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
5573359789 .patterns = &.{
5573459790 .{ .src = .{ .to_mem, .none, .none } },
5573559791 },
......@@ -55745,7 +59801,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5574559801 .unused,
5574659802 .unused,
5574759803 },
55748 .dst_temps = .{.mem},
59804 .dst_temps = .{ .mem, .unused },
5574959805 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5575059806 .each = .{ .once = &.{
5575159807 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -55758,7 +59814,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5575859814 }, .{
5575959815 .required_features = .{ .@"64bit", .sse, null, null },
5576059816 .src_constraints = .{ .{ .float = .xword }, .any, .any },
55761 .dst_constraints = .{.{ .signed_int = .qword }},
59817 .dst_constraints = .{ .{ .signed_int = .qword }, .any },
5576259818 .patterns = &.{
5576359819 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
5576459820 },
......@@ -55774,7 +59830,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5577459830 .unused,
5577559831 .unused,
5577659832 },
55777 .dst_temps = .{.{ .reg = .rax }},
59833 .dst_temps = .{ .{ .reg = .rax }, .unused },
5577859834 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5577959835 .each = .{ .once = &.{
5578059836 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -55782,7 +59838,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5578259838 }, .{
5578359839 .required_features = .{ .@"64bit", .sse, null, null },
5578459840 .src_constraints = .{ .{ .float = .xword }, .any, .any },
55785 .dst_constraints = .{.{ .unsigned_int = .qword }},
59841 .dst_constraints = .{ .{ .unsigned_int = .qword }, .any },
5578659842 .patterns = &.{
5578759843 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
5578859844 },
......@@ -55798,7 +59854,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5579859854 .unused,
5579959855 .unused,
5580059856 },
55801 .dst_temps = .{.{ .reg = .rax }},
59857 .dst_temps = .{ .{ .reg = .rax }, .unused },
5580259858 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5580359859 .each = .{ .once = &.{
5580459860 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -55806,7 +59862,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5580659862 }, .{
5580759863 .required_features = .{ .@"64bit", .avx, null, null },
5580859864 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
55809 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }},
59865 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
5581059866 .patterns = &.{
5581159867 .{ .src = .{ .to_mem, .none, .none } },
5581259868 },
......@@ -55822,7 +59878,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5582259878 .unused,
5582359879 .unused,
5582459880 },
55825 .dst_temps = .{.mem},
59881 .dst_temps = .{ .mem, .unused },
5582659882 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5582759883 .each = .{ .once = &.{
5582859884 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -55835,7 +59891,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5583559891 }, .{
5583659892 .required_features = .{ .@"64bit", .avx, null, null },
5583759893 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
55838 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }},
59894 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
5583959895 .patterns = &.{
5584059896 .{ .src = .{ .to_mem, .none, .none } },
5584159897 },
......@@ -55851,7 +59907,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5585159907 .unused,
5585259908 .unused,
5585359909 },
55854 .dst_temps = .{.mem},
59910 .dst_temps = .{ .mem, .unused },
5585559911 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5585659912 .each = .{ .once = &.{
5585759913 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -55864,7 +59920,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5586459920 }, .{
5586559921 .required_features = .{ .@"64bit", .sse2, null, null },
5586659922 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
55867 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }},
59923 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
5586859924 .patterns = &.{
5586959925 .{ .src = .{ .to_mem, .none, .none } },
5587059926 },
......@@ -55880,7 +59936,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5588059936 .unused,
5588159937 .unused,
5588259938 },
55883 .dst_temps = .{.mem},
59939 .dst_temps = .{ .mem, .unused },
5588459940 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5588559941 .each = .{ .once = &.{
5588659942 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -55893,7 +59949,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5589359949 }, .{
5589459950 .required_features = .{ .@"64bit", .sse2, null, null },
5589559951 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
55896 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }},
59952 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
5589759953 .patterns = &.{
5589859954 .{ .src = .{ .to_mem, .none, .none } },
5589959955 },
......@@ -55909,7 +59965,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5590959965 .unused,
5591059966 .unused,
5591159967 },
55912 .dst_temps = .{.mem},
59968 .dst_temps = .{ .mem, .unused },
5591359969 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5591459970 .each = .{ .once = &.{
5591559971 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -55922,7 +59978,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5592259978 }, .{
5592359979 .required_features = .{ .@"64bit", .sse, null, null },
5592459980 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
55925 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }},
59981 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any },
5592659982 .patterns = &.{
5592759983 .{ .src = .{ .to_mem, .none, .none } },
5592859984 },
......@@ -55938,7 +59994,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5593859994 .unused,
5593959995 .unused,
5594059996 },
55941 .dst_temps = .{.mem},
59997 .dst_temps = .{ .mem, .unused },
5594259998 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5594359999 .each = .{ .once = &.{
5594460000 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -55951,7 +60007,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5595160007 }, .{
5595260008 .required_features = .{ .@"64bit", .sse, null, null },
5595360009 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
55954 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }},
60010 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any },
5595560011 .patterns = &.{
5595660012 .{ .src = .{ .to_mem, .none, .none } },
5595760013 },
......@@ -55967,7 +60023,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5596760023 .unused,
5596860024 .unused,
5596960025 },
55970 .dst_temps = .{.mem},
60026 .dst_temps = .{ .mem, .unused },
5597160027 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5597260028 .each = .{ .once = &.{
5597360029 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -55980,7 +60036,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5598060036 }, .{
5598160037 .required_features = .{ .@"64bit", .sse, null, null },
5598260038 .src_constraints = .{ .{ .float = .xword }, .any, .any },
55983 .dst_constraints = .{.{ .signed_int = .xword }},
60039 .dst_constraints = .{ .{ .signed_int = .xword }, .any },
5598460040 .patterns = &.{
5598560041 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
5598660042 },
......@@ -55996,7 +60052,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5599660052 .unused,
5599760053 .unused,
5599860054 },
55999 .dst_temps = .{.{ .reg_pair = .{ .rax, .rdx } }},
60055 .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused },
5600060056 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5600160057 .each = .{ .once = &.{
5600260058 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -56004,7 +60060,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5600460060 }, .{
5600560061 .required_features = .{ .@"64bit", .sse, null, null },
5600660062 .src_constraints = .{ .{ .float = .xword }, .any, .any },
56007 .dst_constraints = .{.{ .unsigned_int = .xword }},
60063 .dst_constraints = .{ .{ .unsigned_int = .xword }, .any },
5600860064 .patterns = &.{
5600960065 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
5601060066 },
......@@ -56020,7 +60076,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5602060076 .unused,
5602160077 .unused,
5602260078 },
56023 .dst_temps = .{.{ .reg_pair = .{ .rax, .rdx } }},
60079 .dst_temps = .{ .{ .reg_pair = .{ .rax, .rdx } }, .unused },
5602460080 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5602560081 .each = .{ .once = &.{
5602660082 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -56028,7 +60084,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5602860084 }, .{
5602960085 .required_features = .{ .@"64bit", .avx, null, null },
5603060086 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
56031 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }},
60087 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any },
5603260088 .patterns = &.{
5603360089 .{ .src = .{ .to_mem, .none, .none } },
5603460090 },
......@@ -56044,7 +60100,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5604460100 .unused,
5604560101 .unused,
5604660102 },
56047 .dst_temps = .{.mem},
60103 .dst_temps = .{ .mem, .unused },
5604860104 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5604960105 .each = .{ .once = &.{
5605060106 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -56058,7 +60114,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5605860114 }, .{
5605960115 .required_features = .{ .@"64bit", .avx, null, null },
5606060116 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
56061 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }},
60117 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any },
5606260118 .patterns = &.{
5606360119 .{ .src = .{ .to_mem, .none, .none } },
5606460120 },
......@@ -56074,7 +60130,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5607460130 .unused,
5607560131 .unused,
5607660132 },
56077 .dst_temps = .{.mem},
60133 .dst_temps = .{ .mem, .unused },
5607860134 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5607960135 .each = .{ .once = &.{
5608060136 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -56088,7 +60144,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5608860144 }, .{
5608960145 .required_features = .{ .@"64bit", .sse2, null, null },
5609060146 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
56091 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }},
60147 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any },
5609260148 .patterns = &.{
5609360149 .{ .src = .{ .to_mem, .none, .none } },
5609460150 },
......@@ -56104,7 +60160,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5610460160 .unused,
5610560161 .unused,
5610660162 },
56107 .dst_temps = .{.mem},
60163 .dst_temps = .{ .mem, .unused },
5610860164 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5610960165 .each = .{ .once = &.{
5611060166 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -56118,7 +60174,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5611860174 }, .{
5611960175 .required_features = .{ .@"64bit", .sse2, null, null },
5612060176 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
56121 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }},
60177 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any },
5612260178 .patterns = &.{
5612360179 .{ .src = .{ .to_mem, .none, .none } },
5612460180 },
......@@ -56134,7 +60190,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5613460190 .unused,
5613560191 .unused,
5613660192 },
56137 .dst_temps = .{.mem},
60193 .dst_temps = .{ .mem, .unused },
5613860194 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5613960195 .each = .{ .once = &.{
5614060196 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -56148,7 +60204,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5614860204 }, .{
5614960205 .required_features = .{ .@"64bit", .sse, null, null },
5615060206 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
56151 .dst_constraints = .{.{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }},
60207 .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any },
5615260208 .patterns = &.{
5615360209 .{ .src = .{ .to_mem, .none, .none } },
5615460210 },
......@@ -56164,7 +60220,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5616460220 .unused,
5616560221 .unused,
5616660222 },
56167 .dst_temps = .{.mem},
60223 .dst_temps = .{ .mem, .unused },
5616860224 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5616960225 .each = .{ .once = &.{
5617060226 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -56178,7 +60234,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5617860234 }, .{
5617960235 .required_features = .{ .@"64bit", .sse, null, null },
5618060236 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
56181 .dst_constraints = .{.{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }},
60237 .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any },
5618260238 .patterns = &.{
5618360239 .{ .src = .{ .to_mem, .none, .none } },
5618460240 },
......@@ -56194,7 +60250,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5619460250 .unused,
5619560251 .unused,
5619660252 },
56197 .dst_temps = .{.mem},
60253 .dst_temps = .{ .mem, .unused },
5619860254 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5619960255 .each = .{ .once = &.{
5620060256 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -56208,7 +60264,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5620860264 }, .{
5620960265 .required_features = .{ .@"64bit", .sse, null, null },
5621060266 .src_constraints = .{ .{ .float = .xword }, .any, .any },
56211 .dst_constraints = .{.{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }},
60267 .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any },
5621260268 .patterns = &.{
5621360269 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
5621460270 },
......@@ -56224,7 +60280,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5622460280 .unused,
5622560281 .unused,
5622660282 },
56227 .dst_temps = .{.mem},
60283 .dst_temps = .{ .mem, .unused },
5622860284 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5622960285 .each = .{ .once = &.{
5623060286 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
......@@ -56234,7 +60290,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5623460290 }, .{
5623560291 .required_features = .{ .@"64bit", .sse, null, null },
5623660292 .src_constraints = .{ .{ .float = .xword }, .any, .any },
56237 .dst_constraints = .{.{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }},
60293 .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
5623860294 .patterns = &.{
5623960295 .{ .src = .{ .{ .to_reg = .xmm0 }, .none, .none } },
5624060296 },
......@@ -56250,7 +60306,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5625060306 .unused,
5625160307 .unused,
5625260308 },
56253 .dst_temps = .{.mem},
60309 .dst_temps = .{ .mem, .unused },
5625460310 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5625560311 .each = .{ .once = &.{
5625660312 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
......@@ -56260,7 +60316,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5626060316 }, .{
5626160317 .required_features = .{ .@"64bit", .avx, null, null },
5626260318 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
56263 .dst_constraints = .{.{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }},
60319 .dst_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any },
5626460320 .patterns = &.{
5626560321 .{ .src = .{ .to_mem, .none, .none } },
5626660322 },
......@@ -56276,7 +60332,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5627660332 .unused,
5627760333 .unused,
5627860334 },
56279 .dst_temps = .{.mem},
60335 .dst_temps = .{ .mem, .unused },
5628060336 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5628160337 .each = .{ .once = &.{
5628260338 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -56292,7 +60348,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5629260348 }, .{
5629360349 .required_features = .{ .@"64bit", .avx, null, null },
5629460350 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
56295 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }},
60351 .dst_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
5629660352 .patterns = &.{
5629760353 .{ .src = .{ .to_mem, .none, .none } },
5629860354 },
......@@ -56308,7 +60364,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5630860364 .unused,
5630960365 .unused,
5631060366 },
56311 .dst_temps = .{.mem},
60367 .dst_temps = .{ .mem, .unused },
5631260368 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5631360369 .each = .{ .once = &.{
5631460370 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -56324,7 +60380,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5632460380 }, .{
5632560381 .required_features = .{ .@"64bit", .sse2, null, null },
5632660382 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
56327 .dst_constraints = .{.{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }},
60383 .dst_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any },
5632860384 .patterns = &.{
5632960385 .{ .src = .{ .to_mem, .none, .none } },
5633060386 },
......@@ -56340,7 +60396,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5634060396 .unused,
5634160397 .unused,
5634260398 },
56343 .dst_temps = .{.mem},
60399 .dst_temps = .{ .mem, .unused },
5634460400 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5634560401 .each = .{ .once = &.{
5634660402 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -56356,7 +60412,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5635660412 }, .{
5635760413 .required_features = .{ .@"64bit", .sse2, null, null },
5635860414 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
56359 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }},
60415 .dst_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
5636060416 .patterns = &.{
5636160417 .{ .src = .{ .to_mem, .none, .none } },
5636260418 },
......@@ -56372,7 +60428,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5637260428 .unused,
5637360429 .unused,
5637460430 },
56375 .dst_temps = .{.mem},
60431 .dst_temps = .{ .mem, .unused },
5637660432 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5637760433 .each = .{ .once = &.{
5637860434 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -56388,7 +60444,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5638860444 }, .{
5638960445 .required_features = .{ .@"64bit", .sse, null, null },
5639060446 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
56391 .dst_constraints = .{.{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }},
60447 .dst_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any },
5639260448 .patterns = &.{
5639360449 .{ .src = .{ .to_mem, .none, .none } },
5639460450 },
......@@ -56404,7 +60460,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5640460460 .unused,
5640560461 .unused,
5640660462 },
56407 .dst_temps = .{.mem},
60463 .dst_temps = .{ .mem, .unused },
5640860464 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5640960465 .each = .{ .once = &.{
5641060466 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -56420,7 +60476,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5642060476 }, .{
5642160477 .required_features = .{ .@"64bit", .sse, null, null },
5642260478 .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any },
56423 .dst_constraints = .{.{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }},
60479 .dst_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any },
5642460480 .patterns = &.{
5642560481 .{ .src = .{ .to_mem, .none, .none } },
5642660482 },
......@@ -56436,7 +60492,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5643660492 .unused,
5643760493 .unused,
5643860494 },
56439 .dst_temps = .{.mem},
60495 .dst_temps = .{ .mem, .unused },
5644060496 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5644160497 .each = .{ .once = &.{
5644260498 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -56467,7 +60523,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5646760523 cg.select(&res, &.{ty_op.ty.toType()}, &ops, comptime &.{ .{
5646860524 .required_features = .{ .f16c, null, null, null },
5646960525 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },
56470 .dst_constraints = .{.{ .float = .word }},
60526 .dst_constraints = .{ .{ .float = .word }, .any },
5647160527 .patterns = &.{
5647260528 .{ .src = .{ .mem, .none, .none } },
5647360529 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -56483,7 +60539,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5648360539 .unused,
5648460540 .unused,
5648560541 },
56486 .dst_temps = .{.{ .rc = .sse }},
60542 .dst_temps = .{ .{ .rc = .sse }, .unused },
5648760543 .each = .{ .once = &.{
5648860544 .{ ._, ._, .movsx, .tmp0d, .src0b, ._, ._ },
5648960545 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
......@@ -56493,7 +60549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5649360549 }, .{
5649460550 .required_features = .{ .f16c, null, null, null },
5649560551 .src_constraints = .{ .{ .unsigned_int = .byte }, .any, .any },
56496 .dst_constraints = .{.{ .float = .word }},
60552 .dst_constraints = .{ .{ .float = .word }, .any },
5649760553 .patterns = &.{
5649860554 .{ .src = .{ .mem, .none, .none } },
5649960555 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -56509,7 +60565,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5650960565 .unused,
5651060566 .unused,
5651160567 },
56512 .dst_temps = .{.{ .rc = .sse }},
60568 .dst_temps = .{ .{ .rc = .sse }, .unused },
5651360569 .each = .{ .once = &.{
5651460570 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
5651560571 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
......@@ -56519,7 +60575,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5651960575 }, .{
5652060576 .required_features = .{ .f16c, null, null, null },
5652160577 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },
56522 .dst_constraints = .{.{ .float = .word }},
60578 .dst_constraints = .{ .{ .float = .word }, .any },
5652360579 .patterns = &.{
5652460580 .{ .src = .{ .mem, .none, .none } },
5652560581 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -56535,7 +60591,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5653560591 .unused,
5653660592 .unused,
5653760593 },
56538 .dst_temps = .{.{ .rc = .sse }},
60594 .dst_temps = .{ .{ .rc = .sse }, .unused },
5653960595 .each = .{ .once = &.{
5654060596 .{ ._, ._, .movsx, .tmp0d, .src0w, ._, ._ },
5654160597 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
......@@ -56545,7 +60601,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5654560601 }, .{
5654660602 .required_features = .{ .f16c, null, null, null },
5654760603 .src_constraints = .{ .{ .unsigned_int = .word }, .any, .any },
56548 .dst_constraints = .{.{ .float = .word }},
60604 .dst_constraints = .{ .{ .float = .word }, .any },
5654960605 .patterns = &.{
5655060606 .{ .src = .{ .mem, .none, .none } },
5655160607 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -56561,7 +60617,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5656160617 .unused,
5656260618 .unused,
5656360619 },
56564 .dst_temps = .{.{ .rc = .sse }},
60620 .dst_temps = .{ .{ .rc = .sse }, .unused },
5656560621 .each = .{ .once = &.{
5656660622 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },
5656760623 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
......@@ -56571,12 +60627,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5657160627 }, .{
5657260628 .required_features = .{ .f16c, null, null, null },
5657360629 .src_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any, .any },
56574 .dst_constraints = .{.{ .float = .word }},
60630 .dst_constraints = .{ .{ .float = .word }, .any },
5657560631 .patterns = &.{
5657660632 .{ .src = .{ .mem, .none, .none } },
5657760633 .{ .src = .{ .to_gpr, .none, .none } },
5657860634 },
56579 .dst_temps = .{.{ .rc = .sse }},
60635 .dst_temps = .{ .{ .rc = .sse }, .unused },
5658060636 .each = .{ .once = &.{
5658160637 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
5658260638 .{ ._, .v_ss, .cvtsi2, .dst0x, .dst0x, .src0d, ._ },
......@@ -56585,7 +60641,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5658560641 }, .{
5658660642 .required_features = .{ .@"64bit", .f16c, null, null },
5658760643 .src_constraints = .{ .{ .exact_unsigned_int = 32 }, .any, .any },
56588 .dst_constraints = .{.{ .float = .word }},
60644 .dst_constraints = .{ .{ .float = .word }, .any },
5658960645 .patterns = &.{
5659060646 .{ .src = .{ .mem, .none, .none } },
5659160647 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -56601,7 +60657,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5660160657 .unused,
5660260658 .unused,
5660360659 },
56604 .dst_temps = .{.{ .rc = .sse }},
60660 .dst_temps = .{ .{ .rc = .sse }, .unused },
5660560661 .each = .{ .once = &.{
5660660662 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },
5660760663 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
......@@ -56611,12 +60667,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5661160667 }, .{
5661260668 .required_features = .{ .@"64bit", .f16c, null, null },
5661360669 .src_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any, .any },
56614 .dst_constraints = .{.{ .float = .word }},
60670 .dst_constraints = .{ .{ .float = .word }, .any },
5661560671 .patterns = &.{
5661660672 .{ .src = .{ .mem, .none, .none } },
5661760673 .{ .src = .{ .to_gpr, .none, .none } },
5661860674 },
56619 .dst_temps = .{.{ .rc = .sse }},
60675 .dst_temps = .{ .{ .rc = .sse }, .unused },
5662060676 .each = .{ .once = &.{
5662160677 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
5662260678 .{ ._, .v_ss, .cvtsi2, .dst0x, .dst0x, .src0q, ._ },
......@@ -56625,7 +60681,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5662560681 }, .{
5662660682 .required_features = .{ .@"64bit", .f16c, null, null },
5662760683 .src_constraints = .{ .{ .exact_unsigned_int = 64 }, .any, .any },
56628 .dst_constraints = .{.{ .float = .word }},
60684 .dst_constraints = .{ .{ .float = .word }, .any },
5662960685 .patterns = &.{
5663060686 .{ .src = .{ .to_mut_gpr, .none, .none } },
5663160687 },
......@@ -56640,7 +60696,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5664060696 .unused,
5664160697 .unused,
5664260698 },
56643 .dst_temps = .{.{ .rc = .sse }},
60699 .dst_temps = .{ .{ .rc = .sse }, .unused },
5664460700 .clobbers = .{ .eflags = true },
5664560701 .each = .{ .once = &.{
5664660702 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
......@@ -56659,7 +60715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5665960715 }, .{
5666060716 .required_features = .{ .sse, null, null, null },
5666160717 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },
56662 .dst_constraints = .{.{ .float = .word }},
60718 .dst_constraints = .{ .{ .float = .word }, .any },
5666360719 .patterns = &.{
5666460720 .{ .src = .{ .{ .to_reg = .dil }, .none, .none } },
5666560721 },
......@@ -56675,7 +60731,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5667560731 .unused,
5667660732 .unused,
5667760733 },
56678 .dst_temps = .{.{ .reg = .xmm0 }},
60734 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
5667960735 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5668060736 .each = .{ .once = &.{
5668160737 .{ ._, ._, .movsx, .src0d, .src0b, ._, ._ },
......@@ -56684,7 +60740,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5668460740 }, .{
5668560741 .required_features = .{ .sse, null, null, null },
5668660742 .src_constraints = .{ .{ .unsigned_int = .byte }, .any, .any },
56687 .dst_constraints = .{.{ .float = .word }},
60743 .dst_constraints = .{ .{ .float = .word }, .any },
5668860744 .patterns = &.{
5668960745 .{ .src = .{ .{ .to_reg = .dil }, .none, .none } },
5669060746 },
......@@ -56700,7 +60756,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5670060756 .unused,
5670160757 .unused,
5670260758 },
56703 .dst_temps = .{.{ .reg = .xmm0 }},
60759 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
5670460760 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5670560761 .each = .{ .once = &.{
5670660762 .{ ._, ._, .movzx, .src0d, .src0b, ._, ._ },
......@@ -56709,7 +60765,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5670960765 }, .{
5671060766 .required_features = .{ .sse, null, null, null },
5671160767 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },
56712 .dst_constraints = .{.{ .float = .word }},
60768 .dst_constraints = .{ .{ .float = .word }, .any },
5671360769 .patterns = &.{
5671460770 .{ .src = .{ .{ .to_reg = .di }, .none, .none } },
5671560771 },
......@@ -56725,7 +60781,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5672560781 .unused,
5672660782 .unused,
5672760783 },
56728 .dst_temps = .{.{ .reg = .xmm0 }},
60784 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
5672960785 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5673060786 .each = .{ .once = &.{
5673160787 .{ ._, ._, .movsx, .src0d, .src0w, ._, ._ },
......@@ -56734,7 +60790,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5673460790 }, .{
5673560791 .required_features = .{ .sse, null, null, null },
5673660792 .src_constraints = .{ .{ .unsigned_int = .word }, .any, .any },
56737 .dst_constraints = .{.{ .float = .word }},
60793 .dst_constraints = .{ .{ .float = .word }, .any },
5673860794 .patterns = &.{
5673960795 .{ .src = .{ .{ .to_reg = .di }, .none, .none } },
5674060796 },
......@@ -56750,7 +60806,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5675060806 .unused,
5675160807 .unused,
5675260808 },
56753 .dst_temps = .{.{ .reg = .xmm0 }},
60809 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
5675460810 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5675560811 .each = .{ .once = &.{
5675660812 .{ ._, ._, .movzx, .src0d, .src0w, ._, ._ },
......@@ -56759,7 +60815,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5675960815 }, .{
5676060816 .required_features = .{ .sse, null, null, null },
5676160817 .src_constraints = .{ .{ .signed_int = .dword }, .any, .any },
56762 .dst_constraints = .{.{ .float = .word }},
60818 .dst_constraints = .{ .{ .float = .word }, .any },
5676360819 .patterns = &.{
5676460820 .{ .src = .{ .{ .to_reg = .edi }, .none, .none } },
5676560821 },
......@@ -56775,7 +60831,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5677560831 .unused,
5677660832 .unused,
5677760833 },
56778 .dst_temps = .{.{ .reg = .xmm0 }},
60834 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
5677960835 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5678060836 .each = .{ .once = &.{
5678160837 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -56783,7 +60839,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5678360839 }, .{
5678460840 .required_features = .{ .sse, null, null, null },
5678560841 .src_constraints = .{ .{ .unsigned_int = .dword }, .any, .any },
56786 .dst_constraints = .{.{ .float = .word }},
60842 .dst_constraints = .{ .{ .float = .word }, .any },
5678760843 .patterns = &.{
5678860844 .{ .src = .{ .{ .to_reg = .edi }, .none, .none } },
5678960845 },
......@@ -56799,7 +60855,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5679960855 .unused,
5680060856 .unused,
5680160857 },
56802 .dst_temps = .{.{ .reg = .xmm0 }},
60858 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
5680360859 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5680460860 .each = .{ .once = &.{
5680560861 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -56807,7 +60863,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5680760863 }, .{
5680860864 .required_features = .{ .@"64bit", .sse, null, null },
5680960865 .src_constraints = .{ .{ .signed_int = .qword }, .any, .any },
56810 .dst_constraints = .{.{ .float = .word }},
60866 .dst_constraints = .{ .{ .float = .word }, .any },
5681160867 .patterns = &.{
5681260868 .{ .src = .{ .{ .to_reg = .rdi }, .none, .none } },
5681360869 },
......@@ -56823,7 +60879,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5682360879 .unused,
5682460880 .unused,
5682560881 },
56826 .dst_temps = .{.{ .reg = .xmm0 }},
60882 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
5682760883 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5682860884 .each = .{ .once = &.{
5682960885 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -56831,7 +60887,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5683160887 }, .{
5683260888 .required_features = .{ .@"64bit", .sse, null, null },
5683360889 .src_constraints = .{ .{ .unsigned_int = .qword }, .any, .any },
56834 .dst_constraints = .{.{ .float = .word }},
60890 .dst_constraints = .{ .{ .float = .word }, .any },
5683560891 .patterns = &.{
5683660892 .{ .src = .{ .{ .to_reg = .rdi }, .none, .none } },
5683760893 },
......@@ -56847,7 +60903,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5684760903 .unused,
5684860904 .unused,
5684960905 },
56850 .dst_temps = .{.{ .reg = .xmm0 }},
60906 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
5685160907 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5685260908 .each = .{ .once = &.{
5685360909 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -56855,7 +60911,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5685560911 }, .{
5685660912 .required_features = .{ .@"64bit", .sse, null, null },
5685760913 .src_constraints = .{ .{ .signed_int = .xword }, .any, .any },
56858 .dst_constraints = .{.{ .float = .word }},
60914 .dst_constraints = .{ .{ .float = .word }, .any },
5685960915 .patterns = &.{
5686060916 .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } },
5686160917 },
......@@ -56871,7 +60927,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5687160927 .unused,
5687260928 .unused,
5687360929 },
56874 .dst_temps = .{.{ .reg = .xmm0 }},
60930 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
5687560931 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5687660932 .each = .{ .once = &.{
5687760933 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -56879,7 +60935,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5687960935 }, .{
5688060936 .required_features = .{ .@"64bit", .sse, null, null },
5688160937 .src_constraints = .{ .{ .unsigned_int = .xword }, .any, .any },
56882 .dst_constraints = .{.{ .float = .word }},
60938 .dst_constraints = .{ .{ .float = .word }, .any },
5688360939 .patterns = &.{
5688460940 .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } },
5688560941 },
......@@ -56895,7 +60951,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5689560951 .unused,
5689660952 .unused,
5689760953 },
56898 .dst_temps = .{.{ .reg = .xmm0 }},
60954 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
5689960955 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5690060956 .each = .{ .once = &.{
5690160957 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -56903,7 +60959,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5690360959 }, .{
5690460960 .required_features = .{ .@"64bit", .sse, null, null },
5690560961 .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
56906 .dst_constraints = .{.{ .float = .word }},
60962 .dst_constraints = .{ .{ .float = .word }, .any },
5690760963 .patterns = &.{
5690860964 .{ .src = .{ .to_mem, .none, .none } },
5690960965 },
......@@ -56919,7 +60975,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5691960975 .unused,
5692060976 .unused,
5692160977 },
56922 .dst_temps = .{.{ .reg = .xmm0 }},
60978 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
5692360979 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5692460980 .each = .{ .once = &.{
5692560981 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -56929,7 +60985,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5692960985 }, .{
5693060986 .required_features = .{ .@"64bit", .sse, null, null },
5693160987 .src_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
56932 .dst_constraints = .{.{ .float = .word }},
60988 .dst_constraints = .{ .{ .float = .word }, .any },
5693360989 .patterns = &.{
5693460990 .{ .src = .{ .to_mem, .none, .none } },
5693560991 },
......@@ -56945,7 +61001,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5694561001 .unused,
5694661002 .unused,
5694761003 },
56948 .dst_temps = .{.{ .reg = .xmm0 }},
61004 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
5694961005 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5695061006 .each = .{ .once = &.{
5695161007 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -56955,12 +61011,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5695561011 }, .{
5695661012 .required_features = .{ .f16c, null, null, null },
5695761013 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },
56958 .dst_constraints = .{.{ .scalar_float = .{ .of = .qword, .is = .word } }},
61014 .dst_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .word } }, .any },
5695961015 .patterns = &.{
5696061016 .{ .src = .{ .mem, .none, .none } },
5696161017 .{ .src = .{ .to_sse, .none, .none } },
5696261018 },
56963 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
61019 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5696461020 .each = .{ .once = &.{
5696561021 .{ ._, .vp_d, .movsxb, .dst0x, .src0d, ._, ._ },
5696661022 .{ ._, .v_ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },
......@@ -56969,12 +61025,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5696961025 }, .{
5697061026 .required_features = .{ .f16c, .avx2, null, null },
5697161027 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any },
56972 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .word } }},
61028 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .word } }, .any },
5697361029 .patterns = &.{
5697461030 .{ .src = .{ .mem, .none, .none } },
5697561031 .{ .src = .{ .to_sse, .none, .none } },
5697661032 },
56977 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
61033 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5697861034 .each = .{ .once = &.{
5697961035 .{ ._, .vp_d, .movsxb, .dst0y, .src0q, ._, ._ },
5698061036 .{ ._, .v_ps, .cvtdq2, .dst0y, .dst0y, ._, ._ },
......@@ -56983,12 +61039,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5698361039 }, .{
5698461040 .required_features = .{ .f16c, null, null, null },
5698561041 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .dword, .is = .byte } }, .any, .any },
56986 .dst_constraints = .{.{ .scalar_float = .{ .of = .qword, .is = .word } }},
61042 .dst_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .word } }, .any },
5698761043 .patterns = &.{
5698861044 .{ .src = .{ .mem, .none, .none } },
5698961045 .{ .src = .{ .to_sse, .none, .none } },
5699061046 },
56991 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
61047 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5699261048 .each = .{ .once = &.{
5699361049 .{ ._, .vp_d, .movzxb, .dst0x, .src0d, ._, ._ },
5699461050 .{ ._, .v_ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },
......@@ -56997,12 +61053,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5699761053 }, .{
5699861054 .required_features = .{ .f16c, .avx2, null, null },
5699961055 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, .any, .any },
57000 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .word } }},
61056 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .word } }, .any },
5700161057 .patterns = &.{
5700261058 .{ .src = .{ .mem, .none, .none } },
5700361059 .{ .src = .{ .to_sse, .none, .none } },
5700461060 },
57005 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
61061 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5700661062 .each = .{ .once = &.{
5700761063 .{ ._, .vp_d, .movzxb, .dst0y, .src0q, ._, ._ },
5700861064 .{ ._, .v_ps, .cvtdq2, .dst0y, .dst0y, ._, ._ },
......@@ -57011,7 +61067,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5701161067 }, .{
5701261068 .required_features = .{ .f16c, .avx2, null, null },
5701361069 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any },
57014 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }},
61070 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, .any },
5701561071 .patterns = &.{
5701661072 .{ .src = .{ .to_mem, .none, .none } },
5701761073 },
......@@ -57026,7 +61082,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5702661082 .unused,
5702761083 .unused,
5702861084 },
57029 .dst_temps = .{.mem},
61085 .dst_temps = .{ .mem, .unused },
5703061086 .clobbers = .{ .eflags = true },
5703161087 .each = .{ .once = &.{
5703261088 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57039,7 +61095,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5703961095 }, .{
5704061096 .required_features = .{ .f16c, null, null, null },
5704161097 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },
57042 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .word } }},
61098 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .word } }, .any },
5704361099 .patterns = &.{
5704461100 .{ .src = .{ .to_mem, .none, .none } },
5704561101 },
......@@ -57054,7 +61110,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5705461110 .unused,
5705561111 .unused,
5705661112 },
57057 .dst_temps = .{.mem},
61113 .dst_temps = .{ .mem, .unused },
5705861114 .clobbers = .{ .eflags = true },
5705961115 .each = .{ .once = &.{
5706061116 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57067,7 +61123,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5706761123 }, .{
5706861124 .required_features = .{ .f16c, .avx2, null, null },
5706961125 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, .any, .any },
57070 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }},
61126 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, .any },
5707161127 .patterns = &.{
5707261128 .{ .src = .{ .to_mem, .none, .none } },
5707361129 },
......@@ -57082,7 +61138,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5708261138 .unused,
5708361139 .unused,
5708461140 },
57085 .dst_temps = .{.mem},
61141 .dst_temps = .{ .mem, .unused },
5708661142 .clobbers = .{ .eflags = true },
5708761143 .each = .{ .once = &.{
5708861144 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57095,7 +61151,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5709561151 }, .{
5709661152 .required_features = .{ .f16c, null, null, null },
5709761153 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .byte } }, .any, .any },
57098 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .word } }},
61154 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .word } }, .any },
5709961155 .patterns = &.{
5710061156 .{ .src = .{ .to_mem, .none, .none } },
5710161157 },
......@@ -57110,7 +61166,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5711061166 .unused,
5711161167 .unused,
5711261168 },
57113 .dst_temps = .{.mem},
61169 .dst_temps = .{ .mem, .unused },
5711461170 .clobbers = .{ .eflags = true },
5711561171 .each = .{ .once = &.{
5711661172 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57123,7 +61179,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5712361179 }, .{
5712461180 .required_features = .{ .avx, .slow_incdec, null, null },
5712561181 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
57126 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
61182 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5712761183 .patterns = &.{
5712861184 .{ .src = .{ .to_mem, .none, .none } },
5712961185 },
......@@ -57139,7 +61195,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5713961195 .unused,
5714061196 .unused,
5714161197 },
57142 .dst_temps = .{.mem},
61198 .dst_temps = .{ .mem, .unused },
5714361199 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5714461200 .each = .{ .once = &.{
5714561201 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57152,7 +61208,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5715261208 }, .{
5715361209 .required_features = .{ .avx, null, null, null },
5715461210 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
57155 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
61211 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5715661212 .patterns = &.{
5715761213 .{ .src = .{ .to_mem, .none, .none } },
5715861214 },
......@@ -57168,7 +61224,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5716861224 .unused,
5716961225 .unused,
5717061226 },
57171 .dst_temps = .{.mem},
61227 .dst_temps = .{ .mem, .unused },
5717261228 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5717361229 .each = .{ .once = &.{
5717461230 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57181,7 +61237,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5718161237 }, .{
5718261238 .required_features = .{ .sse4_1, .slow_incdec, null, null },
5718361239 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
57184 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
61240 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5718561241 .patterns = &.{
5718661242 .{ .src = .{ .to_mem, .none, .none } },
5718761243 },
......@@ -57197,7 +61253,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5719761253 .unused,
5719861254 .unused,
5719961255 },
57200 .dst_temps = .{.mem},
61256 .dst_temps = .{ .mem, .unused },
5720161257 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5720261258 .each = .{ .once = &.{
5720361259 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57210,7 +61266,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5721061266 }, .{
5721161267 .required_features = .{ .sse4_1, null, null, null },
5721261268 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
57213 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
61269 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5721461270 .patterns = &.{
5721561271 .{ .src = .{ .to_mem, .none, .none } },
5721661272 },
......@@ -57226,7 +61282,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5722661282 .unused,
5722761283 .unused,
5722861284 },
57229 .dst_temps = .{.mem},
61285 .dst_temps = .{ .mem, .unused },
5723061286 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5723161287 .each = .{ .once = &.{
5723261288 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57239,7 +61295,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5723961295 }, .{
5724061296 .required_features = .{ .sse2, .slow_incdec, null, null },
5724161297 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
57242 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
61298 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5724361299 .patterns = &.{
5724461300 .{ .src = .{ .to_mem, .none, .none } },
5724561301 },
......@@ -57255,7 +61311,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5725561311 .unused,
5725661312 .unused,
5725761313 },
57258 .dst_temps = .{.mem},
61314 .dst_temps = .{ .mem, .unused },
5725961315 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5726061316 .each = .{ .once = &.{
5726161317 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57269,7 +61325,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5726961325 }, .{
5727061326 .required_features = .{ .sse2, null, null, null },
5727161327 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
57272 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
61328 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5727361329 .patterns = &.{
5727461330 .{ .src = .{ .to_mem, .none, .none } },
5727561331 },
......@@ -57285,7 +61341,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5728561341 .unused,
5728661342 .unused,
5728761343 },
57288 .dst_temps = .{.mem},
61344 .dst_temps = .{ .mem, .unused },
5728961345 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5729061346 .each = .{ .once = &.{
5729161347 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57299,7 +61355,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5729961355 }, .{
5730061356 .required_features = .{ .sse, .slow_incdec, null, null },
5730161357 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
57302 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
61358 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5730361359 .patterns = &.{
5730461360 .{ .src = .{ .to_mem, .none, .none } },
5730561361 },
......@@ -57315,7 +61371,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5731561371 .unused,
5731661372 .unused,
5731761373 },
57318 .dst_temps = .{.mem},
61374 .dst_temps = .{ .mem, .unused },
5731961375 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5732061376 .each = .{ .once = &.{
5732161377 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57330,7 +61386,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5733061386 }, .{
5733161387 .required_features = .{ .sse, null, null, null },
5733261388 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
57333 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
61389 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5733461390 .patterns = &.{
5733561391 .{ .src = .{ .to_mem, .none, .none } },
5733661392 },
......@@ -57346,7 +61402,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5734661402 .unused,
5734761403 .unused,
5734861404 },
57349 .dst_temps = .{.mem},
61405 .dst_temps = .{ .mem, .unused },
5735061406 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5735161407 .each = .{ .once = &.{
5735261408 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57361,7 +61417,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5736161417 }, .{
5736261418 .required_features = .{ .avx, .slow_incdec, null, null },
5736361419 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
57364 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
61420 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5736561421 .patterns = &.{
5736661422 .{ .src = .{ .to_mem, .none, .none } },
5736761423 },
......@@ -57377,7 +61433,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5737761433 .unused,
5737861434 .unused,
5737961435 },
57380 .dst_temps = .{.mem},
61436 .dst_temps = .{ .mem, .unused },
5738161437 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5738261438 .each = .{ .once = &.{
5738361439 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57390,7 +61446,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5739061446 }, .{
5739161447 .required_features = .{ .avx, null, null, null },
5739261448 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
57393 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
61449 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5739461450 .patterns = &.{
5739561451 .{ .src = .{ .to_mem, .none, .none } },
5739661452 },
......@@ -57406,7 +61462,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5740661462 .unused,
5740761463 .unused,
5740861464 },
57409 .dst_temps = .{.mem},
61465 .dst_temps = .{ .mem, .unused },
5741061466 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5741161467 .each = .{ .once = &.{
5741261468 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57419,7 +61475,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5741961475 }, .{
5742061476 .required_features = .{ .sse4_1, .slow_incdec, null, null },
5742161477 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
57422 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
61478 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5742361479 .patterns = &.{
5742461480 .{ .src = .{ .to_mem, .none, .none } },
5742561481 },
......@@ -57435,7 +61491,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5743561491 .unused,
5743661492 .unused,
5743761493 },
57438 .dst_temps = .{.mem},
61494 .dst_temps = .{ .mem, .unused },
5743961495 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5744061496 .each = .{ .once = &.{
5744161497 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57448,7 +61504,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5744861504 }, .{
5744961505 .required_features = .{ .sse4_1, null, null, null },
5745061506 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
57451 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
61507 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5745261508 .patterns = &.{
5745361509 .{ .src = .{ .to_mem, .none, .none } },
5745461510 },
......@@ -57464,7 +61520,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5746461520 .unused,
5746561521 .unused,
5746661522 },
57467 .dst_temps = .{.mem},
61523 .dst_temps = .{ .mem, .unused },
5746861524 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5746961525 .each = .{ .once = &.{
5747061526 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57477,7 +61533,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5747761533 }, .{
5747861534 .required_features = .{ .sse2, .slow_incdec, null, null },
5747961535 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
57480 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
61536 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5748161537 .patterns = &.{
5748261538 .{ .src = .{ .to_mem, .none, .none } },
5748361539 },
......@@ -57493,7 +61549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5749361549 .unused,
5749461550 .unused,
5749561551 },
57496 .dst_temps = .{.mem},
61552 .dst_temps = .{ .mem, .unused },
5749761553 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5749861554 .each = .{ .once = &.{
5749961555 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57507,7 +61563,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5750761563 }, .{
5750861564 .required_features = .{ .sse2, null, null, null },
5750961565 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
57510 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
61566 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5751161567 .patterns = &.{
5751261568 .{ .src = .{ .to_mem, .none, .none } },
5751361569 },
......@@ -57523,7 +61579,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5752361579 .unused,
5752461580 .unused,
5752561581 },
57526 .dst_temps = .{.mem},
61582 .dst_temps = .{ .mem, .unused },
5752761583 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5752861584 .each = .{ .once = &.{
5752961585 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57537,7 +61593,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5753761593 }, .{
5753861594 .required_features = .{ .sse, .slow_incdec, null, null },
5753961595 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
57540 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
61596 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5754161597 .patterns = &.{
5754261598 .{ .src = .{ .to_mem, .none, .none } },
5754361599 },
......@@ -57553,7 +61609,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5755361609 .unused,
5755461610 .unused,
5755561611 },
57556 .dst_temps = .{.mem},
61612 .dst_temps = .{ .mem, .unused },
5755761613 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5755861614 .each = .{ .once = &.{
5755961615 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57568,7 +61624,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5756861624 }, .{
5756961625 .required_features = .{ .sse, null, null, null },
5757061626 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
57571 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
61627 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5757261628 .patterns = &.{
5757361629 .{ .src = .{ .to_mem, .none, .none } },
5757461630 },
......@@ -57584,7 +61640,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5758461640 .unused,
5758561641 .unused,
5758661642 },
57587 .dst_temps = .{.mem},
61643 .dst_temps = .{ .mem, .unused },
5758861644 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5758961645 .each = .{ .once = &.{
5759061646 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57599,12 +61655,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5759961655 }, .{
5760061656 .required_features = .{ .f16c, null, null, null },
5760161657 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },
57602 .dst_constraints = .{.{ .scalar_float = .{ .of = .qword, .is = .word } }},
61658 .dst_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .word } }, .any },
5760361659 .patterns = &.{
5760461660 .{ .src = .{ .mem, .none, .none } },
5760561661 .{ .src = .{ .to_sse, .none, .none } },
5760661662 },
57607 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
61663 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5760861664 .each = .{ .once = &.{
5760961665 .{ ._, .vp_d, .movsxw, .dst0x, .src0q, ._, ._ },
5761061666 .{ ._, .v_ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },
......@@ -57613,12 +61669,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5761361669 }, .{
5761461670 .required_features = .{ .f16c, .avx2, null, null },
5761561671 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },
57616 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .word } }},
61672 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .word } }, .any },
5761761673 .patterns = &.{
5761861674 .{ .src = .{ .mem, .none, .none } },
5761961675 .{ .src = .{ .to_sse, .none, .none } },
5762061676 },
57621 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
61677 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5762261678 .each = .{ .once = &.{
5762361679 .{ ._, .vp_d, .movsxw, .dst0y, .src0x, ._, ._ },
5762461680 .{ ._, .v_ps, .cvtdq2, .dst0y, .dst0y, ._, ._ },
......@@ -57627,12 +61683,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5762761683 }, .{
5762861684 .required_features = .{ .f16c, null, null, null },
5762961685 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any },
57630 .dst_constraints = .{.{ .scalar_float = .{ .of = .qword, .is = .word } }},
61686 .dst_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .word } }, .any },
5763161687 .patterns = &.{
5763261688 .{ .src = .{ .mem, .none, .none } },
5763361689 .{ .src = .{ .to_sse, .none, .none } },
5763461690 },
57635 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
61691 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5763661692 .each = .{ .once = &.{
5763761693 .{ ._, .vp_d, .movzxw, .dst0x, .src0q, ._, ._ },
5763861694 .{ ._, .v_ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },
......@@ -57641,12 +61697,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5764161697 }, .{
5764261698 .required_features = .{ .f16c, .avx2, null, null },
5764361699 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },
57644 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .word } }},
61700 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .word } }, .any },
5764561701 .patterns = &.{
5764661702 .{ .src = .{ .mem, .none, .none } },
5764761703 .{ .src = .{ .to_sse, .none, .none } },
5764861704 },
57649 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
61705 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5765061706 .each = .{ .once = &.{
5765161707 .{ ._, .vp_d, .movzxw, .dst0y, .src0x, ._, ._ },
5765261708 .{ ._, .v_ps, .cvtdq2, .dst0y, .dst0y, ._, ._ },
......@@ -57655,7 +61711,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5765561711 }, .{
5765661712 .required_features = .{ .f16c, .avx2, null, null },
5765761713 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },
57658 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }},
61714 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, .any },
5765961715 .patterns = &.{
5766061716 .{ .src = .{ .to_mem, .none, .none } },
5766161717 },
......@@ -57670,7 +61726,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5767061726 .unused,
5767161727 .unused,
5767261728 },
57673 .dst_temps = .{.mem},
61729 .dst_temps = .{ .mem, .unused },
5767461730 .clobbers = .{ .eflags = true },
5767561731 .each = .{ .once = &.{
5767661732 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57683,7 +61739,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5768361739 }, .{
5768461740 .required_features = .{ .f16c, null, null, null },
5768561741 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },
57686 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .word } }},
61742 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .word } }, .any },
5768761743 .patterns = &.{
5768861744 .{ .src = .{ .to_mem, .none, .none } },
5768961745 },
......@@ -57698,7 +61754,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5769861754 .unused,
5769961755 .unused,
5770061756 },
57701 .dst_temps = .{.mem},
61757 .dst_temps = .{ .mem, .unused },
5770261758 .clobbers = .{ .eflags = true },
5770361759 .each = .{ .once = &.{
5770461760 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57711,7 +61767,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5771161767 }, .{
5771261768 .required_features = .{ .f16c, .avx2, null, null },
5771361769 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },
57714 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }},
61770 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, .any },
5771561771 .patterns = &.{
5771661772 .{ .src = .{ .to_mem, .none, .none } },
5771761773 },
......@@ -57726,7 +61782,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5772661782 .unused,
5772761783 .unused,
5772861784 },
57729 .dst_temps = .{.mem},
61785 .dst_temps = .{ .mem, .unused },
5773061786 .clobbers = .{ .eflags = true },
5773161787 .each = .{ .once = &.{
5773261788 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57739,7 +61795,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5773961795 }, .{
5774061796 .required_features = .{ .f16c, null, null, null },
5774161797 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any },
57742 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .word } }},
61798 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .word } }, .any },
5774361799 .patterns = &.{
5774461800 .{ .src = .{ .to_mem, .none, .none } },
5774561801 },
......@@ -57754,7 +61810,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5775461810 .unused,
5775561811 .unused,
5775661812 },
57757 .dst_temps = .{.mem},
61813 .dst_temps = .{ .mem, .unused },
5775861814 .clobbers = .{ .eflags = true },
5775961815 .each = .{ .once = &.{
5776061816 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57767,7 +61823,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5776761823 }, .{
5776861824 .required_features = .{ .avx, null, null, null },
5776961825 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },
57770 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
61826 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5777161827 .patterns = &.{
5777261828 .{ .src = .{ .to_mem, .none, .none } },
5777361829 },
......@@ -57783,7 +61839,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5778361839 .unused,
5778461840 .unused,
5778561841 },
57786 .dst_temps = .{.mem},
61842 .dst_temps = .{ .mem, .unused },
5778761843 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5778861844 .each = .{ .once = &.{
5778961845 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57796,7 +61852,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5779661852 }, .{
5779761853 .required_features = .{ .sse4_1, null, null, null },
5779861854 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },
57799 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
61855 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5780061856 .patterns = &.{
5780161857 .{ .src = .{ .to_mem, .none, .none } },
5780261858 },
......@@ -57812,7 +61868,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5781261868 .unused,
5781361869 .unused,
5781461870 },
57815 .dst_temps = .{.mem},
61871 .dst_temps = .{ .mem, .unused },
5781661872 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5781761873 .each = .{ .once = &.{
5781861874 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57825,7 +61881,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5782561881 }, .{
5782661882 .required_features = .{ .sse2, null, null, null },
5782761883 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },
57828 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
61884 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5782961885 .patterns = &.{
5783061886 .{ .src = .{ .to_mem, .none, .none } },
5783161887 },
......@@ -57841,7 +61897,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5784161897 .unused,
5784261898 .unused,
5784361899 },
57844 .dst_temps = .{.mem},
61900 .dst_temps = .{ .mem, .unused },
5784561901 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5784661902 .each = .{ .once = &.{
5784761903 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57855,7 +61911,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5785561911 }, .{
5785661912 .required_features = .{ .sse, null, null, null },
5785761913 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },
57858 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
61914 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5785961915 .patterns = &.{
5786061916 .{ .src = .{ .to_mem, .none, .none } },
5786161917 },
......@@ -57871,7 +61927,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5787161927 .unused,
5787261928 .unused,
5787361929 },
57874 .dst_temps = .{.mem},
61930 .dst_temps = .{ .mem, .unused },
5787561931 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5787661932 .each = .{ .once = &.{
5787761933 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57886,7 +61942,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5788661942 }, .{
5788761943 .required_features = .{ .avx, null, null, null },
5788861944 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },
57889 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
61945 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5789061946 .patterns = &.{
5789161947 .{ .src = .{ .to_mem, .none, .none } },
5789261948 },
......@@ -57902,7 +61958,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5790261958 .unused,
5790361959 .unused,
5790461960 },
57905 .dst_temps = .{.mem},
61961 .dst_temps = .{ .mem, .unused },
5790661962 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5790761963 .each = .{ .once = &.{
5790861964 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57915,7 +61971,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5791561971 }, .{
5791661972 .required_features = .{ .sse4_1, null, null, null },
5791761973 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },
57918 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
61974 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5791961975 .patterns = &.{
5792061976 .{ .src = .{ .to_mem, .none, .none } },
5792161977 },
......@@ -57931,7 +61987,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5793161987 .unused,
5793261988 .unused,
5793361989 },
57934 .dst_temps = .{.mem},
61990 .dst_temps = .{ .mem, .unused },
5793561991 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5793661992 .each = .{ .once = &.{
5793761993 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57944,7 +62000,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5794462000 }, .{
5794562001 .required_features = .{ .sse2, null, null, null },
5794662002 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },
57947 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62003 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5794862004 .patterns = &.{
5794962005 .{ .src = .{ .to_mem, .none, .none } },
5795062006 },
......@@ -57960,7 +62016,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5796062016 .unused,
5796162017 .unused,
5796262018 },
57963 .dst_temps = .{.mem},
62019 .dst_temps = .{ .mem, .unused },
5796462020 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5796562021 .each = .{ .once = &.{
5796662022 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -57974,7 +62030,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5797462030 }, .{
5797562031 .required_features = .{ .sse, null, null, null },
5797662032 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },
57977 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62033 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5797862034 .patterns = &.{
5797962035 .{ .src = .{ .to_mem, .none, .none } },
5798062036 },
......@@ -57990,7 +62046,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5799062046 .unused,
5799162047 .unused,
5799262048 },
57993 .dst_temps = .{.mem},
62049 .dst_temps = .{ .mem, .unused },
5799462050 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5799562051 .each = .{ .once = &.{
5799662052 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -58005,12 +62061,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5800562061 }, .{
5800662062 .required_features = .{ .f16c, null, null, null },
5800762063 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },
58008 .dst_constraints = .{.{ .scalar_float = .{ .of = .qword, .is = .word } }},
62064 .dst_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .word } }, .any },
5800962065 .patterns = &.{
5801062066 .{ .src = .{ .mem, .none, .none } },
5801162067 .{ .src = .{ .to_sse, .none, .none } },
5801262068 },
58013 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
62069 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5801462070 .each = .{ .once = &.{
5801562071 .{ ._, .v_ps, .cvtdq2, .dst0x, .src0x, ._, ._ },
5801662072 .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ },
......@@ -58018,12 +62074,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5801862074 }, .{
5801962075 .required_features = .{ .f16c, .avx2, null, null },
5802062076 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any },
58021 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .word } }},
62077 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .word } }, .any },
5802262078 .patterns = &.{
5802362079 .{ .src = .{ .mem, .none, .none } },
5802462080 .{ .src = .{ .to_sse, .none, .none } },
5802562081 },
58026 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
62082 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5802762083 .each = .{ .once = &.{
5802862084 .{ ._, .v_ps, .cvtdq2, .dst0y, .src0y, ._, ._ },
5802962085 .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ },
......@@ -58031,7 +62087,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5803162087 }, .{
5803262088 .required_features = .{ .f16c, .avx2, null, null },
5803362089 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any },
58034 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }},
62090 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, .any },
5803562091 .patterns = &.{
5803662092 .{ .src = .{ .to_mem, .none, .none } },
5803762093 },
......@@ -58046,7 +62102,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5804662102 .unused,
5804762103 .unused,
5804862104 },
58049 .dst_temps = .{.mem},
62105 .dst_temps = .{ .mem, .unused },
5805062106 .clobbers = .{ .eflags = true },
5805162107 .each = .{ .once = &.{
5805262108 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -58058,7 +62114,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5805862114 }, .{
5805962115 .required_features = .{ .f16c, null, null, null },
5806062116 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },
58061 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .word } }},
62117 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .word } }, .any },
5806262118 .patterns = &.{
5806362119 .{ .src = .{ .to_mem, .none, .none } },
5806462120 },
......@@ -58073,7 +62129,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5807362129 .unused,
5807462130 .unused,
5807562131 },
58076 .dst_temps = .{.mem},
62132 .dst_temps = .{ .mem, .unused },
5807762133 .clobbers = .{ .eflags = true },
5807862134 .each = .{ .once = &.{
5807962135 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -58085,7 +62141,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5808562141 }, .{
5808662142 .required_features = .{ .avx, null, null, null },
5808762143 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
58088 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62144 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5808962145 .patterns = &.{
5809062146 .{ .src = .{ .to_mem, .none, .none } },
5809162147 },
......@@ -58101,7 +62157,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5810162157 .unused,
5810262158 .unused,
5810362159 },
58104 .dst_temps = .{.mem},
62160 .dst_temps = .{ .mem, .unused },
5810562161 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5810662162 .each = .{ .once = &.{
5810762163 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -58114,7 +62170,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5811462170 }, .{
5811562171 .required_features = .{ .sse4_1, null, null, null },
5811662172 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
58117 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62173 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5811862174 .patterns = &.{
5811962175 .{ .src = .{ .to_mem, .none, .none } },
5812062176 },
......@@ -58130,7 +62186,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5813062186 .unused,
5813162187 .unused,
5813262188 },
58133 .dst_temps = .{.mem},
62189 .dst_temps = .{ .mem, .unused },
5813462190 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5813562191 .each = .{ .once = &.{
5813662192 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -58143,7 +62199,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5814362199 }, .{
5814462200 .required_features = .{ .sse2, null, null, null },
5814562201 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
58146 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62202 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5814762203 .patterns = &.{
5814862204 .{ .src = .{ .to_mem, .none, .none } },
5814962205 },
......@@ -58159,7 +62215,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5815962215 .unused,
5816062216 .unused,
5816162217 },
58162 .dst_temps = .{.mem},
62218 .dst_temps = .{ .mem, .unused },
5816362219 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5816462220 .each = .{ .once = &.{
5816562221 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -58173,7 +62229,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5817362229 }, .{
5817462230 .required_features = .{ .sse, null, null, null },
5817562231 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
58176 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62232 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5817762233 .patterns = &.{
5817862234 .{ .src = .{ .to_mem, .none, .none } },
5817962235 },
......@@ -58189,7 +62245,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5818962245 .unused,
5819062246 .unused,
5819162247 },
58192 .dst_temps = .{.mem},
62248 .dst_temps = .{ .mem, .unused },
5819362249 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5819462250 .each = .{ .once = &.{
5819562251 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -58204,7 +62260,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5820462260 }, .{
5820562261 .required_features = .{ .avx, null, null, null },
5820662262 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
58207 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62263 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5820862264 .patterns = &.{
5820962265 .{ .src = .{ .to_mem, .none, .none } },
5821062266 },
......@@ -58220,7 +62276,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5822062276 .unused,
5822162277 .unused,
5822262278 },
58223 .dst_temps = .{.mem},
62279 .dst_temps = .{ .mem, .unused },
5822462280 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5822562281 .each = .{ .once = &.{
5822662282 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -58233,7 +62289,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5823362289 }, .{
5823462290 .required_features = .{ .sse4_1, null, null, null },
5823562291 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
58236 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62292 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5823762293 .patterns = &.{
5823862294 .{ .src = .{ .to_mem, .none, .none } },
5823962295 },
......@@ -58249,7 +62305,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5824962305 .unused,
5825062306 .unused,
5825162307 },
58252 .dst_temps = .{.mem},
62308 .dst_temps = .{ .mem, .unused },
5825362309 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5825462310 .each = .{ .once = &.{
5825562311 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -58262,7 +62318,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5826262318 }, .{
5826362319 .required_features = .{ .sse2, null, null, null },
5826462320 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
58265 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62321 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5826662322 .patterns = &.{
5826762323 .{ .src = .{ .to_mem, .none, .none } },
5826862324 },
......@@ -58278,7 +62334,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5827862334 .unused,
5827962335 .unused,
5828062336 },
58281 .dst_temps = .{.mem},
62337 .dst_temps = .{ .mem, .unused },
5828262338 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5828362339 .each = .{ .once = &.{
5828462340 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -58292,7 +62348,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5829262348 }, .{
5829362349 .required_features = .{ .sse, null, null, null },
5829462350 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
58295 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62351 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5829662352 .patterns = &.{
5829762353 .{ .src = .{ .to_mem, .none, .none } },
5829862354 },
......@@ -58308,7 +62364,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5830862364 .unused,
5830962365 .unused,
5831062366 },
58311 .dst_temps = .{.mem},
62367 .dst_temps = .{ .mem, .unused },
5831262368 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5831362369 .each = .{ .once = &.{
5831462370 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -58323,7 +62379,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5832362379 }, .{
5832462380 .required_features = .{ .@"64bit", .f16c, null, null },
5832562381 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },
58326 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62382 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5832762383 .patterns = &.{
5832862384 .{ .src = .{ .to_mem, .none, .none } },
5832962385 },
......@@ -58338,7 +62394,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5833862394 .unused,
5833962395 .unused,
5834062396 },
58341 .dst_temps = .{.mem},
62397 .dst_temps = .{ .mem, .unused },
5834262398 .clobbers = .{ .eflags = true },
5834362399 .each = .{ .once = &.{
5834462400 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -58352,7 +62408,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5835262408 }, .{
5835362409 .required_features = .{ .@"64bit", .avx, null, null },
5835462410 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },
58355 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62411 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5835662412 .patterns = &.{
5835762413 .{ .src = .{ .to_mem, .none, .none } },
5835862414 },
......@@ -58368,7 +62424,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5836862424 .unused,
5836962425 .unused,
5837062426 },
58371 .dst_temps = .{.mem},
62427 .dst_temps = .{ .mem, .unused },
5837262428 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5837362429 .each = .{ .once = &.{
5837462430 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -58381,7 +62437,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5838162437 }, .{
5838262438 .required_features = .{ .@"64bit", .sse4_1, null, null },
5838362439 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },
58384 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62440 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5838562441 .patterns = &.{
5838662442 .{ .src = .{ .to_mem, .none, .none } },
5838762443 },
......@@ -58397,7 +62453,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5839762453 .unused,
5839862454 .unused,
5839962455 },
58400 .dst_temps = .{.mem},
62456 .dst_temps = .{ .mem, .unused },
5840162457 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5840262458 .each = .{ .once = &.{
5840362459 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -58410,7 +62466,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5841062466 }, .{
5841162467 .required_features = .{ .@"64bit", .sse2, null, null },
5841262468 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },
58413 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62469 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5841462470 .patterns = &.{
5841562471 .{ .src = .{ .to_mem, .none, .none } },
5841662472 },
......@@ -58426,7 +62482,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5842662482 .unused,
5842762483 .unused,
5842862484 },
58429 .dst_temps = .{.mem},
62485 .dst_temps = .{ .mem, .unused },
5843062486 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5843162487 .each = .{ .once = &.{
5843262488 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -58440,7 +62496,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5844062496 }, .{
5844162497 .required_features = .{ .@"64bit", .sse, null, null },
5844262498 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },
58443 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62499 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5844462500 .patterns = &.{
5844562501 .{ .src = .{ .to_mem, .none, .none } },
5844662502 },
......@@ -58456,7 +62512,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5845662512 .unused,
5845762513 .unused,
5845862514 },
58459 .dst_temps = .{.mem},
62515 .dst_temps = .{ .mem, .unused },
5846062516 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5846162517 .each = .{ .once = &.{
5846262518 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -58471,7 +62527,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5847162527 }, .{
5847262528 .required_features = .{ .@"64bit", .avx, null, null },
5847362529 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },
58474 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62530 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5847562531 .patterns = &.{
5847662532 .{ .src = .{ .to_mem, .none, .none } },
5847762533 },
......@@ -58487,7 +62543,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5848762543 .unused,
5848862544 .unused,
5848962545 },
58490 .dst_temps = .{.mem},
62546 .dst_temps = .{ .mem, .unused },
5849162547 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5849262548 .each = .{ .once = &.{
5849362549 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -58500,7 +62556,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5850062556 }, .{
5850162557 .required_features = .{ .@"64bit", .sse4_1, null, null },
5850262558 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },
58503 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62559 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5850462560 .patterns = &.{
5850562561 .{ .src = .{ .to_mem, .none, .none } },
5850662562 },
......@@ -58516,7 +62572,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5851662572 .unused,
5851762573 .unused,
5851862574 },
58519 .dst_temps = .{.mem},
62575 .dst_temps = .{ .mem, .unused },
5852062576 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5852162577 .each = .{ .once = &.{
5852262578 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -58529,7 +62585,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5852962585 }, .{
5853062586 .required_features = .{ .@"64bit", .sse2, null, null },
5853162587 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },
58532 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62588 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5853362589 .patterns = &.{
5853462590 .{ .src = .{ .to_mem, .none, .none } },
5853562591 },
......@@ -58545,7 +62601,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5854562601 .unused,
5854662602 .unused,
5854762603 },
58548 .dst_temps = .{.mem},
62604 .dst_temps = .{ .mem, .unused },
5854962605 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5855062606 .each = .{ .once = &.{
5855162607 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -58559,7 +62615,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5855962615 }, .{
5856062616 .required_features = .{ .@"64bit", .sse, null, null },
5856162617 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },
58562 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62618 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5856362619 .patterns = &.{
5856462620 .{ .src = .{ .to_mem, .none, .none } },
5856562621 },
......@@ -58575,7 +62631,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5857562631 .unused,
5857662632 .unused,
5857762633 },
58578 .dst_temps = .{.mem},
62634 .dst_temps = .{ .mem, .unused },
5857962635 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5858062636 .each = .{ .once = &.{
5858162637 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -58590,7 +62646,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5859062646 }, .{
5859162647 .required_features = .{ .@"64bit", .avx, null, null },
5859262648 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },
58593 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62649 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5859462650 .patterns = &.{
5859562651 .{ .src = .{ .to_mem, .none, .none } },
5859662652 },
......@@ -58606,7 +62662,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5860662662 .unused,
5860762663 .unused,
5860862664 },
58609 .dst_temps = .{.mem},
62665 .dst_temps = .{ .mem, .unused },
5861062666 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5861162667 .each = .{ .once = &.{
5861262668 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -58620,7 +62676,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5862062676 }, .{
5862162677 .required_features = .{ .@"64bit", .sse4_1, null, null },
5862262678 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },
58623 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62679 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5862462680 .patterns = &.{
5862562681 .{ .src = .{ .to_mem, .none, .none } },
5862662682 },
......@@ -58636,7 +62692,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5863662692 .unused,
5863762693 .unused,
5863862694 },
58639 .dst_temps = .{.mem},
62695 .dst_temps = .{ .mem, .unused },
5864062696 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5864162697 .each = .{ .once = &.{
5864262698 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -58650,7 +62706,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5865062706 }, .{
5865162707 .required_features = .{ .@"64bit", .sse2, null, null },
5865262708 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },
58653 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62709 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5865462710 .patterns = &.{
5865562711 .{ .src = .{ .to_mem, .none, .none } },
5865662712 },
......@@ -58666,7 +62722,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5866662722 .unused,
5866762723 .unused,
5866862724 },
58669 .dst_temps = .{.mem},
62725 .dst_temps = .{ .mem, .unused },
5867062726 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5867162727 .each = .{ .once = &.{
5867262728 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -58681,7 +62737,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5868162737 }, .{
5868262738 .required_features = .{ .@"64bit", .sse, null, null },
5868362739 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },
58684 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62740 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5868562741 .patterns = &.{
5868662742 .{ .src = .{ .to_mem, .none, .none } },
5868762743 },
......@@ -58697,7 +62753,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5869762753 .unused,
5869862754 .unused,
5869962755 },
58700 .dst_temps = .{.mem},
62756 .dst_temps = .{ .mem, .unused },
5870162757 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5870262758 .each = .{ .once = &.{
5870362759 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -58713,7 +62769,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5871362769 }, .{
5871462770 .required_features = .{ .@"64bit", .avx, null, null },
5871562771 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },
58716 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62772 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5871762773 .patterns = &.{
5871862774 .{ .src = .{ .to_mem, .none, .none } },
5871962775 },
......@@ -58729,7 +62785,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5872962785 .unused,
5873062786 .unused,
5873162787 },
58732 .dst_temps = .{.mem},
62788 .dst_temps = .{ .mem, .unused },
5873362789 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5873462790 .each = .{ .once = &.{
5873562791 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -58743,7 +62799,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5874362799 }, .{
5874462800 .required_features = .{ .@"64bit", .sse4_1, null, null },
5874562801 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },
58746 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62802 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5874762803 .patterns = &.{
5874862804 .{ .src = .{ .to_mem, .none, .none } },
5874962805 },
......@@ -58759,7 +62815,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5875962815 .unused,
5876062816 .unused,
5876162817 },
58762 .dst_temps = .{.mem},
62818 .dst_temps = .{ .mem, .unused },
5876362819 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5876462820 .each = .{ .once = &.{
5876562821 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -58773,7 +62829,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5877362829 }, .{
5877462830 .required_features = .{ .@"64bit", .sse2, null, null },
5877562831 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },
58776 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62832 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5877762833 .patterns = &.{
5877862834 .{ .src = .{ .to_mem, .none, .none } },
5877962835 },
......@@ -58789,7 +62845,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5878962845 .unused,
5879062846 .unused,
5879162847 },
58792 .dst_temps = .{.mem},
62848 .dst_temps = .{ .mem, .unused },
5879362849 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5879462850 .each = .{ .once = &.{
5879562851 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -58804,7 +62860,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5880462860 }, .{
5880562861 .required_features = .{ .@"64bit", .sse, null, null },
5880662862 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },
58807 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62863 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5880862864 .patterns = &.{
5880962865 .{ .src = .{ .to_mem, .none, .none } },
5881062866 },
......@@ -58820,7 +62876,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5882062876 .unused,
5882162877 .unused,
5882262878 },
58823 .dst_temps = .{.mem},
62879 .dst_temps = .{ .mem, .unused },
5882462880 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5882562881 .each = .{ .once = &.{
5882662882 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -58836,7 +62892,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5883662892 }, .{
5883762893 .required_features = .{ .@"64bit", .avx, null, null },
5883862894 .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
58839 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62895 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5884062896 .patterns = &.{
5884162897 .{ .src = .{ .to_mem, .none, .none } },
5884262898 },
......@@ -58852,7 +62908,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5885262908 .unused,
5885362909 .unused,
5885462910 },
58855 .dst_temps = .{.mem},
62911 .dst_temps = .{ .mem, .unused },
5885662912 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5885762913 .each = .{ .once = &.{
5885862914 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -58868,7 +62924,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5886862924 }, .{
5886962925 .required_features = .{ .@"64bit", .sse4_1, null, null },
5887062926 .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
58871 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62927 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5887262928 .patterns = &.{
5887362929 .{ .src = .{ .to_mem, .none, .none } },
5887462930 },
......@@ -58884,7 +62940,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5888462940 .unused,
5888562941 .unused,
5888662942 },
58887 .dst_temps = .{.mem},
62943 .dst_temps = .{ .mem, .unused },
5888862944 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5888962945 .each = .{ .once = &.{
5889062946 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -58900,7 +62956,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5890062956 }, .{
5890162957 .required_features = .{ .@"64bit", .sse2, null, null },
5890262958 .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
58903 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62959 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5890462960 .patterns = &.{
5890562961 .{ .src = .{ .to_mem, .none, .none } },
5890662962 },
......@@ -58916,7 +62972,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5891662972 .unused,
5891762973 .unused,
5891862974 },
58919 .dst_temps = .{.mem},
62975 .dst_temps = .{ .mem, .unused },
5892062976 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5892162977 .each = .{ .once = &.{
5892262978 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -58933,7 +62989,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5893362989 }, .{
5893462990 .required_features = .{ .@"64bit", .sse, null, null },
5893562991 .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
58936 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
62992 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5893762993 .patterns = &.{
5893862994 .{ .src = .{ .to_mem, .none, .none } },
5893962995 },
......@@ -58949,7 +63005,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5894963005 .unused,
5895063006 .unused,
5895163007 },
58952 .dst_temps = .{.mem},
63008 .dst_temps = .{ .mem, .unused },
5895363009 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5895463010 .each = .{ .once = &.{
5895563011 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -58967,7 +63023,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5896763023 }, .{
5896863024 .required_features = .{ .@"64bit", .avx, null, null },
5896963025 .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
58970 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
63026 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5897163027 .patterns = &.{
5897263028 .{ .src = .{ .to_mem, .none, .none } },
5897363029 },
......@@ -58983,7 +63039,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5898363039 .unused,
5898463040 .unused,
5898563041 },
58986 .dst_temps = .{.mem},
63042 .dst_temps = .{ .mem, .unused },
5898763043 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5898863044 .each = .{ .once = &.{
5898963045 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -58999,7 +63055,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5899963055 }, .{
5900063056 .required_features = .{ .@"64bit", .sse4_1, null, null },
5900163057 .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
59002 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
63058 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5900363059 .patterns = &.{
5900463060 .{ .src = .{ .to_mem, .none, .none } },
5900563061 },
......@@ -59015,7 +63071,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5901563071 .unused,
5901663072 .unused,
5901763073 },
59018 .dst_temps = .{.mem},
63074 .dst_temps = .{ .mem, .unused },
5901963075 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5902063076 .each = .{ .once = &.{
5902163077 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -59031,7 +63087,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5903163087 }, .{
5903263088 .required_features = .{ .@"64bit", .sse2, null, null },
5903363089 .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
59034 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
63090 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5903563091 .patterns = &.{
5903663092 .{ .src = .{ .to_mem, .none, .none } },
5903763093 },
......@@ -59047,7 +63103,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5904763103 .unused,
5904863104 .unused,
5904963105 },
59050 .dst_temps = .{.mem},
63106 .dst_temps = .{ .mem, .unused },
5905163107 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5905263108 .each = .{ .once = &.{
5905363109 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -59064,7 +63120,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5906463120 }, .{
5906563121 .required_features = .{ .@"64bit", .sse, null, null },
5906663122 .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
59067 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .word, .is = .word } }},
63123 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any },
5906863124 .patterns = &.{
5906963125 .{ .src = .{ .to_mem, .none, .none } },
5907063126 },
......@@ -59080,7 +63136,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5908063136 .unused,
5908163137 .unused,
5908263138 },
59083 .dst_temps = .{.mem},
63139 .dst_temps = .{ .mem, .unused },
5908463140 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5908563141 .each = .{ .once = &.{
5908663142 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -59098,7 +63154,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5909863154 }, .{
5909963155 .required_features = .{ .avx, null, null, null },
5910063156 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },
59101 .dst_constraints = .{.{ .float = .dword }},
63157 .dst_constraints = .{ .{ .float = .dword }, .any },
5910263158 .patterns = &.{
5910363159 .{ .src = .{ .mem, .none, .none } },
5910463160 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -59114,7 +63170,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5911463170 .unused,
5911563171 .unused,
5911663172 },
59117 .dst_temps = .{.{ .rc = .sse }},
63173 .dst_temps = .{ .{ .rc = .sse }, .unused },
5911863174 .each = .{ .once = &.{
5911963175 .{ ._, ._, .movsx, .tmp0d, .src0b, ._, ._ },
5912063176 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
......@@ -59123,7 +63179,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5912363179 }, .{
5912463180 .required_features = .{ .sse, null, null, null },
5912563181 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },
59126 .dst_constraints = .{.{ .float = .dword }},
63182 .dst_constraints = .{ .{ .float = .dword }, .any },
5912763183 .patterns = &.{
5912863184 .{ .src = .{ .mem, .none, .none } },
5912963185 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -59139,7 +63195,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5913963195 .unused,
5914063196 .unused,
5914163197 },
59142 .dst_temps = .{.{ .rc = .sse }},
63198 .dst_temps = .{ .{ .rc = .sse }, .unused },
5914363199 .each = .{ .once = &.{
5914463200 .{ ._, ._, .movsx, .tmp0d, .src0b, ._, ._ },
5914563201 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },
......@@ -59148,7 +63204,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5914863204 }, .{
5914963205 .required_features = .{ .avx, null, null, null },
5915063206 .src_constraints = .{ .{ .unsigned_int = .byte }, .any, .any },
59151 .dst_constraints = .{.{ .float = .dword }},
63207 .dst_constraints = .{ .{ .float = .dword }, .any },
5915263208 .patterns = &.{
5915363209 .{ .src = .{ .mem, .none, .none } },
5915463210 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -59164,7 +63220,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5916463220 .unused,
5916563221 .unused,
5916663222 },
59167 .dst_temps = .{.{ .rc = .sse }},
63223 .dst_temps = .{ .{ .rc = .sse }, .unused },
5916863224 .each = .{ .once = &.{
5916963225 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
5917063226 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
......@@ -59173,7 +63229,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5917363229 }, .{
5917463230 .required_features = .{ .sse, null, null, null },
5917563231 .src_constraints = .{ .{ .unsigned_int = .byte }, .any, .any },
59176 .dst_constraints = .{.{ .float = .dword }},
63232 .dst_constraints = .{ .{ .float = .dword }, .any },
5917763233 .patterns = &.{
5917863234 .{ .src = .{ .mem, .none, .none } },
5917963235 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -59189,7 +63245,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5918963245 .unused,
5919063246 .unused,
5919163247 },
59192 .dst_temps = .{.{ .rc = .sse }},
63248 .dst_temps = .{ .{ .rc = .sse }, .unused },
5919363249 .each = .{ .once = &.{
5919463250 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
5919563251 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },
......@@ -59198,7 +63254,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5919863254 }, .{
5919963255 .required_features = .{ .avx, null, null, null },
5920063256 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },
59201 .dst_constraints = .{.{ .float = .dword }},
63257 .dst_constraints = .{ .{ .float = .dword }, .any },
5920263258 .patterns = &.{
5920363259 .{ .src = .{ .mem, .none, .none } },
5920463260 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -59214,7 +63270,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5921463270 .unused,
5921563271 .unused,
5921663272 },
59217 .dst_temps = .{.{ .rc = .sse }},
63273 .dst_temps = .{ .{ .rc = .sse }, .unused },
5921863274 .each = .{ .once = &.{
5921963275 .{ ._, ._, .movsx, .tmp0d, .src0w, ._, ._ },
5922063276 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
......@@ -59223,7 +63279,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5922363279 }, .{
5922463280 .required_features = .{ .sse, null, null, null },
5922563281 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },
59226 .dst_constraints = .{.{ .float = .dword }},
63282 .dst_constraints = .{ .{ .float = .dword }, .any },
5922763283 .patterns = &.{
5922863284 .{ .src = .{ .mem, .none, .none } },
5922963285 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -59239,7 +63295,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5923963295 .unused,
5924063296 .unused,
5924163297 },
59242 .dst_temps = .{.{ .rc = .sse }},
63298 .dst_temps = .{ .{ .rc = .sse }, .unused },
5924363299 .each = .{ .once = &.{
5924463300 .{ ._, ._, .movsx, .tmp0d, .src0w, ._, ._ },
5924563301 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },
......@@ -59248,7 +63304,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5924863304 }, .{
5924963305 .required_features = .{ .avx, null, null, null },
5925063306 .src_constraints = .{ .{ .unsigned_int = .word }, .any, .any },
59251 .dst_constraints = .{.{ .float = .dword }},
63307 .dst_constraints = .{ .{ .float = .dword }, .any },
5925263308 .patterns = &.{
5925363309 .{ .src = .{ .mem, .none, .none } },
5925463310 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -59264,7 +63320,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5926463320 .unused,
5926563321 .unused,
5926663322 },
59267 .dst_temps = .{.{ .rc = .sse }},
63323 .dst_temps = .{ .{ .rc = .sse }, .unused },
5926863324 .each = .{ .once = &.{
5926963325 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },
5927063326 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
......@@ -59273,7 +63329,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5927363329 }, .{
5927463330 .required_features = .{ .sse, null, null, null },
5927563331 .src_constraints = .{ .{ .unsigned_int = .word }, .any, .any },
59276 .dst_constraints = .{.{ .float = .dword }},
63332 .dst_constraints = .{ .{ .float = .dword }, .any },
5927763333 .patterns = &.{
5927863334 .{ .src = .{ .mem, .none, .none } },
5927963335 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -59289,7 +63345,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5928963345 .unused,
5929063346 .unused,
5929163347 },
59292 .dst_temps = .{.{ .rc = .sse }},
63348 .dst_temps = .{ .{ .rc = .sse }, .unused },
5929363349 .each = .{ .once = &.{
5929463350 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },
5929563351 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },
......@@ -59298,12 +63354,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5929863354 }, .{
5929963355 .required_features = .{ .avx, null, null, null },
5930063356 .src_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any, .any },
59301 .dst_constraints = .{.{ .float = .dword }},
63357 .dst_constraints = .{ .{ .float = .dword }, .any },
5930263358 .patterns = &.{
5930363359 .{ .src = .{ .mem, .none, .none } },
5930463360 .{ .src = .{ .to_gpr, .none, .none } },
5930563361 },
59306 .dst_temps = .{.{ .rc = .sse }},
63362 .dst_temps = .{ .{ .rc = .sse }, .unused },
5930763363 .each = .{ .once = &.{
5930863364 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
5930963365 .{ ._, .v_ss, .cvtsi2, .dst0x, .dst0x, .src0d, ._ },
......@@ -59311,12 +63367,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5931163367 }, .{
5931263368 .required_features = .{ .sse, null, null, null },
5931363369 .src_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any, .any },
59314 .dst_constraints = .{.{ .float = .dword }},
63370 .dst_constraints = .{ .{ .float = .dword }, .any },
5931563371 .patterns = &.{
5931663372 .{ .src = .{ .mem, .none, .none } },
5931763373 .{ .src = .{ .to_gpr, .none, .none } },
5931863374 },
59319 .dst_temps = .{.{ .rc = .sse }},
63375 .dst_temps = .{ .{ .rc = .sse }, .unused },
5932063376 .each = .{ .once = &.{
5932163377 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },
5932263378 .{ ._, ._ss, .cvtsi2, .dst0x, .src0d, ._, ._ },
......@@ -59324,7 +63380,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5932463380 }, .{
5932563381 .required_features = .{ .avx, null, null, null },
5932663382 .src_constraints = .{ .{ .exact_unsigned_int = 32 }, .any, .any },
59327 .dst_constraints = .{.{ .float = .dword }},
63383 .dst_constraints = .{ .{ .float = .dword }, .any },
5932863384 .patterns = &.{
5932963385 .{ .src = .{ .mem, .none, .none } },
5933063386 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -59340,7 +63396,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5934063396 .unused,
5934163397 .unused,
5934263398 },
59343 .dst_temps = .{.{ .rc = .sse }},
63399 .dst_temps = .{ .{ .rc = .sse }, .unused },
5934463400 .each = .{ .once = &.{
5934563401 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },
5934663402 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
......@@ -59349,7 +63405,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5934963405 }, .{
5935063406 .required_features = .{ .sse, null, null, null },
5935163407 .src_constraints = .{ .{ .exact_unsigned_int = 32 }, .any, .any },
59352 .dst_constraints = .{.{ .float = .dword }},
63408 .dst_constraints = .{ .{ .float = .dword }, .any },
5935363409 .patterns = &.{
5935463410 .{ .src = .{ .mem, .none, .none } },
5935563411 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -59365,7 +63421,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5936563421 .unused,
5936663422 .unused,
5936763423 },
59368 .dst_temps = .{.{ .rc = .sse }},
63424 .dst_temps = .{ .{ .rc = .sse }, .unused },
5936963425 .each = .{ .once = &.{
5937063426 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },
5937163427 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },
......@@ -59374,12 +63430,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5937463430 }, .{
5937563431 .required_features = .{ .@"64bit", .avx, null, null },
5937663432 .src_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any, .any },
59377 .dst_constraints = .{.{ .float = .dword }},
63433 .dst_constraints = .{ .{ .float = .dword }, .any },
5937863434 .patterns = &.{
5937963435 .{ .src = .{ .mem, .none, .none } },
5938063436 .{ .src = .{ .to_gpr, .none, .none } },
5938163437 },
59382 .dst_temps = .{.{ .rc = .sse }},
63438 .dst_temps = .{ .{ .rc = .sse }, .unused },
5938363439 .each = .{ .once = &.{
5938463440 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
5938563441 .{ ._, .v_ss, .cvtsi2, .dst0x, .dst0x, .src0q, ._ },
......@@ -59387,12 +63443,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5938763443 }, .{
5938863444 .required_features = .{ .@"64bit", .sse, null, null },
5938963445 .src_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any, .any },
59390 .dst_constraints = .{.{ .float = .dword }},
63446 .dst_constraints = .{ .{ .float = .dword }, .any },
5939163447 .patterns = &.{
5939263448 .{ .src = .{ .mem, .none, .none } },
5939363449 .{ .src = .{ .to_gpr, .none, .none } },
5939463450 },
59395 .dst_temps = .{.{ .rc = .sse }},
63451 .dst_temps = .{ .{ .rc = .sse }, .unused },
5939663452 .each = .{ .once = &.{
5939763453 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },
5939863454 .{ ._, ._ss, .cvtsi2, .dst0x, .src0q, ._, ._ },
......@@ -59400,7 +63456,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5940063456 }, .{
5940163457 .required_features = .{ .@"64bit", .avx, null, null },
5940263458 .src_constraints = .{ .{ .exact_unsigned_int = 64 }, .any, .any },
59403 .dst_constraints = .{.{ .float = .dword }},
63459 .dst_constraints = .{ .{ .float = .dword }, .any },
5940463460 .patterns = &.{
5940563461 .{ .src = .{ .to_mut_gpr, .none, .none } },
5940663462 },
......@@ -59415,7 +63471,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5941563471 .unused,
5941663472 .unused,
5941763473 },
59418 .dst_temps = .{.{ .rc = .sse }},
63474 .dst_temps = .{ .{ .rc = .sse }, .unused },
5941963475 .clobbers = .{ .eflags = true },
5942063476 .each = .{ .once = &.{
5942163477 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
......@@ -59433,7 +63489,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5943363489 }, .{
5943463490 .required_features = .{ .@"64bit", .sse, null, null },
5943563491 .src_constraints = .{ .{ .exact_unsigned_int = 64 }, .any, .any },
59436 .dst_constraints = .{.{ .float = .dword }},
63492 .dst_constraints = .{ .{ .float = .dword }, .any },
5943763493 .patterns = &.{
5943863494 .{ .src = .{ .to_mut_gpr, .none, .none } },
5943963495 },
......@@ -59448,7 +63504,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5944863504 .unused,
5944963505 .unused,
5945063506 },
59451 .dst_temps = .{.{ .rc = .sse }},
63507 .dst_temps = .{ .{ .rc = .sse }, .unused },
5945263508 .clobbers = .{ .eflags = true },
5945363509 .each = .{ .once = &.{
5945463510 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },
......@@ -59466,7 +63522,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5946663522 }, .{
5946763523 .required_features = .{ .@"64bit", .sse, null, null },
5946863524 .src_constraints = .{ .{ .signed_int = .xword }, .any, .any },
59469 .dst_constraints = .{.{ .float = .dword }},
63525 .dst_constraints = .{ .{ .float = .dword }, .any },
5947063526 .patterns = &.{
5947163527 .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } },
5947263528 },
......@@ -59482,7 +63538,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5948263538 .unused,
5948363539 .unused,
5948463540 },
59485 .dst_temps = .{.{ .reg = .xmm0 }},
63541 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
5948663542 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5948763543 .each = .{ .once = &.{
5948863544 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -59490,7 +63546,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5949063546 }, .{
5949163547 .required_features = .{ .@"64bit", .sse, null, null },
5949263548 .src_constraints = .{ .{ .unsigned_int = .xword }, .any, .any },
59493 .dst_constraints = .{.{ .float = .dword }},
63549 .dst_constraints = .{ .{ .float = .dword }, .any },
5949463550 .patterns = &.{
5949563551 .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } },
5949663552 },
......@@ -59506,7 +63562,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5950663562 .unused,
5950763563 .unused,
5950863564 },
59509 .dst_temps = .{.{ .reg = .xmm0 }},
63565 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
5951063566 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5951163567 .each = .{ .once = &.{
5951263568 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -59514,7 +63570,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5951463570 }, .{
5951563571 .required_features = .{ .@"64bit", .sse, null, null },
5951663572 .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
59517 .dst_constraints = .{.{ .float = .dword }},
63573 .dst_constraints = .{ .{ .float = .dword }, .any },
5951863574 .patterns = &.{
5951963575 .{ .src = .{ .to_mem, .none, .none } },
5952063576 },
......@@ -59530,7 +63586,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5953063586 .unused,
5953163587 .unused,
5953263588 },
59533 .dst_temps = .{.{ .reg = .xmm0 }},
63589 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
5953463590 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5953563591 .each = .{ .once = &.{
5953663592 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -59540,7 +63596,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5954063596 }, .{
5954163597 .required_features = .{ .@"64bit", .sse, null, null },
5954263598 .src_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
59543 .dst_constraints = .{.{ .float = .dword }},
63599 .dst_constraints = .{ .{ .float = .dword }, .any },
5954463600 .patterns = &.{
5954563601 .{ .src = .{ .to_mem, .none, .none } },
5954663602 },
......@@ -59556,7 +63612,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5955663612 .unused,
5955763613 .unused,
5955863614 },
59559 .dst_temps = .{.{ .reg = .xmm0 }},
63615 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
5956063616 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5956163617 .each = .{ .once = &.{
5956263618 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -59566,12 +63622,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5956663622 }, .{
5956763623 .required_features = .{ .avx, null, null, null },
5956863624 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },
59569 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .dword } }},
63625 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any },
5957063626 .patterns = &.{
5957163627 .{ .src = .{ .mem, .none, .none } },
5957263628 .{ .src = .{ .to_sse, .none, .none } },
5957363629 },
59574 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
63630 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5957563631 .each = .{ .once = &.{
5957663632 .{ ._, .vp_d, .movsxb, .dst0x, .src0d, ._, ._ },
5957763633 .{ ._, .v_ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },
......@@ -59579,12 +63635,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5957963635 }, .{
5958063636 .required_features = .{ .sse4_1, null, null, null },
5958163637 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },
59582 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .dword } }},
63638 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any },
5958363639 .patterns = &.{
5958463640 .{ .src = .{ .mem, .none, .none } },
5958563641 .{ .src = .{ .to_sse, .none, .none } },
5958663642 },
59587 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
63643 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5958863644 .each = .{ .once = &.{
5958963645 .{ ._, .p_d, .movsxb, .dst0x, .src0d, ._, ._ },
5959063646 .{ ._, ._ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },
......@@ -59592,12 +63648,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5959263648 }, .{
5959363649 .required_features = .{ .avx2, null, null, null },
5959463650 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any },
59595 .dst_constraints = .{.{ .scalar_float = .{ .of = .yword, .is = .dword } }},
63651 .dst_constraints = .{ .{ .scalar_float = .{ .of = .yword, .is = .dword } }, .any },
5959663652 .patterns = &.{
5959763653 .{ .src = .{ .mem, .none, .none } },
5959863654 .{ .src = .{ .to_sse, .none, .none } },
5959963655 },
59600 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
63656 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5960163657 .each = .{ .once = &.{
5960263658 .{ ._, .vp_d, .movsxb, .dst0y, .src0q, ._, ._ },
5960363659 .{ ._, .v_ps, .cvtdq2, .dst0y, .dst0y, ._, ._ },
......@@ -59605,12 +63661,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5960563661 }, .{
5960663662 .required_features = .{ .avx, null, null, null },
5960763663 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .dword, .is = .byte } }, .any, .any },
59608 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .dword } }},
63664 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any },
5960963665 .patterns = &.{
5961063666 .{ .src = .{ .mem, .none, .none } },
5961163667 .{ .src = .{ .to_sse, .none, .none } },
5961263668 },
59613 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
63669 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5961463670 .each = .{ .once = &.{
5961563671 .{ ._, .vp_d, .movzxb, .dst0x, .src0d, ._, ._ },
5961663672 .{ ._, .v_ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },
......@@ -59618,12 +63674,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5961863674 }, .{
5961963675 .required_features = .{ .sse4_1, null, null, null },
5962063676 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .dword, .is = .byte } }, .any, .any },
59621 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .dword } }},
63677 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any },
5962263678 .patterns = &.{
5962363679 .{ .src = .{ .mem, .none, .none } },
5962463680 .{ .src = .{ .to_sse, .none, .none } },
5962563681 },
59626 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
63682 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5962763683 .each = .{ .once = &.{
5962863684 .{ ._, .p_d, .movzxb, .dst0x, .src0d, ._, ._ },
5962963685 .{ ._, ._ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },
......@@ -59631,12 +63687,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5963163687 }, .{
5963263688 .required_features = .{ .avx2, null, null, null },
5963363689 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, .any, .any },
59634 .dst_constraints = .{.{ .scalar_float = .{ .of = .yword, .is = .dword } }},
63690 .dst_constraints = .{ .{ .scalar_float = .{ .of = .yword, .is = .dword } }, .any },
5963563691 .patterns = &.{
5963663692 .{ .src = .{ .mem, .none, .none } },
5963763693 .{ .src = .{ .to_sse, .none, .none } },
5963863694 },
59639 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
63695 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
5964063696 .each = .{ .once = &.{
5964163697 .{ ._, .vp_d, .movzxb, .dst0y, .src0q, ._, ._ },
5964263698 .{ ._, .v_ps, .cvtdq2, .dst0y, .dst0y, ._, ._ },
......@@ -59644,7 +63700,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5964463700 }, .{
5964563701 .required_features = .{ .avx2, null, null, null },
5964663702 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any },
59647 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }},
63703 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, .any },
5964863704 .patterns = &.{
5964963705 .{ .src = .{ .to_mem, .none, .none } },
5965063706 },
......@@ -59659,7 +63715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5965963715 .unused,
5966063716 .unused,
5966163717 },
59662 .dst_temps = .{.mem},
63718 .dst_temps = .{ .mem, .unused },
5966363719 .clobbers = .{ .eflags = true },
5966463720 .each = .{ .once = &.{
5966563721 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -59672,7 +63728,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5967263728 }, .{
5967363729 .required_features = .{ .avx, null, null, null },
5967463730 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },
59675 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }},
63731 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any },
5967663732 .patterns = &.{
5967763733 .{ .src = .{ .to_mem, .none, .none } },
5967863734 },
......@@ -59687,7 +63743,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5968763743 .unused,
5968863744 .unused,
5968963745 },
59690 .dst_temps = .{.mem},
63746 .dst_temps = .{ .mem, .unused },
5969163747 .clobbers = .{ .eflags = true },
5969263748 .each = .{ .once = &.{
5969363749 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -59700,7 +63756,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5970063756 }, .{
5970163757 .required_features = .{ .sse4_1, null, null, null },
5970263758 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },
59703 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }},
63759 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any },
5970463760 .patterns = &.{
5970563761 .{ .src = .{ .to_mem, .none, .none } },
5970663762 },
......@@ -59715,7 +63771,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5971563771 .unused,
5971663772 .unused,
5971763773 },
59718 .dst_temps = .{.mem},
63774 .dst_temps = .{ .mem, .unused },
5971963775 .clobbers = .{ .eflags = true },
5972063776 .each = .{ .once = &.{
5972163777 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -59728,7 +63784,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5972863784 }, .{
5972963785 .required_features = .{ .avx2, null, null, null },
5973063786 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, .any, .any },
59731 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }},
63787 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, .any },
5973263788 .patterns = &.{
5973363789 .{ .src = .{ .to_mem, .none, .none } },
5973463790 },
......@@ -59743,7 +63799,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5974363799 .unused,
5974463800 .unused,
5974563801 },
59746 .dst_temps = .{.mem},
63802 .dst_temps = .{ .mem, .unused },
5974763803 .clobbers = .{ .eflags = true },
5974863804 .each = .{ .once = &.{
5974963805 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -59756,7 +63812,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5975663812 }, .{
5975763813 .required_features = .{ .avx, null, null, null },
5975863814 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .byte } }, .any, .any },
59759 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }},
63815 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any },
5976063816 .patterns = &.{
5976163817 .{ .src = .{ .to_mem, .none, .none } },
5976263818 },
......@@ -59771,7 +63827,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5977163827 .unused,
5977263828 .unused,
5977363829 },
59774 .dst_temps = .{.mem},
63830 .dst_temps = .{ .mem, .unused },
5977563831 .clobbers = .{ .eflags = true },
5977663832 .each = .{ .once = &.{
5977763833 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -59784,7 +63840,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5978463840 }, .{
5978563841 .required_features = .{ .sse4_1, null, null, null },
5978663842 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .byte } }, .any, .any },
59787 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }},
63843 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any },
5978863844 .patterns = &.{
5978963845 .{ .src = .{ .to_mem, .none, .none } },
5979063846 },
......@@ -59799,7 +63855,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5979963855 .unused,
5980063856 .unused,
5980163857 },
59802 .dst_temps = .{.mem},
63858 .dst_temps = .{ .mem, .unused },
5980363859 .clobbers = .{ .eflags = true },
5980463860 .each = .{ .once = &.{
5980563861 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -59812,7 +63868,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5981263868 }, .{
5981363869 .required_features = .{ .avx, .slow_incdec, null, null },
5981463870 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
59815 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
63871 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
5981663872 .patterns = &.{
5981763873 .{ .src = .{ .to_mem, .none, .none } },
5981863874 },
......@@ -59828,7 +63884,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5982863884 .unused,
5982963885 .unused,
5983063886 },
59831 .dst_temps = .{.mem},
63887 .dst_temps = .{ .mem, .unused },
5983263888 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5983363889 .each = .{ .once = &.{
5983463890 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -59841,7 +63897,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5984163897 }, .{
5984263898 .required_features = .{ .avx, null, null, null },
5984363899 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
59844 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
63900 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
5984563901 .patterns = &.{
5984663902 .{ .src = .{ .to_mem, .none, .none } },
5984763903 },
......@@ -59857,7 +63913,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5985763913 .unused,
5985863914 .unused,
5985963915 },
59860 .dst_temps = .{.mem},
63916 .dst_temps = .{ .mem, .unused },
5986163917 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5986263918 .each = .{ .once = &.{
5986363919 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -59870,7 +63926,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5987063926 }, .{
5987163927 .required_features = .{ .sse, .slow_incdec, null, null },
5987263928 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
59873 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
63929 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
5987463930 .patterns = &.{
5987563931 .{ .src = .{ .to_mem, .none, .none } },
5987663932 },
......@@ -59886,7 +63942,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5988663942 .unused,
5988763943 .unused,
5988863944 },
59889 .dst_temps = .{.mem},
63945 .dst_temps = .{ .mem, .unused },
5989063946 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5989163947 .each = .{ .once = &.{
5989263948 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -59899,7 +63955,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5989963955 }, .{
5990063956 .required_features = .{ .sse, null, null, null },
5990163957 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
59902 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
63958 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
5990363959 .patterns = &.{
5990463960 .{ .src = .{ .to_mem, .none, .none } },
5990563961 },
......@@ -59915,7 +63971,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5991563971 .unused,
5991663972 .unused,
5991763973 },
59918 .dst_temps = .{.mem},
63974 .dst_temps = .{ .mem, .unused },
5991963975 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5992063976 .each = .{ .once = &.{
5992163977 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -59928,7 +63984,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5992863984 }, .{
5992963985 .required_features = .{ .avx, .slow_incdec, null, null },
5993063986 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
59931 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
63987 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
5993263988 .patterns = &.{
5993363989 .{ .src = .{ .to_mem, .none, .none } },
5993463990 },
......@@ -59944,7 +64000,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5994464000 .unused,
5994564001 .unused,
5994664002 },
59947 .dst_temps = .{.mem},
64003 .dst_temps = .{ .mem, .unused },
5994864004 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5994964005 .each = .{ .once = &.{
5995064006 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -59957,7 +64013,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5995764013 }, .{
5995864014 .required_features = .{ .avx, null, null, null },
5995964015 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
59960 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
64016 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
5996164017 .patterns = &.{
5996264018 .{ .src = .{ .to_mem, .none, .none } },
5996364019 },
......@@ -59973,7 +64029,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5997364029 .unused,
5997464030 .unused,
5997564031 },
59976 .dst_temps = .{.mem},
64032 .dst_temps = .{ .mem, .unused },
5997764033 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
5997864034 .each = .{ .once = &.{
5997964035 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -59986,7 +64042,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5998664042 }, .{
5998764043 .required_features = .{ .sse, .slow_incdec, null, null },
5998864044 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
59989 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
64045 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
5999064046 .patterns = &.{
5999164047 .{ .src = .{ .to_mem, .none, .none } },
5999264048 },
......@@ -60002,7 +64058,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6000264058 .unused,
6000364059 .unused,
6000464060 },
60005 .dst_temps = .{.mem},
64061 .dst_temps = .{ .mem, .unused },
6000664062 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6000764063 .each = .{ .once = &.{
6000864064 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -60015,7 +64071,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6001564071 }, .{
6001664072 .required_features = .{ .sse, null, null, null },
6001764073 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
60018 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
64074 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
6001964075 .patterns = &.{
6002064076 .{ .src = .{ .to_mem, .none, .none } },
6002164077 },
......@@ -60031,7 +64087,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6003164087 .unused,
6003264088 .unused,
6003364089 },
60034 .dst_temps = .{.mem},
64090 .dst_temps = .{ .mem, .unused },
6003564091 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6003664092 .each = .{ .once = &.{
6003764093 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -60044,12 +64100,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6004464100 }, .{
6004564101 .required_features = .{ .avx, null, null, null },
6004664102 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },
60047 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .dword } }},
64103 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any },
6004864104 .patterns = &.{
6004964105 .{ .src = .{ .mem, .none, .none } },
6005064106 .{ .src = .{ .to_sse, .none, .none } },
6005164107 },
60052 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
64108 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6005364109 .each = .{ .once = &.{
6005464110 .{ ._, .vp_d, .movsxw, .dst0x, .src0q, ._, ._ },
6005564111 .{ ._, .v_ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },
......@@ -60057,12 +64113,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6005764113 }, .{
6005864114 .required_features = .{ .sse4_1, null, null, null },
6005964115 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },
60060 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .dword } }},
64116 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any },
6006164117 .patterns = &.{
6006264118 .{ .src = .{ .mem, .none, .none } },
6006364119 .{ .src = .{ .to_sse, .none, .none } },
6006464120 },
60065 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
64121 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6006664122 .each = .{ .once = &.{
6006764123 .{ ._, .p_d, .movsxw, .dst0x, .src0q, ._, ._ },
6006864124 .{ ._, ._ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },
......@@ -60070,12 +64126,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6007064126 }, .{
6007164127 .required_features = .{ .avx2, null, null, null },
6007264128 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },
60073 .dst_constraints = .{.{ .scalar_float = .{ .of = .yword, .is = .dword } }},
64129 .dst_constraints = .{ .{ .scalar_float = .{ .of = .yword, .is = .dword } }, .any },
6007464130 .patterns = &.{
6007564131 .{ .src = .{ .mem, .none, .none } },
6007664132 .{ .src = .{ .to_sse, .none, .none } },
6007764133 },
60078 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
64134 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6007964135 .each = .{ .once = &.{
6008064136 .{ ._, .vp_d, .movsxw, .dst0y, .src0x, ._, ._ },
6008164137 .{ ._, .v_ps, .cvtdq2, .dst0y, .dst0y, ._, ._ },
......@@ -60083,12 +64139,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6008364139 }, .{
6008464140 .required_features = .{ .avx, null, null, null },
6008564141 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any },
60086 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .dword } }},
64142 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any },
6008764143 .patterns = &.{
6008864144 .{ .src = .{ .mem, .none, .none } },
6008964145 .{ .src = .{ .to_sse, .none, .none } },
6009064146 },
60091 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
64147 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6009264148 .each = .{ .once = &.{
6009364149 .{ ._, .vp_d, .movzxw, .dst0x, .src0q, ._, ._ },
6009464150 .{ ._, .v_ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },
......@@ -60096,12 +64152,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6009664152 }, .{
6009764153 .required_features = .{ .sse4_1, null, null, null },
6009864154 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any },
60099 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .dword } }},
64155 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any },
6010064156 .patterns = &.{
6010164157 .{ .src = .{ .mem, .none, .none } },
6010264158 .{ .src = .{ .to_sse, .none, .none } },
6010364159 },
60104 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
64160 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6010564161 .each = .{ .once = &.{
6010664162 .{ ._, .p_d, .movzxw, .dst0x, .src0q, ._, ._ },
6010764163 .{ ._, ._ps, .cvtdq2, .dst0x, .dst0x, ._, ._ },
......@@ -60109,12 +64165,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6010964165 }, .{
6011064166 .required_features = .{ .avx2, null, null, null },
6011164167 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },
60112 .dst_constraints = .{.{ .scalar_float = .{ .of = .yword, .is = .dword } }},
64168 .dst_constraints = .{ .{ .scalar_float = .{ .of = .yword, .is = .dword } }, .any },
6011364169 .patterns = &.{
6011464170 .{ .src = .{ .mem, .none, .none } },
6011564171 .{ .src = .{ .to_sse, .none, .none } },
6011664172 },
60117 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
64173 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6011864174 .each = .{ .once = &.{
6011964175 .{ ._, .vp_d, .movzxw, .dst0y, .src0x, ._, ._ },
6012064176 .{ ._, .v_ps, .cvtdq2, .dst0y, .dst0y, ._, ._ },
......@@ -60122,7 +64178,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6012264178 }, .{
6012364179 .required_features = .{ .avx2, null, null, null },
6012464180 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any },
60125 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }},
64181 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, .any },
6012664182 .patterns = &.{
6012764183 .{ .src = .{ .to_mem, .none, .none } },
6012864184 },
......@@ -60137,7 +64193,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6013764193 .unused,
6013864194 .unused,
6013964195 },
60140 .dst_temps = .{.mem},
64196 .dst_temps = .{ .mem, .unused },
6014164197 .clobbers = .{ .eflags = true },
6014264198 .each = .{ .once = &.{
6014364199 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -60150,7 +64206,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6015064206 }, .{
6015164207 .required_features = .{ .avx, null, null, null },
6015264208 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },
60153 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }},
64209 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any },
6015464210 .patterns = &.{
6015564211 .{ .src = .{ .to_mem, .none, .none } },
6015664212 },
......@@ -60165,7 +64221,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6016564221 .unused,
6016664222 .unused,
6016764223 },
60168 .dst_temps = .{.mem},
64224 .dst_temps = .{ .mem, .unused },
6016964225 .clobbers = .{ .eflags = true },
6017064226 .each = .{ .once = &.{
6017164227 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -60178,7 +64234,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6017864234 }, .{
6017964235 .required_features = .{ .sse4_1, null, null, null },
6018064236 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },
60181 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }},
64237 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any },
6018264238 .patterns = &.{
6018364239 .{ .src = .{ .to_mem, .none, .none } },
6018464240 },
......@@ -60193,7 +64249,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6019364249 .unused,
6019464250 .unused,
6019564251 },
60196 .dst_temps = .{.mem},
64252 .dst_temps = .{ .mem, .unused },
6019764253 .clobbers = .{ .eflags = true },
6019864254 .each = .{ .once = &.{
6019964255 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -60206,7 +64262,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6020664262 }, .{
6020764263 .required_features = .{ .avx2, null, null, null },
6020864264 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any },
60209 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }},
64265 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, .any },
6021064266 .patterns = &.{
6021164267 .{ .src = .{ .to_mem, .none, .none } },
6021264268 },
......@@ -60221,7 +64277,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6022164277 .unused,
6022264278 .unused,
6022364279 },
60224 .dst_temps = .{.mem},
64280 .dst_temps = .{ .mem, .unused },
6022564281 .clobbers = .{ .eflags = true },
6022664282 .each = .{ .once = &.{
6022764283 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -60234,7 +64290,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6023464290 }, .{
6023564291 .required_features = .{ .avx, null, null, null },
6023664292 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any },
60237 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }},
64293 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any },
6023864294 .patterns = &.{
6023964295 .{ .src = .{ .to_mem, .none, .none } },
6024064296 },
......@@ -60249,7 +64305,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6024964305 .unused,
6025064306 .unused,
6025164307 },
60252 .dst_temps = .{.mem},
64308 .dst_temps = .{ .mem, .unused },
6025364309 .clobbers = .{ .eflags = true },
6025464310 .each = .{ .once = &.{
6025564311 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -60262,7 +64318,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6026264318 }, .{
6026364319 .required_features = .{ .sse4_1, null, null, null },
6026464320 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any },
60265 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }},
64321 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any },
6026664322 .patterns = &.{
6026764323 .{ .src = .{ .to_mem, .none, .none } },
6026864324 },
......@@ -60277,7 +64333,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6027764333 .unused,
6027864334 .unused,
6027964335 },
60280 .dst_temps = .{.mem},
64336 .dst_temps = .{ .mem, .unused },
6028164337 .clobbers = .{ .eflags = true },
6028264338 .each = .{ .once = &.{
6028364339 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -60290,7 +64346,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6029064346 }, .{
6029164347 .required_features = .{ .avx, null, null, null },
6029264348 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },
60293 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
64349 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
6029464350 .patterns = &.{
6029564351 .{ .src = .{ .to_mem, .none, .none } },
6029664352 },
......@@ -60306,7 +64362,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6030664362 .unused,
6030764363 .unused,
6030864364 },
60309 .dst_temps = .{.mem},
64365 .dst_temps = .{ .mem, .unused },
6031064366 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6031164367 .each = .{ .once = &.{
6031264368 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -60319,7 +64375,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6031964375 }, .{
6032064376 .required_features = .{ .sse, null, null, null },
6032164377 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },
60322 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
64378 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
6032364379 .patterns = &.{
6032464380 .{ .src = .{ .to_mem, .none, .none } },
6032564381 },
......@@ -60335,7 +64391,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6033564391 .unused,
6033664392 .unused,
6033764393 },
60338 .dst_temps = .{.mem},
64394 .dst_temps = .{ .mem, .unused },
6033964395 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6034064396 .each = .{ .once = &.{
6034164397 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -60348,7 +64404,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6034864404 }, .{
6034964405 .required_features = .{ .avx, null, null, null },
6035064406 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },
60351 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
64407 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
6035264408 .patterns = &.{
6035364409 .{ .src = .{ .to_mem, .none, .none } },
6035464410 },
......@@ -60364,7 +64420,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6036464420 .unused,
6036564421 .unused,
6036664422 },
60367 .dst_temps = .{.mem},
64423 .dst_temps = .{ .mem, .unused },
6036864424 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6036964425 .each = .{ .once = &.{
6037064426 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -60377,7 +64433,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6037764433 }, .{
6037864434 .required_features = .{ .sse, null, null, null },
6037964435 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },
60380 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
64436 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
6038164437 .patterns = &.{
6038264438 .{ .src = .{ .to_mem, .none, .none } },
6038364439 },
......@@ -60393,7 +64449,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6039364449 .unused,
6039464450 .unused,
6039564451 },
60396 .dst_temps = .{.mem},
64452 .dst_temps = .{ .mem, .unused },
6039764453 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6039864454 .each = .{ .once = &.{
6039964455 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -60406,43 +64462,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6040664462 }, .{
6040764463 .required_features = .{ .avx, null, null, null },
6040864464 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },
60409 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .dword } }},
64465 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any },
6041064466 .patterns = &.{
6041164467 .{ .src = .{ .mem, .none, .none } },
6041264468 .{ .src = .{ .to_sse, .none, .none } },
6041364469 },
60414 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
64470 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6041564471 .each = .{ .once = &.{
6041664472 .{ ._, .v_ps, .cvtdq2, .dst0x, .src0x, ._, ._ },
6041764473 } },
6041864474 }, .{
6041964475 .required_features = .{ .sse2, null, null, null },
6042064476 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },
60421 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .dword } }},
64477 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any },
6042264478 .patterns = &.{
6042364479 .{ .src = .{ .mem, .none, .none } },
6042464480 .{ .src = .{ .to_sse, .none, .none } },
6042564481 },
60426 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
64482 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6042764483 .each = .{ .once = &.{
6042864484 .{ ._, ._ps, .cvtdq2, .dst0x, .src0x, ._, ._ },
6042964485 } },
6043064486 }, .{
6043164487 .required_features = .{ .avx2, null, null, null },
6043264488 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any },
60433 .dst_constraints = .{.{ .scalar_float = .{ .of = .yword, .is = .dword } }},
64489 .dst_constraints = .{ .{ .scalar_float = .{ .of = .yword, .is = .dword } }, .any },
6043464490 .patterns = &.{
6043564491 .{ .src = .{ .mem, .none, .none } },
6043664492 .{ .src = .{ .to_sse, .none, .none } },
6043764493 },
60438 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
64494 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6043964495 .each = .{ .once = &.{
6044064496 .{ ._, .v_ps, .cvtdq2, .dst0y, .src0y, ._, ._ },
6044164497 } },
6044264498 }, .{
6044364499 .required_features = .{ .avx2, null, null, null },
6044464500 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any },
60445 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }},
64501 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, .any },
6044664502 .patterns = &.{
6044764503 .{ .src = .{ .to_mem, .none, .none } },
6044864504 },
......@@ -60457,7 +64513,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6045764513 .unused,
6045864514 .unused,
6045964515 },
60460 .dst_temps = .{.mem},
64516 .dst_temps = .{ .mem, .unused },
6046164517 .clobbers = .{ .eflags = true },
6046264518 .each = .{ .once = &.{
6046364519 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -60469,7 +64525,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6046964525 }, .{
6047064526 .required_features = .{ .avx, null, null, null },
6047164527 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },
60472 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }},
64528 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any },
6047364529 .patterns = &.{
6047464530 .{ .src = .{ .to_mem, .none, .none } },
6047564531 },
......@@ -60484,7 +64540,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6048464540 .unused,
6048564541 .unused,
6048664542 },
60487 .dst_temps = .{.mem},
64543 .dst_temps = .{ .mem, .unused },
6048864544 .clobbers = .{ .eflags = true },
6048964545 .each = .{ .once = &.{
6049064546 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -60496,7 +64552,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6049664552 }, .{
6049764553 .required_features = .{ .sse2, null, null, null },
6049864554 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },
60499 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }},
64555 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any },
6050064556 .patterns = &.{
6050164557 .{ .src = .{ .to_mem, .none, .none } },
6050264558 },
......@@ -60511,7 +64567,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6051164567 .unused,
6051264568 .unused,
6051364569 },
60514 .dst_temps = .{.mem},
64570 .dst_temps = .{ .mem, .unused },
6051564571 .clobbers = .{ .eflags = true },
6051664572 .each = .{ .once = &.{
6051764573 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -60523,7 +64579,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6052364579 }, .{
6052464580 .required_features = .{ .sse, null, null, null },
6052564581 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
60526 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
64582 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
6052764583 .patterns = &.{
6052864584 .{ .src = .{ .to_mem, .none, .none } },
6052964585 },
......@@ -60538,7 +64594,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6053864594 .unused,
6053964595 .unused,
6054064596 },
60541 .dst_temps = .{.mem},
64597 .dst_temps = .{ .mem, .unused },
6054264598 .clobbers = .{ .eflags = true },
6054364599 .each = .{ .once = &.{
6054464600 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -60550,7 +64606,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6055064606 }, .{
6055164607 .required_features = .{ .avx, null, null, null },
6055264608 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
60553 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
64609 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
6055464610 .patterns = &.{
6055564611 .{ .src = .{ .to_mem, .none, .none } },
6055664612 },
......@@ -60566,7 +64622,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6056664622 .unused,
6056764623 .unused,
6056864624 },
60569 .dst_temps = .{.mem},
64625 .dst_temps = .{ .mem, .unused },
6057064626 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6057164627 .each = .{ .once = &.{
6057264628 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -60579,7 +64635,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6057964635 }, .{
6058064636 .required_features = .{ .sse, null, null, null },
6058164637 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
60582 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
64638 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
6058364639 .patterns = &.{
6058464640 .{ .src = .{ .to_mem, .none, .none } },
6058564641 },
......@@ -60595,7 +64651,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6059564651 .unused,
6059664652 .unused,
6059764653 },
60598 .dst_temps = .{.mem},
64654 .dst_temps = .{ .mem, .unused },
6059964655 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6060064656 .each = .{ .once = &.{
6060164657 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -60608,7 +64664,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6060864664 }, .{
6060964665 .required_features = .{ .avx, null, null, null },
6061064666 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
60611 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
64667 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
6061264668 .patterns = &.{
6061364669 .{ .src = .{ .to_mem, .none, .none } },
6061464670 },
......@@ -60624,7 +64680,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6062464680 .unused,
6062564681 .unused,
6062664682 },
60627 .dst_temps = .{.mem},
64683 .dst_temps = .{ .mem, .unused },
6062864684 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6062964685 .each = .{ .once = &.{
6063064686 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -60637,7 +64693,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6063764693 }, .{
6063864694 .required_features = .{ .sse, null, null, null },
6063964695 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
60640 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
64696 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
6064164697 .patterns = &.{
6064264698 .{ .src = .{ .to_mem, .none, .none } },
6064364699 },
......@@ -60653,7 +64709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6065364709 .unused,
6065464710 .unused,
6065564711 },
60656 .dst_temps = .{.mem},
64712 .dst_temps = .{ .mem, .unused },
6065764713 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6065864714 .each = .{ .once = &.{
6065964715 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -60666,7 +64722,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6066664722 }, .{
6066764723 .required_features = .{ .@"64bit", .avx, null, null },
6066864724 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },
60669 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
64725 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
6067064726 .patterns = &.{
6067164727 .{ .src = .{ .to_mem, .none, .none } },
6067264728 },
......@@ -60681,7 +64737,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6068164737 .unused,
6068264738 .unused,
6068364739 },
60684 .dst_temps = .{.mem},
64740 .dst_temps = .{ .mem, .unused },
6068564741 .clobbers = .{ .eflags = true },
6068664742 .each = .{ .once = &.{
6068764743 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -60694,7 +64750,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6069464750 }, .{
6069564751 .required_features = .{ .@"64bit", .sse, null, null },
6069664752 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },
60697 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
64753 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
6069864754 .patterns = &.{
6069964755 .{ .src = .{ .to_mem, .none, .none } },
6070064756 },
......@@ -60709,7 +64765,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6070964765 .unused,
6071064766 .unused,
6071164767 },
60712 .dst_temps = .{.mem},
64768 .dst_temps = .{ .mem, .unused },
6071364769 .clobbers = .{ .eflags = true },
6071464770 .each = .{ .once = &.{
6071564771 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -60722,7 +64778,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6072264778 }, .{
6072364779 .required_features = .{ .@"64bit", .avx, null, null },
6072464780 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },
60725 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
64781 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
6072664782 .patterns = &.{
6072764783 .{ .src = .{ .to_mem, .none, .none } },
6072864784 },
......@@ -60738,7 +64794,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6073864794 .unused,
6073964795 .unused,
6074064796 },
60741 .dst_temps = .{.mem},
64797 .dst_temps = .{ .mem, .unused },
6074264798 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6074364799 .each = .{ .once = &.{
6074464800 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -60751,7 +64807,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6075164807 }, .{
6075264808 .required_features = .{ .@"64bit", .sse, null, null },
6075364809 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },
60754 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
64810 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
6075564811 .patterns = &.{
6075664812 .{ .src = .{ .to_mem, .none, .none } },
6075764813 },
......@@ -60767,7 +64823,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6076764823 .unused,
6076864824 .unused,
6076964825 },
60770 .dst_temps = .{.mem},
64826 .dst_temps = .{ .mem, .unused },
6077164827 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6077264828 .each = .{ .once = &.{
6077364829 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -60780,7 +64836,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6078064836 }, .{
6078164837 .required_features = .{ .@"64bit", .avx, null, null },
6078264838 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },
60783 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
64839 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
6078464840 .patterns = &.{
6078564841 .{ .src = .{ .to_mem, .none, .none } },
6078664842 },
......@@ -60796,7 +64852,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6079664852 .unused,
6079764853 .unused,
6079864854 },
60799 .dst_temps = .{.mem},
64855 .dst_temps = .{ .mem, .unused },
6080064856 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6080164857 .each = .{ .once = &.{
6080264858 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -60809,7 +64865,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6080964865 }, .{
6081064866 .required_features = .{ .@"64bit", .sse, null, null },
6081164867 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },
60812 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
64868 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
6081364869 .patterns = &.{
6081464870 .{ .src = .{ .to_mem, .none, .none } },
6081564871 },
......@@ -60825,7 +64881,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6082564881 .unused,
6082664882 .unused,
6082764883 },
60828 .dst_temps = .{.mem},
64884 .dst_temps = .{ .mem, .unused },
6082964885 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6083064886 .each = .{ .once = &.{
6083164887 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -60838,7 +64894,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6083864894 }, .{
6083964895 .required_features = .{ .@"64bit", .avx, null, null },
6084064896 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },
60841 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
64897 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
6084264898 .patterns = &.{
6084364899 .{ .src = .{ .to_mem, .none, .none } },
6084464900 },
......@@ -60854,7 +64910,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6085464910 .unused,
6085564911 .unused,
6085664912 },
60857 .dst_temps = .{.mem},
64913 .dst_temps = .{ .mem, .unused },
6085864914 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6085964915 .each = .{ .once = &.{
6086064916 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -60868,7 +64924,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6086864924 }, .{
6086964925 .required_features = .{ .@"64bit", .sse, null, null },
6087064926 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },
60871 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
64927 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
6087264928 .patterns = &.{
6087364929 .{ .src = .{ .to_mem, .none, .none } },
6087464930 },
......@@ -60884,7 +64940,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6088464940 .unused,
6088564941 .unused,
6088664942 },
60887 .dst_temps = .{.mem},
64943 .dst_temps = .{ .mem, .unused },
6088864944 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6088964945 .each = .{ .once = &.{
6089064946 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -60898,7 +64954,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6089864954 }, .{
6089964955 .required_features = .{ .@"64bit", .avx, null, null },
6090064956 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },
60901 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
64957 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
6090264958 .patterns = &.{
6090364959 .{ .src = .{ .to_mem, .none, .none } },
6090464960 },
......@@ -60914,7 +64970,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6091464970 .unused,
6091564971 .unused,
6091664972 },
60917 .dst_temps = .{.mem},
64973 .dst_temps = .{ .mem, .unused },
6091864974 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6091964975 .each = .{ .once = &.{
6092064976 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -60928,7 +64984,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6092864984 }, .{
6092964985 .required_features = .{ .@"64bit", .sse, null, null },
6093064986 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },
60931 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
64987 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
6093264988 .patterns = &.{
6093364989 .{ .src = .{ .to_mem, .none, .none } },
6093464990 },
......@@ -60944,7 +65000,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6094465000 .unused,
6094565001 .unused,
6094665002 },
60947 .dst_temps = .{.mem},
65003 .dst_temps = .{ .mem, .unused },
6094865004 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6094965005 .each = .{ .once = &.{
6095065006 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -60958,7 +65014,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6095865014 }, .{
6095965015 .required_features = .{ .@"64bit", .avx, null, null },
6096065016 .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
60961 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
65017 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
6096265018 .patterns = &.{
6096365019 .{ .src = .{ .to_mem, .none, .none } },
6096465020 },
......@@ -60974,7 +65030,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6097465030 .unused,
6097565031 .unused,
6097665032 },
60977 .dst_temps = .{.mem},
65033 .dst_temps = .{ .mem, .unused },
6097865034 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6097965035 .each = .{ .once = &.{
6098065036 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -60990,7 +65046,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6099065046 }, .{
6099165047 .required_features = .{ .@"64bit", .sse, null, null },
6099265048 .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
60993 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
65049 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
6099465050 .patterns = &.{
6099565051 .{ .src = .{ .to_mem, .none, .none } },
6099665052 },
......@@ -61006,7 +65062,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6100665062 .unused,
6100765063 .unused,
6100865064 },
61009 .dst_temps = .{.mem},
65065 .dst_temps = .{ .mem, .unused },
6101065066 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6101165067 .each = .{ .once = &.{
6101265068 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -61022,7 +65078,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6102265078 }, .{
6102365079 .required_features = .{ .@"64bit", .avx, null, null },
6102465080 .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
61025 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
65081 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
6102665082 .patterns = &.{
6102765083 .{ .src = .{ .to_mem, .none, .none } },
6102865084 },
......@@ -61038,7 +65094,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6103865094 .unused,
6103965095 .unused,
6104065096 },
61041 .dst_temps = .{.mem},
65097 .dst_temps = .{ .mem, .unused },
6104265098 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6104365099 .each = .{ .once = &.{
6104465100 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -61054,7 +65110,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6105465110 }, .{
6105565111 .required_features = .{ .@"64bit", .sse, null, null },
6105665112 .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
61057 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }},
65113 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any },
6105865114 .patterns = &.{
6105965115 .{ .src = .{ .to_mem, .none, .none } },
6106065116 },
......@@ -61070,7 +65126,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6107065126 .unused,
6107165127 .unused,
6107265128 },
61073 .dst_temps = .{.mem},
65129 .dst_temps = .{ .mem, .unused },
6107465130 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6107565131 .each = .{ .once = &.{
6107665132 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -61086,7 +65142,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6108665142 }, .{
6108765143 .required_features = .{ .avx, null, null, null },
6108865144 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },
61089 .dst_constraints = .{.{ .float = .qword }},
65145 .dst_constraints = .{ .{ .float = .qword }, .any },
6109065146 .patterns = &.{
6109165147 .{ .src = .{ .mem, .none, .none } },
6109265148 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -61102,7 +65158,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6110265158 .unused,
6110365159 .unused,
6110465160 },
61105 .dst_temps = .{.{ .rc = .sse }},
65161 .dst_temps = .{ .{ .rc = .sse }, .unused },
6110665162 .each = .{ .once = &.{
6110765163 .{ ._, ._, .movsx, .tmp0d, .src0b, ._, ._ },
6110865164 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },
......@@ -61111,7 +65167,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6111165167 }, .{
6111265168 .required_features = .{ .sse2, null, null, null },
6111365169 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },
61114 .dst_constraints = .{.{ .float = .qword }},
65170 .dst_constraints = .{ .{ .float = .qword }, .any },
6111565171 .patterns = &.{
6111665172 .{ .src = .{ .mem, .none, .none } },
6111765173 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -61127,7 +65183,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6112765183 .unused,
6112865184 .unused,
6112965185 },
61130 .dst_temps = .{.{ .rc = .sse }},
65186 .dst_temps = .{ .{ .rc = .sse }, .unused },
6113165187 .each = .{ .once = &.{
6113265188 .{ ._, ._, .movsx, .tmp0d, .src0b, ._, ._ },
6113365189 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },
......@@ -61136,7 +65192,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6113665192 }, .{
6113765193 .required_features = .{ .avx, null, null, null },
6113865194 .src_constraints = .{ .{ .unsigned_int = .byte }, .any, .any },
61139 .dst_constraints = .{.{ .float = .qword }},
65195 .dst_constraints = .{ .{ .float = .qword }, .any },
6114065196 .patterns = &.{
6114165197 .{ .src = .{ .mem, .none, .none } },
6114265198 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -61152,7 +65208,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6115265208 .unused,
6115365209 .unused,
6115465210 },
61155 .dst_temps = .{.{ .rc = .sse }},
65211 .dst_temps = .{ .{ .rc = .sse }, .unused },
6115665212 .each = .{ .once = &.{
6115765213 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
6115865214 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },
......@@ -61161,7 +65217,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6116165217 }, .{
6116265218 .required_features = .{ .sse2, null, null, null },
6116365219 .src_constraints = .{ .{ .unsigned_int = .byte }, .any, .any },
61164 .dst_constraints = .{.{ .float = .qword }},
65220 .dst_constraints = .{ .{ .float = .qword }, .any },
6116565221 .patterns = &.{
6116665222 .{ .src = .{ .mem, .none, .none } },
6116765223 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -61177,7 +65233,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6117765233 .unused,
6117865234 .unused,
6117965235 },
61180 .dst_temps = .{.{ .rc = .sse }},
65236 .dst_temps = .{ .{ .rc = .sse }, .unused },
6118165237 .each = .{ .once = &.{
6118265238 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
6118365239 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },
......@@ -61186,7 +65242,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6118665242 }, .{
6118765243 .required_features = .{ .avx, null, null, null },
6118865244 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },
61189 .dst_constraints = .{.{ .float = .qword }},
65245 .dst_constraints = .{ .{ .float = .qword }, .any },
6119065246 .patterns = &.{
6119165247 .{ .src = .{ .mem, .none, .none } },
6119265248 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -61202,7 +65258,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6120265258 .unused,
6120365259 .unused,
6120465260 },
61205 .dst_temps = .{.{ .rc = .sse }},
65261 .dst_temps = .{ .{ .rc = .sse }, .unused },
6120665262 .each = .{ .once = &.{
6120765263 .{ ._, ._, .movsx, .tmp0d, .src0w, ._, ._ },
6120865264 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },
......@@ -61211,7 +65267,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6121165267 }, .{
6121265268 .required_features = .{ .sse2, null, null, null },
6121365269 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },
61214 .dst_constraints = .{.{ .float = .qword }},
65270 .dst_constraints = .{ .{ .float = .qword }, .any },
6121565271 .patterns = &.{
6121665272 .{ .src = .{ .mem, .none, .none } },
6121765273 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -61227,7 +65283,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6122765283 .unused,
6122865284 .unused,
6122965285 },
61230 .dst_temps = .{.{ .rc = .sse }},
65286 .dst_temps = .{ .{ .rc = .sse }, .unused },
6123165287 .each = .{ .once = &.{
6123265288 .{ ._, ._, .movsx, .tmp0d, .src0w, ._, ._ },
6123365289 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },
......@@ -61236,7 +65292,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6123665292 }, .{
6123765293 .required_features = .{ .avx, null, null, null },
6123865294 .src_constraints = .{ .{ .unsigned_int = .word }, .any, .any },
61239 .dst_constraints = .{.{ .float = .qword }},
65295 .dst_constraints = .{ .{ .float = .qword }, .any },
6124065296 .patterns = &.{
6124165297 .{ .src = .{ .mem, .none, .none } },
6124265298 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -61252,7 +65308,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6125265308 .unused,
6125365309 .unused,
6125465310 },
61255 .dst_temps = .{.{ .rc = .sse }},
65311 .dst_temps = .{ .{ .rc = .sse }, .unused },
6125665312 .each = .{ .once = &.{
6125765313 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },
6125865314 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },
......@@ -61261,7 +65317,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6126165317 }, .{
6126265318 .required_features = .{ .sse2, null, null, null },
6126365319 .src_constraints = .{ .{ .unsigned_int = .word }, .any, .any },
61264 .dst_constraints = .{.{ .float = .qword }},
65320 .dst_constraints = .{ .{ .float = .qword }, .any },
6126565321 .patterns = &.{
6126665322 .{ .src = .{ .mem, .none, .none } },
6126765323 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -61277,7 +65333,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6127765333 .unused,
6127865334 .unused,
6127965335 },
61280 .dst_temps = .{.{ .rc = .sse }},
65336 .dst_temps = .{ .{ .rc = .sse }, .unused },
6128165337 .each = .{ .once = &.{
6128265338 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },
6128365339 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },
......@@ -61286,12 +65342,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6128665342 }, .{
6128765343 .required_features = .{ .avx, null, null, null },
6128865344 .src_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any, .any },
61289 .dst_constraints = .{.{ .float = .qword }},
65345 .dst_constraints = .{ .{ .float = .qword }, .any },
6129065346 .patterns = &.{
6129165347 .{ .src = .{ .mem, .none, .none } },
6129265348 .{ .src = .{ .to_gpr, .none, .none } },
6129365349 },
61294 .dst_temps = .{.{ .rc = .sse }},
65350 .dst_temps = .{ .{ .rc = .sse }, .unused },
6129565351 .each = .{ .once = &.{
6129665352 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },
6129765353 .{ ._, .v_sd, .cvtsi2, .dst0x, .dst0x, .src0d, ._ },
......@@ -61299,12 +65355,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6129965355 }, .{
6130065356 .required_features = .{ .sse2, null, null, null },
6130165357 .src_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any, .any },
61302 .dst_constraints = .{.{ .float = .qword }},
65358 .dst_constraints = .{ .{ .float = .qword }, .any },
6130365359 .patterns = &.{
6130465360 .{ .src = .{ .mem, .none, .none } },
6130565361 .{ .src = .{ .to_gpr, .none, .none } },
6130665362 },
61307 .dst_temps = .{.{ .rc = .sse }},
65363 .dst_temps = .{ .{ .rc = .sse }, .unused },
6130865364 .each = .{ .once = &.{
6130965365 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },
6131065366 .{ ._, ._sd, .cvtsi2, .dst0x, .src0d, ._, ._ },
......@@ -61312,7 +65368,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6131265368 }, .{
6131365369 .required_features = .{ .avx, null, null, null },
6131465370 .src_constraints = .{ .{ .exact_unsigned_int = 32 }, .any, .any },
61315 .dst_constraints = .{.{ .float = .qword }},
65371 .dst_constraints = .{ .{ .float = .qword }, .any },
6131665372 .patterns = &.{
6131765373 .{ .src = .{ .mem, .none, .none } },
6131865374 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -61328,7 +65384,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6132865384 .unused,
6132965385 .unused,
6133065386 },
61331 .dst_temps = .{.{ .rc = .sse }},
65387 .dst_temps = .{ .{ .rc = .sse }, .unused },
6133265388 .each = .{ .once = &.{
6133365389 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },
6133465390 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },
......@@ -61337,7 +65393,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6133765393 }, .{
6133865394 .required_features = .{ .sse2, null, null, null },
6133965395 .src_constraints = .{ .{ .exact_unsigned_int = 32 }, .any, .any },
61340 .dst_constraints = .{.{ .float = .qword }},
65396 .dst_constraints = .{ .{ .float = .qword }, .any },
6134165397 .patterns = &.{
6134265398 .{ .src = .{ .mem, .none, .none } },
6134365399 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -61353,7 +65409,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6135365409 .unused,
6135465410 .unused,
6135565411 },
61356 .dst_temps = .{.{ .rc = .sse }},
65412 .dst_temps = .{ .{ .rc = .sse }, .unused },
6135765413 .each = .{ .once = &.{
6135865414 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },
6135965415 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },
......@@ -61362,7 +65418,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6136265418 }, .{
6136365419 .required_features = .{ .x87, null, null, null },
6136465420 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },
61365 .dst_constraints = .{.{ .float = .qword }},
65421 .dst_constraints = .{ .{ .float = .qword }, .any },
6136665422 .patterns = &.{
6136765423 .{ .src = .{ .mem, .none, .none } },
6136865424 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -61378,7 +65434,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6137865434 .unused,
6137965435 .unused,
6138065436 },
61381 .dst_temps = .{.mem},
65437 .dst_temps = .{ .mem, .unused },
6138265438 .each = .{ .once = &.{
6138365439 .{ ._, ._, .movsx, .tmp0d, .src0b, ._, ._ },
6138465440 .{ ._, ._, .mov, .tmp1w, .tmp0w, ._, ._ },
......@@ -61388,7 +65444,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6138865444 }, .{
6138965445 .required_features = .{ .x87, null, null, null },
6139065446 .src_constraints = .{ .{ .unsigned_int = .byte }, .any, .any },
61391 .dst_constraints = .{.{ .float = .qword }},
65447 .dst_constraints = .{ .{ .float = .qword }, .any },
6139265448 .patterns = &.{
6139365449 .{ .src = .{ .mem, .none, .none } },
6139465450 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -61404,7 +65460,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6140465460 .unused,
6140565461 .unused,
6140665462 },
61407 .dst_temps = .{.mem},
65463 .dst_temps = .{ .mem, .unused },
6140865464 .each = .{ .once = &.{
6140965465 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
6141065466 .{ ._, ._, .mov, .tmp1w, .tmp0w, ._, ._ },
......@@ -61414,7 +65470,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6141465470 }, .{
6141565471 .required_features = .{ .x87, null, null, null },
6141665472 .src_constraints = .{ .{ .signed_or_exclusive_int = .word }, .any, .any },
61417 .dst_constraints = .{.{ .float = .qword }},
65473 .dst_constraints = .{ .{ .float = .qword }, .any },
6141865474 .patterns = &.{
6141965475 .{ .src = .{ .to_mem, .none, .none } },
6142065476 },
......@@ -61429,7 +65485,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6142965485 .unused,
6143065486 .unused,
6143165487 },
61432 .dst_temps = .{.mem},
65488 .dst_temps = .{ .mem, .unused },
6143365489 .each = .{ .once = &.{
6143465490 .{ ._, .fi_, .ld, .src0w, ._, ._, ._ },
6143565491 .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },
......@@ -61437,7 +65493,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6143765493 }, .{
6143865494 .required_features = .{ .x87, null, null, null },
6143965495 .src_constraints = .{ .{ .exact_unsigned_int = 16 }, .any, .any },
61440 .dst_constraints = .{.{ .float = .qword }},
65496 .dst_constraints = .{ .{ .float = .qword }, .any },
6144165497 .patterns = &.{
6144265498 .{ .src = .{ .mem, .none, .none } },
6144365499 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -61453,7 +65509,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6145365509 .unused,
6145465510 .unused,
6145565511 },
61456 .dst_temps = .{.mem},
65512 .dst_temps = .{ .mem, .unused },
6145765513 .each = .{ .once = &.{
6145865514 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },
6145965515 .{ ._, ._, .mov, .tmp1d, .tmp0d, ._, ._ },
......@@ -61463,7 +65519,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6146365519 }, .{
6146465520 .required_features = .{ .x87, null, null, null },
6146565521 .src_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any, .any },
61466 .dst_constraints = .{.{ .float = .qword }},
65522 .dst_constraints = .{ .{ .float = .qword }, .any },
6146765523 .patterns = &.{
6146865524 .{ .src = .{ .to_mem, .none, .none } },
6146965525 },
......@@ -61478,7 +65534,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6147865534 .unused,
6147965535 .unused,
6148065536 },
61481 .dst_temps = .{.mem},
65537 .dst_temps = .{ .mem, .unused },
6148265538 .each = .{ .once = &.{
6148365539 .{ ._, .fi_, .ld, .src0d, ._, ._, ._ },
6148465540 .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },
......@@ -61486,7 +65542,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6148665542 }, .{
6148765543 .required_features = .{ .@"64bit", .x87, null, null },
6148865544 .src_constraints = .{ .{ .exact_unsigned_int = 32 }, .any, .any },
61489 .dst_constraints = .{.{ .float = .qword }},
65545 .dst_constraints = .{ .{ .float = .qword }, .any },
6149065546 .patterns = &.{
6149165547 .{ .src = .{ .mem, .none, .none } },
6149265548 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -61502,7 +65558,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6150265558 .unused,
6150365559 .unused,
6150465560 },
61505 .dst_temps = .{.mem},
65561 .dst_temps = .{ .mem, .unused },
6150665562 .each = .{ .once = &.{
6150765563 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },
6150865564 .{ ._, ._, .mov, .tmp1q, .tmp0q, ._, ._ },
......@@ -61512,12 +65568,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6151265568 }, .{
6151365569 .required_features = .{ .@"64bit", .avx, null, null },
6151465570 .src_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any, .any },
61515 .dst_constraints = .{.{ .float = .qword }},
65571 .dst_constraints = .{ .{ .float = .qword }, .any },
6151665572 .patterns = &.{
6151765573 .{ .src = .{ .mem, .none, .none } },
6151865574 .{ .src = .{ .to_gpr, .none, .none } },
6151965575 },
61520 .dst_temps = .{.{ .rc = .sse }},
65576 .dst_temps = .{ .{ .rc = .sse }, .unused },
6152165577 .each = .{ .once = &.{
6152265578 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },
6152365579 .{ ._, .v_sd, .cvtsi2, .dst0x, .dst0x, .src0q, ._ },
......@@ -61525,12 +65581,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6152565581 }, .{
6152665582 .required_features = .{ .@"64bit", .sse2, null, null },
6152765583 .src_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any, .any },
61528 .dst_constraints = .{.{ .float = .qword }},
65584 .dst_constraints = .{ .{ .float = .qword }, .any },
6152965585 .patterns = &.{
6153065586 .{ .src = .{ .mem, .none, .none } },
6153165587 .{ .src = .{ .to_gpr, .none, .none } },
6153265588 },
61533 .dst_temps = .{.{ .rc = .sse }},
65589 .dst_temps = .{ .{ .rc = .sse }, .unused },
6153465590 .each = .{ .once = &.{
6153565591 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },
6153665592 .{ ._, ._sd, .cvtsi2, .dst0x, .src0q, ._, ._ },
......@@ -61538,7 +65594,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6153865594 }, .{
6153965595 .required_features = .{ .@"64bit", .avx, null, null },
6154065596 .src_constraints = .{ .{ .exact_unsigned_int = 64 }, .any, .any },
61541 .dst_constraints = .{.{ .float = .qword }},
65597 .dst_constraints = .{ .{ .float = .qword }, .any },
6154265598 .patterns = &.{
6154365599 .{ .src = .{ .mem, .none, .none } },
6154465600 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -61554,7 +65610,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6155465610 .unused,
6155565611 .unused,
6155665612 },
61557 .dst_temps = .{.{ .rc = .sse }},
65613 .dst_temps = .{ .{ .rc = .sse }, .unused },
6155865614 .each = .{ .once = &.{
6155965615 .{ ._, .v_q, .mov, .tmp0x, .src0q, ._, ._ },
6156065616 .{ ._, ._, .lea, .tmp1p, .mem(.tmp2), ._, ._ },
......@@ -61567,7 +65623,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6156765623 }, .{
6156865624 .required_features = .{ .@"64bit", .sse2, null, null },
6156965625 .src_constraints = .{ .{ .exact_unsigned_int = 64 }, .any, .any },
61570 .dst_constraints = .{.{ .float = .qword }},
65626 .dst_constraints = .{ .{ .float = .qword }, .any },
6157165627 .patterns = &.{
6157265628 .{ .src = .{ .mem, .none, .none } },
6157365629 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -61583,7 +65639,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6158365639 .unused,
6158465640 .unused,
6158565641 },
61586 .dst_temps = .{.{ .rc = .sse }},
65642 .dst_temps = .{ .{ .rc = .sse }, .unused },
6158765643 .each = .{ .once = &.{
6158865644 .{ ._, ._q, .mov, .tmp0x, .src0q, ._, ._ },
6158965645 .{ ._, ._, .lea, .tmp1p, .mem(.tmp2), ._, ._ },
......@@ -61597,7 +65653,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6159765653 }, .{
6159865654 .required_features = .{ .x87, null, null, null },
6159965655 .src_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any, .any },
61600 .dst_constraints = .{.{ .float = .qword }},
65656 .dst_constraints = .{ .{ .float = .qword }, .any },
6160165657 .patterns = &.{
6160265658 .{ .src = .{ .to_mem, .none, .none } },
6160365659 },
......@@ -61612,7 +65668,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6161265668 .unused,
6161365669 .unused,
6161465670 },
61615 .dst_temps = .{.mem},
65671 .dst_temps = .{ .mem, .unused },
6161665672 .each = .{ .once = &.{
6161765673 .{ ._, .fi_, .ld, .src0q, ._, ._, ._ },
6161865674 .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },
......@@ -61620,7 +65676,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6162065676 }, .{
6162165677 .required_features = .{ .@"64bit", .x87, null, null },
6162265678 .src_constraints = .{ .{ .exact_unsigned_int = 64 }, .any, .any },
61623 .dst_constraints = .{.{ .float = .qword }},
65679 .dst_constraints = .{ .{ .float = .qword }, .any },
6162465680 .patterns = &.{
6162565681 .{ .src = .{ .to_mut_gpr, .none, .none } },
6162665682 },
......@@ -61635,7 +65691,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6163565691 .unused,
6163665692 .unused,
6163765693 },
61638 .dst_temps = .{.mem},
65694 .dst_temps = .{ .mem, .unused },
6163965695 .clobbers = .{ .eflags = true },
6164065696 .each = .{ .once = &.{
6164165697 .{ ._, ._, .@"test", .src0q, .src0q, ._, ._ },
......@@ -61656,7 +65712,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6165665712 }, .{
6165765713 .required_features = .{ .@"64bit", .sse, null, null },
6165865714 .src_constraints = .{ .{ .signed_int = .xword }, .any, .any },
61659 .dst_constraints = .{.{ .float = .qword }},
65715 .dst_constraints = .{ .{ .float = .qword }, .any },
6166065716 .patterns = &.{
6166165717 .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } },
6166265718 },
......@@ -61672,7 +65728,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6167265728 .unused,
6167365729 .unused,
6167465730 },
61675 .dst_temps = .{.{ .reg = .xmm0 }},
65731 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
6167665732 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6167765733 .each = .{ .once = &.{
6167865734 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -61680,7 +65736,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6168065736 }, .{
6168165737 .required_features = .{ .@"64bit", .sse, null, null },
6168265738 .src_constraints = .{ .{ .unsigned_int = .xword }, .any, .any },
61683 .dst_constraints = .{.{ .float = .qword }},
65739 .dst_constraints = .{ .{ .float = .qword }, .any },
6168465740 .patterns = &.{
6168565741 .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } },
6168665742 },
......@@ -61696,7 +65752,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6169665752 .unused,
6169765753 .unused,
6169865754 },
61699 .dst_temps = .{.{ .reg = .xmm0 }},
65755 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
6170065756 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6170165757 .each = .{ .once = &.{
6170265758 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -61704,7 +65760,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6170465760 }, .{
6170565761 .required_features = .{ .@"64bit", .sse, null, null },
6170665762 .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
61707 .dst_constraints = .{.{ .float = .qword }},
65763 .dst_constraints = .{ .{ .float = .qword }, .any },
6170865764 .patterns = &.{
6170965765 .{ .src = .{ .to_mem, .none, .none } },
6171065766 },
......@@ -61720,7 +65776,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6172065776 .unused,
6172165777 .unused,
6172265778 },
61723 .dst_temps = .{.{ .reg = .xmm0 }},
65779 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
6172465780 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6172565781 .each = .{ .once = &.{
6172665782 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -61730,7 +65786,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6173065786 }, .{
6173165787 .required_features = .{ .@"64bit", .sse, null, null },
6173265788 .src_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
61733 .dst_constraints = .{.{ .float = .qword }},
65789 .dst_constraints = .{ .{ .float = .qword }, .any },
6173465790 .patterns = &.{
6173565791 .{ .src = .{ .to_mem, .none, .none } },
6173665792 },
......@@ -61746,7 +65802,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6174665802 .unused,
6174765803 .unused,
6174865804 },
61749 .dst_temps = .{.{ .reg = .xmm0 }},
65805 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
6175065806 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6175165807 .each = .{ .once = &.{
6175265808 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -61756,12 +65812,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6175665812 }, .{
6175765813 .required_features = .{ .avx, null, null, null },
6175865814 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .word, .is = .byte } }, .any, .any },
61759 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .qword } }},
65815 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any },
6176065816 .patterns = &.{
6176165817 .{ .src = .{ .mem, .none, .none } },
6176265818 .{ .src = .{ .to_sse, .none, .none } },
6176365819 },
61764 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
65820 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6176565821 .each = .{ .once = &.{
6176665822 .{ ._, .vp_d, .movsxb, .dst0x, .src0d, ._, ._ },
6176765823 .{ ._, .v_pd, .cvtdq2, .dst0x, .dst0q, ._, ._ },
......@@ -61769,12 +65825,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6176965825 }, .{
6177065826 .required_features = .{ .sse4_1, null, null, null },
6177165827 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .word, .is = .byte } }, .any, .any },
61772 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .qword } }},
65828 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any },
6177365829 .patterns = &.{
6177465830 .{ .src = .{ .mem, .none, .none } },
6177565831 .{ .src = .{ .to_sse, .none, .none } },
6177665832 },
61777 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
65833 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6177865834 .each = .{ .once = &.{
6177965835 .{ ._, .p_d, .movsxb, .dst0x, .src0d, ._, ._ },
6178065836 .{ ._, ._pd, .cvtdq2, .dst0x, .dst0q, ._, ._ },
......@@ -61782,12 +65838,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6178265838 }, .{
6178365839 .required_features = .{ .avx2, null, null, null },
6178465840 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },
61785 .dst_constraints = .{.{ .scalar_float = .{ .of = .yword, .is = .qword } }},
65841 .dst_constraints = .{ .{ .scalar_float = .{ .of = .yword, .is = .qword } }, .any },
6178665842 .patterns = &.{
6178765843 .{ .src = .{ .mem, .none, .none } },
6178865844 .{ .src = .{ .to_sse, .none, .none } },
6178965845 },
61790 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
65846 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6179165847 .each = .{ .once = &.{
6179265848 .{ ._, .vp_d, .movsxb, .dst0x, .src0d, ._, ._ },
6179365849 .{ ._, .v_pd, .cvtdq2, .dst0y, .dst0x, ._, ._ },
......@@ -61795,12 +65851,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6179565851 }, .{
6179665852 .required_features = .{ .avx, null, null, null },
6179765853 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .word, .is = .byte } }, .any, .any },
61798 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .qword } }},
65854 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any },
6179965855 .patterns = &.{
6180065856 .{ .src = .{ .mem, .none, .none } },
6180165857 .{ .src = .{ .to_sse, .none, .none } },
6180265858 },
61803 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
65859 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6180465860 .each = .{ .once = &.{
6180565861 .{ ._, .vp_d, .movzxb, .dst0x, .src0d, ._, ._ },
6180665862 .{ ._, .v_pd, .cvtdq2, .dst0x, .dst0q, ._, ._ },
......@@ -61808,12 +65864,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6180865864 }, .{
6180965865 .required_features = .{ .sse4_1, null, null, null },
6181065866 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .word, .is = .byte } }, .any, .any },
61811 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .qword } }},
65867 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any },
6181265868 .patterns = &.{
6181365869 .{ .src = .{ .mem, .none, .none } },
6181465870 .{ .src = .{ .to_sse, .none, .none } },
6181565871 },
61816 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
65872 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6181765873 .each = .{ .once = &.{
6181865874 .{ ._, .p_d, .movzxb, .dst0x, .src0d, ._, ._ },
6181965875 .{ ._, ._pd, .cvtdq2, .dst0x, .dst0q, ._, ._ },
......@@ -61821,12 +65877,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6182165877 }, .{
6182265878 .required_features = .{ .avx2, null, null, null },
6182365879 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .dword, .is = .byte } }, .any, .any },
61824 .dst_constraints = .{.{ .scalar_float = .{ .of = .yword, .is = .qword } }},
65880 .dst_constraints = .{ .{ .scalar_float = .{ .of = .yword, .is = .qword } }, .any },
6182565881 .patterns = &.{
6182665882 .{ .src = .{ .mem, .none, .none } },
6182765883 .{ .src = .{ .to_sse, .none, .none } },
6182865884 },
61829 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
65885 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6183065886 .each = .{ .once = &.{
6183165887 .{ ._, .vp_d, .movzxb, .dst0x, .src0d, ._, ._ },
6183265888 .{ ._, .v_pd, .cvtdq2, .dst0y, .dst0x, ._, ._ },
......@@ -61834,7 +65890,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6183465890 }, .{
6183565891 .required_features = .{ .avx2, null, null, null },
6183665892 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any },
61837 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }},
65893 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any },
6183865894 .patterns = &.{
6183965895 .{ .src = .{ .to_mem, .none, .none } },
6184065896 },
......@@ -61849,7 +65905,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6184965905 .unused,
6185065906 .unused,
6185165907 },
61852 .dst_temps = .{.mem},
65908 .dst_temps = .{ .mem, .unused },
6185365909 .clobbers = .{ .eflags = true },
6185465910 .each = .{ .once = &.{
6185565911 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -61862,7 +65918,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6186265918 }, .{
6186365919 .required_features = .{ .avx, null, null, null },
6186465920 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .byte } }, .any, .any },
61865 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }},
65921 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any },
6186665922 .patterns = &.{
6186765923 .{ .src = .{ .to_mem, .none, .none } },
6186865924 },
......@@ -61877,7 +65933,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6187765933 .unused,
6187865934 .unused,
6187965935 },
61880 .dst_temps = .{.mem},
65936 .dst_temps = .{ .mem, .unused },
6188165937 .clobbers = .{ .eflags = true },
6188265938 .each = .{ .once = &.{
6188365939 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -61892,7 +65948,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6189265948 }, .{
6189365949 .required_features = .{ .sse4_1, null, null, null },
6189465950 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .byte } }, .any, .any },
61895 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }},
65951 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any },
6189665952 .patterns = &.{
6189765953 .{ .src = .{ .to_mem, .none, .none } },
6189865954 },
......@@ -61907,7 +65963,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6190765963 .unused,
6190865964 .unused,
6190965965 },
61910 .dst_temps = .{.mem},
65966 .dst_temps = .{ .mem, .unused },
6191165967 .clobbers = .{ .eflags = true },
6191265968 .each = .{ .once = &.{
6191365969 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -61922,7 +65978,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6192265978 }, .{
6192365979 .required_features = .{ .avx2, null, null, null },
6192465980 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .byte } }, .any, .any },
61925 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }},
65981 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any },
6192665982 .patterns = &.{
6192765983 .{ .src = .{ .to_mem, .none, .none } },
6192865984 },
......@@ -61937,7 +65993,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6193765993 .unused,
6193865994 .unused,
6193965995 },
61940 .dst_temps = .{.mem},
65996 .dst_temps = .{ .mem, .unused },
6194165997 .clobbers = .{ .eflags = true },
6194265998 .each = .{ .once = &.{
6194365999 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -61950,7 +66006,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6195066006 }, .{
6195166007 .required_features = .{ .avx, null, null, null },
6195266008 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .byte } }, .any, .any },
61953 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }},
66009 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any },
6195466010 .patterns = &.{
6195566011 .{ .src = .{ .to_mem, .none, .none } },
6195666012 },
......@@ -61965,7 +66021,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6196566021 .unused,
6196666022 .unused,
6196766023 },
61968 .dst_temps = .{.mem},
66024 .dst_temps = .{ .mem, .unused },
6196966025 .clobbers = .{ .eflags = true },
6197066026 .each = .{ .once = &.{
6197166027 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -61980,7 +66036,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6198066036 }, .{
6198166037 .required_features = .{ .sse4_1, null, null, null },
6198266038 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .byte } }, .any, .any },
61983 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }},
66039 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any },
6198466040 .patterns = &.{
6198566041 .{ .src = .{ .to_mem, .none, .none } },
6198666042 },
......@@ -61995,7 +66051,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6199566051 .unused,
6199666052 .unused,
6199766053 },
61998 .dst_temps = .{.mem},
66054 .dst_temps = .{ .mem, .unused },
6199966055 .clobbers = .{ .eflags = true },
6200066056 .each = .{ .once = &.{
6200166057 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62010,7 +66066,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6201066066 }, .{
6201166067 .required_features = .{ .avx, .slow_incdec, null, null },
6201266068 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
62013 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
66069 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6201466070 .patterns = &.{
6201566071 .{ .src = .{ .to_mem, .none, .none } },
6201666072 },
......@@ -62026,7 +66082,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6202666082 .unused,
6202766083 .unused,
6202866084 },
62029 .dst_temps = .{.mem},
66085 .dst_temps = .{ .mem, .unused },
6203066086 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6203166087 .each = .{ .once = &.{
6203266088 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62039,7 +66095,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6203966095 }, .{
6204066096 .required_features = .{ .avx, null, null, null },
6204166097 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
62042 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
66098 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6204366099 .patterns = &.{
6204466100 .{ .src = .{ .to_mem, .none, .none } },
6204566101 },
......@@ -62055,7 +66111,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6205566111 .unused,
6205666112 .unused,
6205766113 },
62058 .dst_temps = .{.mem},
66114 .dst_temps = .{ .mem, .unused },
6205966115 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6206066116 .each = .{ .once = &.{
6206166117 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62068,7 +66124,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6206866124 }, .{
6206966125 .required_features = .{ .sse2, .slow_incdec, null, null },
6207066126 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
62071 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
66127 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6207266128 .patterns = &.{
6207366129 .{ .src = .{ .to_mem, .none, .none } },
6207466130 },
......@@ -62084,7 +66140,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6208466140 .unused,
6208566141 .unused,
6208666142 },
62087 .dst_temps = .{.mem},
66143 .dst_temps = .{ .mem, .unused },
6208866144 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6208966145 .each = .{ .once = &.{
6209066146 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62097,7 +66153,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6209766153 }, .{
6209866154 .required_features = .{ .sse2, null, null, null },
6209966155 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
62100 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
66156 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6210166157 .patterns = &.{
6210266158 .{ .src = .{ .to_mem, .none, .none } },
6210366159 },
......@@ -62113,7 +66169,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6211366169 .unused,
6211466170 .unused,
6211566171 },
62116 .dst_temps = .{.mem},
66172 .dst_temps = .{ .mem, .unused },
6211766173 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6211866174 .each = .{ .once = &.{
6211966175 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62126,7 +66182,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6212666182 }, .{
6212766183 .required_features = .{ .sse, .slow_incdec, null, null },
6212866184 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
62129 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
66185 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6213066186 .patterns = &.{
6213166187 .{ .src = .{ .to_mem, .none, .none } },
6213266188 },
......@@ -62142,7 +66198,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6214266198 .unused,
6214366199 .unused,
6214466200 },
62145 .dst_temps = .{.mem},
66201 .dst_temps = .{ .mem, .unused },
6214666202 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6214766203 .each = .{ .once = &.{
6214866204 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62155,7 +66211,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6215566211 }, .{
6215666212 .required_features = .{ .sse, null, null, null },
6215766213 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
62158 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
66214 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6215966215 .patterns = &.{
6216066216 .{ .src = .{ .to_mem, .none, .none } },
6216166217 },
......@@ -62171,7 +66227,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6217166227 .unused,
6217266228 .unused,
6217366229 },
62174 .dst_temps = .{.mem},
66230 .dst_temps = .{ .mem, .unused },
6217566231 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6217666232 .each = .{ .once = &.{
6217766233 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62184,7 +66240,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6218466240 }, .{
6218566241 .required_features = .{ .avx, .slow_incdec, null, null },
6218666242 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
62187 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
66243 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6218866244 .patterns = &.{
6218966245 .{ .src = .{ .to_mem, .none, .none } },
6219066246 },
......@@ -62200,7 +66256,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6220066256 .unused,
6220166257 .unused,
6220266258 },
62203 .dst_temps = .{.mem},
66259 .dst_temps = .{ .mem, .unused },
6220466260 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6220566261 .each = .{ .once = &.{
6220666262 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62213,7 +66269,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6221366269 }, .{
6221466270 .required_features = .{ .avx, null, null, null },
6221566271 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
62216 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
66272 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6221766273 .patterns = &.{
6221866274 .{ .src = .{ .to_mem, .none, .none } },
6221966275 },
......@@ -62229,7 +66285,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6222966285 .unused,
6223066286 .unused,
6223166287 },
62232 .dst_temps = .{.mem},
66288 .dst_temps = .{ .mem, .unused },
6223366289 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6223466290 .each = .{ .once = &.{
6223566291 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62242,7 +66298,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6224266298 }, .{
6224366299 .required_features = .{ .sse2, .slow_incdec, null, null },
6224466300 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
62245 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
66301 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6224666302 .patterns = &.{
6224766303 .{ .src = .{ .to_mem, .none, .none } },
6224866304 },
......@@ -62258,7 +66314,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6225866314 .unused,
6225966315 .unused,
6226066316 },
62261 .dst_temps = .{.mem},
66317 .dst_temps = .{ .mem, .unused },
6226266318 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6226366319 .each = .{ .once = &.{
6226466320 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62271,7 +66327,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6227166327 }, .{
6227266328 .required_features = .{ .sse2, null, null, null },
6227366329 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
62274 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
66330 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6227566331 .patterns = &.{
6227666332 .{ .src = .{ .to_mem, .none, .none } },
6227766333 },
......@@ -62287,7 +66343,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6228766343 .unused,
6228866344 .unused,
6228966345 },
62290 .dst_temps = .{.mem},
66346 .dst_temps = .{ .mem, .unused },
6229166347 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6229266348 .each = .{ .once = &.{
6229366349 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62300,7 +66356,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6230066356 }, .{
6230166357 .required_features = .{ .sse, .slow_incdec, null, null },
6230266358 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
62303 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
66359 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6230466360 .patterns = &.{
6230566361 .{ .src = .{ .to_mem, .none, .none } },
6230666362 },
......@@ -62316,7 +66372,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6231666372 .unused,
6231766373 .unused,
6231866374 },
62319 .dst_temps = .{.mem},
66375 .dst_temps = .{ .mem, .unused },
6232066376 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6232166377 .each = .{ .once = &.{
6232266378 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62329,7 +66385,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6232966385 }, .{
6233066386 .required_features = .{ .sse, null, null, null },
6233166387 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
62332 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
66388 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6233366389 .patterns = &.{
6233466390 .{ .src = .{ .to_mem, .none, .none } },
6233566391 },
......@@ -62345,7 +66401,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6234566401 .unused,
6234666402 .unused,
6234766403 },
62348 .dst_temps = .{.mem},
66404 .dst_temps = .{ .mem, .unused },
6234966405 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6235066406 .each = .{ .once = &.{
6235166407 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62358,12 +66414,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6235866414 }, .{
6235966415 .required_features = .{ .avx, null, null, null },
6236066416 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .word } }, .any, .any },
62361 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .qword } }},
66417 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any },
6236266418 .patterns = &.{
6236366419 .{ .src = .{ .mem, .none, .none } },
6236466420 .{ .src = .{ .to_sse, .none, .none } },
6236566421 },
62366 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
66422 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6236766423 .each = .{ .once = &.{
6236866424 .{ ._, .vp_d, .movsxw, .dst0x, .src0q, ._, ._ },
6236966425 .{ ._, .v_pd, .cvtdq2, .dst0x, .dst0q, ._, ._ },
......@@ -62371,12 +66427,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6237166427 }, .{
6237266428 .required_features = .{ .sse4_1, null, null, null },
6237366429 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .dword, .is = .word } }, .any, .any },
62374 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .qword } }},
66430 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any },
6237566431 .patterns = &.{
6237666432 .{ .src = .{ .mem, .none, .none } },
6237766433 .{ .src = .{ .to_sse, .none, .none } },
6237866434 },
62379 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
66435 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6238066436 .each = .{ .once = &.{
6238166437 .{ ._, .p_d, .movsxw, .dst0x, .src0q, ._, ._ },
6238266438 .{ ._, ._pd, .cvtdq2, .dst0x, .dst0q, ._, ._ },
......@@ -62384,12 +66440,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6238466440 }, .{
6238566441 .required_features = .{ .avx2, null, null, null },
6238666442 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },
62387 .dst_constraints = .{.{ .scalar_float = .{ .of = .yword, .is = .qword } }},
66443 .dst_constraints = .{ .{ .scalar_float = .{ .of = .yword, .is = .qword } }, .any },
6238866444 .patterns = &.{
6238966445 .{ .src = .{ .mem, .none, .none } },
6239066446 .{ .src = .{ .to_sse, .none, .none } },
6239166447 },
62392 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
66448 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6239366449 .each = .{ .once = &.{
6239466450 .{ ._, .vp_d, .movsxw, .dst0x, .src0q, ._, ._ },
6239566451 .{ ._, .v_pd, .cvtdq2, .dst0y, .dst0x, ._, ._ },
......@@ -62397,12 +66453,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6239766453 }, .{
6239866454 .required_features = .{ .avx, null, null, null },
6239966455 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .dword, .is = .word } }, .any, .any },
62400 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .qword } }},
66456 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any },
6240166457 .patterns = &.{
6240266458 .{ .src = .{ .mem, .none, .none } },
6240366459 .{ .src = .{ .to_sse, .none, .none } },
6240466460 },
62405 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
66461 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6240666462 .each = .{ .once = &.{
6240766463 .{ ._, .vp_d, .movzxw, .dst0x, .src0q, ._, ._ },
6240866464 .{ ._, .v_pd, .cvtdq2, .dst0x, .dst0q, ._, ._ },
......@@ -62410,12 +66466,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6241066466 }, .{
6241166467 .required_features = .{ .sse4_1, null, null, null },
6241266468 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .dword, .is = .word } }, .any, .any },
62413 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .qword } }},
66469 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any },
6241466470 .patterns = &.{
6241566471 .{ .src = .{ .mem, .none, .none } },
6241666472 .{ .src = .{ .to_sse, .none, .none } },
6241766473 },
62418 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
66474 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6241966475 .each = .{ .once = &.{
6242066476 .{ ._, .p_d, .movzxw, .dst0x, .src0q, ._, ._ },
6242166477 .{ ._, ._pd, .cvtdq2, .dst0x, .dst0q, ._, ._ },
......@@ -62423,12 +66479,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6242366479 }, .{
6242466480 .required_features = .{ .avx2, null, null, null },
6242566481 .src_constraints = .{ .{ .scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any },
62426 .dst_constraints = .{.{ .scalar_float = .{ .of = .yword, .is = .qword } }},
66482 .dst_constraints = .{ .{ .scalar_float = .{ .of = .yword, .is = .qword } }, .any },
6242766483 .patterns = &.{
6242866484 .{ .src = .{ .mem, .none, .none } },
6242966485 .{ .src = .{ .to_sse, .none, .none } },
6243066486 },
62431 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
66487 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6243266488 .each = .{ .once = &.{
6243366489 .{ ._, .vp_d, .movzxw, .dst0x, .src0q, ._, ._ },
6243466490 .{ ._, .v_pd, .cvtdq2, .dst0y, .dst0x, ._, ._ },
......@@ -62436,7 +66492,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6243666492 }, .{
6243766493 .required_features = .{ .avx2, null, null, null },
6243866494 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any },
62439 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }},
66495 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any },
6244066496 .patterns = &.{
6244166497 .{ .src = .{ .to_mem, .none, .none } },
6244266498 },
......@@ -62451,7 +66507,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6245166507 .unused,
6245266508 .unused,
6245366509 },
62454 .dst_temps = .{.mem},
66510 .dst_temps = .{ .mem, .unused },
6245566511 .clobbers = .{ .eflags = true },
6245666512 .each = .{ .once = &.{
6245766513 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62464,7 +66520,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6246466520 }, .{
6246566521 .required_features = .{ .avx, null, null, null },
6246666522 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .word } }, .any, .any },
62467 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }},
66523 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any },
6246866524 .patterns = &.{
6246966525 .{ .src = .{ .to_mem, .none, .none } },
6247066526 },
......@@ -62479,7 +66535,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6247966535 .unused,
6248066536 .unused,
6248166537 },
62482 .dst_temps = .{.mem},
66538 .dst_temps = .{ .mem, .unused },
6248366539 .clobbers = .{ .eflags = true },
6248466540 .each = .{ .once = &.{
6248566541 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62493,7 +66549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6249366549 }, .{
6249466550 .required_features = .{ .sse4_1, null, null, null },
6249566551 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .word } }, .any, .any },
62496 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }},
66552 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any },
6249766553 .patterns = &.{
6249866554 .{ .src = .{ .to_mem, .none, .none } },
6249966555 },
......@@ -62508,7 +66564,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6250866564 .unused,
6250966565 .unused,
6251066566 },
62511 .dst_temps = .{.mem},
66567 .dst_temps = .{ .mem, .unused },
6251266568 .clobbers = .{ .eflags = true },
6251366569 .each = .{ .once = &.{
6251466570 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62522,7 +66578,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6252266578 }, .{
6252366579 .required_features = .{ .avx2, null, null, null },
6252466580 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any },
62525 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }},
66581 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any },
6252666582 .patterns = &.{
6252766583 .{ .src = .{ .to_mem, .none, .none } },
6252866584 },
......@@ -62537,7 +66593,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6253766593 .unused,
6253866594 .unused,
6253966595 },
62540 .dst_temps = .{.mem},
66596 .dst_temps = .{ .mem, .unused },
6254166597 .clobbers = .{ .eflags = true },
6254266598 .each = .{ .once = &.{
6254366599 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62550,7 +66606,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6255066606 }, .{
6255166607 .required_features = .{ .avx, null, null, null },
6255266608 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .word } }, .any, .any },
62553 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }},
66609 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any },
6255466610 .patterns = &.{
6255566611 .{ .src = .{ .to_mem, .none, .none } },
6255666612 },
......@@ -62565,7 +66621,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6256566621 .unused,
6256666622 .unused,
6256766623 },
62568 .dst_temps = .{.mem},
66624 .dst_temps = .{ .mem, .unused },
6256966625 .clobbers = .{ .eflags = true },
6257066626 .each = .{ .once = &.{
6257166627 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62579,7 +66635,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6257966635 }, .{
6258066636 .required_features = .{ .sse4_1, null, null, null },
6258166637 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .word } }, .any, .any },
62582 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }},
66638 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any },
6258366639 .patterns = &.{
6258466640 .{ .src = .{ .to_mem, .none, .none } },
6258566641 },
......@@ -62594,7 +66650,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6259466650 .unused,
6259566651 .unused,
6259666652 },
62597 .dst_temps = .{.mem},
66653 .dst_temps = .{ .mem, .unused },
6259866654 .clobbers = .{ .eflags = true },
6259966655 .each = .{ .once = &.{
6260066656 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62608,7 +66664,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6260866664 }, .{
6260966665 .required_features = .{ .avx, null, null, null },
6261066666 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },
62611 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
66667 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6261266668 .patterns = &.{
6261366669 .{ .src = .{ .to_mem, .none, .none } },
6261466670 },
......@@ -62624,7 +66680,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6262466680 .unused,
6262566681 .unused,
6262666682 },
62627 .dst_temps = .{.mem},
66683 .dst_temps = .{ .mem, .unused },
6262866684 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6262966685 .each = .{ .once = &.{
6263066686 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62637,7 +66693,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6263766693 }, .{
6263866694 .required_features = .{ .sse2, null, null, null },
6263966695 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },
62640 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
66696 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6264166697 .patterns = &.{
6264266698 .{ .src = .{ .to_mem, .none, .none } },
6264366699 },
......@@ -62653,7 +66709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6265366709 .unused,
6265466710 .unused,
6265566711 },
62656 .dst_temps = .{.mem},
66712 .dst_temps = .{ .mem, .unused },
6265766713 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6265866714 .each = .{ .once = &.{
6265966715 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62666,7 +66722,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6266666722 }, .{
6266766723 .required_features = .{ .sse, null, null, null },
6266866724 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },
62669 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
66725 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6267066726 .patterns = &.{
6267166727 .{ .src = .{ .to_mem, .none, .none } },
6267266728 },
......@@ -62682,7 +66738,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6268266738 .unused,
6268366739 .unused,
6268466740 },
62685 .dst_temps = .{.mem},
66741 .dst_temps = .{ .mem, .unused },
6268666742 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6268766743 .each = .{ .once = &.{
6268866744 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62695,7 +66751,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6269566751 }, .{
6269666752 .required_features = .{ .avx, null, null, null },
6269766753 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },
62698 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
66754 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6269966755 .patterns = &.{
6270066756 .{ .src = .{ .to_mem, .none, .none } },
6270166757 },
......@@ -62711,7 +66767,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6271166767 .unused,
6271266768 .unused,
6271366769 },
62714 .dst_temps = .{.mem},
66770 .dst_temps = .{ .mem, .unused },
6271566771 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6271666772 .each = .{ .once = &.{
6271766773 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62724,7 +66780,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6272466780 }, .{
6272566781 .required_features = .{ .sse2, null, null, null },
6272666782 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },
62727 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
66783 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6272866784 .patterns = &.{
6272966785 .{ .src = .{ .to_mem, .none, .none } },
6273066786 },
......@@ -62740,7 +66796,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6274066796 .unused,
6274166797 .unused,
6274266798 },
62743 .dst_temps = .{.mem},
66799 .dst_temps = .{ .mem, .unused },
6274466800 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6274566801 .each = .{ .once = &.{
6274666802 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62753,7 +66809,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6275366809 }, .{
6275466810 .required_features = .{ .sse, null, null, null },
6275566811 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },
62756 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
66812 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6275766813 .patterns = &.{
6275866814 .{ .src = .{ .to_mem, .none, .none } },
6275966815 },
......@@ -62769,7 +66825,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6276966825 .unused,
6277066826 .unused,
6277166827 },
62772 .dst_temps = .{.mem},
66828 .dst_temps = .{ .mem, .unused },
6277366829 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6277466830 .each = .{ .once = &.{
6277566831 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62782,43 +66838,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6278266838 }, .{
6278366839 .required_features = .{ .avx, null, null, null },
6278466840 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any, .any },
62785 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .qword } }},
66841 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any },
6278666842 .patterns = &.{
6278766843 .{ .src = .{ .mem, .none, .none } },
6278866844 .{ .src = .{ .to_sse, .none, .none } },
6278966845 },
62790 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
66846 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6279166847 .each = .{ .once = &.{
6279266848 .{ ._, .v_pd, .cvtdq2, .dst0x, .src0q, ._, ._ },
6279366849 } },
6279466850 }, .{
6279566851 .required_features = .{ .sse2, null, null, null },
6279666852 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any, .any },
62797 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .qword } }},
66853 .dst_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any },
6279866854 .patterns = &.{
6279966855 .{ .src = .{ .mem, .none, .none } },
6280066856 .{ .src = .{ .to_sse, .none, .none } },
6280166857 },
62802 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
66858 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6280366859 .each = .{ .once = &.{
6280466860 .{ ._, ._pd, .cvtdq2, .dst0x, .src0q, ._, ._ },
6280566861 } },
6280666862 }, .{
6280766863 .required_features = .{ .avx2, null, null, null },
6280866864 .src_constraints = .{ .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },
62809 .dst_constraints = .{.{ .scalar_float = .{ .of = .yword, .is = .qword } }},
66865 .dst_constraints = .{ .{ .scalar_float = .{ .of = .yword, .is = .qword } }, .any },
6281066866 .patterns = &.{
6281166867 .{ .src = .{ .mem, .none, .none } },
6281266868 .{ .src = .{ .to_sse, .none, .none } },
6281366869 },
62814 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
66870 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6281566871 .each = .{ .once = &.{
6281666872 .{ ._, .v_pd, .cvtdq2, .dst0y, .src0x, ._, ._ },
6281766873 } },
6281866874 }, .{
6281966875 .required_features = .{ .avx2, null, null, null },
6282066876 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any },
62821 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }},
66877 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any },
6282266878 .patterns = &.{
6282366879 .{ .src = .{ .to_mem, .none, .none } },
6282466880 },
......@@ -62833,7 +66889,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6283366889 .unused,
6283466890 .unused,
6283566891 },
62836 .dst_temps = .{.mem},
66892 .dst_temps = .{ .mem, .unused },
6283766893 .clobbers = .{ .eflags = true },
6283866894 .each = .{ .once = &.{
6283966895 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62845,7 +66901,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6284566901 }, .{
6284666902 .required_features = .{ .avx, null, null, null },
6284766903 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any, .any },
62848 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }},
66904 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any },
6284966905 .patterns = &.{
6285066906 .{ .src = .{ .to_mem, .none, .none } },
6285166907 },
......@@ -62860,7 +66916,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6286066916 .unused,
6286166917 .unused,
6286266918 },
62863 .dst_temps = .{.mem},
66919 .dst_temps = .{ .mem, .unused },
6286466920 .clobbers = .{ .eflags = true },
6286566921 .each = .{ .once = &.{
6286666922 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62872,7 +66928,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6287266928 }, .{
6287366929 .required_features = .{ .sse2, null, null, null },
6287466930 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any, .any },
62875 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }},
66931 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any },
6287666932 .patterns = &.{
6287766933 .{ .src = .{ .to_mem, .none, .none } },
6287866934 },
......@@ -62887,7 +66943,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6288766943 .unused,
6288866944 .unused,
6288966945 },
62890 .dst_temps = .{.mem},
66946 .dst_temps = .{ .mem, .unused },
6289166947 .clobbers = .{ .eflags = true },
6289266948 .each = .{ .once = &.{
6289366949 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62899,7 +66955,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6289966955 }, .{
6290066956 .required_features = .{ .avx, null, null, null },
6290166957 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
62902 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
66958 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6290366959 .patterns = &.{
6290466960 .{ .src = .{ .to_mem, .none, .none } },
6290566961 },
......@@ -62915,7 +66971,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6291566971 .unused,
6291666972 .unused,
6291766973 },
62918 .dst_temps = .{.mem},
66974 .dst_temps = .{ .mem, .unused },
6291966975 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6292066976 .each = .{ .once = &.{
6292166977 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62928,7 +66984,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6292866984 }, .{
6292966985 .required_features = .{ .sse2, null, null, null },
6293066986 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
62931 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
66987 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6293266988 .patterns = &.{
6293366989 .{ .src = .{ .to_mem, .none, .none } },
6293466990 },
......@@ -62944,7 +67000,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6294467000 .unused,
6294567001 .unused,
6294667002 },
62947 .dst_temps = .{.mem},
67003 .dst_temps = .{ .mem, .unused },
6294867004 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6294967005 .each = .{ .once = &.{
6295067006 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62957,7 +67013,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6295767013 }, .{
6295867014 .required_features = .{ .sse, null, null, null },
6295967015 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
62960 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
67016 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6296167017 .patterns = &.{
6296267018 .{ .src = .{ .to_mem, .none, .none } },
6296367019 },
......@@ -62973,7 +67029,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6297367029 .unused,
6297467030 .unused,
6297567031 },
62976 .dst_temps = .{.mem},
67032 .dst_temps = .{ .mem, .unused },
6297767033 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6297867034 .each = .{ .once = &.{
6297967035 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -62986,7 +67042,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6298667042 }, .{
6298767043 .required_features = .{ .avx, null, null, null },
6298867044 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
62989 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
67045 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6299067046 .patterns = &.{
6299167047 .{ .src = .{ .to_mem, .none, .none } },
6299267048 },
......@@ -63002,7 +67058,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6300267058 .unused,
6300367059 .unused,
6300467060 },
63005 .dst_temps = .{.mem},
67061 .dst_temps = .{ .mem, .unused },
6300667062 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6300767063 .each = .{ .once = &.{
6300867064 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -63015,7 +67071,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6301567071 }, .{
6301667072 .required_features = .{ .sse2, null, null, null },
6301767073 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
63018 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
67074 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6301967075 .patterns = &.{
6302067076 .{ .src = .{ .to_mem, .none, .none } },
6302167077 },
......@@ -63031,7 +67087,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6303167087 .unused,
6303267088 .unused,
6303367089 },
63034 .dst_temps = .{.mem},
67090 .dst_temps = .{ .mem, .unused },
6303567091 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6303667092 .each = .{ .once = &.{
6303767093 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -63044,7 +67100,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6304467100 }, .{
6304567101 .required_features = .{ .sse, null, null, null },
6304667102 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
63047 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
67103 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6304867104 .patterns = &.{
6304967105 .{ .src = .{ .to_mem, .none, .none } },
6305067106 },
......@@ -63060,7 +67116,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6306067116 .unused,
6306167117 .unused,
6306267118 },
63063 .dst_temps = .{.mem},
67119 .dst_temps = .{ .mem, .unused },
6306467120 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6306567121 .each = .{ .once = &.{
6306667122 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -63073,7 +67129,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6307367129 }, .{
6307467130 .required_features = .{ .@"64bit", .avx, null, null },
6307567131 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },
63076 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
67132 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6307767133 .patterns = &.{
6307867134 .{ .src = .{ .to_mem, .none, .none } },
6307967135 },
......@@ -63088,7 +67144,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6308867144 .unused,
6308967145 .unused,
6309067146 },
63091 .dst_temps = .{.mem},
67147 .dst_temps = .{ .mem, .unused },
6309267148 .clobbers = .{ .eflags = true },
6309367149 .each = .{ .once = &.{
6309467150 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -63101,7 +67157,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6310167157 }, .{
6310267158 .required_features = .{ .@"64bit", .sse2, null, null },
6310367159 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },
63104 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
67160 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6310567161 .patterns = &.{
6310667162 .{ .src = .{ .to_mem, .none, .none } },
6310767163 },
......@@ -63116,7 +67172,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6311667172 .unused,
6311767173 .unused,
6311867174 },
63119 .dst_temps = .{.mem},
67175 .dst_temps = .{ .mem, .unused },
6312067176 .clobbers = .{ .eflags = true },
6312167177 .each = .{ .once = &.{
6312267178 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -63129,7 +67185,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6312967185 }, .{
6313067186 .required_features = .{ .@"64bit", .avx, null, null },
6313167187 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },
63132 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
67188 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6313367189 .patterns = &.{
6313467190 .{ .src = .{ .to_mem, .none, .none } },
6313567191 },
......@@ -63145,7 +67201,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6314567201 .unused,
6314667202 .unused,
6314767203 },
63148 .dst_temps = .{.mem},
67204 .dst_temps = .{ .mem, .unused },
6314967205 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6315067206 .each = .{ .once = &.{
6315167207 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -63158,7 +67214,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6315867214 }, .{
6315967215 .required_features = .{ .@"64bit", .sse2, null, null },
6316067216 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },
63161 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
67217 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6316267218 .patterns = &.{
6316367219 .{ .src = .{ .to_mem, .none, .none } },
6316467220 },
......@@ -63174,7 +67230,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6317467230 .unused,
6317567231 .unused,
6317667232 },
63177 .dst_temps = .{.mem},
67233 .dst_temps = .{ .mem, .unused },
6317867234 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6317967235 .each = .{ .once = &.{
6318067236 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -63187,7 +67243,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6318767243 }, .{
6318867244 .required_features = .{ .@"64bit", .sse, null, null },
6318967245 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },
63190 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
67246 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6319167247 .patterns = &.{
6319267248 .{ .src = .{ .to_mem, .none, .none } },
6319367249 },
......@@ -63203,7 +67259,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6320367259 .unused,
6320467260 .unused,
6320567261 },
63206 .dst_temps = .{.mem},
67262 .dst_temps = .{ .mem, .unused },
6320767263 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6320867264 .each = .{ .once = &.{
6320967265 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -63216,7 +67272,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6321667272 }, .{
6321767273 .required_features = .{ .@"64bit", .avx, null, null },
6321867274 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },
63219 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
67275 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6322067276 .patterns = &.{
6322167277 .{ .src = .{ .to_mem, .none, .none } },
6322267278 },
......@@ -63232,7 +67288,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6323267288 .unused,
6323367289 .unused,
6323467290 },
63235 .dst_temps = .{.mem},
67291 .dst_temps = .{ .mem, .unused },
6323667292 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6323767293 .each = .{ .once = &.{
6323867294 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -63245,7 +67301,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6324567301 }, .{
6324667302 .required_features = .{ .@"64bit", .sse2, null, null },
6324767303 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },
63248 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
67304 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6324967305 .patterns = &.{
6325067306 .{ .src = .{ .to_mem, .none, .none } },
6325167307 },
......@@ -63261,7 +67317,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6326167317 .unused,
6326267318 .unused,
6326367319 },
63264 .dst_temps = .{.mem},
67320 .dst_temps = .{ .mem, .unused },
6326567321 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6326667322 .each = .{ .once = &.{
6326767323 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -63274,7 +67330,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6327467330 }, .{
6327567331 .required_features = .{ .@"64bit", .sse, null, null },
6327667332 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },
63277 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
67333 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6327867334 .patterns = &.{
6327967335 .{ .src = .{ .to_mem, .none, .none } },
6328067336 },
......@@ -63290,7 +67346,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6329067346 .unused,
6329167347 .unused,
6329267348 },
63293 .dst_temps = .{.mem},
67349 .dst_temps = .{ .mem, .unused },
6329467350 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6329567351 .each = .{ .once = &.{
6329667352 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -63303,7 +67359,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6330367359 }, .{
6330467360 .required_features = .{ .@"64bit", .avx, null, null },
6330567361 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },
63306 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
67362 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6330767363 .patterns = &.{
6330867364 .{ .src = .{ .to_mem, .none, .none } },
6330967365 },
......@@ -63319,7 +67375,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6331967375 .unused,
6332067376 .unused,
6332167377 },
63322 .dst_temps = .{.mem},
67378 .dst_temps = .{ .mem, .unused },
6332367379 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6332467380 .each = .{ .once = &.{
6332567381 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -63333,7 +67389,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6333367389 }, .{
6333467390 .required_features = .{ .@"64bit", .sse2, null, null },
6333567391 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },
63336 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
67392 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6333767393 .patterns = &.{
6333867394 .{ .src = .{ .to_mem, .none, .none } },
6333967395 },
......@@ -63349,7 +67405,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6334967405 .unused,
6335067406 .unused,
6335167407 },
63352 .dst_temps = .{.mem},
67408 .dst_temps = .{ .mem, .unused },
6335367409 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6335467410 .each = .{ .once = &.{
6335567411 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -63363,7 +67419,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6336367419 }, .{
6336467420 .required_features = .{ .@"64bit", .sse, null, null },
6336567421 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },
63366 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
67422 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6336767423 .patterns = &.{
6336867424 .{ .src = .{ .to_mem, .none, .none } },
6336967425 },
......@@ -63379,7 +67435,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6337967435 .unused,
6338067436 .unused,
6338167437 },
63382 .dst_temps = .{.mem},
67438 .dst_temps = .{ .mem, .unused },
6338367439 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6338467440 .each = .{ .once = &.{
6338567441 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -63393,7 +67449,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6339367449 }, .{
6339467450 .required_features = .{ .@"64bit", .avx, null, null },
6339567451 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },
63396 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
67452 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6339767453 .patterns = &.{
6339867454 .{ .src = .{ .to_mem, .none, .none } },
6339967455 },
......@@ -63409,7 +67465,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6340967465 .unused,
6341067466 .unused,
6341167467 },
63412 .dst_temps = .{.mem},
67468 .dst_temps = .{ .mem, .unused },
6341367469 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6341467470 .each = .{ .once = &.{
6341567471 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -63423,7 +67479,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6342367479 }, .{
6342467480 .required_features = .{ .@"64bit", .sse2, null, null },
6342567481 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },
63426 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
67482 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6342767483 .patterns = &.{
6342867484 .{ .src = .{ .to_mem, .none, .none } },
6342967485 },
......@@ -63439,7 +67495,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6343967495 .unused,
6344067496 .unused,
6344167497 },
63442 .dst_temps = .{.mem},
67498 .dst_temps = .{ .mem, .unused },
6344367499 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6344467500 .each = .{ .once = &.{
6344567501 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -63453,7 +67509,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6345367509 }, .{
6345467510 .required_features = .{ .@"64bit", .sse, null, null },
6345567511 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },
63456 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
67512 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6345767513 .patterns = &.{
6345867514 .{ .src = .{ .to_mem, .none, .none } },
6345967515 },
......@@ -63469,7 +67525,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6346967525 .unused,
6347067526 .unused,
6347167527 },
63472 .dst_temps = .{.mem},
67528 .dst_temps = .{ .mem, .unused },
6347367529 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6347467530 .each = .{ .once = &.{
6347567531 .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
......@@ -63483,7 +67539,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6348367539 }, .{
6348467540 .required_features = .{ .@"64bit", .avx, null, null },
6348567541 .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
63486 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
67542 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6348767543 .patterns = &.{
6348867544 .{ .src = .{ .to_mem, .none, .none } },
6348967545 },
......@@ -63499,7 +67555,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6349967555 .unused,
6350067556 .unused,
6350167557 },
63502 .dst_temps = .{.mem},
67558 .dst_temps = .{ .mem, .unused },
6350367559 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6350467560 .each = .{ .once = &.{
6350567561 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -63515,7 +67571,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6351567571 }, .{
6351667572 .required_features = .{ .@"64bit", .sse2, null, null },
6351767573 .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
63518 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
67574 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6351967575 .patterns = &.{
6352067576 .{ .src = .{ .to_mem, .none, .none } },
6352167577 },
......@@ -63531,7 +67587,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6353167587 .unused,
6353267588 .unused,
6353367589 },
63534 .dst_temps = .{.mem},
67590 .dst_temps = .{ .mem, .unused },
6353567591 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6353667592 .each = .{ .once = &.{
6353767593 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -63547,7 +67603,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6354767603 }, .{
6354867604 .required_features = .{ .@"64bit", .sse, null, null },
6354967605 .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
63550 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
67606 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6355167607 .patterns = &.{
6355267608 .{ .src = .{ .to_mem, .none, .none } },
6355367609 },
......@@ -63563,7 +67619,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6356367619 .unused,
6356467620 .unused,
6356567621 },
63566 .dst_temps = .{.mem},
67622 .dst_temps = .{ .mem, .unused },
6356767623 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6356867624 .each = .{ .once = &.{
6356967625 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -63579,7 +67635,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6357967635 }, .{
6358067636 .required_features = .{ .@"64bit", .avx, null, null },
6358167637 .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
63582 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
67638 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6358367639 .patterns = &.{
6358467640 .{ .src = .{ .to_mem, .none, .none } },
6358567641 },
......@@ -63595,7 +67651,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6359567651 .unused,
6359667652 .unused,
6359767653 },
63598 .dst_temps = .{.mem},
67654 .dst_temps = .{ .mem, .unused },
6359967655 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6360067656 .each = .{ .once = &.{
6360167657 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -63611,7 +67667,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6361167667 }, .{
6361267668 .required_features = .{ .@"64bit", .sse2, null, null },
6361367669 .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
63614 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
67670 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6361567671 .patterns = &.{
6361667672 .{ .src = .{ .to_mem, .none, .none } },
6361767673 },
......@@ -63627,7 +67683,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6362767683 .unused,
6362867684 .unused,
6362967685 },
63630 .dst_temps = .{.mem},
67686 .dst_temps = .{ .mem, .unused },
6363167687 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6363267688 .each = .{ .once = &.{
6363367689 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -63643,7 +67699,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6364367699 }, .{
6364467700 .required_features = .{ .@"64bit", .sse, null, null },
6364567701 .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
63646 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }},
67702 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any },
6364767703 .patterns = &.{
6364867704 .{ .src = .{ .to_mem, .none, .none } },
6364967705 },
......@@ -63659,7 +67715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6365967715 .unused,
6366067716 .unused,
6366167717 },
63662 .dst_temps = .{.mem},
67718 .dst_temps = .{ .mem, .unused },
6366367719 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6366467720 .each = .{ .once = &.{
6366567721 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -63675,7 +67731,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6367567731 }, .{
6367667732 .required_features = .{ .x87, null, null, null },
6367767733 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },
63678 .dst_constraints = .{.{ .float = .tbyte }},
67734 .dst_constraints = .{ .{ .float = .tbyte }, .any },
6367967735 .patterns = &.{
6368067736 .{ .src = .{ .mem, .none, .none } },
6368167737 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -63691,7 +67747,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6369167747 .unused,
6369267748 .unused,
6369367749 },
63694 .dst_temps = .{.{ .rc = .x87 }},
67750 .dst_temps = .{ .{ .rc = .x87 }, .unused },
6369567751 .each = .{ .once = &.{
6369667752 .{ ._, ._, .movsx, .tmp0d, .src0b, ._, ._ },
6369767753 .{ ._, ._, .mov, .tmp1w, .tmp0w, ._, ._ },
......@@ -63701,7 +67757,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6370167757 }, .{
6370267758 .required_features = .{ .x87, null, null, null },
6370367759 .src_constraints = .{ .{ .unsigned_int = .byte }, .any, .any },
63704 .dst_constraints = .{.{ .float = .tbyte }},
67760 .dst_constraints = .{ .{ .float = .tbyte }, .any },
6370567761 .patterns = &.{
6370667762 .{ .src = .{ .mem, .none, .none } },
6370767763 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -63717,7 +67773,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6371767773 .unused,
6371867774 .unused,
6371967775 },
63720 .dst_temps = .{.{ .rc = .x87 }},
67776 .dst_temps = .{ .{ .rc = .x87 }, .unused },
6372167777 .each = .{ .once = &.{
6372267778 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
6372367779 .{ ._, ._, .mov, .tmp1w, .tmp0w, ._, ._ },
......@@ -63727,7 +67783,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6372767783 }, .{
6372867784 .required_features = .{ .x87, null, null, null },
6372967785 .src_constraints = .{ .{ .signed_or_exclusive_int = .word }, .any, .any },
63730 .dst_constraints = .{.{ .float = .tbyte }},
67786 .dst_constraints = .{ .{ .float = .tbyte }, .any },
6373167787 .patterns = &.{
6373267788 .{ .src = .{ .to_mem, .none, .none } },
6373367789 },
......@@ -63742,7 +67798,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6374267798 .unused,
6374367799 .unused,
6374467800 },
63745 .dst_temps = .{.{ .rc = .x87 }},
67801 .dst_temps = .{ .{ .rc = .x87 }, .unused },
6374667802 .each = .{ .once = &.{
6374767803 .{ ._, .fi_, .ld, .src0w, ._, ._, ._ },
6374867804 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
......@@ -63750,7 +67806,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6375067806 }, .{
6375167807 .required_features = .{ .x87, null, null, null },
6375267808 .src_constraints = .{ .{ .exact_unsigned_int = 16 }, .any, .any },
63753 .dst_constraints = .{.{ .float = .tbyte }},
67809 .dst_constraints = .{ .{ .float = .tbyte }, .any },
6375467810 .patterns = &.{
6375567811 .{ .src = .{ .mem, .none, .none } },
6375667812 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -63766,7 +67822,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6376667822 .unused,
6376767823 .unused,
6376867824 },
63769 .dst_temps = .{.{ .rc = .x87 }},
67825 .dst_temps = .{ .{ .rc = .x87 }, .unused },
6377067826 .each = .{ .once = &.{
6377167827 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },
6377267828 .{ ._, ._, .mov, .tmp1d, .tmp0d, ._, ._ },
......@@ -63776,7 +67832,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6377667832 }, .{
6377767833 .required_features = .{ .x87, null, null, null },
6377867834 .src_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any, .any },
63779 .dst_constraints = .{.{ .float = .tbyte }},
67835 .dst_constraints = .{ .{ .float = .tbyte }, .any },
6378067836 .patterns = &.{
6378167837 .{ .src = .{ .to_mem, .none, .none } },
6378267838 },
......@@ -63791,7 +67847,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6379167847 .unused,
6379267848 .unused,
6379367849 },
63794 .dst_temps = .{.{ .rc = .x87 }},
67850 .dst_temps = .{ .{ .rc = .x87 }, .unused },
6379567851 .each = .{ .once = &.{
6379667852 .{ ._, .fi_, .ld, .src0d, ._, ._, ._ },
6379767853 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
......@@ -63799,7 +67855,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6379967855 }, .{
6380067856 .required_features = .{ .@"64bit", .x87, null, null },
6380167857 .src_constraints = .{ .{ .exact_unsigned_int = 32 }, .any, .any },
63802 .dst_constraints = .{.{ .float = .tbyte }},
67858 .dst_constraints = .{ .{ .float = .tbyte }, .any },
6380367859 .patterns = &.{
6380467860 .{ .src = .{ .mem, .none, .none } },
6380567861 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -63815,7 +67871,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6381567871 .unused,
6381667872 .unused,
6381767873 },
63818 .dst_temps = .{.{ .rc = .x87 }},
67874 .dst_temps = .{ .{ .rc = .x87 }, .unused },
6381967875 .each = .{ .once = &.{
6382067876 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },
6382167877 .{ ._, ._, .mov, .tmp1q, .tmp0q, ._, ._ },
......@@ -63825,7 +67881,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6382567881 }, .{
6382667882 .required_features = .{ .x87, null, null, null },
6382767883 .src_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any, .any },
63828 .dst_constraints = .{.{ .float = .tbyte }},
67884 .dst_constraints = .{ .{ .float = .tbyte }, .any },
6382967885 .patterns = &.{
6383067886 .{ .src = .{ .to_mem, .none, .none } },
6383167887 },
......@@ -63840,7 +67896,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6384067896 .unused,
6384167897 .unused,
6384267898 },
63843 .dst_temps = .{.{ .rc = .x87 }},
67899 .dst_temps = .{ .{ .rc = .x87 }, .unused },
6384467900 .each = .{ .once = &.{
6384567901 .{ ._, .fi_, .ld, .src0q, ._, ._, ._ },
6384667902 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
......@@ -63848,7 +67904,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6384867904 }, .{
6384967905 .required_features = .{ .x87, null, null, null },
6385067906 .src_constraints = .{ .{ .exact_unsigned_int = 64 }, .any, .any },
63851 .dst_constraints = .{.{ .float = .tbyte }},
67907 .dst_constraints = .{ .{ .float = .tbyte }, .any },
6385267908 .patterns = &.{
6385367909 .{ .src = .{ .to_mem, .none, .none } },
6385467910 },
......@@ -63863,7 +67919,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6386367919 .unused,
6386467920 .unused,
6386567921 },
63866 .dst_temps = .{.{ .rc = .x87 }},
67922 .dst_temps = .{ .{ .rc = .x87 }, .unused },
6386767923 .clobbers = .{ .eflags = true },
6386867924 .each = .{ .once = &.{
6386967925 .{ ._, .fi_, .ld, .src0q, ._, ._, ._ },
......@@ -63876,7 +67932,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6387667932 }, .{
6387767933 .required_features = .{ .@"64bit", .sse, null, null },
6387867934 .src_constraints = .{ .{ .signed_int = .xword }, .any, .any },
63879 .dst_constraints = .{.{ .float = .tbyte }},
67935 .dst_constraints = .{ .{ .float = .tbyte }, .any },
6388067936 .patterns = &.{
6388167937 .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } },
6388267938 },
......@@ -63892,7 +67948,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6389267948 .unused,
6389367949 .unused,
6389467950 },
63895 .dst_temps = .{.{ .reg = .st0 }},
67951 .dst_temps = .{ .{ .reg = .st0 }, .unused },
6389667952 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6389767953 .each = .{ .once = &.{
6389867954 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -63900,7 +67956,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6390067956 }, .{
6390167957 .required_features = .{ .@"64bit", .sse, null, null },
6390267958 .src_constraints = .{ .{ .unsigned_int = .xword }, .any, .any },
63903 .dst_constraints = .{.{ .float = .tbyte }},
67959 .dst_constraints = .{ .{ .float = .tbyte }, .any },
6390467960 .patterns = &.{
6390567961 .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } },
6390667962 },
......@@ -63916,7 +67972,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6391667972 .unused,
6391767973 .unused,
6391867974 },
63919 .dst_temps = .{.{ .reg = .st0 }},
67975 .dst_temps = .{ .{ .reg = .st0 }, .unused },
6392067976 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6392167977 .each = .{ .once = &.{
6392267978 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -63924,7 +67980,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6392467980 }, .{
6392567981 .required_features = .{ .@"64bit", .sse, null, null },
6392667982 .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
63927 .dst_constraints = .{.{ .float = .tbyte }},
67983 .dst_constraints = .{ .{ .float = .tbyte }, .any },
6392867984 .patterns = &.{
6392967985 .{ .src = .{ .to_mem, .none, .none } },
6393067986 },
......@@ -63940,7 +67996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6394067996 .unused,
6394167997 .unused,
6394267998 },
63943 .dst_temps = .{.{ .reg = .st0 }},
67999 .dst_temps = .{ .{ .reg = .st0 }, .unused },
6394468000 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6394568001 .each = .{ .once = &.{
6394668002 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -63950,7 +68006,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6395068006 }, .{
6395168007 .required_features = .{ .@"64bit", .sse, null, null },
6395268008 .src_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
63953 .dst_constraints = .{.{ .float = .tbyte }},
68009 .dst_constraints = .{ .{ .float = .tbyte }, .any },
6395468010 .patterns = &.{
6395568011 .{ .src = .{ .to_mem, .none, .none } },
6395668012 },
......@@ -63966,7 +68022,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6396668022 .unused,
6396768023 .unused,
6396868024 },
63969 .dst_temps = .{.{ .reg = .st0 }},
68025 .dst_temps = .{ .{ .reg = .st0 }, .unused },
6397068026 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6397168027 .each = .{ .once = &.{
6397268028 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -63976,7 +68032,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6397668032 }, .{
6397768033 .required_features = .{ .x87, .slow_incdec, null, null },
6397868034 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
63979 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }},
68035 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
6398068036 .patterns = &.{
6398168037 .{ .src = .{ .to_mem, .none, .none } },
6398268038 },
......@@ -63991,7 +68047,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6399168047 .unused,
6399268048 .unused,
6399368049 },
63994 .dst_temps = .{.mem},
68050 .dst_temps = .{ .mem, .unused },
6399568051 .clobbers = .{ .eflags = true },
6399668052 .each = .{ .once = &.{
6399768053 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -64007,7 +68063,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6400768063 }, .{
6400868064 .required_features = .{ .x87, null, null, null },
6400968065 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
64010 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }},
68066 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
6401168067 .patterns = &.{
6401268068 .{ .src = .{ .to_mem, .none, .none } },
6401368069 },
......@@ -64022,7 +68078,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6402268078 .unused,
6402368079 .unused,
6402468080 },
64025 .dst_temps = .{.mem},
68081 .dst_temps = .{ .mem, .unused },
6402668082 .clobbers = .{ .eflags = true },
6402768083 .each = .{ .once = &.{
6402868084 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -64038,7 +68094,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6403868094 }, .{
6403968095 .required_features = .{ .x87, .slow_incdec, null, null },
6404068096 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
64041 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }},
68097 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
6404268098 .patterns = &.{
6404368099 .{ .src = .{ .to_mem, .none, .none } },
6404468100 },
......@@ -64053,7 +68109,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6405368109 .unused,
6405468110 .unused,
6405568111 },
64056 .dst_temps = .{.mem},
68112 .dst_temps = .{ .mem, .unused },
6405768113 .clobbers = .{ .eflags = true },
6405868114 .each = .{ .once = &.{
6405968115 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -64069,7 +68125,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6406968125 }, .{
6407068126 .required_features = .{ .x87, null, null, null },
6407168127 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
64072 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }},
68128 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
6407368129 .patterns = &.{
6407468130 .{ .src = .{ .to_mem, .none, .none } },
6407568131 },
......@@ -64084,7 +68140,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6408468140 .unused,
6408568141 .unused,
6408668142 },
64087 .dst_temps = .{.mem},
68143 .dst_temps = .{ .mem, .unused },
6408868144 .clobbers = .{ .eflags = true },
6408968145 .each = .{ .once = &.{
6409068146 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -64100,7 +68156,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6410068156 }, .{
6410168157 .required_features = .{ .x87, .slow_incdec, null, null },
6410268158 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
64103 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }},
68159 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
6410468160 .patterns = &.{
6410568161 .{ .src = .{ .to_mem, .none, .none } },
6410668162 },
......@@ -64116,7 +68172,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6411668172 .unused,
6411768173 .unused,
6411868174 },
64119 .dst_temps = .{.mem},
68175 .dst_temps = .{ .mem, .unused },
6412068176 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6412168177 .each = .{ .once = &.{
6412268178 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -64132,7 +68188,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6413268188 }, .{
6413368189 .required_features = .{ .x87, null, null, null },
6413468190 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
64135 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }},
68191 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
6413668192 .patterns = &.{
6413768193 .{ .src = .{ .to_mem, .none, .none } },
6413868194 },
......@@ -64148,7 +68204,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6414868204 .unused,
6414968205 .unused,
6415068206 },
64151 .dst_temps = .{.mem},
68207 .dst_temps = .{ .mem, .unused },
6415268208 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6415368209 .each = .{ .once = &.{
6415468210 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -64164,7 +68220,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6416468220 }, .{
6416568221 .required_features = .{ .x87, .slow_incdec, null, null },
6416668222 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
64167 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }},
68223 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
6416868224 .patterns = &.{
6416968225 .{ .src = .{ .to_mem, .none, .none } },
6417068226 },
......@@ -64180,7 +68236,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6418068236 .unused,
6418168237 .unused,
6418268238 },
64183 .dst_temps = .{.mem},
68239 .dst_temps = .{ .mem, .unused },
6418468240 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6418568241 .each = .{ .once = &.{
6418668242 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -64196,7 +68252,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6419668252 }, .{
6419768253 .required_features = .{ .x87, null, null, null },
6419868254 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
64199 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }},
68255 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
6420068256 .patterns = &.{
6420168257 .{ .src = .{ .to_mem, .none, .none } },
6420268258 },
......@@ -64212,7 +68268,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6421268268 .unused,
6421368269 .unused,
6421468270 },
64215 .dst_temps = .{.mem},
68271 .dst_temps = .{ .mem, .unused },
6421668272 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6421768273 .each = .{ .once = &.{
6421868274 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -64228,7 +68284,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6422868284 }, .{
6422968285 .required_features = .{ .x87, null, null, null },
6423068286 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },
64231 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }},
68287 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
6423268288 .patterns = &.{
6423368289 .{ .src = .{ .to_mem, .none, .none } },
6423468290 },
......@@ -64243,7 +68299,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6424368299 .unused,
6424468300 .unused,
6424568301 },
64246 .dst_temps = .{.mem},
68302 .dst_temps = .{ .mem, .unused },
6424768303 .clobbers = .{ .eflags = true },
6424868304 .each = .{ .once = &.{
6424968305 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -64255,7 +68311,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6425568311 }, .{
6425668312 .required_features = .{ .x87, null, null, null },
6425768313 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },
64258 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }},
68314 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
6425968315 .patterns = &.{
6426068316 .{ .src = .{ .to_mem, .none, .none } },
6426168317 },
......@@ -64271,7 +68327,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6427168327 .unused,
6427268328 .unused,
6427368329 },
64274 .dst_temps = .{.mem},
68330 .dst_temps = .{ .mem, .unused },
6427568331 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6427668332 .each = .{ .once = &.{
6427768333 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -64285,7 +68341,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6428568341 }, .{
6428668342 .required_features = .{ .x87, null, null, null },
6428768343 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },
64288 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }},
68344 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
6428968345 .patterns = &.{
6429068346 .{ .src = .{ .to_mem, .none, .none } },
6429168347 },
......@@ -64301,7 +68357,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6430168357 .unused,
6430268358 .unused,
6430368359 },
64304 .dst_temps = .{.mem},
68360 .dst_temps = .{ .mem, .unused },
6430568361 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6430668362 .each = .{ .once = &.{
6430768363 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -64315,7 +68371,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6431568371 }, .{
6431668372 .required_features = .{ .x87, null, null, null },
6431768373 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
64318 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }},
68374 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
6431968375 .patterns = &.{
6432068376 .{ .src = .{ .to_mem, .none, .none } },
6432168377 },
......@@ -64330,7 +68386,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6433068386 .unused,
6433168387 .unused,
6433268388 },
64333 .dst_temps = .{.mem},
68389 .dst_temps = .{ .mem, .unused },
6433468390 .clobbers = .{ .eflags = true },
6433568391 .each = .{ .once = &.{
6433668392 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -64342,7 +68398,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6434268398 }, .{
6434368399 .required_features = .{ .x87, null, null, null },
6434468400 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
64345 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }},
68401 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
6434668402 .patterns = &.{
6434768403 .{ .src = .{ .to_mem, .none, .none } },
6434868404 },
......@@ -64358,7 +68414,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6435868414 .unused,
6435968415 .unused,
6436068416 },
64361 .dst_temps = .{.mem},
68417 .dst_temps = .{ .mem, .unused },
6436268418 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6436368419 .each = .{ .once = &.{
6436468420 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -64372,7 +68428,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6437268428 }, .{
6437368429 .required_features = .{ .x87, null, null, null },
6437468430 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
64375 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }},
68431 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
6437668432 .patterns = &.{
6437768433 .{ .src = .{ .to_mem, .none, .none } },
6437868434 },
......@@ -64388,7 +68444,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6438868444 .unused,
6438968445 .unused,
6439068446 },
64391 .dst_temps = .{.mem},
68447 .dst_temps = .{ .mem, .unused },
6439268448 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6439368449 .each = .{ .once = &.{
6439468450 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -64402,7 +68458,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6440268458 }, .{
6440368459 .required_features = .{ .x87, null, null, null },
6440468460 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },
64405 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }},
68461 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
6440668462 .patterns = &.{
6440768463 .{ .src = .{ .to_mem, .none, .none } },
6440868464 },
......@@ -64417,7 +68473,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6441768473 .unused,
6441868474 .unused,
6441968475 },
64420 .dst_temps = .{.mem},
68476 .dst_temps = .{ .mem, .unused },
6442168477 .clobbers = .{ .eflags = true },
6442268478 .each = .{ .once = &.{
6442368479 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -64429,7 +68485,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6442968485 }, .{
6443068486 .required_features = .{ .@"64bit", .x87, null, null },
6443168487 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },
64432 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }},
68488 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
6443368489 .patterns = &.{
6443468490 .{ .src = .{ .to_mem, .none, .none } },
6443568491 },
......@@ -64445,7 +68501,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6444568501 .unused,
6444668502 .unused,
6444768503 },
64448 .dst_temps = .{.mem},
68504 .dst_temps = .{ .mem, .unused },
6444968505 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6445068506 .each = .{ .once = &.{
6445168507 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -64459,7 +68515,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6445968515 }, .{
6446068516 .required_features = .{ .@"64bit", .x87, null, null },
6446168517 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },
64462 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }},
68518 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
6446368519 .patterns = &.{
6446468520 .{ .src = .{ .to_mem, .none, .none } },
6446568521 },
......@@ -64475,7 +68531,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6447568531 .unused,
6447668532 .unused,
6447768533 },
64478 .dst_temps = .{.mem},
68534 .dst_temps = .{ .mem, .unused },
6447968535 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6448068536 .each = .{ .once = &.{
6448168537 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -64489,7 +68545,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6448968545 }, .{
6449068546 .required_features = .{ .@"64bit", .x87, null, null },
6449168547 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },
64492 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }},
68548 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
6449368549 .patterns = &.{
6449468550 .{ .src = .{ .to_mem, .none, .none } },
6449568551 },
......@@ -64505,7 +68561,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6450568561 .unused,
6450668562 .unused,
6450768563 },
64508 .dst_temps = .{.mem},
68564 .dst_temps = .{ .mem, .unused },
6450968565 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6451068566 .each = .{ .once = &.{
6451168567 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -64520,7 +68576,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6452068576 }, .{
6452168577 .required_features = .{ .@"64bit", .x87, null, null },
6452268578 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },
64523 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }},
68579 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
6452468580 .patterns = &.{
6452568581 .{ .src = .{ .to_mem, .none, .none } },
6452668582 },
......@@ -64536,7 +68592,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6453668592 .unused,
6453768593 .unused,
6453868594 },
64539 .dst_temps = .{.mem},
68595 .dst_temps = .{ .mem, .unused },
6454068596 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6454168597 .each = .{ .once = &.{
6454268598 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -64551,7 +68607,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6455168607 }, .{
6455268608 .required_features = .{ .@"64bit", .x87, null, null },
6455368609 .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
64554 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }},
68610 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
6455568611 .patterns = &.{
6455668612 .{ .src = .{ .to_mem, .none, .none } },
6455768613 },
......@@ -64567,7 +68623,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6456768623 .unused,
6456868624 .unused,
6456968625 },
64570 .dst_temps = .{.mem},
68626 .dst_temps = .{ .mem, .unused },
6457168627 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6457268628 .each = .{ .once = &.{
6457368629 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -64584,7 +68640,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6458468640 }, .{
6458568641 .required_features = .{ .@"64bit", .x87, null, null },
6458668642 .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
64587 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }},
68643 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
6458868644 .patterns = &.{
6458968645 .{ .src = .{ .to_mem, .none, .none } },
6459068646 },
......@@ -64600,7 +68656,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6460068656 .unused,
6460168657 .unused,
6460268658 },
64603 .dst_temps = .{.mem},
68659 .dst_temps = .{ .mem, .unused },
6460468660 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6460568661 .each = .{ .once = &.{
6460668662 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -64617,7 +68673,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6461768673 }, .{
6461868674 .required_features = .{ .sse, null, null, null },
6461968675 .src_constraints = .{ .{ .signed_int = .byte }, .any, .any },
64620 .dst_constraints = .{.{ .float = .xword }},
68676 .dst_constraints = .{ .{ .float = .xword }, .any },
6462168677 .patterns = &.{
6462268678 .{ .src = .{ .mem, .none, .none } },
6462368679 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -64634,7 +68690,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6463468690 .unused,
6463568691 .unused,
6463668692 },
64637 .dst_temps = .{.{ .reg = .xmm0 }},
68693 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
6463868694 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6463968695 .each = .{ .once = &.{
6464068696 .{ ._, ._, .movsx, .tmp0d, .src0b, ._, ._ },
......@@ -64643,7 +68699,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6464368699 }, .{
6464468700 .required_features = .{ .sse, null, null, null },
6464568701 .src_constraints = .{ .{ .unsigned_int = .byte }, .any, .any },
64646 .dst_constraints = .{.{ .float = .xword }},
68702 .dst_constraints = .{ .{ .float = .xword }, .any },
6464768703 .patterns = &.{
6464868704 .{ .src = .{ .mem, .none, .none } },
6464968705 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -64660,7 +68716,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6466068716 .unused,
6466168717 .unused,
6466268718 },
64663 .dst_temps = .{.{ .reg = .xmm0 }},
68719 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
6466468720 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6466568721 .each = .{ .once = &.{
6466668722 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
......@@ -64669,7 +68725,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6466968725 }, .{
6467068726 .required_features = .{ .sse, null, null, null },
6467168727 .src_constraints = .{ .{ .signed_int = .word }, .any, .any },
64672 .dst_constraints = .{.{ .float = .xword }},
68728 .dst_constraints = .{ .{ .float = .xword }, .any },
6467368729 .patterns = &.{
6467468730 .{ .src = .{ .mem, .none, .none } },
6467568731 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -64686,7 +68742,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6468668742 .unused,
6468768743 .unused,
6468868744 },
64689 .dst_temps = .{.{ .reg = .xmm0 }},
68745 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
6469068746 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6469168747 .each = .{ .once = &.{
6469268748 .{ ._, ._, .movsx, .tmp0d, .src0w, ._, ._ },
......@@ -64695,7 +68751,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6469568751 }, .{
6469668752 .required_features = .{ .sse, null, null, null },
6469768753 .src_constraints = .{ .{ .unsigned_int = .word }, .any, .any },
64698 .dst_constraints = .{.{ .float = .xword }},
68754 .dst_constraints = .{ .{ .float = .xword }, .any },
6469968755 .patterns = &.{
6470068756 .{ .src = .{ .mem, .none, .none } },
6470168757 .{ .src = .{ .to_gpr, .none, .none } },
......@@ -64712,7 +68768,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6471268768 .unused,
6471368769 .unused,
6471468770 },
64715 .dst_temps = .{.{ .reg = .xmm0 }},
68771 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
6471668772 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6471768773 .each = .{ .once = &.{
6471868774 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },
......@@ -64721,7 +68777,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6472168777 }, .{
6472268778 .required_features = .{ .sse, null, null, null },
6472368779 .src_constraints = .{ .{ .signed_int = .dword }, .any, .any },
64724 .dst_constraints = .{.{ .float = .xword }},
68780 .dst_constraints = .{ .{ .float = .xword }, .any },
6472568781 .patterns = &.{
6472668782 .{ .src = .{ .{ .to_reg = .edi }, .none, .none } },
6472768783 },
......@@ -64737,7 +68793,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6473768793 .unused,
6473868794 .unused,
6473968795 },
64740 .dst_temps = .{.{ .reg = .xmm0 }},
68796 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
6474168797 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6474268798 .each = .{ .once = &.{
6474368799 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -64745,7 +68801,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6474568801 }, .{
6474668802 .required_features = .{ .sse, null, null, null },
6474768803 .src_constraints = .{ .{ .unsigned_int = .dword }, .any, .any },
64748 .dst_constraints = .{.{ .float = .xword }},
68804 .dst_constraints = .{ .{ .float = .xword }, .any },
6474968805 .patterns = &.{
6475068806 .{ .src = .{ .{ .to_reg = .edi }, .none, .none } },
6475168807 },
......@@ -64761,7 +68817,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6476168817 .unused,
6476268818 .unused,
6476368819 },
64764 .dst_temps = .{.{ .reg = .xmm0 }},
68820 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
6476568821 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6476668822 .each = .{ .once = &.{
6476768823 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -64769,7 +68825,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6476968825 }, .{
6477068826 .required_features = .{ .@"64bit", .sse, null, null },
6477168827 .src_constraints = .{ .{ .signed_int = .qword }, .any, .any },
64772 .dst_constraints = .{.{ .float = .xword }},
68828 .dst_constraints = .{ .{ .float = .xword }, .any },
6477368829 .patterns = &.{
6477468830 .{ .src = .{ .{ .to_reg = .rdi }, .none, .none } },
6477568831 },
......@@ -64785,7 +68841,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6478568841 .unused,
6478668842 .unused,
6478768843 },
64788 .dst_temps = .{.{ .reg = .xmm0 }},
68844 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
6478968845 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6479068846 .each = .{ .once = &.{
6479168847 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -64793,7 +68849,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6479368849 }, .{
6479468850 .required_features = .{ .@"64bit", .sse, null, null },
6479568851 .src_constraints = .{ .{ .unsigned_int = .qword }, .any, .any },
64796 .dst_constraints = .{.{ .float = .xword }},
68852 .dst_constraints = .{ .{ .float = .xword }, .any },
6479768853 .patterns = &.{
6479868854 .{ .src = .{ .{ .to_reg = .rdi }, .none, .none } },
6479968855 },
......@@ -64809,7 +68865,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6480968865 .unused,
6481068866 .unused,
6481168867 },
64812 .dst_temps = .{.{ .reg = .xmm0 }},
68868 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
6481368869 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6481468870 .each = .{ .once = &.{
6481568871 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -64817,7 +68873,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6481768873 }, .{
6481868874 .required_features = .{ .@"64bit", .sse, null, null },
6481968875 .src_constraints = .{ .{ .signed_int = .xword }, .any, .any },
64820 .dst_constraints = .{.{ .float = .xword }},
68876 .dst_constraints = .{ .{ .float = .xword }, .any },
6482168877 .patterns = &.{
6482268878 .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } },
6482368879 },
......@@ -64833,7 +68889,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6483368889 .unused,
6483468890 .unused,
6483568891 },
64836 .dst_temps = .{.{ .reg = .xmm0 }},
68892 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
6483768893 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6483868894 .each = .{ .once = &.{
6483968895 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -64841,7 +68897,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6484168897 }, .{
6484268898 .required_features = .{ .@"64bit", .sse, null, null },
6484368899 .src_constraints = .{ .{ .unsigned_int = .xword }, .any, .any },
64844 .dst_constraints = .{.{ .float = .xword }},
68900 .dst_constraints = .{ .{ .float = .xword }, .any },
6484568901 .patterns = &.{
6484668902 .{ .src = .{ .{ .to_reg_pair = .{ .rdi, .rsi } }, .none, .none } },
6484768903 },
......@@ -64857,7 +68913,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6485768913 .unused,
6485868914 .unused,
6485968915 },
64860 .dst_temps = .{.{ .reg = .xmm0 }},
68916 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
6486168917 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6486268918 .each = .{ .once = &.{
6486368919 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -64865,7 +68921,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6486568921 }, .{
6486668922 .required_features = .{ .@"64bit", .sse, null, null },
6486768923 .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
64868 .dst_constraints = .{.{ .float = .xword }},
68924 .dst_constraints = .{ .{ .float = .xword }, .any },
6486968925 .patterns = &.{
6487068926 .{ .src = .{ .to_mem, .none, .none } },
6487168927 },
......@@ -64881,7 +68937,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6488168937 .unused,
6488268938 .unused,
6488368939 },
64884 .dst_temps = .{.{ .reg = .xmm0 }},
68940 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
6488568941 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6488668942 .each = .{ .once = &.{
6488768943 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -64891,7 +68947,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6489168947 }, .{
6489268948 .required_features = .{ .@"64bit", .sse, null, null },
6489368949 .src_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
64894 .dst_constraints = .{.{ .float = .xword }},
68950 .dst_constraints = .{ .{ .float = .xword }, .any },
6489568951 .patterns = &.{
6489668952 .{ .src = .{ .to_mem, .none, .none } },
6489768953 },
......@@ -64907,7 +68963,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6490768963 .unused,
6490868964 .unused,
6490968965 },
64910 .dst_temps = .{.{ .reg = .xmm0 }},
68966 .dst_temps = .{ .{ .reg = .xmm0 }, .unused },
6491168967 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6491268968 .each = .{ .once = &.{
6491368969 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -64917,7 +68973,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6491768973 }, .{
6491868974 .required_features = .{ .avx, .slow_incdec, null, null },
6491968975 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
64920 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
68976 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6492168977 .patterns = &.{
6492268978 .{ .src = .{ .to_mem, .none, .none } },
6492368979 },
......@@ -64933,7 +68989,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6493368989 .unused,
6493468990 .unused,
6493568991 },
64936 .dst_temps = .{.mem},
68992 .dst_temps = .{ .mem, .unused },
6493768993 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6493868994 .each = .{ .once = &.{
6493968995 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -64948,7 +69004,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6494869004 }, .{
6494969005 .required_features = .{ .avx, null, null, null },
6495069006 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
64951 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69007 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6495269008 .patterns = &.{
6495369009 .{ .src = .{ .to_mem, .none, .none } },
6495469010 },
......@@ -64964,7 +69020,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6496469020 .unused,
6496569021 .unused,
6496669022 },
64967 .dst_temps = .{.mem},
69023 .dst_temps = .{ .mem, .unused },
6496869024 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6496969025 .each = .{ .once = &.{
6497069026 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -64979,7 +69035,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6497969035 }, .{
6498069036 .required_features = .{ .sse2, .slow_incdec, null, null },
6498169037 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
64982 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69038 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6498369039 .patterns = &.{
6498469040 .{ .src = .{ .to_mem, .none, .none } },
6498569041 },
......@@ -64995,7 +69051,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6499569051 .unused,
6499669052 .unused,
6499769053 },
64998 .dst_temps = .{.mem},
69054 .dst_temps = .{ .mem, .unused },
6499969055 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6500069056 .each = .{ .once = &.{
6500169057 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65010,7 +69066,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6501069066 }, .{
6501169067 .required_features = .{ .sse2, null, null, null },
6501269068 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
65013 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69069 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6501469070 .patterns = &.{
6501569071 .{ .src = .{ .to_mem, .none, .none } },
6501669072 },
......@@ -65026,7 +69082,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6502669082 .unused,
6502769083 .unused,
6502869084 },
65029 .dst_temps = .{.mem},
69085 .dst_temps = .{ .mem, .unused },
6503069086 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6503169087 .each = .{ .once = &.{
6503269088 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65041,7 +69097,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6504169097 }, .{
6504269098 .required_features = .{ .sse, .slow_incdec, null, null },
6504369099 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
65044 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69100 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6504569101 .patterns = &.{
6504669102 .{ .src = .{ .to_mem, .none, .none } },
6504769103 },
......@@ -65057,7 +69113,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6505769113 .unused,
6505869114 .unused,
6505969115 },
65060 .dst_temps = .{.mem},
69116 .dst_temps = .{ .mem, .unused },
6506169117 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6506269118 .each = .{ .once = &.{
6506369119 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65072,7 +69128,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6507269128 }, .{
6507369129 .required_features = .{ .sse, null, null, null },
6507469130 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any },
65075 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69131 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6507669132 .patterns = &.{
6507769133 .{ .src = .{ .to_mem, .none, .none } },
6507869134 },
......@@ -65088,7 +69144,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6508869144 .unused,
6508969145 .unused,
6509069146 },
65091 .dst_temps = .{.mem},
69147 .dst_temps = .{ .mem, .unused },
6509269148 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6509369149 .each = .{ .once = &.{
6509469150 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65103,7 +69159,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6510369159 }, .{
6510469160 .required_features = .{ .avx, .slow_incdec, null, null },
6510569161 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
65106 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69162 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6510769163 .patterns = &.{
6510869164 .{ .src = .{ .to_mem, .none, .none } },
6510969165 },
......@@ -65119,7 +69175,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6511969175 .unused,
6512069176 .unused,
6512169177 },
65122 .dst_temps = .{.mem},
69178 .dst_temps = .{ .mem, .unused },
6512369179 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6512469180 .each = .{ .once = &.{
6512569181 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65134,7 +69190,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6513469190 }, .{
6513569191 .required_features = .{ .avx, null, null, null },
6513669192 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
65137 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69193 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6513869194 .patterns = &.{
6513969195 .{ .src = .{ .to_mem, .none, .none } },
6514069196 },
......@@ -65150,7 +69206,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6515069206 .unused,
6515169207 .unused,
6515269208 },
65153 .dst_temps = .{.mem},
69209 .dst_temps = .{ .mem, .unused },
6515469210 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6515569211 .each = .{ .once = &.{
6515669212 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65165,7 +69221,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6516569221 }, .{
6516669222 .required_features = .{ .sse2, .slow_incdec, null, null },
6516769223 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
65168 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69224 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6516969225 .patterns = &.{
6517069226 .{ .src = .{ .to_mem, .none, .none } },
6517169227 },
......@@ -65181,7 +69237,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6518169237 .unused,
6518269238 .unused,
6518369239 },
65184 .dst_temps = .{.mem},
69240 .dst_temps = .{ .mem, .unused },
6518569241 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6518669242 .each = .{ .once = &.{
6518769243 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65196,7 +69252,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6519669252 }, .{
6519769253 .required_features = .{ .sse2, null, null, null },
6519869254 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
65199 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69255 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6520069256 .patterns = &.{
6520169257 .{ .src = .{ .to_mem, .none, .none } },
6520269258 },
......@@ -65212,7 +69268,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6521269268 .unused,
6521369269 .unused,
6521469270 },
65215 .dst_temps = .{.mem},
69271 .dst_temps = .{ .mem, .unused },
6521669272 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6521769273 .each = .{ .once = &.{
6521869274 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65227,7 +69283,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6522769283 }, .{
6522869284 .required_features = .{ .sse, .slow_incdec, null, null },
6522969285 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
65230 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69286 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6523169287 .patterns = &.{
6523269288 .{ .src = .{ .to_mem, .none, .none } },
6523369289 },
......@@ -65243,7 +69299,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6524369299 .unused,
6524469300 .unused,
6524569301 },
65246 .dst_temps = .{.mem},
69302 .dst_temps = .{ .mem, .unused },
6524769303 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6524869304 .each = .{ .once = &.{
6524969305 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65258,7 +69314,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6525869314 }, .{
6525969315 .required_features = .{ .sse, null, null, null },
6526069316 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any },
65261 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69317 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6526269318 .patterns = &.{
6526369319 .{ .src = .{ .to_mem, .none, .none } },
6526469320 },
......@@ -65274,7 +69330,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6527469330 .unused,
6527569331 .unused,
6527669332 },
65277 .dst_temps = .{.mem},
69333 .dst_temps = .{ .mem, .unused },
6527869334 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6527969335 .each = .{ .once = &.{
6528069336 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65289,7 +69345,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6528969345 }, .{
6529069346 .required_features = .{ .avx, null, null, null },
6529169347 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },
65292 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69348 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6529369349 .patterns = &.{
6529469350 .{ .src = .{ .to_mem, .none, .none } },
6529569351 },
......@@ -65305,7 +69361,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6530569361 .unused,
6530669362 .unused,
6530769363 },
65308 .dst_temps = .{.mem},
69364 .dst_temps = .{ .mem, .unused },
6530969365 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6531069366 .each = .{ .once = &.{
6531169367 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65318,7 +69374,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6531869374 }, .{
6531969375 .required_features = .{ .sse2, null, null, null },
6532069376 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },
65321 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69377 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6532269378 .patterns = &.{
6532369379 .{ .src = .{ .to_mem, .none, .none } },
6532469380 },
......@@ -65334,7 +69390,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6533469390 .unused,
6533569391 .unused,
6533669392 },
65337 .dst_temps = .{.mem},
69393 .dst_temps = .{ .mem, .unused },
6533869394 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6533969395 .each = .{ .once = &.{
6534069396 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65347,7 +69403,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6534769403 }, .{
6534869404 .required_features = .{ .sse, null, null, null },
6534969405 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any },
65350 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69406 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6535169407 .patterns = &.{
6535269408 .{ .src = .{ .to_mem, .none, .none } },
6535369409 },
......@@ -65363,7 +69419,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6536369419 .unused,
6536469420 .unused,
6536569421 },
65366 .dst_temps = .{.mem},
69422 .dst_temps = .{ .mem, .unused },
6536769423 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6536869424 .each = .{ .once = &.{
6536969425 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65376,7 +69432,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6537669432 }, .{
6537769433 .required_features = .{ .avx, null, null, null },
6537869434 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },
65379 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69435 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6538069436 .patterns = &.{
6538169437 .{ .src = .{ .to_mem, .none, .none } },
6538269438 },
......@@ -65392,7 +69448,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6539269448 .unused,
6539369449 .unused,
6539469450 },
65395 .dst_temps = .{.mem},
69451 .dst_temps = .{ .mem, .unused },
6539669452 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6539769453 .each = .{ .once = &.{
6539869454 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65405,7 +69461,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6540569461 }, .{
6540669462 .required_features = .{ .sse2, null, null, null },
6540769463 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },
65408 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69464 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6540969465 .patterns = &.{
6541069466 .{ .src = .{ .to_mem, .none, .none } },
6541169467 },
......@@ -65421,7 +69477,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6542169477 .unused,
6542269478 .unused,
6542369479 },
65424 .dst_temps = .{.mem},
69480 .dst_temps = .{ .mem, .unused },
6542569481 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6542669482 .each = .{ .once = &.{
6542769483 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65434,7 +69490,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6543469490 }, .{
6543569491 .required_features = .{ .sse, null, null, null },
6543669492 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any },
65437 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69493 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6543869494 .patterns = &.{
6543969495 .{ .src = .{ .to_mem, .none, .none } },
6544069496 },
......@@ -65450,7 +69506,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6545069506 .unused,
6545169507 .unused,
6545269508 },
65453 .dst_temps = .{.mem},
69509 .dst_temps = .{ .mem, .unused },
6545469510 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6545569511 .each = .{ .once = &.{
6545669512 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65463,7 +69519,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6546369519 }, .{
6546469520 .required_features = .{ .avx, null, null, null },
6546569521 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
65466 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69522 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6546769523 .patterns = &.{
6546869524 .{ .src = .{ .to_mem, .none, .none } },
6546969525 },
......@@ -65479,7 +69535,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6547969535 .unused,
6548069536 .unused,
6548169537 },
65482 .dst_temps = .{.mem},
69538 .dst_temps = .{ .mem, .unused },
6548369539 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6548469540 .each = .{ .once = &.{
6548569541 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65492,7 +69548,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6549269548 }, .{
6549369549 .required_features = .{ .sse2, null, null, null },
6549469550 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
65495 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69551 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6549669552 .patterns = &.{
6549769553 .{ .src = .{ .to_mem, .none, .none } },
6549869554 },
......@@ -65508,7 +69564,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6550869564 .unused,
6550969565 .unused,
6551069566 },
65511 .dst_temps = .{.mem},
69567 .dst_temps = .{ .mem, .unused },
6551269568 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6551369569 .each = .{ .once = &.{
6551469570 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65521,7 +69577,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6552169577 }, .{
6552269578 .required_features = .{ .sse, null, null, null },
6552369579 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
65524 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69580 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6552569581 .patterns = &.{
6552669582 .{ .src = .{ .to_mem, .none, .none } },
6552769583 },
......@@ -65537,7 +69593,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6553769593 .unused,
6553869594 .unused,
6553969595 },
65540 .dst_temps = .{.mem},
69596 .dst_temps = .{ .mem, .unused },
6554169597 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6554269598 .each = .{ .once = &.{
6554369599 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65550,7 +69606,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6555069606 }, .{
6555169607 .required_features = .{ .avx, null, null, null },
6555269608 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
65553 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69609 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6555469610 .patterns = &.{
6555569611 .{ .src = .{ .to_mem, .none, .none } },
6555669612 },
......@@ -65566,7 +69622,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6556669622 .unused,
6556769623 .unused,
6556869624 },
65569 .dst_temps = .{.mem},
69625 .dst_temps = .{ .mem, .unused },
6557069626 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6557169627 .each = .{ .once = &.{
6557269628 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65579,7 +69635,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6557969635 }, .{
6558069636 .required_features = .{ .sse2, null, null, null },
6558169637 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
65582 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69638 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6558369639 .patterns = &.{
6558469640 .{ .src = .{ .to_mem, .none, .none } },
6558569641 },
......@@ -65595,7 +69651,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6559569651 .unused,
6559669652 .unused,
6559769653 },
65598 .dst_temps = .{.mem},
69654 .dst_temps = .{ .mem, .unused },
6559969655 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6560069656 .each = .{ .once = &.{
6560169657 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65608,7 +69664,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6560869664 }, .{
6560969665 .required_features = .{ .sse, null, null, null },
6561069666 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
65611 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69667 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6561269668 .patterns = &.{
6561369669 .{ .src = .{ .to_mem, .none, .none } },
6561469670 },
......@@ -65624,7 +69680,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6562469680 .unused,
6562569681 .unused,
6562669682 },
65627 .dst_temps = .{.mem},
69683 .dst_temps = .{ .mem, .unused },
6562869684 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6562969685 .each = .{ .once = &.{
6563069686 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65637,7 +69693,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6563769693 }, .{
6563869694 .required_features = .{ .@"64bit", .avx, null, null },
6563969695 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },
65640 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69696 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6564169697 .patterns = &.{
6564269698 .{ .src = .{ .to_mem, .none, .none } },
6564369699 },
......@@ -65653,7 +69709,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6565369709 .unused,
6565469710 .unused,
6565569711 },
65656 .dst_temps = .{.mem},
69712 .dst_temps = .{ .mem, .unused },
6565769713 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6565869714 .each = .{ .once = &.{
6565969715 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65666,7 +69722,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6566669722 }, .{
6566769723 .required_features = .{ .@"64bit", .sse2, null, null },
6566869724 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },
65669 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69725 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6567069726 .patterns = &.{
6567169727 .{ .src = .{ .to_mem, .none, .none } },
6567269728 },
......@@ -65682,7 +69738,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6568269738 .unused,
6568369739 .unused,
6568469740 },
65685 .dst_temps = .{.mem},
69741 .dst_temps = .{ .mem, .unused },
6568669742 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6568769743 .each = .{ .once = &.{
6568869744 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65695,7 +69751,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6569569751 }, .{
6569669752 .required_features = .{ .@"64bit", .sse, null, null },
6569769753 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any },
65698 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69754 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6569969755 .patterns = &.{
6570069756 .{ .src = .{ .to_mem, .none, .none } },
6570169757 },
......@@ -65711,7 +69767,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6571169767 .unused,
6571269768 .unused,
6571369769 },
65714 .dst_temps = .{.mem},
69770 .dst_temps = .{ .mem, .unused },
6571569771 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6571669772 .each = .{ .once = &.{
6571769773 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65724,7 +69780,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6572469780 }, .{
6572569781 .required_features = .{ .@"64bit", .avx, null, null },
6572669782 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },
65727 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69783 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6572869784 .patterns = &.{
6572969785 .{ .src = .{ .to_mem, .none, .none } },
6573069786 },
......@@ -65740,7 +69796,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6574069796 .unused,
6574169797 .unused,
6574269798 },
65743 .dst_temps = .{.mem},
69799 .dst_temps = .{ .mem, .unused },
6574469800 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6574569801 .each = .{ .once = &.{
6574669802 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65753,7 +69809,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6575369809 }, .{
6575469810 .required_features = .{ .@"64bit", .sse2, null, null },
6575569811 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },
65756 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69812 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6575769813 .patterns = &.{
6575869814 .{ .src = .{ .to_mem, .none, .none } },
6575969815 },
......@@ -65769,7 +69825,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6576969825 .unused,
6577069826 .unused,
6577169827 },
65772 .dst_temps = .{.mem},
69828 .dst_temps = .{ .mem, .unused },
6577369829 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6577469830 .each = .{ .once = &.{
6577569831 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65782,7 +69838,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6578269838 }, .{
6578369839 .required_features = .{ .@"64bit", .sse, null, null },
6578469840 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any },
65785 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69841 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6578669842 .patterns = &.{
6578769843 .{ .src = .{ .to_mem, .none, .none } },
6578869844 },
......@@ -65798,7 +69854,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6579869854 .unused,
6579969855 .unused,
6580069856 },
65801 .dst_temps = .{.mem},
69857 .dst_temps = .{ .mem, .unused },
6580269858 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6580369859 .each = .{ .once = &.{
6580469860 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65811,7 +69867,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6581169867 }, .{
6581269868 .required_features = .{ .@"64bit", .avx, null, null },
6581369869 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },
65814 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69870 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6581569871 .patterns = &.{
6581669872 .{ .src = .{ .to_mem, .none, .none } },
6581769873 },
......@@ -65827,7 +69883,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6582769883 .unused,
6582869884 .unused,
6582969885 },
65830 .dst_temps = .{.mem},
69886 .dst_temps = .{ .mem, .unused },
6583169887 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6583269888 .each = .{ .once = &.{
6583369889 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65841,7 +69897,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6584169897 }, .{
6584269898 .required_features = .{ .@"64bit", .sse2, null, null },
6584369899 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },
65844 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69900 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6584569901 .patterns = &.{
6584669902 .{ .src = .{ .to_mem, .none, .none } },
6584769903 },
......@@ -65857,7 +69913,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6585769913 .unused,
6585869914 .unused,
6585969915 },
65860 .dst_temps = .{.mem},
69916 .dst_temps = .{ .mem, .unused },
6586169917 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6586269918 .each = .{ .once = &.{
6586369919 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65871,7 +69927,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6587169927 }, .{
6587269928 .required_features = .{ .@"64bit", .sse, null, null },
6587369929 .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any },
65874 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69930 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6587569931 .patterns = &.{
6587669932 .{ .src = .{ .to_mem, .none, .none } },
6587769933 },
......@@ -65887,7 +69943,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6588769943 .unused,
6588869944 .unused,
6588969945 },
65890 .dst_temps = .{.mem},
69946 .dst_temps = .{ .mem, .unused },
6589169947 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6589269948 .each = .{ .once = &.{
6589369949 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65901,7 +69957,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6590169957 }, .{
6590269958 .required_features = .{ .@"64bit", .avx, null, null },
6590369959 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },
65904 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69960 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6590569961 .patterns = &.{
6590669962 .{ .src = .{ .to_mem, .none, .none } },
6590769963 },
......@@ -65917,7 +69973,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6591769973 .unused,
6591869974 .unused,
6591969975 },
65920 .dst_temps = .{.mem},
69976 .dst_temps = .{ .mem, .unused },
6592169977 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6592269978 .each = .{ .once = &.{
6592369979 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65931,7 +69987,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6593169987 }, .{
6593269988 .required_features = .{ .@"64bit", .sse2, null, null },
6593369989 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },
65934 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
69990 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6593569991 .patterns = &.{
6593669992 .{ .src = .{ .to_mem, .none, .none } },
6593769993 },
......@@ -65947,7 +70003,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6594770003 .unused,
6594870004 .unused,
6594970005 },
65950 .dst_temps = .{.mem},
70006 .dst_temps = .{ .mem, .unused },
6595170007 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6595270008 .each = .{ .once = &.{
6595370009 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65961,7 +70017,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6596170017 }, .{
6596270018 .required_features = .{ .@"64bit", .sse, null, null },
6596370019 .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any },
65964 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
70020 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6596570021 .patterns = &.{
6596670022 .{ .src = .{ .to_mem, .none, .none } },
6596770023 },
......@@ -65977,7 +70033,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6597770033 .unused,
6597870034 .unused,
6597970035 },
65980 .dst_temps = .{.mem},
70036 .dst_temps = .{ .mem, .unused },
6598170037 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6598270038 .each = .{ .once = &.{
6598370039 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -65991,7 +70047,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6599170047 }, .{
6599270048 .required_features = .{ .@"64bit", .avx, null, null },
6599370049 .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
65994 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
70050 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6599570051 .patterns = &.{
6599670052 .{ .src = .{ .to_mem, .none, .none } },
6599770053 },
......@@ -66007,7 +70063,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6600770063 .unused,
6600870064 .unused,
6600970065 },
66010 .dst_temps = .{.mem},
70066 .dst_temps = .{ .mem, .unused },
6601170067 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6601270068 .each = .{ .once = &.{
6601370069 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -66023,7 +70079,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6602370079 }, .{
6602470080 .required_features = .{ .@"64bit", .sse2, null, null },
6602570081 .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
66026 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
70082 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6602770083 .patterns = &.{
6602870084 .{ .src = .{ .to_mem, .none, .none } },
6602970085 },
......@@ -66039,7 +70095,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6603970095 .unused,
6604070096 .unused,
6604170097 },
66042 .dst_temps = .{.mem},
70098 .dst_temps = .{ .mem, .unused },
6604370099 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6604470100 .each = .{ .once = &.{
6604570101 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -66055,7 +70111,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6605570111 }, .{
6605670112 .required_features = .{ .@"64bit", .sse, null, null },
6605770113 .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any },
66058 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
70114 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6605970115 .patterns = &.{
6606070116 .{ .src = .{ .to_mem, .none, .none } },
6606170117 },
......@@ -66071,7 +70127,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6607170127 .unused,
6607270128 .unused,
6607370129 },
66074 .dst_temps = .{.mem},
70130 .dst_temps = .{ .mem, .unused },
6607570131 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6607670132 .each = .{ .once = &.{
6607770133 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -66087,7 +70143,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6608770143 }, .{
6608870144 .required_features = .{ .@"64bit", .avx, null, null },
6608970145 .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
66090 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
70146 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6609170147 .patterns = &.{
6609270148 .{ .src = .{ .to_mem, .none, .none } },
6609370149 },
......@@ -66103,7 +70159,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6610370159 .unused,
6610470160 .unused,
6610570161 },
66106 .dst_temps = .{.mem},
70162 .dst_temps = .{ .mem, .unused },
6610770163 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6610870164 .each = .{ .once = &.{
6610970165 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -66119,7 +70175,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6611970175 }, .{
6612070176 .required_features = .{ .@"64bit", .sse2, null, null },
6612170177 .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
66122 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
70178 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6612370179 .patterns = &.{
6612470180 .{ .src = .{ .to_mem, .none, .none } },
6612570181 },
......@@ -66135,7 +70191,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6613570191 .unused,
6613670192 .unused,
6613770193 },
66138 .dst_temps = .{.mem},
70194 .dst_temps = .{ .mem, .unused },
6613970195 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6614070196 .each = .{ .once = &.{
6614170197 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -66151,7 +70207,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6615170207 }, .{
6615270208 .required_features = .{ .@"64bit", .sse, null, null },
6615370209 .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any },
66154 .dst_constraints = .{.{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }},
70210 .dst_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any },
6615570211 .patterns = &.{
6615670212 .{ .src = .{ .to_mem, .none, .none } },
6615770213 },
......@@ -66167,7 +70223,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6616770223 .unused,
6616870224 .unused,
6616970225 },
66170 .dst_temps = .{.mem},
70226 .dst_temps = .{ .mem, .unused },
6617170227 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6617270228 .each = .{ .once = &.{
6617370229 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
......@@ -66191,7 +70247,373 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6619170247 };
6619270248 try res[0].finish(inst, &.{ty_op.operand}, &ops, cg);
6619370249 },
66194 .error_set_has_value => return cg.fail("TODO implement error_set_has_value", .{}),
70250
70251 .memset => try cg.airMemset(inst, false),
70252 .memset_safe => try cg.airMemset(inst, true),
70253 .memcpy => try cg.airMemcpy(inst),
70254 .cmpxchg_weak, .cmpxchg_strong => try cg.airCmpxchg(inst),
70255 .atomic_load => try cg.airAtomicLoad(inst),
70256 .atomic_store_unordered => try cg.airAtomicStore(inst, .unordered),
70257 .atomic_store_monotonic => try cg.airAtomicStore(inst, .monotonic),
70258 .atomic_store_release => try cg.airAtomicStore(inst, .release),
70259 .atomic_store_seq_cst => try cg.airAtomicStore(inst, .seq_cst),
70260 .atomic_rmw => try cg.airAtomicRmw(inst),
70261 .is_named_enum_value => |air_tag| if (use_old) try cg.airTagName(inst, true) else {
70262 const un_op = air_datas[@intFromEnum(inst)].un_op;
70263 var ops = try cg.tempsFromOperands(inst, .{un_op});
70264 var res: [1]Temp = undefined;
70265 cg.select(&res, &.{.bool}, &ops, comptime &.{ .{
70266 .required_features = .{ .avx, null, null, null },
70267 .src_constraints = .{ .{ .int = .gpr }, .any, .any },
70268 .patterns = &.{
70269 .{ .src = .{ .{ .to_param_gpr = .{ .cc = .zigcc, .index = 0 } }, .none, .none } },
70270 },
70271 .call_frame = .{ .alignment = .@"32" },
70272 .extra_temps = .{
70273 .{ .type = .usize, .kind = .{ .lazy_symbol = .{ .kind = .code, .ref = .src0 } } },
70274 .unused,
70275 .unused,
70276 .unused,
70277 .unused,
70278 .unused,
70279 .unused,
70280 .unused,
70281 .unused,
70282 },
70283 .dst_temps = .{ .{ .cc = .nz }, .unused },
70284 .clobbers = .{ .eflags = true, .caller_preserved = .zigcc },
70285 .each = .{ .once = &.{
70286 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
70287 .{ ._, ._, .@"test", .src0p, .src0p, ._, ._ },
70288 } },
70289 }, .{
70290 .required_features = .{ .sse, null, null, null },
70291 .src_constraints = .{ .{ .int = .gpr }, .any, .any },
70292 .patterns = &.{
70293 .{ .src = .{ .{ .to_param_gpr = .{ .cc = .zigcc, .index = 0 } }, .none, .none } },
70294 },
70295 .call_frame = .{ .alignment = .@"16" },
70296 .extra_temps = .{
70297 .{ .type = .usize, .kind = .{ .lazy_symbol = .{ .kind = .code, .ref = .src0 } } },
70298 .unused,
70299 .unused,
70300 .unused,
70301 .unused,
70302 .unused,
70303 .unused,
70304 .unused,
70305 .unused,
70306 },
70307 .dst_temps = .{ .{ .cc = .nz }, .unused },
70308 .clobbers = .{ .eflags = true, .caller_preserved = .zigcc },
70309 .each = .{ .once = &.{
70310 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
70311 .{ ._, ._, .@"test", .src0p, .src0p, ._, ._ },
70312 } },
70313 }, .{
70314 .src_constraints = .{ .{ .int = .gpr }, .any, .any },
70315 .patterns = &.{
70316 .{ .src = .{ .{ .to_param_gpr = .{ .cc = .zigcc, .index = 0 } }, .none, .none } },
70317 },
70318 .call_frame = .{ .alignment = .@"8" },
70319 .extra_temps = .{
70320 .{ .type = .usize, .kind = .{ .lazy_symbol = .{ .kind = .code, .ref = .src0 } } },
70321 .unused,
70322 .unused,
70323 .unused,
70324 .unused,
70325 .unused,
70326 .unused,
70327 .unused,
70328 .unused,
70329 },
70330 .dst_temps = .{ .{ .cc = .nz }, .unused },
70331 .clobbers = .{ .eflags = true, .caller_preserved = .zigcc },
70332 .each = .{ .once = &.{
70333 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
70334 .{ ._, ._, .@"test", .src0p, .src0p, ._, ._ },
70335 } },
70336 } }) catch |err| switch (err) {
70337 error.SelectFailed => return cg.fail("failed to select {s} {} {}", .{
70338 @tagName(air_tag),
70339 cg.typeOf(un_op).fmt(pt),
70340 ops[0].tracking(cg),
70341 }),
70342 else => |e| return e,
70343 };
70344 try res[0].finish(inst, &.{un_op}, &ops, cg);
70345 },
70346 .tag_name => |air_tag| if (use_old) try cg.airTagName(inst, false) else {
70347 const un_op = air_datas[@intFromEnum(inst)].un_op;
70348 var ops = try cg.tempsFromOperands(inst, .{un_op});
70349 var res: [1]Temp = undefined;
70350 cg.select(&res, &.{.slice_const_u8_sentinel_0}, &ops, comptime &.{ .{
70351 .required_features = .{ .avx, null, null, null },
70352 .src_constraints = .{ .{ .int = .gpr }, .any, .any },
70353 .patterns = &.{
70354 .{ .src = .{ .{ .to_param_gpr = .{ .cc = .zigcc, .index = 0 } }, .none, .none } },
70355 },
70356 .call_frame = .{ .alignment = .@"32" },
70357 .extra_temps = .{
70358 .{ .type = .usize, .kind = .{ .lazy_symbol = .{ .kind = .code, .ref = .src0 } } },
70359 .unused,
70360 .unused,
70361 .unused,
70362 .unused,
70363 .unused,
70364 .unused,
70365 .unused,
70366 .unused,
70367 },
70368 .dst_temps = .{ .{ .ret_gpr = .{ .cc = .zigcc, .index = 1 } }, .unused },
70369 .clobbers = .{ .eflags = true, .caller_preserved = .zigcc },
70370 .each = .{ .once = &.{
70371 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
70372 } },
70373 }, .{
70374 .required_features = .{ .sse, null, null, null },
70375 .src_constraints = .{ .{ .int = .gpr }, .any, .any },
70376 .patterns = &.{
70377 .{ .src = .{ .{ .to_param_gpr = .{ .cc = .zigcc, .index = 0 } }, .none, .none } },
70378 },
70379 .call_frame = .{ .alignment = .@"16" },
70380 .extra_temps = .{
70381 .{ .type = .usize, .kind = .{ .lazy_symbol = .{ .kind = .code, .ref = .src0 } } },
70382 .unused,
70383 .unused,
70384 .unused,
70385 .unused,
70386 .unused,
70387 .unused,
70388 .unused,
70389 .unused,
70390 },
70391 .dst_temps = .{ .{ .ret_gpr = .{ .cc = .zigcc, .index = 1 } }, .unused },
70392 .clobbers = .{ .eflags = true, .caller_preserved = .zigcc },
70393 .each = .{ .once = &.{
70394 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
70395 } },
70396 }, .{
70397 .src_constraints = .{ .{ .int = .gpr }, .any, .any },
70398 .patterns = &.{
70399 .{ .src = .{ .{ .to_param_gpr = .{ .cc = .zigcc, .index = 0 } }, .none, .none } },
70400 },
70401 .call_frame = .{ .alignment = .@"8" },
70402 .extra_temps = .{
70403 .{ .type = .usize, .kind = .{ .lazy_symbol = .{ .kind = .code, .ref = .src0 } } },
70404 .unused,
70405 .unused,
70406 .unused,
70407 .unused,
70408 .unused,
70409 .unused,
70410 .unused,
70411 .unused,
70412 },
70413 .dst_temps = .{ .{ .ret_gpr = .{ .cc = .zigcc, .index = 1 } }, .unused },
70414 .clobbers = .{ .eflags = true, .caller_preserved = .zigcc },
70415 .each = .{ .once = &.{
70416 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
70417 } },
70418 } }) catch |err| switch (err) {
70419 error.SelectFailed => return cg.fail("failed to select {s} {} {}", .{
70420 @tagName(air_tag),
70421 cg.typeOf(un_op).fmt(pt),
70422 ops[0].tracking(cg),
70423 }),
70424 else => |e| return e,
70425 };
70426 try ops[0].toPair(&res[0], cg);
70427 try res[0].finish(inst, &.{un_op}, &ops, cg);
70428 },
70429 .error_name => |air_tag| if (use_old) try cg.airErrorName(inst) else {
70430 const un_op = air_datas[@intFromEnum(inst)].un_op;
70431 var ops = try cg.tempsFromOperands(inst, .{un_op});
70432 var res: [2]Temp = undefined;
70433 cg.select(&res, &.{ .slice_const_u8_sentinel_0, .usize }, &ops, comptime &.{ .{
70434 .src_constraints = .{ .{ .int = .byte }, .any, .any },
70435 .patterns = &.{
70436 .{ .src = .{ .mem, .none, .none } },
70437 .{ .src = .{ .to_gpr, .none, .none } },
70438 },
70439 .extra_temps = .{
70440 .{ .type = .anyerror, .kind = .{ .lazy_symbol = .{ .kind = .const_data } } },
70441 .{ .type = .u32, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } } },
70442 .unused,
70443 .unused,
70444 .unused,
70445 .unused,
70446 .unused,
70447 .unused,
70448 .unused,
70449 },
70450 .dst_temps = .{ .{ .rc = .general_purpose }, .{ .rc = .general_purpose } },
70451 .each = .{ .once = &.{
70452 .{ ._, ._, .movzx, .tmp1d, .src0b, ._, ._ },
70453 .{ ._, ._, .lea, .dst0p, .lea(.tmp0), ._, ._ },
70454 .{ ._, ._, .mov, .dst1d, .leasid(.dst0d, .@"4", .tmp1, (2 - 1) * 4), ._, ._ },
70455 .{ ._, ._, .mov, .tmp1d, .leasid(.dst0d, .@"4", .tmp1, (1 - 1) * 4), ._, ._ },
70456 .{ ._, ._, .lea, .dst0p, .leai(.dst0, .tmp1), ._, ._ },
70457 .{ ._, ._, .not, .tmp1d, ._, ._, ._ },
70458 .{ ._, ._, .lea, .dst1d, .leai(.dst1, .tmp1), ._, ._ },
70459 } },
70460 }, .{
70461 .src_constraints = .{ .{ .int = .word }, .any, .any },
70462 .patterns = &.{
70463 .{ .src = .{ .mem, .none, .none } },
70464 .{ .src = .{ .to_gpr, .none, .none } },
70465 },
70466 .extra_temps = .{
70467 .{ .type = .anyerror, .kind = .{ .lazy_symbol = .{ .kind = .const_data } } },
70468 .{ .type = .u32, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } } },
70469 .unused,
70470 .unused,
70471 .unused,
70472 .unused,
70473 .unused,
70474 .unused,
70475 .unused,
70476 },
70477 .dst_temps = .{ .{ .rc = .general_purpose }, .{ .rc = .general_purpose } },
70478 .each = .{ .once = &.{
70479 .{ ._, ._, .movzx, .tmp1d, .src0w, ._, ._ },
70480 .{ ._, ._, .lea, .dst0p, .lea(.tmp0), ._, ._ },
70481 .{ ._, ._, .mov, .dst1d, .leasid(.dst0d, .@"4", .tmp1, (2 - 1) * 4), ._, ._ },
70482 .{ ._, ._, .mov, .tmp1d, .leasid(.dst0d, .@"4", .tmp1, (1 - 1) * 4), ._, ._ },
70483 .{ ._, ._, .lea, .dst0p, .leai(.dst0, .tmp1), ._, ._ },
70484 .{ ._, ._, .not, .tmp1d, ._, ._, ._ },
70485 .{ ._, ._, .lea, .dst1d, .leai(.dst1, .tmp1), ._, ._ },
70486 } },
70487 }, .{
70488 .src_constraints = .{ .{ .int = .dword }, .any, .any },
70489 .patterns = &.{
70490 .{ .src = .{ .mem, .none, .none } },
70491 .{ .src = .{ .to_gpr, .none, .none } },
70492 },
70493 .extra_temps = .{
70494 .{ .type = .anyerror, .kind = .{ .lazy_symbol = .{ .kind = .const_data } } },
70495 .{ .type = .u32, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } } },
70496 .unused,
70497 .unused,
70498 .unused,
70499 .unused,
70500 .unused,
70501 .unused,
70502 .unused,
70503 },
70504 .dst_temps = .{ .{ .rc = .general_purpose }, .{ .rc = .general_purpose } },
70505 .each = .{ .once = &.{
70506 .{ ._, ._, .mov, .tmp1d, .src0d, ._, ._ },
70507 .{ ._, ._, .lea, .dst0p, .lea(.tmp0), ._, ._ },
70508 .{ ._, ._, .mov, .dst1d, .leasid(.dst0d, .@"4", .tmp1, (2 - 1) * 4), ._, ._ },
70509 .{ ._, ._, .mov, .tmp1d, .leasid(.dst0d, .@"4", .tmp1, (1 - 1) * 4), ._, ._ },
70510 .{ ._, ._, .lea, .dst0p, .leai(.dst0, .tmp1), ._, ._ },
70511 .{ ._, ._, .not, .tmp1d, ._, ._, ._ },
70512 .{ ._, ._, .lea, .dst1d, .leai(.dst1, .tmp1), ._, ._ },
70513 } },
70514 } }) catch |err| switch (err) {
70515 error.SelectFailed => return cg.fail("failed to select {s} {} {}", .{
70516 @tagName(air_tag),
70517 cg.typeOf(un_op).fmt(pt),
70518 ops[0].tracking(cg),
70519 }),
70520 else => |e| return e,
70521 };
70522 const orig_res = res;
70523 try res[0].toPair(&res[1], cg);
70524 for (&ops) |*op| for (orig_res) |orig_r| {
70525 if (op.index != orig_r.index) continue;
70526 op.* = res[0];
70527 break;
70528 };
70529 try res[0].finish(inst, &.{un_op}, &ops, cg);
70530 },
70531 .error_set_has_value => |air_tag| if (use_old) try cg.airErrorSetHasValue(inst) else {
70532 const ty_op = air_datas[@intFromEnum(inst)].ty_op;
70533 var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}) ++ .{try cg.tempInit(ty_op.ty.toType(), .none)};
70534 var res: [1]Temp = undefined;
70535 cg.select(&res, &.{.bool}, &ops, comptime &.{ .{
70536 .required_features = .{ .avx, null, null, null },
70537 .src_constraints = .{ .{ .int = .gpr }, .any, .any },
70538 .patterns = &.{
70539 .{ .src = .{ .{ .to_param_gpr = .{ .cc = .zigcc, .index = 0 } }, .none, .none } },
70540 },
70541 .call_frame = .{ .alignment = .@"32" },
70542 .extra_temps = .{
70543 .{ .type = .usize, .kind = .{ .lazy_symbol = .{ .kind = .code, .ref = .src1 } } },
70544 .unused,
70545 .unused,
70546 .unused,
70547 .unused,
70548 .unused,
70549 .unused,
70550 .unused,
70551 .unused,
70552 },
70553 .dst_temps = .{ .{ .cc = .nz }, .unused },
70554 .clobbers = .{ .eflags = true, .caller_preserved = .zigcc },
70555 .each = .{ .once = &.{
70556 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
70557 .{ ._, ._, .@"test", .src0d, .src0d, ._, ._ },
70558 } },
70559 }, .{
70560 .required_features = .{ .sse, null, null, null },
70561 .src_constraints = .{ .{ .int = .gpr }, .any, .any },
70562 .patterns = &.{
70563 .{ .src = .{ .{ .to_param_gpr = .{ .cc = .zigcc, .index = 0 } }, .none, .none } },
70564 },
70565 .call_frame = .{ .alignment = .@"16" },
70566 .extra_temps = .{
70567 .{ .type = .usize, .kind = .{ .lazy_symbol = .{ .kind = .code, .ref = .src1 } } },
70568 .unused,
70569 .unused,
70570 .unused,
70571 .unused,
70572 .unused,
70573 .unused,
70574 .unused,
70575 .unused,
70576 },
70577 .dst_temps = .{ .{ .cc = .nz }, .unused },
70578 .clobbers = .{ .eflags = true, .caller_preserved = .zigcc },
70579 .each = .{ .once = &.{
70580 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
70581 .{ ._, ._, .@"test", .src0d, .src0d, ._, ._ },
70582 } },
70583 }, .{
70584 .src_constraints = .{ .{ .int = .gpr }, .any, .any },
70585 .patterns = &.{
70586 .{ .src = .{ .{ .to_param_gpr = .{ .cc = .zigcc, .index = 0 } }, .none, .none } },
70587 },
70588 .call_frame = .{ .alignment = .@"8" },
70589 .extra_temps = .{
70590 .{ .type = .usize, .kind = .{ .lazy_symbol = .{ .kind = .code, .ref = .src1 } } },
70591 .unused,
70592 .unused,
70593 .unused,
70594 .unused,
70595 .unused,
70596 .unused,
70597 .unused,
70598 .unused,
70599 },
70600 .dst_temps = .{ .{ .cc = .nz }, .unused },
70601 .clobbers = .{ .eflags = true, .caller_preserved = .zigcc },
70602 .each = .{ .once = &.{
70603 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
70604 .{ ._, ._, .@"test", .src0d, .src0d, ._, ._ },
70605 } },
70606 } }) catch |err| switch (err) {
70607 error.SelectFailed => return cg.fail("failed to select {s} {} {}", .{
70608 @tagName(air_tag),
70609 ty_op.ty.toType().fmt(pt),
70610 ops[0].tracking(cg),
70611 }),
70612 else => |e| return e,
70613 };
70614 for (ops[1..]) |op| try op.die(cg);
70615 try res[0].finish(inst, &.{ty_op.operand}, ops[0..1], cg);
70616 },
6619570617 .union_init => if (use_old) try cg.airUnionInit(inst) else {
6619670618 const ty_pl = air_datas[@intFromEnum(inst)].ty_pl;
6619770619 const extra = cg.air.extraData(Air.UnionInit, ty_pl.payload).data;
......@@ -66240,7 +70662,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6624070662 .unused,
6624170663 .unused,
6624270664 },
66243 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
70665 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6624470666 .each = .{ .once = &.{
6624570667 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
6624670668 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
......@@ -66270,7 +70692,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6627070692 .unused,
6627170693 .unused,
6627270694 },
66273 .dst_temps = .{.{ .ref = .src0 }},
70695 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6627470696 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6627570697 .each = .{ .once = &.{
6627670698 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -66303,7 +70725,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6630370725 .unused,
6630470726 .unused,
6630570727 },
66306 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
70728 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6630770729 .each = .{ .once = &.{
6630870730 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
6630970731 .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ },
......@@ -66339,7 +70761,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6633970761 .unused,
6634070762 .unused,
6634170763 },
66342 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
70764 .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused },
6634370765 .each = .{ .once = &.{
6634470766 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
6634570767 .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ },
......@@ -66368,7 +70790,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6636870790 .unused,
6636970791 .unused,
6637070792 },
66371 .dst_temps = .{.mem},
70793 .dst_temps = .{ .mem, .unused },
6637270794 .each = .{ .once = &.{
6637370795 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6637470796 .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
......@@ -66401,7 +70823,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6640170823 .unused,
6640270824 .unused,
6640370825 },
66404 .dst_temps = .{.mem},
70826 .dst_temps = .{ .mem, .unused },
6640570827 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6640670828 .each = .{ .once = &.{
6640770829 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -66436,7 +70858,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6643670858 .unused,
6643770859 .unused,
6643870860 },
66439 .dst_temps = .{.mem},
70861 .dst_temps = .{ .mem, .unused },
6644070862 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6644170863 .each = .{ .once = &.{
6644270864 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -66473,7 +70895,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6647370895 .unused,
6647470896 .unused,
6647570897 },
66476 .dst_temps = .{.mem},
70898 .dst_temps = .{ .mem, .unused },
6647770899 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6647870900 .each = .{ .once = &.{
6647970901 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -66511,7 +70933,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6651170933 .unused,
6651270934 .unused,
6651370935 },
66514 .dst_temps = .{.mem},
70936 .dst_temps = .{ .mem, .unused },
6651570937 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6651670938 .each = .{ .once = &.{
6651770939 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -66544,7 +70966,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6654470966 .{ .src = .{ .mut_sse, .sse, .sse } },
6654570967 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },
6654670968 },
66547 .dst_temps = .{.{ .ref = .src0 }},
70969 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6654870970 .each = .{ .once = &.{
6654970971 .{ ._, .v_ss, .fmadd132, .dst0x, .src2x, .src1d, ._ },
6655070972 } },
......@@ -66561,7 +70983,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6656170983 .{ .src = .{ .mut_sse, .sse, .sse } },
6656270984 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },
6656370985 },
66564 .dst_temps = .{.{ .ref = .src0 }},
70986 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6656570987 .each = .{ .once = &.{
6656670988 .{ ._, .v_ss, .fmadd213, .dst0x, .src1x, .src2d, ._ },
6656770989 } },
......@@ -66577,7 +70999,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6657770999 .{ .src = .{ .mem, .to_sse, .to_mut_sse }, .commute = .{ 0, 1 } },
6657871000 .{ .src = .{ .to_sse, .to_sse, .to_mut_sse } },
6657971001 },
66580 .dst_temps = .{.{ .ref = .src2 }},
71002 .dst_temps = .{ .{ .ref = .src2 }, .unused },
6658171003 .each = .{ .once = &.{
6658271004 .{ ._, .v_ss, .fmadd231, .dst0x, .src0x, .src1d, ._ },
6658371005 } },
......@@ -66603,7 +71025,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6660371025 .unused,
6660471026 .unused,
6660571027 },
66606 .dst_temps = .{.{ .ref = .src0 }},
71028 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6660771029 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6660871030 .each = .{ .once = &.{
6660971031 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -66621,7 +71043,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6662171043 .{ .src = .{ .mut_sse, .sse, .sse } },
6662271044 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },
6662371045 },
66624 .dst_temps = .{.{ .ref = .src0 }},
71046 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6662571047 .each = .{ .once = &.{
6662671048 .{ ._, .v_ps, .fmadd132, .dst0x, .src2x, .src1x, ._ },
6662771049 } },
......@@ -66638,7 +71060,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6663871060 .{ .src = .{ .mut_sse, .sse, .sse } },
6663971061 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },
6664071062 },
66641 .dst_temps = .{.{ .ref = .src0 }},
71063 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6664271064 .each = .{ .once = &.{
6664371065 .{ ._, .v_ps, .fmadd213, .dst0x, .src1x, .src2x, ._ },
6664471066 } },
......@@ -66654,7 +71076,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6665471076 .{ .src = .{ .mem, .to_sse, .to_mut_sse }, .commute = .{ 0, 1 } },
6665571077 .{ .src = .{ .to_sse, .to_sse, .to_mut_sse } },
6665671078 },
66657 .dst_temps = .{.{ .ref = .src2 }},
71079 .dst_temps = .{ .{ .ref = .src2 }, .unused },
6665871080 .each = .{ .once = &.{
6665971081 .{ ._, .v_ps, .fmadd231, .dst0x, .src0x, .src1x, ._ },
6666071082 } },
......@@ -66671,7 +71093,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6667171093 .{ .src = .{ .mut_sse, .sse, .sse } },
6667271094 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },
6667371095 },
66674 .dst_temps = .{.{ .ref = .src0 }},
71096 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6667571097 .each = .{ .once = &.{
6667671098 .{ ._, .v_ps, .fmadd132, .dst0y, .src2y, .src1y, ._ },
6667771099 } },
......@@ -66688,7 +71110,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6668871110 .{ .src = .{ .mut_sse, .sse, .sse } },
6668971111 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },
6669071112 },
66691 .dst_temps = .{.{ .ref = .src0 }},
71113 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6669271114 .each = .{ .once = &.{
6669371115 .{ ._, .v_ps, .fmadd213, .dst0y, .src1y, .src2y, ._ },
6669471116 } },
......@@ -66704,7 +71126,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6670471126 .{ .src = .{ .mem, .to_sse, .to_mut_sse }, .commute = .{ 0, 1 } },
6670571127 .{ .src = .{ .to_sse, .to_sse, .to_mut_sse } },
6670671128 },
66707 .dst_temps = .{.{ .ref = .src2 }},
71129 .dst_temps = .{ .{ .ref = .src2 }, .unused },
6670871130 .each = .{ .once = &.{
6670971131 .{ ._, .v_ps, .fmadd231, .dst0y, .src0y, .src1y, ._ },
6671071132 } },
......@@ -66729,7 +71151,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6672971151 .unused,
6673071152 .unused,
6673171153 },
66732 .dst_temps = .{.mem},
71154 .dst_temps = .{ .mem, .unused },
6673371155 .each = .{ .once = &.{
6673471156 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6673571157 .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
......@@ -66761,7 +71183,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6676171183 .unused,
6676271184 .unused,
6676371185 },
66764 .dst_temps = .{.mem},
71186 .dst_temps = .{ .mem, .unused },
6676571187 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6676671188 .each = .{ .once = &.{
6676771189 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -66795,7 +71217,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6679571217 .unused,
6679671218 .unused,
6679771219 },
66798 .dst_temps = .{.mem},
71220 .dst_temps = .{ .mem, .unused },
6679971221 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6680071222 .each = .{ .once = &.{
6680171223 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -66820,7 +71242,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6682071242 .{ .src = .{ .mut_sse, .sse, .sse } },
6682171243 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },
6682271244 },
66823 .dst_temps = .{.{ .ref = .src0 }},
71245 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6682471246 .each = .{ .once = &.{
6682571247 .{ ._, .v_sd, .fmadd132, .dst0x, .src2x, .src1q, ._ },
6682671248 } },
......@@ -66837,7 +71259,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6683771259 .{ .src = .{ .mut_sse, .sse, .sse } },
6683871260 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },
6683971261 },
66840 .dst_temps = .{.{ .ref = .src0 }},
71262 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6684171263 .each = .{ .once = &.{
6684271264 .{ ._, .v_sd, .fmadd213, .dst0x, .src1x, .src2q, ._ },
6684371265 } },
......@@ -66853,7 +71275,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6685371275 .{ .src = .{ .mem, .to_sse, .to_mut_sse }, .commute = .{ 0, 1 } },
6685471276 .{ .src = .{ .to_sse, .to_sse, .to_mut_sse } },
6685571277 },
66856 .dst_temps = .{.{ .ref = .src2 }},
71278 .dst_temps = .{ .{ .ref = .src2 }, .unused },
6685771279 .each = .{ .once = &.{
6685871280 .{ ._, .v_sd, .fmadd231, .dst0x, .src0x, .src1q, ._ },
6685971281 } },
......@@ -66879,7 +71301,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6687971301 .unused,
6688071302 .unused,
6688171303 },
66882 .dst_temps = .{.{ .ref = .src0 }},
71304 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6688371305 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6688471306 .each = .{ .once = &.{
6688571307 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -66897,7 +71319,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6689771319 .{ .src = .{ .mut_sse, .sse, .sse } },
6689871320 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },
6689971321 },
66900 .dst_temps = .{.{ .ref = .src0 }},
71322 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6690171323 .each = .{ .once = &.{
6690271324 .{ ._, .v_pd, .fmadd132, .dst0x, .src2x, .src1x, ._ },
6690371325 } },
......@@ -66914,7 +71336,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6691471336 .{ .src = .{ .mut_sse, .sse, .sse } },
6691571337 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },
6691671338 },
66917 .dst_temps = .{.{ .ref = .src0 }},
71339 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6691871340 .each = .{ .once = &.{
6691971341 .{ ._, .v_pd, .fmadd213, .dst0x, .src1x, .src2x, ._ },
6692071342 } },
......@@ -66930,7 +71352,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6693071352 .{ .src = .{ .mem, .to_sse, .to_mut_sse }, .commute = .{ 0, 1 } },
6693171353 .{ .src = .{ .to_sse, .to_sse, .to_mut_sse } },
6693271354 },
66933 .dst_temps = .{.{ .ref = .src2 }},
71355 .dst_temps = .{ .{ .ref = .src2 }, .unused },
6693471356 .each = .{ .once = &.{
6693571357 .{ ._, .v_pd, .fmadd231, .dst0x, .src0x, .src1x, ._ },
6693671358 } },
......@@ -66947,7 +71369,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6694771369 .{ .src = .{ .mut_sse, .sse, .sse } },
6694871370 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },
6694971371 },
66950 .dst_temps = .{.{ .ref = .src0 }},
71372 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6695171373 .each = .{ .once = &.{
6695271374 .{ ._, .v_pd, .fmadd132, .dst0y, .src2y, .src1y, ._ },
6695371375 } },
......@@ -66964,7 +71386,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6696471386 .{ .src = .{ .mut_sse, .sse, .sse } },
6696571387 .{ .src = .{ .sse, .mut_sse, .sse }, .commute = .{ 0, 1 } },
6696671388 },
66967 .dst_temps = .{.{ .ref = .src0 }},
71389 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6696871390 .each = .{ .once = &.{
6696971391 .{ ._, .v_pd, .fmadd213, .dst0y, .src1y, .src2y, ._ },
6697071392 } },
......@@ -66980,7 +71402,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6698071402 .{ .src = .{ .mem, .to_sse, .to_mut_sse }, .commute = .{ 0, 1 } },
6698171403 .{ .src = .{ .to_sse, .to_sse, .to_mut_sse } },
6698271404 },
66983 .dst_temps = .{.{ .ref = .src2 }},
71405 .dst_temps = .{ .{ .ref = .src2 }, .unused },
6698471406 .each = .{ .once = &.{
6698571407 .{ ._, .v_pd, .fmadd231, .dst0y, .src0y, .src1y, ._ },
6698671408 } },
......@@ -67005,7 +71427,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6700571427 .unused,
6700671428 .unused,
6700771429 },
67008 .dst_temps = .{.mem},
71430 .dst_temps = .{ .mem, .unused },
6700971431 .each = .{ .once = &.{
6701071432 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
6701171433 .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ },
......@@ -67037,7 +71459,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6703771459 .unused,
6703871460 .unused,
6703971461 },
67040 .dst_temps = .{.mem},
71462 .dst_temps = .{ .mem, .unused },
6704171463 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6704271464 .each = .{ .once = &.{
6704371465 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -67071,7 +71493,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6707171493 .unused,
6707271494 .unused,
6707371495 },
67074 .dst_temps = .{.mem},
71496 .dst_temps = .{ .mem, .unused },
6707571497 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6707671498 .each = .{ .once = &.{
6707771499 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -67105,7 +71527,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6710571527 .unused,
6710671528 .unused,
6710771529 },
67108 .dst_temps = .{.mem},
71530 .dst_temps = .{ .mem, .unused },
6710971531 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6711071532 .each = .{ .once = &.{
6711171533 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -67142,7 +71564,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6714271564 .unused,
6714371565 .unused,
6714471566 },
67145 .dst_temps = .{.{ .reg = .st0 }},
71567 .dst_temps = .{ .{ .reg = .st0 }, .unused },
6714671568 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6714771569 .each = .{ .once = &.{
6714871570 .{ ._, ._ps, .mova, .tmp0x, .mem(.src0x), ._, ._ },
......@@ -67175,7 +71597,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6717571597 .unused,
6717671598 .unused,
6717771599 },
67178 .dst_temps = .{.mem},
71600 .dst_temps = .{ .mem, .unused },
6717971601 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6718071602 .each = .{ .once = &.{
6718171603 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -67213,7 +71635,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6721371635 .unused,
6721471636 .unused,
6721571637 },
67216 .dst_temps = .{.{ .ref = .src0 }},
71638 .dst_temps = .{ .{ .ref = .src0 }, .unused },
6721771639 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6721871640 .each = .{ .once = &.{
6721971641 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
......@@ -67240,7 +71662,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6724071662 .unused,
6724171663 .unused,
6724271664 },
67243 .dst_temps = .{.mem},
71665 .dst_temps = .{ .mem, .unused },
6724471666 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6724571667 .each = .{ .once = &.{
6724671668 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -67274,7 +71696,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6727471696 .unused,
6727571697 .unused,
6727671698 },
67277 .dst_temps = .{.mem},
71699 .dst_temps = .{ .mem, .unused },
6727871700 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6727971701 .each = .{ .once = &.{
6728071702 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -67308,7 +71730,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6730871730 .unused,
6730971731 .unused,
6731071732 },
67311 .dst_temps = .{.mem},
71733 .dst_temps = .{ .mem, .unused },
6731271734 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
6731371735 .each = .{ .once = &.{
6731471736 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
......@@ -67343,12 +71765,86 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6734371765 ), cg);
6734471766 try ops[0].finish(inst, &.{extra.field_ptr}, &ops, cg);
6734571767 },
67346
67347 .is_named_enum_value => return cg.fail("TODO implement is_named_enum_value", .{}),
67348
67349 .wasm_memory_size => unreachable,
67350 .wasm_memory_grow => unreachable,
67351
71768 .wasm_memory_size, .wasm_memory_grow => unreachable,
71769 .cmp_lt_errors_len => |air_tag| if (use_old) try cg.airCmpLtErrorsLen(inst) else {
71770 const un_op = air_datas[@intFromEnum(inst)].un_op;
71771 var ops = try cg.tempsFromOperands(inst, .{un_op});
71772 var res: [1]Temp = undefined;
71773 cg.select(&res, &.{.bool}, &ops, comptime &.{ .{
71774 .src_constraints = .{ .{ .int = .byte }, .any, .any },
71775 .patterns = &.{
71776 .{ .src = .{ .to_gpr, .none, .none } },
71777 },
71778 .extra_temps = .{
71779 .{ .type = .anyerror, .kind = .{ .lazy_symbol = .{ .kind = .const_data } } },
71780 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
71781 .unused,
71782 .unused,
71783 .unused,
71784 .unused,
71785 .unused,
71786 .unused,
71787 .unused,
71788 },
71789 .dst_temps = .{ .{ .cc = .b }, .unused },
71790 .clobbers = .{ .eflags = true },
71791 .each = .{ .once = &.{
71792 .{ ._, ._, .lea, .tmp1p, .lea(.tmp0), ._, ._ },
71793 .{ ._, ._, .cmp, .src0b, .lea(.tmp1b), ._, ._ },
71794 } },
71795 }, .{
71796 .src_constraints = .{ .{ .int = .word }, .any, .any },
71797 .patterns = &.{
71798 .{ .src = .{ .to_gpr, .none, .none } },
71799 },
71800 .extra_temps = .{
71801 .{ .type = .anyerror, .kind = .{ .lazy_symbol = .{ .kind = .const_data } } },
71802 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
71803 .unused,
71804 .unused,
71805 .unused,
71806 .unused,
71807 .unused,
71808 .unused,
71809 .unused,
71810 },
71811 .dst_temps = .{ .{ .cc = .b }, .unused },
71812 .clobbers = .{ .eflags = true },
71813 .each = .{ .once = &.{
71814 .{ ._, ._, .lea, .tmp1p, .lea(.tmp0), ._, ._ },
71815 .{ ._, ._, .cmp, .src0w, .lea(.tmp1w), ._, ._ },
71816 } },
71817 }, .{
71818 .src_constraints = .{ .{ .int = .dword }, .any, .any },
71819 .patterns = &.{
71820 .{ .src = .{ .to_gpr, .none, .none } },
71821 },
71822 .extra_temps = .{
71823 .{ .type = .anyerror, .kind = .{ .lazy_symbol = .{ .kind = .const_data } } },
71824 .{ .type = .usize, .kind = .{ .rc = .general_purpose } },
71825 .unused,
71826 .unused,
71827 .unused,
71828 .unused,
71829 .unused,
71830 .unused,
71831 .unused,
71832 },
71833 .dst_temps = .{ .{ .cc = .b }, .unused },
71834 .clobbers = .{ .eflags = true },
71835 .each = .{ .once = &.{
71836 .{ ._, ._, .lea, .tmp1p, .lea(.tmp0), ._, ._ },
71837 .{ ._, ._, .cmp, .src0d, .lea(.tmp1d), ._, ._ },
71838 } },
71839 } }) catch |err| switch (err) {
71840 error.SelectFailed => return cg.fail("failed to select {s} {}", .{
71841 @tagName(air_tag),
71842 ops[0].tracking(cg),
71843 }),
71844 else => |e| return e,
71845 };
71846 try res[0].finish(inst, &.{un_op}, &ops, cg);
71847 },
6735271848 .err_return_trace => {
6735371849 const ert: Temp = .{ .index = err_ret_trace_index };
6735471850 try ert.finish(inst, &.{}, &.{}, cg);
......@@ -67372,13 +71868,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6737271868 .err_ret_trace => unreachable,
6737371869 }
6737471870 },
67375
6737671871 .addrspace_cast => {
6737771872 const ty_op = air_datas[@intFromEnum(inst)].ty_op;
6737871873 const ops = try cg.tempsFromOperands(inst, .{ty_op.operand});
6737971874 try ops[0].finish(inst, &.{ty_op.operand}, &ops, cg);
6738071875 },
67381
6738271876 .save_err_return_trace_index => {
6738371877 const ty_pl = air_datas[@intFromEnum(inst)].ty_pl;
6738471878 const agg_ty = ty_pl.ty.toType();
......@@ -67388,17 +71882,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
6738871882 try ert.die(cg);
6738971883 try res.finish(inst, &.{}, &.{}, cg);
6739071884 },
67391
6739271885 .vector_store_elem => return cg.fail("TODO implement vector_store_elem", .{}),
67393
6739471886 .c_va_arg => try cg.airVaArg(inst),
6739571887 .c_va_copy => try cg.airVaCopy(inst),
6739671888 .c_va_end => try cg.airVaEnd(inst),
6739771889 .c_va_start => try cg.airVaStart(inst),
67398
67399 .work_item_id => unreachable,
67400 .work_group_size => unreachable,
67401 .work_group_id => unreachable,
71890 .work_item_id, .work_group_size, .work_group_id => unreachable,
6740271891 }
6740371892 try cg.resetTemps();
6740471893 cg.checkInvariantsAfterAirInst();
......@@ -67410,8 +71899,8 @@ fn genLazy(self: *CodeGen, lazy_sym: link.File.LazySymbol) InnerError!void {
6741071899 const pt = self.pt;
6741171900 const zcu = pt.zcu;
6741271901 const ip = &zcu.intern_pool;
67413 switch (Type.fromInterned(lazy_sym.ty).zigTypeTag(zcu)) {
67414 .@"enum" => {
71902 switch (ip.indexToKey(lazy_sym.ty)) {
71903 .enum_type => {
6741571904 const enum_ty: Type = .fromInterned(lazy_sym.ty);
6741671905 wip_mir_log.debug("{}.@tagName:", .{enum_ty.fmt(pt)});
6741771906
......@@ -67419,40 +71908,38 @@ fn genLazy(self: *CodeGen, lazy_sym: link.File.LazySymbol) InnerError!void {
6741971908 const param_locks = self.register_manager.lockRegsAssumeUnused(2, param_regs[0..2].*);
6742071909 defer for (param_locks) |lock| self.register_manager.unlockReg(lock);
6742171910
67422 const ret_reg = param_regs[0];
67423 const enum_mcv = MCValue{ .register = param_regs[1] };
71911 const ret_mcv: MCValue = .{ .register_pair = param_regs[0..2].* };
71912 const enum_mcv: MCValue = .{ .register = param_regs[0] };
6742471913
6742571914 const data_reg = try self.register_manager.allocReg(null, abi.RegisterClass.gp);
6742671915 const data_lock = self.register_manager.lockRegAssumeUnused(data_reg);
6742771916 defer self.register_manager.unlockReg(data_lock);
67428 try self.genLazySymbolRef(.lea, data_reg, .{ .kind = .const_data, .ty = enum_ty.toIntern() });
71917 try self.genLazySymbolRef(.lea, data_reg, .{ .kind = .const_data, .ty = lazy_sym.ty });
6742971918
6743071919 var data_off: i32 = 0;
67431 const tag_names = enum_ty.enumFields(zcu);
67432 for (0..enum_ty.enumFieldCount(zcu)) |tag_index| {
67433 var arg_temp = try self.tempInit(enum_ty, enum_mcv);
71920 const tag_names = ip.loadEnumType(lazy_sym.ty).names;
71921 for (0..tag_names.len) |tag_index| {
71922 var enum_temp = try self.tempInit(enum_ty, enum_mcv);
6743471923
6743571924 const tag_name_len = tag_names.get(ip)[tag_index].length(ip);
67436 const tag_val = try pt.enumValueFieldIndex(enum_ty, @intCast(tag_index));
67437 var tag_temp = try self.tempFromValue(tag_val);
67438 const cc_temp = arg_temp.cmpInts(.neq, &tag_temp, self) catch |err| switch (err) {
71925 var tag_temp = try self.tempFromValue(try pt.enumValueFieldIndex(enum_ty, @intCast(tag_index)));
71926 const cc_temp = enum_temp.cmpInts(.neq, &tag_temp, self) catch |err| switch (err) {
6743971927 error.SelectFailed => unreachable,
6744071928 else => |e| return e,
6744171929 };
67442 try arg_temp.die(self);
71930 try enum_temp.die(self);
6744371931 try tag_temp.die(self);
6744471932 const skip_reloc = try self.asmJccReloc(cc_temp.tracking(self).short.eflags, undefined);
6744571933 try cc_temp.die(self);
6744671934 try self.resetTemps();
6744771935
67448 try self.genSetMem(
67449 .{ .reg = ret_reg },
67450 0,
71936 try self.genSetReg(
71937 ret_mcv.register_pair[0],
6745171938 .usize,
6745271939 .{ .register_offset = .{ .reg = data_reg, .off = data_off } },
6745371940 .{},
6745471941 );
67455 try self.genSetMem(.{ .reg = ret_reg }, 8, .usize, .{ .immediate = tag_name_len }, .{});
71942 try self.genSetReg(ret_mcv.register_pair[1], .usize, .{ .immediate = tag_name_len }, .{});
6745671943 try self.asmOpOnly(.{ ._, .ret });
6745771944
6745871945 self.performReloc(skip_reloc);
......@@ -67460,7 +71947,49 @@ fn genLazy(self: *CodeGen, lazy_sym: link.File.LazySymbol) InnerError!void {
6746071947 data_off += @intCast(tag_name_len + 1);
6746171948 }
6746271949
67463 try self.asmOpOnly(.{ ._2, .ud });
71950 try self.genSetReg(ret_mcv.register_pair[0], .usize, .{ .immediate = 0 }, .{});
71951 try self.asmOpOnly(.{ ._, .ret });
71952 },
71953 .error_set_type => |error_set_type| {
71954 const err_ty: Type = .fromInterned(lazy_sym.ty);
71955 wip_mir_log.debug("{}.@errorCast:", .{err_ty.fmt(pt)});
71956
71957 const param_regs = abi.getCAbiIntParamRegs(.auto);
71958 const param_locks = self.register_manager.lockRegsAssumeUnused(2, param_regs[0..2].*);
71959 defer for (param_locks) |lock| self.register_manager.unlockReg(lock);
71960
71961 const ret_mcv: MCValue = .{ .register = param_regs[0] };
71962 const err_mcv: MCValue = .{ .register = param_regs[0] };
71963
71964 const ExpectedContents = [32]Mir.Inst.Index;
71965 var stack align(@max(@alignOf(ExpectedContents), @alignOf(std.heap.StackFallbackAllocator(0)))) =
71966 std.heap.stackFallback(@sizeOf(ExpectedContents), self.gpa);
71967 const allocator = stack.get();
71968
71969 const relocs = try allocator.alloc(Mir.Inst.Index, error_set_type.names.len);
71970 defer allocator.free(relocs);
71971
71972 for (0.., relocs) |tag_index, *reloc| {
71973 var err_temp = try self.tempInit(err_ty, err_mcv);
71974
71975 var tag_temp = try self.tempInit(.anyerror, .{
71976 .immediate = ip.getErrorValueIfExists(error_set_type.names.get(ip)[tag_index]).?,
71977 });
71978 const cc_temp = err_temp.cmpInts(.eq, &tag_temp, self) catch |err| switch (err) {
71979 error.SelectFailed => unreachable,
71980 else => |e| return e,
71981 };
71982 try err_temp.die(self);
71983 try tag_temp.die(self);
71984 reloc.* = try self.asmJccReloc(cc_temp.tracking(self).short.eflags, undefined);
71985 try cc_temp.die(self);
71986 try self.resetTemps();
71987 }
71988
71989 try self.genCopy(.usize, ret_mcv, .{ .immediate = 0 }, .{});
71990 for (relocs) |reloc| self.performReloc(reloc);
71991 assert(ret_mcv.register == err_mcv.register);
71992 try self.asmOpOnly(.{ ._, .ret });
6746471993 },
6746571994 else => return self.fail(
6746671995 "TODO implement {s} for {}",
......@@ -70348,7 +74877,7 @@ fn airUnwrapErrUnionErr(self: *CodeGen, inst: Air.Inst.Index) !void {
7034874877 }
7034974878
7035074879 if (!payload_ty.hasRuntimeBitsIgnoreComptime(zcu)) {
70351 break :result operand;
74880 break :result try self.copyToRegisterWithInstTracking(inst, err_union_ty, operand);
7035274881 }
7035374882
7035474883 const err_off = codegen.errUnionErrorOffset(payload_ty, zcu);
......@@ -70483,7 +75012,7 @@ fn airErrUnionPayloadPtrSet(self: *CodeGen, inst: Air.Inst.Index) !void {
7048375012 registerAlias(dst_reg, dst_abi_size),
7048475013 .{
7048575014 .base = .{ .reg = src_reg },
70486 .mod = .{ .rm = .{ .size = .qword, .disp = pl_off } },
75015 .mod = .{ .rm = .{ .disp = pl_off } },
7048775016 },
7048875017 );
7048975018 break :result .{ .register = dst_reg };
......@@ -70746,7 +75275,7 @@ fn airPtrSliceLenPtr(self: *CodeGen, inst: Air.Inst.Index) !void {
7074675275 registerAlias(dst_reg, dst_abi_size),
7074775276 .{
7074875277 .base = .{ .reg = src_reg },
70749 .mod = .{ .rm = .{ .size = .qword, .disp = 8 } },
75278 .mod = .{ .rm = .{ .disp = 8 } },
7075075279 },
7075175280 );
7075275281
......@@ -71000,7 +75529,7 @@ fn airArrayElemVal(self: *CodeGen, inst: Air.Inst.Index) !void {
7100075529 try self.asmRegisterMemory(
7100175530 .{ ._, .lea },
7100275531 addr_reg,
71003 .{ .base = .{ .frame = frame_index }, .mod = .{ .rm = .{ .size = .qword } } },
75532 .{ .base = .{ .frame = frame_index } },
7100475533 );
7100575534 },
7100675535 .load_frame => |frame_addr| try self.asmRegisterMemory(
......@@ -71008,7 +75537,7 @@ fn airArrayElemVal(self: *CodeGen, inst: Air.Inst.Index) !void {
7100875537 addr_reg,
7100975538 .{
7101075539 .base = .{ .frame = frame_addr.index },
71011 .mod = .{ .rm = .{ .size = .qword, .disp = frame_addr.off } },
75540 .mod = .{ .rm = .{ .disp = frame_addr.off } },
7101275541 },
7101375542 ),
7101475543 .memory,
......@@ -72017,7 +76546,6 @@ fn airBitReverse(self: *CodeGen, inst: Air.Inst.Index) !void {
7201776546 .{
7201876547 .base = .{ .reg = dst.to64() },
7201976548 .mod = .{ .rm = .{
72020 .size = .qword,
7202176549 .index = tmp.to64(),
7202276550 .scale = .@"4",
7202376551 } },
......@@ -72044,7 +76572,6 @@ fn airBitReverse(self: *CodeGen, inst: Air.Inst.Index) !void {
7204476572 .{
7204576573 .base = .{ .reg = tmp.to64() },
7204676574 .mod = .{ .rm = .{
72047 .size = .qword,
7204876575 .index = dst.to64(),
7204976576 .scale = .@"2",
7205076577 } },
......@@ -78848,7 +83375,7 @@ fn lowerSwitchBr(
7884883375
7884983376 var cases_it = switch_br.iterateCases();
7885083377 while (cases_it.next()) |case| {
78851 var relocs = try allocator.alloc(Mir.Inst.Index, case.items.len + case.ranges.len);
83378 const relocs = try allocator.alloc(Mir.Inst.Index, case.items.len + case.ranges.len);
7885283379 defer allocator.free(relocs);
7885383380
7885483381 try self.spillEflagsIfOccupied();
......@@ -80350,17 +84877,32 @@ fn genCopy(self: *CodeGen, ty: Type, dst_mcv: MCValue, src_mcv: MCValue, opts: C
8035084877 else => unreachable,
8035184878 },
8035284879 dst_tag => |src_regs| {
84880 var remaining: std.StaticBitSet(dst_regs.len) = .initFull();
8035384881 var hazard_regs = src_regs;
80354 for (dst_regs, &hazard_regs, 1..) |dst_reg, src_reg, hazard_index| {
80355 const dst_id = dst_reg.id();
80356 if (dst_id == src_reg.id()) continue;
80357 var mir_tag: Mir.Inst.FixedTag = .{ ._, .mov };
80358 for (hazard_regs[hazard_index..]) |*hazard_reg| {
80359 if (dst_id != hazard_reg.id()) continue;
80360 mir_tag = .{ ._g, .xch };
80361 hazard_reg.* = src_reg;
84882 while (!remaining.eql(.initEmpty())) {
84883 var remaining_it = remaining.iterator(.{});
84884 next: while (remaining_it.next()) |index| {
84885 const dst_reg = dst_regs[index];
84886 const dst_id = dst_reg.id();
84887 const src_reg = hazard_regs[index];
84888 const src_id = src_reg.id();
84889 if (dst_id == src_id) {
84890 remaining.unset(index);
84891 continue;
84892 }
84893 var mir_tag: Mir.Inst.FixedTag = .{ ._, .mov };
84894 var hazard_it = remaining.iterator(.{});
84895 while (hazard_it.next()) |hazard_index| {
84896 if (dst_id != hazard_regs[hazard_index].id()) continue;
84897 for (dst_regs) |clobber_reg| {
84898 if (src_id == clobber_reg.id()) break;
84899 } else continue :next;
84900 hazard_regs[hazard_index] = src_reg;
84901 mir_tag = .{ ._g, .xch };
84902 }
84903 remaining.unset(index);
84904 try self.asmRegisterRegister(mir_tag, dst_reg.to64(), src_reg.to64());
8036284905 }
80363 try self.asmRegisterRegister(mir_tag, dst_reg.to64(), src_reg.to64());
8036484906 }
8036584907 return;
8036684908 },
......@@ -80876,7 +85418,6 @@ fn genSetReg(
8087685418 dst_reg.to64(),
8087785419 .{
8087885420 .base = .{ .reloc = sym_off.sym_index },
80879 .mod = .{ .rm = .{ .size = .qword } },
8088085421 },
8088185422 );
8088285423 if (sym_off.off != 0) try self.asmRegisterMemory(
......@@ -80884,10 +85425,7 @@ fn genSetReg(
8088485425 dst_reg.to64(),
8088585426 .{
8088685427 .base = .{ .reg = dst_reg.to64() },
80887 .mod = .{ .rm = .{
80888 .size = .qword,
80889 .disp = sym_off.off,
80890 } },
85428 .mod = .{ .rm = .{ .disp = sym_off.off } },
8089185429 },
8089285430 );
8089385431 },
......@@ -81101,18 +85639,12 @@ fn genSetMem(
8110185639 const src_reg = registerAlias(reg_off.reg, abi_size);
8110285640 try self.asmRegisterMemory(.{ ._, .lea }, src_reg, .{
8110385641 .base = .{ .reg = src_reg },
81104 .mod = .{ .rm = .{
81105 .size = .qword,
81106 .disp = reg_off.off,
81107 } },
85642 .mod = .{ .rm = .{ .disp = reg_off.off } },
8110885643 });
8110985644 try self.genSetMem(base, disp, ty, .{ .register = reg_off.reg }, opts);
8111085645 return self.asmRegisterMemory(.{ ._, .lea }, src_reg, .{
8111185646 .base = .{ .reg = src_reg },
81112 .mod = .{ .rm = .{
81113 .size = .qword,
81114 .disp = -reg_off.off,
81115 } },
85647 .mod = .{ .rm = .{ .disp = -reg_off.off } },
8111685648 });
8111785649 },
8111885650 else => |e| return e,
......@@ -81636,12 +86168,14 @@ fn airIntFromFloat(self: *CodeGen, inst: Air.Inst.Index) !void {
8163686168
8163786169fn airCmpxchg(self: *CodeGen, inst: Air.Inst.Index) !void {
8163886170 const pt = self.pt;
86171 const zcu = pt.zcu;
8163986172 const ty_pl = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_pl;
8164086173 const extra = self.air.extraData(Air.Cmpxchg, ty_pl.payload).data;
8164186174
86175 const dst_ty = self.typeOfIndex(inst);
8164286176 const ptr_ty = self.typeOf(extra.ptr);
8164386177 const val_ty = self.typeOf(extra.expected_value);
81644 const val_abi_size: u32 = @intCast(val_ty.abiSize(pt.zcu));
86178 const val_abi_size: u32 = @intCast(val_ty.abiSize(zcu));
8164586179
8164686180 try self.spillRegisters(&.{ .rax, .rdx, .rbx, .rcx });
8164786181 const regs_lock = self.register_manager.lockRegsAssumeUnused(4, .{ .rax, .rdx, .rbx, .rcx });
......@@ -81699,6 +86233,14 @@ fn airCmpxchg(self: *CodeGen, inst: Air.Inst.Index) !void {
8169986233 defer if (ptr_lock) |lock| self.register_manager.unlockReg(lock);
8170086234
8170186235 try self.spillEflagsIfOccupied();
86236 const null_reg = if (dst_ty.optionalReprIsPayload(zcu) and !self.liveness.isUnused(inst)) null_reg: {
86237 const null_reg = try self.register_manager.allocReg(null, abi.RegisterClass.gp);
86238 try self.asmRegisterRegister(.{ ._, .xor }, null_reg.to32(), null_reg.to32());
86239 break :null_reg null_reg;
86240 } else null;
86241 const null_lock = if (null_reg) |reg| self.register_manager.lockRegAssumeUnused(reg) else null;
86242 defer if (null_lock) |lock| self.register_manager.unlockReg(lock);
86243
8170286244 if (val_abi_size <= 8) try self.asmMemoryRegister(
8170386245 .{ .@"lock _", .cmpxchg },
8170486246 ptr_mem,
......@@ -81708,7 +86250,14 @@ fn airCmpxchg(self: *CodeGen, inst: Air.Inst.Index) !void {
8170886250 const result: MCValue = result: {
8170986251 if (self.liveness.isUnused(inst)) break :result .unreach;
8171086252
86253 if (null_reg) |reg| try self.asmCmovccRegisterRegister(
86254 .e,
86255 registerAlias(.rax, val_abi_size),
86256 registerAlias(reg, val_abi_size),
86257 );
86258
8171186259 if (val_abi_size <= 8) {
86260 if (null_reg) |_| break :result .{ .register = .rax };
8171286261 self.eflags_inst = inst;
8171386262 break :result .{ .register_overflow = .{ .reg = .rax, .eflags = .ne } };
8171486263 }
......@@ -81716,7 +86265,7 @@ fn airCmpxchg(self: *CodeGen, inst: Air.Inst.Index) !void {
8171686265 const dst_mcv = try self.allocRegOrMem(inst, false);
8171786266 try self.genCopy(.usize, dst_mcv, .{ .register = .rax }, .{});
8171886267 try self.genCopy(.usize, dst_mcv.address().offset(8).deref(), .{ .register = .rdx }, .{});
81719 try self.genCopy(.bool, dst_mcv.address().offset(16).deref(), .{ .eflags = .ne }, .{});
86268 if (null_reg == null) try self.genCopy(.bool, dst_mcv.address().offset(16).deref(), .{ .eflags = .ne }, .{});
8172086269 break :result dst_mcv;
8172186270 };
8172286271 return self.finishAir(inst, result, .{ extra.ptr, extra.expected_value, extra.new_value });
......@@ -82351,7 +86900,7 @@ fn airMemcpy(self: *CodeGen, inst: Air.Inst.Index) !void {
8235186900 return self.finishAir(inst, .unreach, .{ bin_op.lhs, bin_op.rhs, .none });
8235286901}
8235386902
82354fn airTagName(self: *CodeGen, inst: Air.Inst.Index) !void {
86903fn airTagName(self: *CodeGen, inst: Air.Inst.Index, only_safety: bool) !void {
8235586904 const pt = self.pt;
8235686905 const zcu = pt.zcu;
8235786906 const un_op = self.air.instructions.items(.data)[@intFromEnum(inst)].un_op;
......@@ -82373,25 +86922,26 @@ fn airTagName(self: *CodeGen, inst: Air.Inst.Index) !void {
8237386922 stack_frame_align.* = stack_frame_align.max(needed_call_frame.abi_align);
8237486923 }
8237586924
86925 var param_gpr = abi.getCAbiIntParamRegs(.auto);
8237686926 const err_ret_trace_reg = if (zcu.comp.config.any_error_tracing) err_ret_trace_reg: {
82377 const param_gpr = abi.getCAbiIntParamRegs(.auto);
86927 defer param_gpr = param_gpr[0 .. param_gpr.len - 1];
8237886928 break :err_ret_trace_reg param_gpr[param_gpr.len - 1];
8237986929 } else .none;
8238086930
8238186931 try self.spillEflagsIfOccupied();
8238286932 try self.spillCallerPreservedRegs(.auto, err_ret_trace_reg);
8238386933
82384 const param_regs = abi.getCAbiIntParamRegs(.auto);
82385
82386 const dst_mcv = try self.allocRegOrMem(inst, false);
82387 try self.genSetReg(param_regs[0], .usize, dst_mcv.address(), .{});
82388
8238986934 const operand = try self.resolveInst(un_op);
82390 try self.genSetReg(param_regs[1], enum_ty, operand, .{});
86935 try self.genSetReg(param_gpr[0], enum_ty, operand, .{});
8239186936
8239286937 const enum_lazy_sym: link.File.LazySymbol = .{ .kind = .code, .ty = enum_ty.toIntern() };
8239386938 try self.genLazySymbolRef(.call, abi.getCAbiLinkerScratchReg(.auto), enum_lazy_sym);
8239486939
86940 const tag_name_regs = param_gpr[0..2].*;
86941 const dst_mcv: MCValue = if (only_safety) result: {
86942 try self.asmRegisterRegister(.{ ._, .@"test" }, tag_name_regs[0].to64(), tag_name_regs[0].to64());
86943 break :result .{ .eflags = .nz };
86944 } else .{ .register_pair = tag_name_regs };
8239586945 return self.finishAir(inst, dst_mcv, .{ un_op, .none, .none });
8239686946}
8239786947
......@@ -82452,10 +87002,7 @@ fn airErrorName(self: *CodeGen, inst: Air.Inst.Index) !void {
8245287002 start_reg.to64(),
8245387003 .{
8245487004 .base = .{ .reg = addr_reg.to64() },
82455 .mod = .{ .rm = .{
82456 .size = .dword,
82457 .index = start_reg.to64(),
82458 } },
87005 .mod = .{ .rm = .{ .index = start_reg.to64() } },
8245987006 },
8246087007 );
8246187008 try self.asmRegisterMemory(
......@@ -82463,10 +87010,7 @@ fn airErrorName(self: *CodeGen, inst: Air.Inst.Index) !void {
8246387010 end_reg.to32(),
8246487011 .{
8246587012 .base = .{ .reg = end_reg.to64() },
82466 .mod = .{ .rm = .{
82467 .size = .byte,
82468 .disp = -1,
82469 } },
87013 .mod = .{ .rm = .{ .disp = -1 } },
8247087014 },
8247187015 );
8247287016
......@@ -82497,6 +87041,50 @@ fn airErrorName(self: *CodeGen, inst: Air.Inst.Index) !void {
8249787041 return self.finishAir(inst, dst_mcv, .{ un_op, .none, .none });
8249887042}
8249987043
87044fn airErrorSetHasValue(self: *CodeGen, inst: Air.Inst.Index) !void {
87045 const pt = self.pt;
87046 const zcu = pt.zcu;
87047 const ty_op = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_op;
87048 const inst_ty = self.typeOfIndex(inst);
87049 const err_ty = ty_op.ty.toType();
87050
87051 // We need a properly aligned and sized call frame to be able to call this function.
87052 {
87053 const needed_call_frame: FrameAlloc = .init(.{
87054 .size = inst_ty.abiSize(zcu),
87055 .alignment = inst_ty.abiAlignment(zcu),
87056 });
87057 const frame_allocs_slice = self.frame_allocs.slice();
87058 const stack_frame_size =
87059 &frame_allocs_slice.items(.abi_size)[@intFromEnum(FrameIndex.call_frame)];
87060 stack_frame_size.* = @max(stack_frame_size.*, needed_call_frame.abi_size);
87061 const stack_frame_align =
87062 &frame_allocs_slice.items(.abi_align)[@intFromEnum(FrameIndex.call_frame)];
87063 stack_frame_align.* = stack_frame_align.max(needed_call_frame.abi_align);
87064 }
87065
87066 var param_gpr = abi.getCAbiIntParamRegs(.auto);
87067 const err_ret_trace_reg = if (zcu.comp.config.any_error_tracing) err_ret_trace_reg: {
87068 defer param_gpr = param_gpr[0 .. param_gpr.len - 1];
87069 break :err_ret_trace_reg param_gpr[param_gpr.len - 1];
87070 } else .none;
87071
87072 try self.spillEflagsIfOccupied();
87073 try self.spillCallerPreservedRegs(.auto, err_ret_trace_reg);
87074
87075 const operand = try self.resolveInst(ty_op.operand);
87076 try self.genSetReg(param_gpr[0], err_ty, operand, .{});
87077
87078 const enum_lazy_sym: link.File.LazySymbol = .{ .kind = .code, .ty = err_ty.toIntern() };
87079 try self.genLazySymbolRef(.call, abi.getCAbiLinkerScratchReg(.auto), enum_lazy_sym);
87080
87081 const res_reg = param_gpr[0];
87082 try self.asmRegisterRegister(.{ ._, .@"test" }, res_reg.to32(), res_reg.to32());
87083
87084 const dst_mcv: MCValue = .{ .eflags = .nz };
87085 return self.finishAir(inst, dst_mcv, .{ ty_op.operand, .none, .none });
87086}
87087
8250087088fn airSplat(self: *CodeGen, inst: Air.Inst.Index) !void {
8250187089 const pt = self.pt;
8250287090 const zcu = pt.zcu;
......@@ -84598,17 +89186,11 @@ fn airVaArg(self: *CodeGen, inst: Air.Inst.Index) !void {
8459889186 try self.genSetReg(addr_reg, ptr_anyopaque_ty, reg_save_area, .{});
8459989187 if (!unused) try self.asmRegisterMemory(.{ ._, .lea }, addr_reg, .{
8460089188 .base = .{ .reg = addr_reg },
84601 .mod = .{ .rm = .{
84602 .size = .qword,
84603 .index = offset_reg.to64(),
84604 } },
89189 .mod = .{ .rm = .{ .index = offset_reg.to64() } },
8460589190 });
8460689191 try self.asmRegisterMemory(.{ ._, .lea }, offset_reg, .{
8460789192 .base = .{ .reg = offset_reg.to64() },
84608 .mod = .{ .rm = .{
84609 .size = .qword,
84610 .disp = 8,
84611 } },
89193 .mod = .{ .rm = .{ .disp = 8 } },
8461289194 });
8461389195 try self.genCopy(.c_uint, gp_offset, .{ .register = offset_reg }, .{});
8461489196 const done_reloc = try self.asmJmpReloc(undefined);
......@@ -84617,10 +89199,7 @@ fn airVaArg(self: *CodeGen, inst: Air.Inst.Index) !void {
8461789199 try self.genSetReg(addr_reg, ptr_anyopaque_ty, overflow_arg_area, .{});
8461889200 try self.asmRegisterMemory(.{ ._, .lea }, offset_reg.to64(), .{
8461989201 .base = .{ .reg = addr_reg },
84620 .mod = .{ .rm = .{
84621 .size = .qword,
84622 .disp = @intCast(@max(promote_ty.abiSize(zcu), 8)),
84623 } },
89202 .mod = .{ .rm = .{ .disp = @intCast(@max(promote_ty.abiSize(zcu), 8)) } },
8462489203 });
8462589204 try self.genCopy(
8462689205 ptr_anyopaque_ty,
......@@ -84646,17 +89225,11 @@ fn airVaArg(self: *CodeGen, inst: Air.Inst.Index) !void {
8464689225 try self.genSetReg(addr_reg, ptr_anyopaque_ty, reg_save_area, .{});
8464789226 if (!unused) try self.asmRegisterMemory(.{ ._, .lea }, addr_reg, .{
8464889227 .base = .{ .reg = addr_reg },
84649 .mod = .{ .rm = .{
84650 .size = .qword,
84651 .index = offset_reg.to64(),
84652 } },
89228 .mod = .{ .rm = .{ .index = offset_reg.to64() } },
8465389229 });
8465489230 try self.asmRegisterMemory(.{ ._, .lea }, offset_reg, .{
8465589231 .base = .{ .reg = offset_reg.to64() },
84656 .mod = .{ .rm = .{
84657 .size = .qword,
84658 .disp = 16,
84659 } },
89232 .mod = .{ .rm = .{ .disp = 16 } },
8466089233 });
8466189234 try self.genCopy(.c_uint, fp_offset, .{ .register = offset_reg }, .{});
8466289235 const done_reloc = try self.asmJmpReloc(undefined);
......@@ -84665,10 +89238,7 @@ fn airVaArg(self: *CodeGen, inst: Air.Inst.Index) !void {
8466589238 try self.genSetReg(addr_reg, ptr_anyopaque_ty, overflow_arg_area, .{});
8466689239 try self.asmRegisterMemory(.{ ._, .lea }, offset_reg.to64(), .{
8466789240 .base = .{ .reg = addr_reg },
84668 .mod = .{ .rm = .{
84669 .size = .qword,
84670 .disp = @intCast(@max(promote_ty.abiSize(zcu), 8)),
84671 } },
89241 .mod = .{ .rm = .{ .disp = @intCast(@max(promote_ty.abiSize(zcu), 8)) } },
8467289242 });
8467389243 try self.genCopy(
8467489244 ptr_anyopaque_ty,
......@@ -85728,10 +90298,7 @@ const Temp = struct {
8572890298 new_temp_index.tracking(cg).* = .init(.{ .register = new_reg });
8572990299 try cg.asmRegisterMemory(.{ ._, .lea }, new_reg.to64(), .{
8573090300 .base = .{ .reg = reg.to64() },
85731 .mod = .{ .rm = .{
85732 .size = .qword,
85733 .disp = off,
85734 } },
90301 .mod = .{ .rm = .{ .disp = off } },
8573590302 });
8573690303 },
8573790304 .register_offset => |reg_off| {
......@@ -85740,10 +90307,7 @@ const Temp = struct {
8574090307 new_temp_index.tracking(cg).* = .init(.{ .register = new_reg });
8574190308 try cg.asmRegisterMemory(.{ ._, .lea }, new_reg.to64(), .{
8574290309 .base = .{ .reg = reg_off.reg.to64() },
85743 .mod = .{ .rm = .{
85744 .size = .qword,
85745 .disp = reg_off.off + off,
85746 } },
90310 .mod = .{ .rm = .{ .disp = reg_off.off + off } },
8574790311 });
8574890312 },
8574990313 .lea_symbol => |sym_off| new_temp_index.tracking(cg).* = .init(.{ .lea_symbol = .{
......@@ -85850,10 +90414,7 @@ const Temp = struct {
8585090414 new_temp_index.tracking(cg).* = .init(.{ .register = new_reg });
8585190415 try cg.asmRegisterMemory(.{ ._, .lea }, new_reg.to64(), .{
8585290416 .base = .{ .reg = reg_off.reg.to64() },
85853 .mod = .{ .rm = .{
85854 .size = .qword,
85855 .disp = reg_off.off + @as(u31, limb_index) * 8,
85856 } },
90417 .mod = .{ .rm = .{ .disp = reg_off.off + @as(u31, limb_index) * 8 } },
8585790418 });
8585890419 },
8585990420 .load_symbol => |sym_off| {
......@@ -85969,7 +90530,7 @@ const Temp = struct {
8596990530 try cg.register_manager.getReg(new_reg, new_temp_index.toIndex());
8597090531 cg.temp_type[@intFromEnum(new_temp_index)] = ty;
8597190532 new_temp_index.tracking(cg).* = .init(.{ .register = new_reg });
85972 while (try temp.toBase(cg)) {}
90533 while (try temp.toBase(false, cg)) {}
8597390534 try temp.readTo(ty, .{ .register = new_reg }, .{}, cg);
8597490535 try temp.die(cg);
8597590536 temp.* = .{ .index = new_temp_index.toIndex() };
......@@ -85992,7 +90553,7 @@ const Temp = struct {
8599290553 for (new_regs) |new_reg| try cg.register_manager.getReg(new_reg, new_temp_index.toIndex());
8599390554 cg.temp_type[@intFromEnum(new_temp_index)] = ty;
8599490555 new_temp_index.tracking(cg).* = .init(.{ .register_pair = new_regs });
85995 while (try temp.toBase(cg)) {}
90556 while (try temp.toBase(false, cg)) {}
8599690557 for (new_regs, 0..) |new_reg, reg_index| try temp.readTo(
8599790558 .usize,
8599890559 .{ .register = new_reg },
......@@ -86093,9 +90654,9 @@ const Temp = struct {
8609390654 }
8609490655 }
8609590656
86096 fn toMemory(temp: *Temp, cg: *CodeGen) InnerError!bool {
90657 fn toMemory(temp: *Temp, mut: bool, cg: *CodeGen) InnerError!bool {
8609790658 const temp_tracking = temp.tracking(cg);
86098 if (temp_tracking.short.isMemory()) return false;
90659 if ((!mut or temp.isMut(cg)) and temp_tracking.short.isMemory()) return false;
8609990660 const new_temp_index = cg.next_temp_index;
8610090661 const ty = temp.typeOf(cg);
8610190662 cg.temp_type[@intFromEnum(new_temp_index)] = ty;
......@@ -86109,10 +90670,10 @@ const Temp = struct {
8610990670 }
8611090671
8611190672 // hack around linker relocation bugs
86112 fn toBase(temp: *Temp, cg: *CodeGen) InnerError!bool {
90673 fn toBase(temp: *Temp, mut: bool, cg: *CodeGen) InnerError!bool {
8611390674 const temp_tracking = temp.tracking(cg);
86114 if (temp_tracking.short.isBase()) return false;
86115 if (try temp.toMemory(cg)) return true;
90675 if ((!mut or temp.isMut(cg)) and temp_tracking.short.isBase()) return false;
90676 if (try temp.toMemory(mut, cg)) return true;
8611690677 const new_temp_index = cg.next_temp_index;
8611790678 cg.temp_type[@intFromEnum(new_temp_index)] = temp.typeOf(cg);
8611890679 const new_reg =
......@@ -86267,7 +90828,7 @@ const Temp = struct {
8626790828
8626890829 fn read(src: *Temp, val_ty: Type, opts: AccessOptions, cg: *CodeGen) InnerError!Temp {
8626990830 var val = try cg.tempAlloc(val_ty);
86270 while (try src.toBase(cg)) {}
90831 while (try src.toBase(false, cg)) {}
8627190832 try src.readTo(val_ty, val.tracking(cg).short, opts, cg);
8627290833 return val;
8627390834 }
......@@ -86308,8 +90869,8 @@ const Temp = struct {
8630890869
8630990870 fn write(dst: *Temp, val: *Temp, opts: AccessOptions, cg: *CodeGen) InnerError!void {
8631090871 const val_ty = val.typeOf(cg);
86311 while (try dst.toBase(cg)) {}
86312 val_to_gpr: while (true) : (while (try dst.toBase(cg) or
90872 while (try dst.toBase(false, cg)) {}
90873 val_to_gpr: while (true) : (while (try dst.toBase(false, cg) or
8631390874 try val.toRegClass(false, .general_purpose, cg))
8631490875 {}) {
8631590876 const val_mcv = val.tracking(cg).short;
......@@ -86540,7 +91101,7 @@ const Temp = struct {
8654091101 .{ .src = .{ .imm8, .to_gpr, .none }, .commute = .{ 0, 1 } },
8654191102 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },
8654291103 },
86543 .dst_temps = .{.{ .cc = .g }},
91104 .dst_temps = .{ .{ .cc = .g }, .unused },
8654491105 .clobbers = .{ .eflags = true },
8654591106 .each = .{ .once = &.{
8654691107 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },
......@@ -86553,7 +91114,7 @@ const Temp = struct {
8655391114 .{ .src = .{ .to_gpr, .mem, .none } },
8655491115 .{ .src = .{ .to_gpr, .to_gpr, .none } },
8655591116 },
86556 .dst_temps = .{.{ .cc = .l }},
91117 .dst_temps = .{ .{ .cc = .l }, .unused },
8655791118 .clobbers = .{ .eflags = true },
8655891119 .each = .{ .once = &.{
8655991120 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },
......@@ -86565,7 +91126,7 @@ const Temp = struct {
8656591126 .{ .src = .{ .imm8, .to_gpr, .none }, .commute = .{ 0, 1 } },
8656691127 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },
8656791128 },
86568 .dst_temps = .{.{ .cc = .a }},
91129 .dst_temps = .{ .{ .cc = .a }, .unused },
8656991130 .clobbers = .{ .eflags = true },
8657091131 .each = .{ .once = &.{
8657191132 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },
......@@ -86578,7 +91139,7 @@ const Temp = struct {
8657891139 .{ .src = .{ .to_gpr, .mem, .none } },
8657991140 .{ .src = .{ .to_gpr, .to_gpr, .none } },
8658091141 },
86581 .dst_temps = .{.{ .cc = .b }},
91142 .dst_temps = .{ .{ .cc = .b }, .unused },
8658291143 .clobbers = .{ .eflags = true },
8658391144 .each = .{ .once = &.{
8658491145 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },
......@@ -86590,7 +91151,7 @@ const Temp = struct {
8659091151 .{ .src = .{ .imm16, .to_gpr, .none }, .commute = .{ 0, 1 } },
8659191152 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },
8659291153 },
86593 .dst_temps = .{.{ .cc = .g }},
91154 .dst_temps = .{ .{ .cc = .g }, .unused },
8659491155 .clobbers = .{ .eflags = true },
8659591156 .each = .{ .once = &.{
8659691157 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },
......@@ -86603,7 +91164,7 @@ const Temp = struct {
8660391164 .{ .src = .{ .to_gpr, .mem, .none } },
8660491165 .{ .src = .{ .to_gpr, .to_gpr, .none } },
8660591166 },
86606 .dst_temps = .{.{ .cc = .l }},
91167 .dst_temps = .{ .{ .cc = .l }, .unused },
8660791168 .clobbers = .{ .eflags = true },
8660891169 .each = .{ .once = &.{
8660991170 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },
......@@ -86615,7 +91176,7 @@ const Temp = struct {
8661591176 .{ .src = .{ .imm16, .to_gpr, .none }, .commute = .{ 0, 1 } },
8661691177 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },
8661791178 },
86618 .dst_temps = .{.{ .cc = .a }},
91179 .dst_temps = .{ .{ .cc = .a }, .unused },
8661991180 .clobbers = .{ .eflags = true },
8662091181 .each = .{ .once = &.{
8662191182 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },
......@@ -86628,7 +91189,7 @@ const Temp = struct {
8662891189 .{ .src = .{ .to_gpr, .mem, .none } },
8662991190 .{ .src = .{ .to_gpr, .to_gpr, .none } },
8663091191 },
86631 .dst_temps = .{.{ .cc = .b }},
91192 .dst_temps = .{ .{ .cc = .b }, .unused },
8663291193 .clobbers = .{ .eflags = true },
8663391194 .each = .{ .once = &.{
8663491195 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },
......@@ -86640,7 +91201,7 @@ const Temp = struct {
8664091201 .{ .src = .{ .imm32, .to_gpr, .none }, .commute = .{ 0, 1 } },
8664191202 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },
8664291203 },
86643 .dst_temps = .{.{ .cc = .g }},
91204 .dst_temps = .{ .{ .cc = .g }, .unused },
8664491205 .clobbers = .{ .eflags = true },
8664591206 .each = .{ .once = &.{
8664691207 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },
......@@ -86653,7 +91214,7 @@ const Temp = struct {
8665391214 .{ .src = .{ .to_gpr, .mem, .none } },
8665491215 .{ .src = .{ .to_gpr, .to_gpr, .none } },
8665591216 },
86656 .dst_temps = .{.{ .cc = .l }},
91217 .dst_temps = .{ .{ .cc = .l }, .unused },
8665791218 .clobbers = .{ .eflags = true },
8665891219 .each = .{ .once = &.{
8665991220 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },
......@@ -86665,7 +91226,7 @@ const Temp = struct {
8666591226 .{ .src = .{ .imm32, .to_gpr, .none }, .commute = .{ 0, 1 } },
8666691227 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },
8666791228 },
86668 .dst_temps = .{.{ .cc = .a }},
91229 .dst_temps = .{ .{ .cc = .a }, .unused },
8666991230 .clobbers = .{ .eflags = true },
8667091231 .each = .{ .once = &.{
8667191232 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },
......@@ -86678,7 +91239,7 @@ const Temp = struct {
8667891239 .{ .src = .{ .to_gpr, .mem, .none } },
8667991240 .{ .src = .{ .to_gpr, .to_gpr, .none } },
8668091241 },
86681 .dst_temps = .{.{ .cc = .b }},
91242 .dst_temps = .{ .{ .cc = .b }, .unused },
8668291243 .clobbers = .{ .eflags = true },
8668391244 .each = .{ .once = &.{
8668491245 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },
......@@ -86691,7 +91252,7 @@ const Temp = struct {
8669191252 .{ .src = .{ .simm32, .to_gpr, .none }, .commute = .{ 0, 1 } },
8669291253 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },
8669391254 },
86694 .dst_temps = .{.{ .cc = .g }},
91255 .dst_temps = .{ .{ .cc = .g }, .unused },
8669591256 .clobbers = .{ .eflags = true },
8669691257 .each = .{ .once = &.{
8669791258 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },
......@@ -86705,7 +91266,7 @@ const Temp = struct {
8670591266 .{ .src = .{ .to_gpr, .mem, .none } },
8670691267 .{ .src = .{ .to_gpr, .to_gpr, .none } },
8670791268 },
86708 .dst_temps = .{.{ .cc = .l }},
91269 .dst_temps = .{ .{ .cc = .l }, .unused },
8670991270 .clobbers = .{ .eflags = true },
8671091271 .each = .{ .once = &.{
8671191272 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },
......@@ -86718,7 +91279,7 @@ const Temp = struct {
8671891279 .{ .src = .{ .simm32, .to_gpr, .none }, .commute = .{ 0, 1 } },
8671991280 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },
8672091281 },
86721 .dst_temps = .{.{ .cc = .a }},
91282 .dst_temps = .{ .{ .cc = .a }, .unused },
8672291283 .clobbers = .{ .eflags = true },
8672391284 .each = .{ .once = &.{
8672491285 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },
......@@ -86732,7 +91293,7 @@ const Temp = struct {
8673291293 .{ .src = .{ .to_gpr, .mem, .none } },
8673391294 .{ .src = .{ .to_gpr, .to_gpr, .none } },
8673491295 },
86735 .dst_temps = .{.{ .cc = .b }},
91296 .dst_temps = .{ .{ .cc = .b }, .unused },
8673691297 .clobbers = .{ .eflags = true },
8673791298 .each = .{ .once = &.{
8673891299 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },
......@@ -86758,7 +91319,7 @@ const Temp = struct {
8675891319 .unused,
8675991320 .unused,
8676091321 },
86761 .dst_temps = .{.{ .cc = .l }},
91322 .dst_temps = .{ .{ .cc = .l }, .unused },
8676291323 .clobbers = .{ .eflags = true },
8676391324 .each = .{ .once = &.{
8676491325 .{ ._, ._, .mov, .tmp0p, .sia(1, .src0, .sub_size_div_8), ._, ._ },
......@@ -86791,7 +91352,7 @@ const Temp = struct {
8679191352 .unused,
8679291353 .unused,
8679391354 },
86794 .dst_temps = .{.{ .cc = .b }},
91355 .dst_temps = .{ .{ .cc = .b }, .unused },
8679591356 .clobbers = .{ .eflags = true },
8679691357 .each = .{ .once = &.{
8679791358 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_8), ._, ._ },
......@@ -86821,7 +91382,7 @@ const Temp = struct {
8682191382 .unused,
8682291383 .unused,
8682391384 },
86824 .dst_temps = .{.{ .cc = .l }},
91385 .dst_temps = .{ .{ .cc = .l }, .unused },
8682591386 .clobbers = .{ .eflags = true },
8682691387 .each = .{ .once = &.{
8682791388 .{ ._, ._, .mov, .tmp0p, .sia(1, .src0, .sub_size_div_4), ._, ._ },
......@@ -86853,7 +91414,7 @@ const Temp = struct {
8685391414 .unused,
8685491415 .unused,
8685591416 },
86856 .dst_temps = .{.{ .cc = .b }},
91417 .dst_temps = .{ .{ .cc = .b }, .unused },
8685791418 .clobbers = .{ .eflags = true },
8685891419 .each = .{ .once = &.{
8685991420 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_4), ._, ._ },
......@@ -86878,7 +91439,7 @@ const Temp = struct {
8687891439 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },
8687991440 .{ .src = .{ .to_gpr, .to_gpr, .none } },
8688091441 },
86881 .dst_temps = .{.{ .cc = .e }},
91442 .dst_temps = .{ .{ .cc = .e }, .unused },
8688291443 .clobbers = .{ .eflags = true },
8688391444 .each = .{ .once = &.{
8688491445 .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ },
......@@ -86894,7 +91455,7 @@ const Temp = struct {
8689491455 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },
8689591456 .{ .src = .{ .to_gpr, .to_gpr, .none } },
8689691457 },
86897 .dst_temps = .{.{ .cc = .e }},
91458 .dst_temps = .{ .{ .cc = .e }, .unused },
8689891459 .clobbers = .{ .eflags = true },
8689991460 .each = .{ .once = &.{
8690091461 .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ },
......@@ -86910,7 +91471,7 @@ const Temp = struct {
8691091471 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },
8691191472 .{ .src = .{ .to_gpr, .to_gpr, .none } },
8691291473 },
86913 .dst_temps = .{.{ .cc = .e }},
91474 .dst_temps = .{ .{ .cc = .e }, .unused },
8691491475 .clobbers = .{ .eflags = true },
8691591476 .each = .{ .once = &.{
8691691477 .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ },
......@@ -86927,7 +91488,7 @@ const Temp = struct {
8692791488 .{ .src = .{ .mem, .to_gpr, .none }, .commute = .{ 0, 1 } },
8692891489 .{ .src = .{ .to_gpr, .to_gpr, .none } },
8692991490 },
86930 .dst_temps = .{.{ .cc = .e }},
91491 .dst_temps = .{ .{ .cc = .e }, .unused },
8693191492 .clobbers = .{ .eflags = true },
8693291493 .each = .{ .once = &.{
8693391494 .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ },
......@@ -86951,7 +91512,7 @@ const Temp = struct {
8695191512 .unused,
8695291513 .unused,
8695391514 },
86954 .dst_temps = .{.{ .cc = .z }},
91515 .dst_temps = .{ .{ .cc = .z }, .unused },
8695591516 .clobbers = .{ .eflags = true },
8695691517 .each = .{ .once = &.{
8695791518 .{ ._, .p_, .xor, .tmp1q, .tmp1q, ._, ._ },
......@@ -86979,7 +91540,7 @@ const Temp = struct {
8697991540 .unused,
8698091541 .unused,
8698191542 },
86982 .dst_temps = .{.{ .cc = .z }},
91543 .dst_temps = .{ .{ .cc = .z }, .unused },
8698391544 .clobbers = .{ .eflags = true },
8698491545 .each = .{ .once = &.{
8698591546 .{ ._, .vp_, .xor, .tmp0x, .src0x, .src1x, ._ },
......@@ -86993,7 +91554,7 @@ const Temp = struct {
8699391554 .{ .src = .{ .mem, .to_mut_xmm, .none }, .commute = .{ 0, 1 } },
8699491555 .{ .src = .{ .to_mut_xmm, .to_xmm, .none } },
8699591556 },
86996 .dst_temps = .{.{ .cc = .z }},
91557 .dst_temps = .{ .{ .cc = .z }, .unused },
8699791558 .clobbers = .{ .eflags = true },
8699891559 .each = .{ .once = &.{
8699991560 .{ ._, .p_, .xor, .src0x, .src1x, ._, ._ },
......@@ -87018,7 +91579,7 @@ const Temp = struct {
8701891579 .unused,
8701991580 .unused,
8702091581 },
87021 .dst_temps = .{.{ .cc = .z }},
91582 .dst_temps = .{ .{ .cc = .z }, .unused },
8702291583 .clobbers = .{ .eflags = true },
8702391584 .each = .{ .once = &.{
8702491585 .{ ._, .p_, .xor, .tmp1x, .tmp1x, ._, ._ },
......@@ -87046,7 +91607,7 @@ const Temp = struct {
8704691607 .unused,
8704791608 .unused,
8704891609 },
87049 .dst_temps = .{.{ .cc = .z }},
91610 .dst_temps = .{ .{ .cc = .z }, .unused },
8705091611 .clobbers = .{ .eflags = true },
8705191612 .each = .{ .once = &.{
8705291613 .{ ._, .p_, .xor, .tmp1x, .tmp1x, ._, ._ },
......@@ -87074,7 +91635,7 @@ const Temp = struct {
8707491635 .unused,
8707591636 .unused,
8707691637 },
87077 .dst_temps = .{.{ .cc = .z }},
91638 .dst_temps = .{ .{ .cc = .z }, .unused },
8707891639 .clobbers = .{ .eflags = true },
8707991640 .each = .{ .once = &.{
8708091641 .{ ._, .vp_, .xor, .tmp0y, .src0y, .src1y, ._ },
......@@ -87099,7 +91660,7 @@ const Temp = struct {
8709991660 .unused,
8710091661 .unused,
8710191662 },
87102 .dst_temps = .{.{ .cc = .z }},
91663 .dst_temps = .{ .{ .cc = .z }, .unused },
8710391664 .clobbers = .{ .eflags = true },
8710491665 .each = .{ .once = &.{
8710591666 .{ ._, .v_pd, .xor, .tmp0y, .src0y, .src1y, ._ },
......@@ -87126,7 +91687,7 @@ const Temp = struct {
8712691687 .unused,
8712791688 .unused,
8712891689 },
87129 .dst_temps = .{.{ .cc = .z }},
91690 .dst_temps = .{ .{ .cc = .z }, .unused },
8713091691 .clobbers = .{ .eflags = true },
8713191692 .each = .{ .once = &.{
8713291693 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },
......@@ -87161,7 +91722,7 @@ const Temp = struct {
8716191722 .unused,
8716291723 .unused,
8716391724 },
87164 .dst_temps = .{.{ .cc = .z }},
91725 .dst_temps = .{ .{ .cc = .z }, .unused },
8716591726 .clobbers = .{ .eflags = true },
8716691727 .each = .{ .once = &.{
8716791728 .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_size), ._, ._ },
......@@ -87196,7 +91757,7 @@ const Temp = struct {
8719691757 .unused,
8719791758 .unused,
8719891759 },
87199 .dst_temps = .{.{ .cc = .z }},
91760 .dst_temps = .{ .{ .cc = .z }, .unused },
8720091761 .clobbers = .{ .eflags = true },
8720191762 .each = .{ .once = &.{
8720291763 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -87228,7 +91789,7 @@ const Temp = struct {
8722891789 .unused,
8722991790 .unused,
8723091791 },
87231 .dst_temps = .{.{ .cc = .z }},
91792 .dst_temps = .{ .{ .cc = .z }, .unused },
8723291793 .clobbers = .{ .eflags = true },
8723391794 .each = .{ .once = &.{
8723491795 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -87260,7 +91821,7 @@ const Temp = struct {
8726091821 .unused,
8726191822 .unused,
8726291823 },
87263 .dst_temps = .{.{ .cc = .z }},
91824 .dst_temps = .{ .{ .cc = .z }, .unused },
8726491825 .clobbers = .{ .eflags = true },
8726591826 .each = .{ .once = &.{
8726691827 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -87292,7 +91853,7 @@ const Temp = struct {
8729291853 .unused,
8729391854 .unused,
8729491855 },
87295 .dst_temps = .{.{ .cc = .z }},
91856 .dst_temps = .{ .{ .cc = .z }, .unused },
8729691857 .clobbers = .{ .eflags = true },
8729791858 .each = .{ .once = &.{
8729891859 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -87324,7 +91885,7 @@ const Temp = struct {
8732491885 .unused,
8732591886 .unused,
8732691887 },
87327 .dst_temps = .{.{ .cc = .z }},
91888 .dst_temps = .{ .{ .cc = .z }, .unused },
8732891889 .clobbers = .{ .eflags = true },
8732991890 .each = .{ .once = &.{
8733091891 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -87357,7 +91918,7 @@ const Temp = struct {
8735791918 .unused,
8735891919 .unused,
8735991920 },
87360 .dst_temps = .{.{ .cc = .z }},
91921 .dst_temps = .{ .{ .cc = .z }, .unused },
8736191922 .clobbers = .{ .eflags = true },
8736291923 .each = .{ .once = &.{
8736391924 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -87390,7 +91951,7 @@ const Temp = struct {
8739091951 .unused,
8739191952 .unused,
8739291953 },
87393 .dst_temps = .{.{ .cc = .z }},
91954 .dst_temps = .{ .{ .cc = .z }, .unused },
8739491955 .clobbers = .{ .eflags = true },
8739591956 .each = .{ .once = &.{
8739691957 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -87423,7 +91984,7 @@ const Temp = struct {
8742391984 .unused,
8742491985 .unused,
8742591986 },
87426 .dst_temps = .{.{ .cc = .z }},
91987 .dst_temps = .{ .{ .cc = .z }, .unused },
8742791988 .clobbers = .{ .eflags = true },
8742891989 .each = .{ .once = &.{
8742991990 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -87453,7 +92014,7 @@ const Temp = struct {
8745392014 .unused,
8745492015 .unused,
8745592016 },
87456 .dst_temps = .{.{ .cc = .z }},
92017 .dst_temps = .{ .{ .cc = .z }, .unused },
8745792018 .clobbers = .{ .eflags = true },
8745892019 .each = .{ .once = &.{
8745992020 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
......@@ -87477,6 +92038,748 @@ const Temp = struct {
8747792038 return res[0];
8747892039 }
8747992040
92041 fn divTruncInts(lhs: *Temp, rhs: *Temp, cg: *CodeGen) Select.Error!Temp {
92042 var ops: [2]Temp = .{ lhs.*, rhs.* };
92043 var res: [1]Temp = undefined;
92044 try cg.select(&res, &.{lhs.typeOf(cg)}, &ops, comptime &.{ .{
92045 .src_constraints = .{ .{ .signed_int = .byte }, .{ .signed_int = .byte }, .any },
92046 .patterns = &.{
92047 .{ .src = .{ .mem, .mem, .none } },
92048 .{ .src = .{ .to_gpr, .mem, .none } },
92049 .{ .src = .{ .mem, .to_gpr, .none } },
92050 .{ .src = .{ .to_gpr, .to_gpr, .none } },
92051 },
92052 .dst_temps = .{ .{ .reg = .al }, .unused },
92053 .clobbers = .{ .eflags = true },
92054 .each = .{ .once = &.{
92055 .{ ._, ._, .movsx, .dst0d, .src0b, ._, ._ },
92056 .{ ._, .i_, .div, .src1b, ._, ._, ._ },
92057 } },
92058 }, .{
92059 .src_constraints = .{ .{ .unsigned_int = .byte }, .{ .unsigned_int = .byte }, .any },
92060 .patterns = &.{
92061 .{ .src = .{ .mem, .mem, .none } },
92062 .{ .src = .{ .to_gpr, .mem, .none } },
92063 .{ .src = .{ .mem, .to_gpr, .none } },
92064 .{ .src = .{ .to_gpr, .to_gpr, .none } },
92065 },
92066 .dst_temps = .{ .{ .reg = .al }, .unused },
92067 .clobbers = .{ .eflags = true },
92068 .each = .{ .once = &.{
92069 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },
92070 .{ ._, ._, .div, .src1b, ._, ._, ._ },
92071 } },
92072 }, .{
92073 .src_constraints = .{ .{ .signed_int = .word }, .{ .signed_int = .word }, .any },
92074 .patterns = &.{
92075 .{ .src = .{ .{ .to_reg = .ax }, .mem, .none } },
92076 .{ .src = .{ .{ .to_reg = .ax }, .to_gpr, .none } },
92077 },
92078 .extra_temps = .{
92079 .{ .type = .i16, .kind = .{ .reg = .dx } },
92080 .unused,
92081 .unused,
92082 .unused,
92083 .unused,
92084 .unused,
92085 .unused,
92086 .unused,
92087 .unused,
92088 },
92089 .dst_temps = .{ .{ .ref = .src0 }, .unused },
92090 .clobbers = .{ .eflags = true },
92091 .each = .{ .once = &.{
92092 .{ ._, ._, .cwd, ._, ._, ._, ._ },
92093 .{ ._, .i_, .div, .src1w, ._, ._, ._ },
92094 } },
92095 }, .{
92096 .src_constraints = .{ .{ .unsigned_int = .word }, .{ .unsigned_int = .word }, .any },
92097 .patterns = &.{
92098 .{ .src = .{ .{ .to_reg = .ax }, .mem, .none } },
92099 .{ .src = .{ .{ .to_reg = .ax }, .to_gpr, .none } },
92100 },
92101 .extra_temps = .{
92102 .{ .type = .u16, .kind = .{ .reg = .dx } },
92103 .unused,
92104 .unused,
92105 .unused,
92106 .unused,
92107 .unused,
92108 .unused,
92109 .unused,
92110 .unused,
92111 },
92112 .dst_temps = .{ .{ .ref = .src0 }, .unused },
92113 .clobbers = .{ .eflags = true },
92114 .each = .{ .once = &.{
92115 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
92116 .{ ._, ._, .div, .src1w, ._, ._, ._ },
92117 } },
92118 }, .{
92119 .src_constraints = .{ .{ .signed_int = .dword }, .{ .signed_int = .dword }, .any },
92120 .patterns = &.{
92121 .{ .src = .{ .{ .to_reg = .eax }, .mem, .none } },
92122 .{ .src = .{ .{ .to_reg = .eax }, .to_gpr, .none } },
92123 },
92124 .extra_temps = .{
92125 .{ .type = .i32, .kind = .{ .reg = .edx } },
92126 .unused,
92127 .unused,
92128 .unused,
92129 .unused,
92130 .unused,
92131 .unused,
92132 .unused,
92133 .unused,
92134 },
92135 .dst_temps = .{ .{ .ref = .src0 }, .unused },
92136 .clobbers = .{ .eflags = true },
92137 .each = .{ .once = &.{
92138 .{ ._, ._, .cdq, ._, ._, ._, ._ },
92139 .{ ._, .i_, .div, .src1d, ._, ._, ._ },
92140 } },
92141 }, .{
92142 .src_constraints = .{ .{ .unsigned_int = .dword }, .{ .unsigned_int = .dword }, .any },
92143 .patterns = &.{
92144 .{ .src = .{ .{ .to_reg = .eax }, .mem, .none } },
92145 .{ .src = .{ .{ .to_reg = .eax }, .to_gpr, .none } },
92146 },
92147 .extra_temps = .{
92148 .{ .type = .u32, .kind = .{ .reg = .edx } },
92149 .unused,
92150 .unused,
92151 .unused,
92152 .unused,
92153 .unused,
92154 .unused,
92155 .unused,
92156 .unused,
92157 },
92158 .dst_temps = .{ .{ .ref = .src0 }, .unused },
92159 .clobbers = .{ .eflags = true },
92160 .each = .{ .once = &.{
92161 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
92162 .{ ._, ._, .div, .src1d, ._, ._, ._ },
92163 } },
92164 }, .{
92165 .required_features = .{ .@"64bit", null, null, null },
92166 .src_constraints = .{ .{ .signed_int = .qword }, .{ .signed_int = .qword }, .any },
92167 .patterns = &.{
92168 .{ .src = .{ .{ .to_reg = .rax }, .mem, .none } },
92169 .{ .src = .{ .{ .to_reg = .rax }, .to_gpr, .none } },
92170 },
92171 .extra_temps = .{
92172 .{ .type = .i64, .kind = .{ .reg = .rdx } },
92173 .unused,
92174 .unused,
92175 .unused,
92176 .unused,
92177 .unused,
92178 .unused,
92179 .unused,
92180 .unused,
92181 },
92182 .dst_temps = .{ .{ .ref = .src0 }, .unused },
92183 .clobbers = .{ .eflags = true },
92184 .each = .{ .once = &.{
92185 .{ ._, ._, .cqo, ._, ._, ._, ._ },
92186 .{ ._, .i_, .div, .src1q, ._, ._, ._ },
92187 } },
92188 }, .{
92189 .required_features = .{ .@"64bit", null, null, null },
92190 .src_constraints = .{ .{ .unsigned_int = .qword }, .{ .unsigned_int = .qword }, .any },
92191 .patterns = &.{
92192 .{ .src = .{ .{ .to_reg = .rax }, .mem, .none } },
92193 .{ .src = .{ .{ .to_reg = .rax }, .to_gpr, .none } },
92194 },
92195 .extra_temps = .{
92196 .{ .type = .u64, .kind = .{ .reg = .rdx } },
92197 .unused,
92198 .unused,
92199 .unused,
92200 .unused,
92201 .unused,
92202 .unused,
92203 .unused,
92204 .unused,
92205 },
92206 .dst_temps = .{ .{ .ref = .src0 }, .unused },
92207 .clobbers = .{ .eflags = true },
92208 .each = .{ .once = &.{
92209 .{ ._, ._, .xor, .tmp0q, .tmp0q, ._, ._ },
92210 .{ ._, ._, .div, .src1q, ._, ._, ._ },
92211 } },
92212 }, .{
92213 .required_features = .{ .@"64bit", null, null, null },
92214 .src_constraints = .{ .{ .signed_int = .xword }, .{ .signed_int = .xword }, .any },
92215 .patterns = &.{
92216 .{ .src = .{
92217 .{ .to_param_gpr_pair = .{ .cc = .ccc, .index = 0 } },
92218 .{ .to_param_gpr_pair = .{ .cc = .ccc, .index = 2 } },
92219 .none,
92220 } },
92221 },
92222 .call_frame = .{ .alignment = .@"16" },
92223 .extra_temps = .{
92224 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divti3" } } },
92225 .unused,
92226 .unused,
92227 .unused,
92228 .unused,
92229 .unused,
92230 .unused,
92231 .unused,
92232 .unused,
92233 },
92234 .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .index = 0 } }, .unused },
92235 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
92236 .each = .{ .once = &.{
92237 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
92238 } },
92239 }, .{
92240 .required_features = .{ .@"64bit", null, null, null },
92241 .src_constraints = .{ .{ .unsigned_int = .xword }, .{ .unsigned_int = .xword }, .any },
92242 .patterns = &.{
92243 .{ .src = .{
92244 .{ .to_param_gpr_pair = .{ .cc = .ccc, .index = 0 } },
92245 .{ .to_param_gpr_pair = .{ .cc = .ccc, .index = 2 } },
92246 .none,
92247 } },
92248 },
92249 .call_frame = .{ .alignment = .@"16" },
92250 .extra_temps = .{
92251 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__udivti3" } } },
92252 .unused,
92253 .unused,
92254 .unused,
92255 .unused,
92256 .unused,
92257 .unused,
92258 .unused,
92259 .unused,
92260 },
92261 .dst_temps = .{ .{ .ret_gpr_pair = .{ .cc = .ccc, .index = 0 } }, .unused },
92262 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
92263 .each = .{ .once = &.{
92264 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
92265 } },
92266 }, .{
92267 .required_features = .{ .@"64bit", null, null, null },
92268 .src_constraints = .{
92269 .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } },
92270 .{ .remainder_signed_int = .{ .of = .dword, .is = .dword } },
92271 .any,
92272 },
92273 .patterns = &.{
92274 .{ .src = .{ .to_mut_mem, .to_mut_mem, .none } },
92275 },
92276 .call_frame = .{ .alignment = .@"16" },
92277 .extra_temps = .{
92278 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 0 } } },
92279 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 1 } } },
92280 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 2 } } },
92281 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 3 } } },
92282 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divei4" } } },
92283 .unused,
92284 .unused,
92285 .unused,
92286 .unused,
92287 },
92288 .dst_temps = .{ .mem, .unused },
92289 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
92290 .each = .{ .once = &.{
92291 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
92292 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
92293 .{ ._, ._, .lea, .tmp2p, .mem(.src1), ._, ._ },
92294 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_size), ._, ._ },
92295 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
92296 } },
92297 }, .{
92298 .required_features = .{ .@"64bit", null, null, null },
92299 .src_constraints = .{
92300 .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } },
92301 .{ .remainder_unsigned_int = .{ .of = .dword, .is = .dword } },
92302 .any,
92303 },
92304 .patterns = &.{
92305 .{ .src = .{ .to_mem, .to_mem, .none } },
92306 },
92307 .call_frame = .{ .alignment = .@"16" },
92308 .extra_temps = .{
92309 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 0 } } },
92310 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 1 } } },
92311 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 2 } } },
92312 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 3 } } },
92313 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__udivei4" } } },
92314 .unused,
92315 .unused,
92316 .unused,
92317 .unused,
92318 },
92319 .dst_temps = .{ .mem, .unused },
92320 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
92321 .each = .{ .once = &.{
92322 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
92323 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
92324 .{ ._, ._, .lea, .tmp2p, .mem(.src1), ._, ._ },
92325 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_size), ._, ._ },
92326 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
92327 } },
92328 }, .{
92329 .required_features = .{ .slow_incdec, null, null, null },
92330 .src_constraints = .{
92331 .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } },
92332 .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } },
92333 .any,
92334 },
92335 .patterns = &.{
92336 .{ .src = .{ .to_mem, .to_mem, .none } },
92337 },
92338 .extra_temps = .{
92339 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
92340 .{ .type = .i8, .kind = .{ .reg = .al } },
92341 .unused,
92342 .unused,
92343 .unused,
92344 .unused,
92345 .unused,
92346 .unused,
92347 .unused,
92348 },
92349 .dst_temps = .{ .mem, .unused },
92350 .clobbers = .{ .eflags = true },
92351 .each = .{ .once = &.{
92352 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
92353 .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
92354 .{ ._, .i_, .div, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._, ._ },
92355 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
92356 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
92357 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
92358 } },
92359 }, .{
92360 .src_constraints = .{
92361 .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } },
92362 .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } },
92363 .any,
92364 },
92365 .patterns = &.{
92366 .{ .src = .{ .to_mem, .to_mem, .none } },
92367 },
92368 .extra_temps = .{
92369 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
92370 .{ .type = .i8, .kind = .{ .reg = .al } },
92371 .unused,
92372 .unused,
92373 .unused,
92374 .unused,
92375 .unused,
92376 .unused,
92377 .unused,
92378 },
92379 .dst_temps = .{ .mem, .unused },
92380 .clobbers = .{ .eflags = true },
92381 .each = .{ .once = &.{
92382 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
92383 .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
92384 .{ ._, .i_, .div, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._, ._ },
92385 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
92386 .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
92387 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
92388 } },
92389 }, .{
92390 .required_features = .{ .slow_incdec, null, null, null },
92391 .src_constraints = .{
92392 .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } },
92393 .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } },
92394 .any,
92395 },
92396 .patterns = &.{
92397 .{ .src = .{ .to_mem, .to_mem, .none } },
92398 },
92399 .extra_temps = .{
92400 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
92401 .{ .type = .u8, .kind = .{ .reg = .al } },
92402 .unused,
92403 .unused,
92404 .unused,
92405 .unused,
92406 .unused,
92407 .unused,
92408 .unused,
92409 },
92410 .dst_temps = .{ .mem, .unused },
92411 .clobbers = .{ .eflags = true },
92412 .each = .{ .once = &.{
92413 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
92414 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
92415 .{ ._, ._, .div, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._, ._ },
92416 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
92417 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
92418 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
92419 } },
92420 }, .{
92421 .src_constraints = .{
92422 .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } },
92423 .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } },
92424 .any,
92425 },
92426 .patterns = &.{
92427 .{ .src = .{ .to_mem, .to_mem, .none } },
92428 },
92429 .extra_temps = .{
92430 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
92431 .{ .type = .u8, .kind = .{ .reg = .al } },
92432 .unused,
92433 .unused,
92434 .unused,
92435 .unused,
92436 .unused,
92437 .unused,
92438 .unused,
92439 },
92440 .dst_temps = .{ .mem, .unused },
92441 .clobbers = .{ .eflags = true },
92442 .each = .{ .once = &.{
92443 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
92444 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ },
92445 .{ ._, ._, .div, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._, ._ },
92446 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ },
92447 .{ ._, ._c, .in, .tmp0p, ._, ._, ._ },
92448 .{ ._, ._nz, .j, .@"0b", ._, ._, ._ },
92449 } },
92450 }, .{
92451 .src_constraints = .{
92452 .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } },
92453 .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } },
92454 .any,
92455 },
92456 .patterns = &.{
92457 .{ .src = .{ .to_mem, .to_mem, .none } },
92458 },
92459 .extra_temps = .{
92460 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
92461 .{ .type = .i16, .kind = .{ .reg = .ax } },
92462 .{ .type = .i16, .kind = .{ .reg = .dx } },
92463 .unused,
92464 .unused,
92465 .unused,
92466 .unused,
92467 .unused,
92468 .unused,
92469 },
92470 .dst_temps = .{ .mem, .unused },
92471 .clobbers = .{ .eflags = true },
92472 .each = .{ .once = &.{
92473 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
92474 .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
92475 .{ ._, ._, .cwd, ._, ._, ._, ._ },
92476 .{ ._, .i_, .div, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._, ._ },
92477 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },
92478 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
92479 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
92480 } },
92481 }, .{
92482 .src_constraints = .{
92483 .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } },
92484 .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } },
92485 .any,
92486 },
92487 .patterns = &.{
92488 .{ .src = .{ .to_mem, .to_mem, .none } },
92489 },
92490 .extra_temps = .{
92491 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
92492 .{ .type = .u16, .kind = .{ .reg = .ax } },
92493 .{ .type = .u16, .kind = .{ .reg = .dx } },
92494 .unused,
92495 .unused,
92496 .unused,
92497 .unused,
92498 .unused,
92499 .unused,
92500 },
92501 .dst_temps = .{ .mem, .unused },
92502 .clobbers = .{ .eflags = true },
92503 .each = .{ .once = &.{
92504 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
92505 .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
92506 .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
92507 .{ ._, ._, .div, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._, ._ },
92508 .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ },
92509 .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ },
92510 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
92511 } },
92512 }, .{
92513 .src_constraints = .{
92514 .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } },
92515 .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } },
92516 .any,
92517 },
92518 .patterns = &.{
92519 .{ .src = .{ .to_mem, .to_mem, .none } },
92520 },
92521 .extra_temps = .{
92522 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
92523 .{ .type = .i32, .kind = .{ .reg = .eax } },
92524 .{ .type = .i32, .kind = .{ .reg = .edx } },
92525 .unused,
92526 .unused,
92527 .unused,
92528 .unused,
92529 .unused,
92530 .unused,
92531 },
92532 .dst_temps = .{ .mem, .unused },
92533 .clobbers = .{ .eflags = true },
92534 .each = .{ .once = &.{
92535 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
92536 .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
92537 .{ ._, ._, .cdq, ._, ._, ._, ._ },
92538 .{ ._, .i_, .div, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._, ._ },
92539 .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1d, ._, ._ },
92540 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
92541 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
92542 } },
92543 }, .{
92544 .src_constraints = .{
92545 .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } },
92546 .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } },
92547 .any,
92548 },
92549 .patterns = &.{
92550 .{ .src = .{ .to_mem, .to_mem, .none } },
92551 },
92552 .extra_temps = .{
92553 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
92554 .{ .type = .u32, .kind = .{ .reg = .eax } },
92555 .{ .type = .u32, .kind = .{ .reg = .edx } },
92556 .unused,
92557 .unused,
92558 .unused,
92559 .unused,
92560 .unused,
92561 .unused,
92562 },
92563 .dst_temps = .{ .mem, .unused },
92564 .clobbers = .{ .eflags = true },
92565 .each = .{ .once = &.{
92566 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
92567 .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
92568 .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
92569 .{ ._, ._, .div, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._, ._ },
92570 .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1d, ._, ._ },
92571 .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ },
92572 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
92573 } },
92574 }, .{
92575 .required_features = .{ .@"64bit", null, null, null },
92576 .src_constraints = .{
92577 .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } },
92578 .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } },
92579 .any,
92580 },
92581 .patterns = &.{
92582 .{ .src = .{ .to_mem, .to_mem, .none } },
92583 },
92584 .extra_temps = .{
92585 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
92586 .{ .type = .i64, .kind = .{ .reg = .rax } },
92587 .{ .type = .i64, .kind = .{ .reg = .rdx } },
92588 .unused,
92589 .unused,
92590 .unused,
92591 .unused,
92592 .unused,
92593 .unused,
92594 },
92595 .dst_temps = .{ .mem, .unused },
92596 .clobbers = .{ .eflags = true },
92597 .each = .{ .once = &.{
92598 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
92599 .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
92600 .{ ._, ._, .cqo, ._, ._, ._, ._ },
92601 .{ ._, .i_, .div, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._, ._ },
92602 .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1q, ._, ._ },
92603 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
92604 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
92605 } },
92606 }, .{
92607 .required_features = .{ .@"64bit", null, null, null },
92608 .src_constraints = .{
92609 .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } },
92610 .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } },
92611 .any,
92612 },
92613 .patterns = &.{
92614 .{ .src = .{ .to_mem, .to_mem, .none } },
92615 },
92616 .extra_temps = .{
92617 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
92618 .{ .type = .u64, .kind = .{ .reg = .rax } },
92619 .{ .type = .u64, .kind = .{ .reg = .rdx } },
92620 .unused,
92621 .unused,
92622 .unused,
92623 .unused,
92624 .unused,
92625 .unused,
92626 },
92627 .dst_temps = .{ .mem, .unused },
92628 .clobbers = .{ .eflags = true },
92629 .each = .{ .once = &.{
92630 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
92631 .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
92632 .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
92633 .{ ._, ._, .div, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._, ._ },
92634 .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1q, ._, ._ },
92635 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
92636 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
92637 } },
92638 }, .{
92639 .required_features = .{ .@"64bit", null, null, null },
92640 .src_constraints = .{
92641 .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } },
92642 .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .xword } },
92643 .any,
92644 },
92645 .patterns = &.{
92646 .{ .src = .{ .to_mem, .to_mem, .none } },
92647 },
92648 .call_frame = .{ .alignment = .@"16" },
92649 .extra_temps = .{
92650 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
92651 .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 0 } } },
92652 .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 1 } } },
92653 .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 2 } } },
92654 .{ .type = .i64, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 3 } } },
92655 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divti3" } } },
92656 .{ .type = .u64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .index = 0 } } },
92657 .unused,
92658 .unused,
92659 },
92660 .dst_temps = .{ .mem, .unused },
92661 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
92662 .each = .{ .once = &.{
92663 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
92664 .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
92665 .{ ._, ._, .mov, .tmp2q, .memiad(.src0q, .tmp0, .add_unaligned_size, 8), ._, ._ },
92666 .{ ._, ._, .mov, .tmp3q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ },
92667 .{ ._, ._, .mov, .tmp4q, .memiad(.src1q, .tmp0, .add_unaligned_size, 8), ._, ._ },
92668 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
92669 .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp6q, ._, ._ },
92670 .{ ._, ._, .mov, .memiad(.dst0q, .tmp0, .add_unaligned_size, 8), .tmp3q, ._, ._ },
92671 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
92672 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
92673 } },
92674 }, .{
92675 .required_features = .{ .@"64bit", null, null, null },
92676 .src_constraints = .{
92677 .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } },
92678 .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .xword } },
92679 .any,
92680 },
92681 .patterns = &.{
92682 .{ .src = .{ .to_mem, .to_mem, .none } },
92683 },
92684 .call_frame = .{ .alignment = .@"16" },
92685 .extra_temps = .{
92686 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
92687 .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 0 } } },
92688 .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 1 } } },
92689 .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 2 } } },
92690 .{ .type = .u64, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 3 } } },
92691 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__udivti3" } } },
92692 .{ .type = .u64, .kind = .{ .ret_gpr = .{ .cc = .ccc, .index = 0 } } },
92693 .unused,
92694 .unused,
92695 },
92696 .dst_temps = .{ .mem, .unused },
92697 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
92698 .each = .{ .once = &.{
92699 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
92700 .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
92701 .{ ._, ._, .mov, .tmp2q, .memiad(.src0q, .tmp0, .add_unaligned_size, 8), ._, ._ },
92702 .{ ._, ._, .mov, .tmp3q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ },
92703 .{ ._, ._, .mov, .tmp4q, .memiad(.src1q, .tmp0, .add_unaligned_size, 8), ._, ._ },
92704 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
92705 .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp6q, ._, ._ },
92706 .{ ._, ._, .mov, .memiad(.dst0q, .tmp0, .add_unaligned_size, 8), .tmp3q, ._, ._ },
92707 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
92708 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
92709 } },
92710 }, .{
92711 .required_features = .{ .@"64bit", null, null, null },
92712 .src_constraints = .{
92713 .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } },
92714 .{ .scalar_remainder_signed_int = .{ .of = .dword, .is = .dword } },
92715 .any,
92716 },
92717 .patterns = &.{
92718 .{ .src = .{ .to_mut_mem, .to_mut_mem, .none } },
92719 },
92720 .call_frame = .{ .alignment = .@"16" },
92721 .extra_temps = .{
92722 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
92723 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 0 } } },
92724 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 1 } } },
92725 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 2 } } },
92726 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 3 } } },
92727 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divei4" } } },
92728 .unused,
92729 .unused,
92730 .unused,
92731 },
92732 .dst_temps = .{ .mem, .unused },
92733 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
92734 .each = .{ .once = &.{
92735 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
92736 .{ .@"0:", ._, .lea, .tmp1p, .memia(.dst0, .tmp0, .add_unaligned_size), ._, ._ },
92737 .{ ._, ._, .lea, .tmp2p, .memia(.src0, .tmp0, .add_unaligned_size), ._, ._ },
92738 .{ ._, ._, .lea, .tmp3p, .memia(.src1, .tmp0, .add_unaligned_size), ._, ._ },
92739 .{ ._, ._, .mov, .tmp4d, .sa(.src0, .add_8_elem_size), ._, ._ },
92740 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
92741 .{ ._, ._, .add, .tmp0p, .sa(.src0, .add_elem_size), ._, ._ },
92742 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
92743 } },
92744 }, .{
92745 .required_features = .{ .@"64bit", null, null, null },
92746 .src_constraints = .{
92747 .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } },
92748 .{ .scalar_remainder_unsigned_int = .{ .of = .dword, .is = .dword } },
92749 .any,
92750 },
92751 .patterns = &.{
92752 .{ .src = .{ .to_mut_mem, .to_mut_mem, .none } },
92753 },
92754 .call_frame = .{ .alignment = .@"16" },
92755 .extra_temps = .{
92756 .{ .type = .isize, .kind = .{ .rc = .general_purpose } },
92757 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 0 } } },
92758 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 1 } } },
92759 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 2 } } },
92760 .{ .type = .usize, .kind = .{ .param_gpr = .{ .cc = .ccc, .index = 3 } } },
92761 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__udivei4" } } },
92762 .unused,
92763 .unused,
92764 .unused,
92765 },
92766 .dst_temps = .{ .mem, .unused },
92767 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
92768 .each = .{ .once = &.{
92769 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
92770 .{ .@"0:", ._, .lea, .tmp1p, .memia(.dst0, .tmp0, .add_unaligned_size), ._, ._ },
92771 .{ ._, ._, .lea, .tmp2p, .memia(.src0, .tmp0, .add_unaligned_size), ._, ._ },
92772 .{ ._, ._, .lea, .tmp3p, .memia(.src1, .tmp0, .add_unaligned_size), ._, ._ },
92773 .{ ._, ._, .mov, .tmp4d, .sa(.src0, .add_8_elem_size), ._, ._ },
92774 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
92775 .{ ._, ._, .add, .tmp0p, .sa(.src0, .add_elem_size), ._, ._ },
92776 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
92777 } },
92778 } });
92779 lhs.*, rhs.* = ops;
92780 return res[0];
92781 }
92782
8748092783 fn finish(
8748192784 temp: Temp,
8748292785 inst: Air.Inst.Index,
......@@ -87630,7 +92933,7 @@ fn tempAllocReg(cg: *CodeGen, ty: Type, rs: RegisterManager.RegisterBitSet) Inne
8763092933fn tempAllocRegPair(cg: *CodeGen, ty: Type, rs: RegisterManager.RegisterBitSet) InnerError!Temp {
8763192934 const temp_index = cg.next_temp_index;
8763292935 temp_index.tracking(cg).* = .init(
87633 .{ .register_pair = try cg.register_manager.allocRegs(2, temp_index.toIndex(), rs) },
92936 .{ .register_pair = try cg.register_manager.allocRegs(2, @splat(temp_index.toIndex()), rs) },
8763492937 );
8763592938 cg.temp_type[@intFromEnum(temp_index)] = ty;
8763692939 cg.next_temp_index = @enumFromInt(@intFromEnum(temp_index) + 1);
......@@ -87764,7 +93067,7 @@ const Select = struct {
8776493067 const mir_tag: Mir.Inst.FixedTag = .{ inst[1], inst[2] };
8776593068 pseudo: {
8776693069 switch (inst[0]) {
87767 .@"0:", .@"1:", .@"2:" => |label| s.emitLabel(label),
93070 .@"0:", .@"1:", .@"2:", .@"3:" => |label| s.emitLabel(label),
8776893071 ._ => {},
8776993072 .pseudo => break :pseudo,
8777093073 }
......@@ -87919,11 +93222,13 @@ const Select = struct {
8791993222 dst_temps: [@intFromEnum(Select.Operand.Ref.src0) - @intFromEnum(Select.Operand.Ref.dst0)]TempSpec.Kind = @splat(.unused),
8792093223 clobbers: packed struct {
8792193224 eflags: bool = false,
87922 caller_preserved: enum(u2) { none, ccc, zigcc } = .none,
93225 caller_preserved: CallConv = .none,
8792393226 } = .{},
8792493227 each: union(enum) {
8792593228 once: []const Instruction,
8792693229 },
93230
93231 const CallConv = enum(u2) { none, ccc, zigcc };
8792793232 };
8792893233
8792993234 const Constraint = union(enum) {
......@@ -88170,6 +93475,10 @@ const Select = struct {
8817093475 simm32,
8817193476 to_reg: Register,
8817293477 to_reg_pair: [2]Register,
93478 to_param_gpr: TempSpec.Kind.CallConvRegSpec,
93479 to_param_gpr_pair: TempSpec.Kind.CallConvRegSpec,
93480 to_ret_gpr: TempSpec.Kind.CallConvRegSpec,
93481 to_ret_gpr_pair: TempSpec.Kind.CallConvRegSpec,
8817393482 mem,
8817493483 to_mem,
8817593484 mut_mem,
......@@ -88205,7 +93514,7 @@ const Select = struct {
8820593514
8820693515 fn matches(src: Src, temp: Temp, cg: *CodeGen) bool {
8820793516 return switch (src) {
88208 .none => unreachable,
93517 .none => temp.tracking(cg).short == .none,
8820993518 .imm8 => switch (temp.tracking(cg).short) {
8821093519 .immediate => |imm| std.math.cast(u8, imm) != null,
8821193520 else => false,
......@@ -88225,7 +93534,7 @@ const Select = struct {
8822593534 .mem => temp.tracking(cg).short.isMemory(),
8822693535 .to_mem, .to_mut_mem => true,
8822793536 .mut_mem => temp.isMut(cg) and temp.tracking(cg).short.isMemory(),
88228 .to_reg, .to_reg_pair => true,
93537 .to_reg, .to_reg_pair, .to_param_gpr, .to_param_gpr_pair, .to_ret_gpr, .to_ret_gpr_pair => true,
8822993538 .gpr => temp.typeOf(cg).abiSize(cg.pt.zcu) <= 8 and switch (temp.tracking(cg).short) {
8823093539 .register => |reg| reg.class() == .general_purpose,
8823193540 .register_offset => |reg_off| reg_off.reg.class() == .general_purpose and reg_off.off == 0,
......@@ -88308,11 +93617,15 @@ const Select = struct {
8830893617
8830993618 fn convert(src: Src, temp: *Temp, cg: *CodeGen) InnerError!bool {
8831093619 return switch (src) {
88311 .none => unreachable,
88312 .imm8, .imm16, .imm32, .simm32 => false,
88313 .mem, .to_mem, .mut_mem, .to_mut_mem => try temp.toBase(cg),
93620 .none, .imm8, .imm16, .imm32, .simm32 => false,
93621 .mem, .to_mem => try temp.toBase(false, cg),
93622 .mut_mem, .to_mut_mem => try temp.toBase(true, cg),
8831493623 .to_reg => |reg| try temp.toReg(reg, cg),
8831593624 .to_reg_pair => |regs| try temp.toRegPair(regs, cg),
93625 .to_param_gpr => |param_spec| try temp.toReg(abi.getCAbiIntParamRegs(param_spec.tag(cg))[param_spec.index], cg),
93626 .to_param_gpr_pair => |param_spec| try temp.toRegPair(abi.getCAbiIntParamRegs(param_spec.tag(cg))[param_spec.index..][0..2].*, cg),
93627 .to_ret_gpr => |ret_spec| try temp.toReg(abi.getCAbiIntReturnRegs(ret_spec.tag(cg))[ret_spec.index], cg),
93628 .to_ret_gpr_pair => |ret_spec| try temp.toRegPair(abi.getCAbiIntReturnRegs(ret_spec.tag(cg))[ret_spec.index..][0..2].*, cg),
8831693629 .gpr, .to_gpr => try temp.toRegClass(false, .general_purpose, cg),
8831793630 .mut_gpr, .to_mut_gpr => try temp.toRegClass(true, .general_purpose, cg),
8831893631 .x87, .to_x87 => try temp.toRegClass(false, .x87, cg),
......@@ -88339,57 +93652,102 @@ const Select = struct {
8833993652 ref: Select.Operand.Ref,
8834093653 reg: Register,
8834193654 reg_pair: [2]Register,
93655 param_gpr: CallConvRegSpec,
93656 param_gpr_pair: CallConvRegSpec,
93657 ret_gpr: CallConvRegSpec,
93658 ret_gpr_pair: CallConvRegSpec,
8834293659 rc: Register.Class,
93660 rc_pair: Register.Class,
8834393661 mut_rc: struct { ref: Select.Operand.Ref, rc: Register.Class },
8834493662 ref_mask: struct { ref: Select.Operand.Ref, info: MaskInfo },
8834593663 rc_mask: struct { rc: Register.Class, info: MaskInfo },
8834693664 mut_rc_mask: struct { ref: Select.Operand.Ref, rc: Register.Class, info: MaskInfo },
8834793665 mem,
88348 smin_mem: ConstInfo,
88349 smax_mem: ConstInfo,
88350 umin_mem: ConstInfo,
88351 umax_mem: ConstInfo,
88352 @"0x1p63_mem": ConstInfo,
93666 mem_of_type: Select.Operand.Ref,
93667 smin_mem: ConstSpec,
93668 smax_mem: ConstSpec,
93669 umin_mem: ConstSpec,
93670 umax_mem: ConstSpec,
93671 @"0x1p63_mem": ConstSpec,
8835393672 f64_0x1p52_0x1p84_mem,
8835493673 u32_0x1p52_hi_0x1p84_hi_0_0_mem,
8835593674 f32_0_0x1p64_mem,
8835693675 pshufb_cm_mem: struct { from: Memory.Size, to: Memory.Size },
8835793676 frame: FrameIndex,
93677 lazy_symbol: struct { kind: link.File.LazySymbol.Kind, ref: Select.Operand.Ref = .none },
8835893678 symbol: *const struct { lib: ?[]const u8 = null, name: []const u8 },
8835993679
88360 const ConstInfo = struct {
88361 ref: ?Select.Operand.Ref = null,
93680 const ConstSpec = struct {
93681 ref: Select.Operand.Ref = .none,
8836293682 to_signedness: ?std.builtin.Signedness = null,
8836393683 vectorize_to: ?Memory.Size = null,
8836493684 };
8836593685
88366 fn finish(kind: Kind, temp: Temp, s: *const Select) void {
88367 switch (kind) {
88368 else => {},
88369 inline .rc_mask, .mut_rc_mask, .ref_mask => |mask| temp.asMask(mask.info, s.cg),
93686 const CallConvRegSpec = struct {
93687 cc: Case.CallConv,
93688 index: u2,
93689
93690 fn tag(spec: CallConvRegSpec, cg: *const CodeGen) std.builtin.CallingConvention.Tag {
93691 return switch (spec.cc) {
93692 .none => unreachable,
93693 .ccc => cg.target.cCallingConvention().?,
93694 .zigcc => .auto,
93695 };
8837093696 }
88371 }
93697 };
8837293698
88373 fn pass(kind: Kind) u2 {
88374 return switch (kind) {
88375 .unused => 0,
88376 .reg => 1,
88377 else => 2,
93699 fn lock(kind: Kind, cg: *CodeGen) ![2]?RegisterLock {
93700 var reg_locks: [2]?RegisterLock = @splat(null);
93701 const regs: [2]Register = switch (kind) {
93702 else => return reg_locks,
93703 .reg => |reg| .{ reg, .none },
93704 .reg_pair => |regs| regs,
93705 .param_gpr => |param_spec| abi.getCAbiIntParamRegs(param_spec.tag(cg))[param_spec.index..][0..1].* ++ .{.none},
93706 .param_gpr_pair => |param_spec| abi.getCAbiIntParamRegs(param_spec.tag(cg))[param_spec.index..][0..2].*,
93707 .ret_gpr => |ret_spec| abi.getCAbiIntReturnRegs(ret_spec.tag(cg))[ret_spec.index..][0..1].* ++ .{.none},
93708 .ret_gpr_pair => |ret_spec| abi.getCAbiIntReturnRegs(ret_spec.tag(cg))[ret_spec.index..][0..2].*,
8837893709 };
93710 for (regs, &reg_locks) |reg, *reg_lock| {
93711 if (reg == .none) continue;
93712 const reg_index = RegisterManager.indexOfRegIntoTracked(reg) orelse continue;
93713 try cg.register_manager.getRegIndex(reg_index, null);
93714 reg_lock.* = cg.register_manager.lockRegIndex(reg_index);
93715 }
93716 return reg_locks;
93717 }
93718
93719 fn finish(kind: Kind, temp: Temp, cg: *CodeGen) void {
93720 switch (kind) {
93721 else => {},
93722 inline .rc_mask, .mut_rc_mask, .ref_mask => |mask| temp.asMask(mask.info, cg),
93723 }
8837993724 }
8838093725 };
8838193726
88382 fn create(spec: TempSpec, s: *Select) InnerError!struct { Temp, bool } {
93727 fn create(spec: TempSpec, s: *const Select) InnerError!struct { Temp, bool } {
8838393728 const cg = s.cg;
8838493729 const pt = cg.pt;
8838593730 return switch (spec.kind) {
88386 .unused => unreachable,
93731 .unused => .{ undefined, false },
8838793732 .any => .{ try cg.tempAlloc(spec.type), true },
8838893733 .cc => |cc| .{ try cg.tempInit(spec.type, .{ .eflags = cc }), true },
8838993734 .ref => |ref| .{ ref.tempOf(s), false },
8839093735 .reg => |reg| .{ try cg.tempInit(spec.type, .{ .register = reg }), true },
8839193736 .reg_pair => |regs| .{ try cg.tempInit(spec.type, .{ .register_pair = regs }), true },
93737 .param_gpr => |param_spec| .{ try cg.tempInit(spec.type, .{
93738 .register = abi.getCAbiIntParamRegs(param_spec.tag(cg))[param_spec.index],
93739 }), true },
93740 .param_gpr_pair => |param_spec| .{ try cg.tempInit(spec.type, .{
93741 .register_pair = abi.getCAbiIntParamRegs(param_spec.tag(cg))[param_spec.index..][0..2].*,
93742 }), true },
93743 .ret_gpr => |ret_spec| .{ try cg.tempInit(spec.type, .{
93744 .register = abi.getCAbiIntReturnRegs(ret_spec.tag(cg))[ret_spec.index],
93745 }), true },
93746 .ret_gpr_pair => |ret_spec| .{ try cg.tempInit(spec.type, .{
93747 .register_pair = abi.getCAbiIntReturnRegs(ret_spec.tag(cg))[ret_spec.index..][0..2].*,
93748 }), true },
8839293749 .rc => |rc| .{ try cg.tempAllocReg(spec.type, regSetForRegClass(rc)), true },
93750 .rc_pair => |rc| .{ try cg.tempAllocRegPair(spec.type, regSetForRegClass(rc)), true },
8839393751 .mut_rc => |ref_rc| {
8839493752 const temp = ref_rc.ref.tempOf(s);
8839593753 if (temp.isMut(cg)) switch (temp.tracking(cg).short) {
......@@ -88411,15 +93769,16 @@ const Select = struct {
8841193769 return .{ try cg.tempAllocReg(spec.type, regSetForRegClass(ref_rc_mask.rc)), true };
8841293770 },
8841393771 .mem => .{ try cg.tempAllocMem(spec.type), true },
88414 .smin_mem, .smax_mem, .umin_mem, .umax_mem, .@"0x1p63_mem" => |const_info| {
93772 .mem_of_type => |ref| .{ try cg.tempAllocMem(ref.typeOf(s)), true },
93773 .smin_mem, .smax_mem, .umin_mem, .umax_mem, .@"0x1p63_mem" => |const_spec| {
8841593774 const zcu = pt.zcu;
8841693775 const ip = &zcu.intern_pool;
88417 const ty = if (const_info.ref) |ref| ref.typeOf(s) else spec.type;
93776 const ty = if (const_spec.ref == .none) spec.type else const_spec.ref.typeOf(s);
8841893777 const vector_len, const scalar_ty: Type = switch (ip.indexToKey(ty.toIntern())) {
8841993778 else => .{ null, ty },
8842093779 .vector_type => |vector_type| .{ vector_type.len, .fromInterned(vector_type.child) },
8842193780 };
88422 const res_vector_len: ?u32 = if (const_info.vectorize_to) |vectorize_to| switch (vectorize_to) {
93781 const res_vector_len: ?u32 = if (const_spec.vectorize_to) |vectorize_to| switch (vectorize_to) {
8842393782 .none => null,
8842493783 else => @intCast(@divExact(@divExact(vectorize_to.bitSize(cg.target), 8), scalar_ty.abiSize(pt.zcu))),
8842593784 } else vector_len;
......@@ -88437,7 +93796,7 @@ const Select = struct {
8843793796 .signedness = .signed,
8843893797 .bits = cg.floatBits(scalar_ty).?,
8843993798 };
88440 const scalar_signedness = const_info.to_signedness orelse scalar_info.signedness;
93799 const scalar_signedness = const_spec.to_signedness orelse scalar_info.signedness;
8844193800 const scalar_int_ty = try pt.intType(scalar_signedness, scalar_info.bits);
8844293801
8844393802 if (scalar_info.bits <= 64) {
......@@ -88525,10 +93884,10 @@ const Select = struct {
8852593884 (try pt.floatValue(.f32, @as(f32, 0x1p64))).toIntern(),
8852693885 } },
8852793886 } }))), true },
88528 .pshufb_cm_mem => |info| {
93887 .pshufb_cm_mem => |const_spec| {
8852993888 var bytes: [16]u8 = @splat(1 << 7);
88530 const from_bytes: u32 = @intCast(@divExact(info.from.bitSize(cg.target), 8));
88531 const to_bytes: u32 = @intCast(@divExact(info.to.bitSize(cg.target), 8));
93889 const from_bytes: u32 = @intCast(@divExact(const_spec.from.bitSize(cg.target), 8));
93890 const to_bytes: u32 = @intCast(@divExact(const_spec.to.bitSize(cg.target), 8));
8853293891 var from_index: u32 = 0;
8853393892 var to_index: u32 = 0;
8853493893 while (from_index < bytes.len) {
......@@ -88543,11 +93902,33 @@ const Select = struct {
8854393902 } }))), true };
8854493903 },
8854593904 .frame => |frame_index| .{ try cg.tempInit(spec.type, .{ .load_frame = .{ .index = frame_index } }), true },
88546 .symbol => |symbol| .{ try cg.tempInit(spec.type, .{ .lea_symbol = .{
93905 .lazy_symbol => |lazy_symbol_spec| {
93906 const ty = if (lazy_symbol_spec.ref == .none) spec.type else lazy_symbol_spec.ref.typeOf(s);
93907 const lazy_symbol: link.File.LazySymbol = .{
93908 .kind = lazy_symbol_spec.kind,
93909 .ty = ty.toIntern(),
93910 };
93911 return .{ try cg.tempInit(.usize, .{ .lea_symbol = .{
93912 .sym_index = if (cg.bin_file.cast(.elf)) |elf_file|
93913 elf_file.zigObjectPtr().?.getOrCreateMetadataForLazySymbol(elf_file, pt, lazy_symbol) catch |err|
93914 return cg.fail("{s} creating lazy symbol", .{@errorName(err)})
93915 else if (cg.bin_file.cast(.macho)) |macho_file|
93916 macho_file.getZigObject().?.getOrCreateMetadataForLazySymbol(macho_file, pt, lazy_symbol) catch |err|
93917 return cg.fail("{s} creating lazy symbol", .{@errorName(err)})
93918 else if (cg.bin_file.cast(.coff)) |coff_file|
93919 coff_file.getAtom(coff_file.getOrCreateAtomForLazySymbol(pt, lazy_symbol) catch |err|
93920 return cg.fail("{s} creating lazy symbol", .{@errorName(err)})).getSymbolIndex().?
93921 else
93922 return cg.fail("external symbols unimplemented for {s}", .{@tagName(cg.bin_file.tag)}),
93923 } }), true };
93924 },
93925 .symbol => |symbol_spec| .{ try cg.tempInit(spec.type, .{ .lea_symbol = .{
8854793926 .sym_index = if (cg.bin_file.cast(.elf)) |elf_file|
88548 try elf_file.getGlobalSymbol(symbol.name, symbol.lib)
93927 try elf_file.getGlobalSymbol(symbol_spec.name, symbol_spec.lib)
8854993928 else if (cg.bin_file.cast(.macho)) |macho_file|
88550 try macho_file.getGlobalSymbol(symbol.name, symbol.lib)
93929 try macho_file.getGlobalSymbol(symbol_spec.name, symbol_spec.lib)
93930 else if (cg.bin_file.cast(.coff)) |coff_file|
93931 link.File.Coff.global_symbol_bit | try coff_file.getGlobalSymbol(symbol_spec.name, symbol_spec.lib)
8855193932 else
8855293933 return cg.fail("external symbols unimplemented for {s}", .{@tagName(cg.bin_file.tag)}),
8855393934 } }), true },
......@@ -88564,7 +93945,7 @@ const Select = struct {
8856493945 Select.Operand,
8856593946 Select.Operand,
8856693947 };
88567 const Label = enum { @"0:", @"1:", @"2:", @"_", pseudo };
93948 const Label = enum { @"0:", @"1:", @"2:", @"3:", @"_", pseudo };
8856893949 const Operand = struct {
8856993950 flags: packed struct(u16) {
8857093951 tag: Tag,
......@@ -88595,8 +93976,10 @@ const Select = struct {
8859593976 ptr_size,
8859693977 ptr_bit_size,
8859793978 size,
93979 src0_size,
8859893980 delta_size,
8859993981 delta_elem_size,
93982 size_add_elem_size,
8860093983 size_sub_elem_size,
8860193984 unaligned_size,
8860293985 bit_size,
......@@ -88606,13 +93989,14 @@ const Select = struct {
8860693989 elem_size,
8860793990 src0_elem_size,
8860893991 dst0_elem_size,
88609 src0_elem_size_times_src1,
93992 src0_elem_size_mul_src1,
93993 src1,
8861093994 log2_src0_elem_size,
8861193995 smin,
8861293996 smax,
8861393997 umax,
8861493998 },
88615 op: enum(u2) { mul, div, rem_8_mul },
93999 op: enum(u2) { mul, div, div_8_down, rem_8_mul },
8861694000 rhs: Memory.Scale,
8861794001
8861894002 const none: Adjust = .{ .sign = .pos, .lhs = .none, .op = .mul, .rhs = .@"1" };
......@@ -88625,9 +94009,12 @@ const Select = struct {
8862594009 const sub_size_div_8: Adjust = .{ .sign = .neg, .lhs = .size, .op = .div, .rhs = .@"8" };
8862694010 const sub_size_div_4: Adjust = .{ .sign = .neg, .lhs = .size, .op = .div, .rhs = .@"4" };
8862794011 const sub_size: Adjust = .{ .sign = .neg, .lhs = .size, .op = .mul, .rhs = .@"1" };
94012 const sub_src0_size_div_8: Adjust = .{ .sign = .neg, .lhs = .src0_size, .op = .div, .rhs = .@"8" };
94013 const sub_src0_size: Adjust = .{ .sign = .neg, .lhs = .src0_size, .op = .mul, .rhs = .@"1" };
8862894014 const add_delta_size_div_8: Adjust = .{ .sign = .pos, .lhs = .delta_size, .op = .div, .rhs = .@"8" };
8862994015 const add_delta_elem_size: Adjust = .{ .sign = .pos, .lhs = .delta_elem_size, .op = .mul, .rhs = .@"1" };
8863094016 const add_delta_elem_size_div_8: Adjust = .{ .sign = .pos, .lhs = .delta_elem_size, .op = .div, .rhs = .@"8" };
94017 const add_size_add_elem_size: Adjust = .{ .sign = .pos, .lhs = .size_add_elem_size, .op = .mul, .rhs = .@"1" };
8863194018 const add_size_sub_elem_size: Adjust = .{ .sign = .pos, .lhs = .size_sub_elem_size, .op = .mul, .rhs = .@"1" };
8863294019 const add_unaligned_size: Adjust = .{ .sign = .pos, .lhs = .unaligned_size, .op = .mul, .rhs = .@"1" };
8863394020 const sub_unaligned_size: Adjust = .{ .sign = .neg, .lhs = .unaligned_size, .op = .mul, .rhs = .@"1" };
......@@ -88644,16 +94031,22 @@ const Select = struct {
8864494031 const add_2_len: Adjust = .{ .sign = .pos, .lhs = .len, .op = .mul, .rhs = .@"2" };
8864594032 const add_len: Adjust = .{ .sign = .pos, .lhs = .len, .op = .mul, .rhs = .@"1" };
8864694033 const sub_len: Adjust = .{ .sign = .neg, .lhs = .len, .op = .mul, .rhs = .@"1" };
88647 const add_elem_size_div_8: Adjust = .{ .sign = .pos, .lhs = .elem_size, .op = .div, .rhs = .@"8" };
8864894034 const add_8_elem_size: Adjust = .{ .sign = .pos, .lhs = .elem_size, .op = .mul, .rhs = .@"8" };
94035 const add_elem_size: Adjust = .{ .sign = .pos, .lhs = .elem_size, .op = .mul, .rhs = .@"1" };
94036 const add_elem_size_div_8: Adjust = .{ .sign = .pos, .lhs = .elem_size, .op = .div, .rhs = .@"8" };
94037 const sub_elem_size_div_8: Adjust = .{ .sign = .neg, .lhs = .elem_size, .op = .div, .rhs = .@"8" };
94038 const sub_elem_size_div_4: Adjust = .{ .sign = .neg, .lhs = .elem_size, .op = .div, .rhs = .@"4" };
8864994039 const add_src0_elem_size: Adjust = .{ .sign = .pos, .lhs = .src0_elem_size, .op = .mul, .rhs = .@"1" };
8865094040 const add_2_src0_elem_size: Adjust = .{ .sign = .pos, .lhs = .src0_elem_size, .op = .mul, .rhs = .@"2" };
8865194041 const add_4_src0_elem_size: Adjust = .{ .sign = .pos, .lhs = .src0_elem_size, .op = .mul, .rhs = .@"4" };
8865294042 const add_8_src0_elem_size: Adjust = .{ .sign = .pos, .lhs = .src0_elem_size, .op = .mul, .rhs = .@"8" };
8865394043 const add_src0_elem_size_div_8: Adjust = .{ .sign = .pos, .lhs = .src0_elem_size, .op = .div, .rhs = .@"8" };
8865494044 const sub_src0_elem_size: Adjust = .{ .sign = .neg, .lhs = .src0_elem_size, .op = .mul, .rhs = .@"1" };
88655 const add_src0_elem_size_times_src1: Adjust = .{ .sign = .pos, .lhs = .src0_elem_size_times_src1, .op = .mul, .rhs = .@"1" };
88656 const sub_src0_elem_size_times_src1: Adjust = .{ .sign = .neg, .lhs = .src0_elem_size_times_src1, .op = .mul, .rhs = .@"1" };
94045 const add_src0_elem_size_mul_src1: Adjust = .{ .sign = .pos, .lhs = .src0_elem_size_mul_src1, .op = .mul, .rhs = .@"1" };
94046 const sub_src0_elem_size_mul_src1: Adjust = .{ .sign = .neg, .lhs = .src0_elem_size_mul_src1, .op = .mul, .rhs = .@"1" };
94047 const add_src1_div_8_down_4: Adjust = .{ .sign = .pos, .lhs = .src1, .op = .div_8_down, .rhs = .@"4" };
94048 const add_src1_rem_32: Adjust = .{ .sign = .pos, .lhs = .src1, .op = .rem_8_mul, .rhs = .@"4" };
94049 const add_src1_rem_64: Adjust = .{ .sign = .pos, .lhs = .src1, .op = .rem_8_mul, .rhs = .@"8" };
8865794050 const add_log2_src0_elem_size: Adjust = .{ .sign = .pos, .lhs = .log2_src0_elem_size, .op = .mul, .rhs = .@"1" };
8865894051 const add_dst0_elem_size: Adjust = .{ .sign = .pos, .lhs = .dst0_elem_size, .op = .mul, .rhs = .@"1" };
8865994052 const add_elem_limbs: Adjust = .{ .sign = .pos, .lhs = .elem_limbs, .op = .mul, .rhs = .@"1" };
......@@ -88671,6 +94064,7 @@ const Select = struct {
8867194064 tmp7,
8867294065 tmp8,
8867394066 dst0,
94067 dst1,
8867494068 src0,
8867594069 src1,
8867694070 src2,
......@@ -88792,6 +94186,17 @@ const Select = struct {
8879294186 const dst0x: Sized = .{ .ref = .dst0, .size = .xword };
8879394187 const dst0y: Sized = .{ .ref = .dst0, .size = .yword };
8879494188
94189 const dst1: Sized = .{ .ref = .dst1, .size = .none };
94190 const dst1b: Sized = .{ .ref = .dst1, .size = .byte };
94191 const dst1w: Sized = .{ .ref = .dst1, .size = .word };
94192 const dst1d: Sized = .{ .ref = .dst1, .size = .dword };
94193 const dst1p: Sized = .{ .ref = .dst1, .size = .ptr };
94194 const dst1g: Sized = .{ .ref = .dst1, .size = .gpr };
94195 const dst1q: Sized = .{ .ref = .dst1, .size = .qword };
94196 const dst1t: Sized = .{ .ref = .dst1, .size = .tbyte };
94197 const dst1x: Sized = .{ .ref = .dst1, .size = .xword };
94198 const dst1y: Sized = .{ .ref = .dst1, .size = .yword };
94199
8879594200 const src0: Sized = .{ .ref = .src0, .size = .none };
8879694201 const src0b: Sized = .{ .ref = .src0, .size = .byte };
8879794202 const src0w: Sized = .{ .ref = .src0, .size = .word };
......@@ -88847,6 +94252,8 @@ const Select = struct {
8884794252 const @"1f": Select.Operand = .{ .flags = .{ .tag = .forward_label }, .base = .{ .ref = .tmp1, .size = .none } };
8884894253 const @"2b": Select.Operand = .{ .flags = .{ .tag = .backward_label }, .base = .{ .ref = .tmp2, .size = .none } };
8884994254 const @"2f": Select.Operand = .{ .flags = .{ .tag = .forward_label }, .base = .{ .ref = .tmp2, .size = .none } };
94255 const @"3b": Select.Operand = .{ .flags = .{ .tag = .backward_label }, .base = .{ .ref = .tmp3, .size = .none } };
94256 const @"3f": Select.Operand = .{ .flags = .{ .tag = .forward_label }, .base = .{ .ref = .tmp3, .size = .none } };
8885094257
8885194258 const tmp0b: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp0b };
8885294259 const tmp0w: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp0w };
......@@ -88948,6 +94355,16 @@ const Select = struct {
8894894355 const dst0x: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .dst0x };
8894994356 const dst0y: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .dst0y };
8895094357
94358 const dst1b: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .dst1b };
94359 const dst1w: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .dst1w };
94360 const dst1d: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .dst1d };
94361 const dst1p: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .dst1p };
94362 const dst1g: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .dst1g };
94363 const dst1q: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .dst1q };
94364 const dst1t: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .dst1t };
94365 const dst1x: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .dst1x };
94366 const dst1y: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .dst1y };
94367
8895194368 const src0b: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .src0b };
8895294369 const src0w: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .src0w };
8895394370 const src0d: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .src0d };
......@@ -89025,6 +94442,13 @@ const Select = struct {
8902594442 .base = base,
8902694443 };
8902794444 }
94445 fn leaad(base: Ref.Sized, adjust: Adjust, disp: i32) Select.Operand {
94446 return .{
94447 .flags = .{ .tag = .lea, .adjust = adjust },
94448 .base = base,
94449 .imm = disp,
94450 };
94451 }
8902894452 fn lead(base: Ref.Sized, disp: i32) Select.Operand {
8902994453 return .{
8903094454 .flags = .{ .tag = .lea },
......@@ -89181,10 +94605,15 @@ const Select = struct {
8918194605 .ptr_size => @divExact(s.cg.target.ptrBitWidth(), 8),
8918294606 .ptr_bit_size => s.cg.target.ptrBitWidth(),
8918394607 .size => @intCast(op.base.ref.typeOf(s).abiSize(s.cg.pt.zcu)),
94608 .src0_size => @intCast(Select.Operand.Ref.src0.typeOf(s).abiSize(s.cg.pt.zcu)),
8918494609 .delta_size => @intCast(@as(SignedImm, @intCast(op.base.ref.typeOf(s).abiSize(s.cg.pt.zcu))) -
8918594610 @as(SignedImm, @intCast(op.index.ref.typeOf(s).abiSize(s.cg.pt.zcu)))),
8918694611 .delta_elem_size => @intCast(@as(SignedImm, @intCast(op.base.ref.typeOf(s).elemType2(s.cg.pt.zcu).abiSize(s.cg.pt.zcu))) -
8918794612 @as(SignedImm, @intCast(op.index.ref.typeOf(s).elemType2(s.cg.pt.zcu).abiSize(s.cg.pt.zcu)))),
94613 .size_add_elem_size => {
94614 const ty = op.base.ref.typeOf(s);
94615 break :lhs @intCast(ty.abiSize(s.cg.pt.zcu) + ty.elemType2(s.cg.pt.zcu).abiSize(s.cg.pt.zcu));
94616 },
8918894617 .size_sub_elem_size => {
8918994618 const ty = op.base.ref.typeOf(s);
8919094619 break :lhs @intCast(ty.abiSize(s.cg.pt.zcu) - ty.elemType2(s.cg.pt.zcu).abiSize(s.cg.pt.zcu));
......@@ -89200,8 +94629,9 @@ const Select = struct {
8920094629 .elem_size => @intCast(op.base.ref.typeOf(s).elemType2(s.cg.pt.zcu).abiSize(s.cg.pt.zcu)),
8920194630 .src0_elem_size => @intCast(Select.Operand.Ref.src0.typeOf(s).elemType2(s.cg.pt.zcu).abiSize(s.cg.pt.zcu)),
8920294631 .dst0_elem_size => @intCast(Select.Operand.Ref.dst0.typeOf(s).elemType2(s.cg.pt.zcu).abiSize(s.cg.pt.zcu)),
89203 .src0_elem_size_times_src1 => @intCast(Select.Operand.Ref.src0.typeOf(s).elemType2(s.cg.pt.zcu).abiSize(s.cg.pt.zcu) *
94632 .src0_elem_size_mul_src1 => @intCast(Select.Operand.Ref.src0.typeOf(s).elemType2(s.cg.pt.zcu).abiSize(s.cg.pt.zcu) *
8920494633 Select.Operand.Ref.src1.valueOf(s).immediate),
94634 .src1 => @intCast(Select.Operand.Ref.src1.valueOf(s).immediate),
8920594635 .log2_src0_elem_size => @intCast(std.math.log2(Select.Operand.Ref.src0.typeOf(s).elemType2(s.cg.pt.zcu).abiSize(s.cg.pt.zcu))),
8920694636 .smin => @as(SignedImm, std.math.minInt(SignedImm)) >> @truncate(
8920794637 -%op.base.ref.typeOf(s).scalarType(s.cg.pt.zcu).bitSize(s.cg.pt.zcu),
......@@ -89214,18 +94644,19 @@ const Select = struct {
8921494644 )),
8921594645 };
8921694646 const rhs = op.flags.adjust.rhs.toLog2();
89217 const res = res: switch (op.flags.adjust.op) {
94647 const op_res = op_res: switch (op.flags.adjust.op) {
8921894648 .mul => {
89219 const res = @shlWithOverflow(lhs, rhs);
89220 assert(res[1] == 0);
89221 break :res res[0];
94649 const op_res = @shlWithOverflow(lhs, rhs);
94650 assert(op_res[1] == 0);
94651 break :op_res op_res[0];
8922294652 },
8922394653 .div => @shrExact(lhs, rhs),
94654 .div_8_down => lhs >> 3 & @as(SignedImm, -1) << rhs,
8922494655 .rem_8_mul => lhs & (@as(SignedImm, 1) << @intCast(@as(u3, 3) + rhs)) - 1,
8922594656 };
8922694657 return switch (op.flags.adjust.sign) {
89227 .neg => op.imm - res,
89228 .pos => op.imm + res,
94658 .neg => op.imm - op_res,
94659 .pos => op.imm + op_res,
8922994660 };
8923094661 }
8923194662
......@@ -89253,21 +94684,44 @@ const Select = struct {
8925394684 .simm => .{ .imm = .s(op.adjustedImm(i32, s)) },
8925494685 .uimm => .{ .imm = .u(@bitCast(op.adjustedImm(i64, s))) },
8925594686 .lea => .{ .mem = .{
89256 .base = .{ .reg = registerAlias(op.base.ref.valueOf(s).register, @divExact(s.cg.target.ptrBitWidth(), 8)) },
94687 .base = switch (op.base.ref.valueOf(s)) {
94688 else => unreachable,
94689 .register => |base_reg| .{ .reg = registerAlias(base_reg, @divExact(s.cg.target.ptrBitWidth(), 8)) },
94690 .register_offset => |base_reg_off| .{ .reg = registerAlias(base_reg_off.reg, @divExact(s.cg.target.ptrBitWidth(), 8)) },
94691 .lea_symbol => |base_sym_off| .{ .reloc = base_sym_off.sym_index },
94692 },
8925794693 .mod = .{ .rm = .{
8925894694 .size = op.base.size,
8925994695 .index = switch (op.index.ref) {
89260 else => |ref| registerAlias(ref.valueOf(s).register, @divExact(s.cg.target.ptrBitWidth(), 8)),
94696 else => |index_ref| switch (index_ref.valueOf(s)) {
94697 else => unreachable,
94698 .register => |index_reg| registerAlias(index_reg, @divExact(s.cg.target.ptrBitWidth(), 8)),
94699 .register_offset => |index_reg_off| registerAlias(index_reg_off.reg, @divExact(s.cg.target.ptrBitWidth(), 8)),
94700 },
8926194701 .none => .none,
8926294702 },
8926394703 .scale = op.index.scale,
89264 .disp = op.adjustedImm(i32, s),
94704 .disp = op.adjustedImm(i32, s) + switch (op.base.ref.valueOf(s)) {
94705 else => unreachable,
94706 .register => 0,
94707 .register_offset => |base_reg_off| base_reg_off.off,
94708 .lea_symbol => |base_sym_off| base_sym_off.off,
94709 } + switch (op.index.ref) {
94710 else => |index_ref| switch (index_ref
94711 .valueOf(s)) {
94712 else => unreachable,
94713 .register => 0,
94714 .register_offset => |base_reg_off| base_reg_off.off,
94715 .lea_symbol => |base_sym_off| base_sym_off.off,
94716 },
94717 .none => 0,
94718 },
8926594719 } },
8926694720 } },
8926794721 .mem => .{ .mem = try op.base.ref.valueOf(s).mem(s.cg, .{
8926894722 .size = op.base.size,
8926994723 .index = switch (op.index.ref) {
89270 else => |ref| registerAlias(ref.valueOf(s).register, @divExact(s.cg.target.ptrBitWidth(), 8)),
94724 else => |index_ref| registerAlias(index_ref.valueOf(s).register, @divExact(s.cg.target.ptrBitWidth(), 8)),
8927194725 .none => .none,
8927294726 },
8927394727 .scale = op.index.scale,
......@@ -89350,15 +94804,10 @@ fn select(
8935094804
8935194805 @memcpy(s_src_temps[0..src_temps.len], src_temps);
8935294806 std.mem.swap(Temp, &s_src_temps[pattern.commute[0]], &s_src_temps[pattern.commute[1]]);
89353 for (dst_temps, dst_tys, case.dst_temps[0..dst_temps.len]) |*dst_temp, dst_ty, dst_kind| {
89354 if (dst_kind.pass() != 1) continue;
89355 dst_temp.*, _ = try Select.TempSpec.create(.{ .type = dst_ty, .kind = dst_kind }, &s);
89356 }
89357 var tmp_owned: [s_tmp_temps.len]bool = @splat(false);
89358 for (1..3) |pass| for (s_tmp_temps, &tmp_owned, case.extra_temps) |*temp, *owned, spec| {
89359 if (spec.kind.pass() != pass) continue;
89360 temp.*, owned.* = try spec.create(&s);
89361 };
94807 var dst_locks: [s_dst_temps.len][2]?RegisterLock = @splat(@splat(null));
94808 for (dst_locks[0..dst_temps.len], case.dst_temps[0..dst_temps.len]) |*dst_lock, dst_kind| dst_lock.* = try dst_kind.lock(cg);
94809 var tmp_locks: [s_tmp_temps.len][2]?RegisterLock = @splat(@splat(null));
94810 for (&tmp_locks, case.extra_temps) |*tmp_lock, tmp_spec| tmp_lock.* = try tmp_spec.kind.lock(cg);
8936294811
8936394812 while (true) for (pattern.src[0..src_temps.len], src_temps) |src_pattern, *src_temp| {
8936494813 if (try src_pattern.convert(src_temp, cg)) break;
......@@ -89368,10 +94817,9 @@ fn select(
8936894817
8936994818 if (case.clobbers.eflags) try cg.spillEflagsIfOccupied();
8937094819
89371 for (dst_temps, dst_tys, case.dst_temps[0..dst_temps.len]) |*dst_temp, dst_ty, dst_kind| {
89372 if (dst_kind.pass() != 2) continue;
89373 dst_temp.*, _ = try Select.TempSpec.create(.{ .type = dst_ty, .kind = dst_kind }, &s);
89374 }
94820 var tmp_owned: [s_tmp_temps.len]bool = @splat(false);
94821 for (s_tmp_temps, &tmp_owned, case.extra_temps) |*temp, *owned, tmp_spec| temp.*, owned.* = try tmp_spec.create(&s);
94822 for (dst_temps, dst_tys, case.dst_temps[0..dst_temps.len]) |*dst_temp, dst_ty, tmp_kind| dst_temp.*, _ = try Select.TempSpec.create(.{ .type = dst_ty, .kind = tmp_kind }, &s);
8937594823 @memcpy(s_dst_temps[0..dst_temps.len], dst_temps);
8937694824
8937794825 switch (case.each) {
......@@ -89382,6 +94830,8 @@ fn select(
8938294830 }
8938394831 assert(s.top == 0);
8938494832
94833 for (tmp_locks) |locks| for (locks) |lock| if (lock) |reg| cg.register_manager.unlockReg(reg);
94834 for (dst_locks) |locks| for (locks) |lock| if (lock) |reg| cg.register_manager.unlockReg(reg);
8938594835 caller_preserved: {
8938694836 const cc = switch (case.clobbers.caller_preserved) {
8938794837 .none => break :caller_preserved,
......@@ -89400,7 +94850,7 @@ fn select(
8940094850 },
8940194851 }
8940294852 }
89403 for (dst_temps, case.dst_temps[0..dst_temps.len]) |dst_temp, dst_kind| dst_kind.finish(dst_temp, &s);
94853 for (dst_temps, case.dst_temps[0..dst_temps.len]) |dst_temp, tmp_kind| tmp_kind.finish(dst_temp, cg);
8940494854 for (tmp_owned, s_tmp_temps) |owned, temp| if (owned) try temp.die(cg);
8940594855 return;
8940694856 }
src/arch/x86_64/Emit.zig+46-22
......@@ -88,13 +88,32 @@ pub fn emitMir(emit: *Emit) Error!void {
8888 lowered_relocs[0].lowered_inst_index == lowered_index) : ({
8989 lowered_relocs = lowered_relocs[1..];
9090 }) switch (lowered_relocs[0].target) {
91 .inst => |target| try relocs.append(emit.lower.allocator, .{
92 .source = start_offset,
93 .source_offset = end_offset - 4,
94 .target = target,
95 .target_offset = lowered_relocs[0].off,
96 .length = @intCast(end_offset - start_offset),
97 }),
91 .inst => |target| {
92 const inst_length: u4 = @intCast(end_offset - start_offset);
93 const reloc_offset, const reloc_length = reloc_offset_length: {
94 var reloc_offset = inst_length;
95 var op_index: usize = lowered_inst.ops.len;
96 while (true) {
97 op_index -= 1;
98 const op = lowered_inst.encoding.data.ops[op_index];
99 if (op == .none) continue;
100 const enc_length: u4 = @intCast(
101 std.math.divCeil(u7, @intCast(op.immBitSize()), 8) catch unreachable,
102 );
103 reloc_offset -= enc_length;
104 if (op_index == lowered_relocs[0].op_index)
105 break :reloc_offset_length .{ reloc_offset, enc_length };
106 }
107 };
108 try relocs.append(emit.lower.allocator, .{
109 .inst_offset = start_offset,
110 .inst_length = inst_length,
111 .source_offset = reloc_offset,
112 .source_length = reloc_length,
113 .target = target,
114 .target_offset = lowered_relocs[0].off,
115 });
116 },
98117 .table => try table_relocs.append(emit.lower.allocator, .{
99118 .source_offset = end_offset - 4,
100119 .target_offset = lowered_relocs[0].off,
......@@ -409,7 +428,7 @@ pub fn emitMir(emit: *Emit) Error!void {
409428 } } };
410429 },
411430 .pseudo_dbg_local_am => loc: {
412 const mem = emit.lower.mem(mir_inst.data.ax.payload);
431 const mem = emit.lower.mem(undefined, mir_inst.data.ax.payload);
413432 break :loc .{ mir_inst.data.ax.air_inst, .{ .plus = .{
414433 base: {
415434 loc_buf[0] = switch (mem.base()) {
......@@ -466,15 +485,18 @@ pub fn emitMir(emit: *Emit) Error!void {
466485 }
467486 }
468487 }
469 {
470 // TODO this function currently assumes all relocs via JMP/CALL instructions are 32bit in size.
471 // This should be reversed like it is done in aarch64 MIR emit code: start with the smallest
472 // possible resolution, i.e., 8bit, and iteratively converge on the minimum required resolution
473 // until the entire decl is correctly emitted with all JMP/CALL instructions within range.
474 for (relocs.items) |reloc| {
475 const target = code_offset_mapping[reloc.target];
476 const disp = @as(i64, @intCast(target)) - @as(i64, @intCast(reloc.source + reloc.length)) + reloc.target_offset;
477 std.mem.writeInt(i32, emit.code.items[reloc.source_offset..][0..4], @intCast(disp), .little);
488 for (relocs.items) |reloc| {
489 const target = code_offset_mapping[reloc.target];
490 const disp = @as(i64, @intCast(target)) - @as(i64, @intCast(reloc.inst_offset + reloc.inst_length)) + reloc.target_offset;
491 const inst_bytes = emit.code.items[reloc.inst_offset..][0..reloc.inst_length];
492 switch (reloc.source_length) {
493 else => unreachable,
494 inline 1, 4 => |source_length| std.mem.writeInt(
495 @Type(.{ .int = .{ .signedness = .signed, .bits = @as(u16, 8) * source_length } }),
496 inst_bytes[reloc.source_offset..][0..source_length],
497 @intCast(disp),
498 .little,
499 ),
478500 }
479501 }
480502 if (emit.lower.mir.table.len > 0) {
......@@ -511,15 +533,17 @@ fn fail(emit: *Emit, comptime format: []const u8, args: anytype) Error {
511533
512534const Reloc = struct {
513535 /// Offset of the instruction.
514 source: u32,
536 inst_offset: u32,
537 /// Length of the instruction.
538 inst_length: u4,
515539 /// Offset of the relocation within the instruction.
516 source_offset: u32,
540 source_offset: u4,
541 /// Length of the relocation.
542 source_length: u4,
517543 /// Target of the relocation.
518544 target: Mir.Inst.Index,
519 /// Offset from the target instruction.
545 /// Offset from the target.
520546 target_offset: i32,
521 /// Length of the instruction.
522 length: u5,
523547};
524548
525549const TableReloc = struct {
src/arch/x86_64/Encoding.zig+11-6
......@@ -304,20 +304,20 @@ pub const Mnemonic = enum {
304304 jnc, jne, jng, jnge, jnl, jnle, jno, jnp, jns, jnz, jo, jp, jpe, jpo, jrcxz, js, jz,
305305 lahf, lar, lea, leave, lfence, lgdt, lidt, lldt, lmsw, loop, loope, loopne,
306306 lods, lodsb, lodsd, lodsq, lodsw,
307 lsl, ltr, lzcnt,
307 lsl, ltr,
308308 mfence, mov, movbe,
309309 movs, movsb, movsd, movsq, movsw,
310310 movsx, movsxd, movzx, mul,
311311 neg, nop, not,
312312 @"or", out, outs, outsb, outsd, outsw,
313 pause, pop, popcnt, popf, popfd, popfq, push, pushfq,
313 pause, pop, popf, popfd, popfq, push, pushfq,
314314 rcl, rcr,
315315 rdfsbase, rdgsbase, rdmsr, rdpid, rdpkru, rdpmc, rdrand, rdseed, rdssd, rdssq, rdtsc, rdtscp,
316 ret, rol, ror, rorx, rsm,
317 sahf, sal, sar, sarx, sbb,
316 ret, rol, ror, rsm,
317 sahf, sal, sar, sbb,
318318 scas, scasb, scasd, scasq, scasw,
319319 senduipi, serialize,
320 shl, shld, shlx, shr, shrd, shrx,
320 shl, shld, shr, shrd,
321321 stac, stc, std, sti, str, stui,
322322 sub, swapgs, syscall, sysenter, sysexit, sysret,
323323 seta, setae, setb, setbe, setc, sete, setg, setge, setl, setle, setna, setnae,
......@@ -433,6 +433,8 @@ pub const Mnemonic = enum {
433433 roundpd, roundps, roundsd, roundss,
434434 // SSE4.2
435435 crc32, pcmpgtq,
436 // ABM
437 lzcnt, popcnt,
436438 // PCLMUL
437439 pclmulqdq,
438440 // AES
......@@ -440,7 +442,6 @@ pub const Mnemonic = enum {
440442 // SHA
441443 sha1rnds4, sha1nexte, sha1msg1, sha1msg2, sha256msg1, sha256msg2, sha256rnds2,
442444 // AVX
443 andn, bextr, blsi, blsmsk, blsr, bzhi, tzcnt,
444445 vaddpd, vaddps, vaddsd, vaddss, vaddsubpd, vaddsubps,
445446 vaesdec, vaesdeclast, vaesenc, vaesenclast, vaesimc, vaeskeygenassist,
446447 vandnpd, vandnps, vandpd, vandps,
......@@ -506,6 +507,10 @@ pub const Mnemonic = enum {
506507 vtestpd, vtestps,
507508 vucomisd, vucomiss, vunpckhpd, vunpckhps, vunpcklpd, vunpcklps,
508509 vxorpd, vxorps,
510 // BMI
511 andn, bextr, blsi, blsmsk, blsr, tzcnt,
512 // BMI2
513 bzhi, mulx, pdep, pext, rorx, sarx, shlx, shrx,
509514 // F16C
510515 vcvtph2ps, vcvtps2ph,
511516 // FMA
src/arch/x86_64/Lower.zig+92-76
......@@ -10,32 +10,38 @@ mir: Mir,
1010cc: std.builtin.CallingConvention,
1111err_msg: ?*Zcu.ErrorMsg = null,
1212src_loc: Zcu.LazySrcLoc,
13result_insts_len: u8 = undefined,
14result_relocs_len: u8 = undefined,
15result_insts: [
16 @max(
17 1, // non-pseudo instructions
18 3, // (ELF only) TLS local dynamic (LD) sequence in PIC mode
19 2, // cmovcc: cmovcc \ cmovcc
20 3, // setcc: setcc \ setcc \ logicop
21 2, // jcc: jcc \ jcc
22 pseudo_probe_align_insts,
23 pseudo_probe_adjust_unrolled_max_insts,
24 pseudo_probe_adjust_setup_insts,
25 pseudo_probe_adjust_loop_insts,
26 abi.Win64.callee_preserved_regs.len * 2, // push_regs/pop_regs
27 abi.SysV.callee_preserved_regs.len * 2, // push_regs/pop_regs
28 )
29]Instruction = undefined,
30result_relocs: [
31 @max(
32 1, // jmp/jcc/call/mov/lea: jmp/jcc/call/mov/lea
33 2, // jcc: jcc \ jcc
34 2, // test \ jcc \ probe \ sub \ jmp
35 1, // probe \ sub \ jcc
36 3, // (ELF only) TLS local dynamic (LD) sequence in PIC mode
37 )
38]Reloc = undefined,
13result_insts_len: ResultInstIndex = undefined,
14result_insts: [max_result_insts]Instruction = undefined,
15result_relocs_len: ResultRelocIndex = undefined,
16result_relocs: [max_result_relocs]Reloc = undefined,
17
18const max_result_insts = @max(
19 1, // non-pseudo instructions
20 3, // (ELF only) TLS local dynamic (LD) sequence in PIC mode
21 2, // cmovcc: cmovcc \ cmovcc
22 3, // setcc: setcc \ setcc \ logicop
23 2, // jcc: jcc \ jcc
24 pseudo_probe_align_insts,
25 pseudo_probe_adjust_unrolled_max_insts,
26 pseudo_probe_adjust_setup_insts,
27 pseudo_probe_adjust_loop_insts,
28 abi.Win64.callee_preserved_regs.len * 2, // push_regs/pop_regs
29 abi.SysV.callee_preserved_regs.len * 2, // push_regs/pop_regs
30);
31const max_result_relocs = @max(
32 1, // jmp/jcc/call/mov/lea: jmp/jcc/call/mov/lea
33 2, // jcc: jcc \ jcc
34 2, // test \ jcc \ probe \ sub \ jmp
35 1, // probe \ sub \ jcc
36 3, // (ELF only) TLS local dynamic (LD) sequence in PIC mode
37);
38
39const ResultInstIndex = std.math.IntFittingRange(0, max_result_insts - 1);
40const ResultRelocIndex = std.math.IntFittingRange(0, max_result_relocs - 1);
41const InstOpIndex = std.math.IntFittingRange(
42 0,
43 @typeInfo(@FieldType(Instruction, "ops")).array.len - 1,
44);
3945
4046pub const pseudo_probe_align_insts = 5; // test \ jcc \ probe \ sub \ jmp
4147pub const pseudo_probe_adjust_unrolled_max_insts =
......@@ -51,7 +57,8 @@ pub const Error = error{
5157};
5258
5359pub const Reloc = struct {
54 lowered_inst_index: u8,
60 lowered_inst_index: ResultInstIndex,
61 op_index: InstOpIndex,
5562 target: Target,
5663 off: i32,
5764
......@@ -114,11 +121,11 @@ pub fn lowerMir(lower: *Lower, index: Mir.Inst.Index) Error!struct {
114121 assert(inst.data.rx.fixes == ._);
115122 try lower.emit(.none, .cmovnz, &.{
116123 .{ .reg = inst.data.rx.r1 },
117 .{ .mem = lower.mem(inst.data.rx.payload) },
124 .{ .mem = lower.mem(1, inst.data.rx.payload) },
118125 });
119126 try lower.emit(.none, .cmovp, &.{
120127 .{ .reg = inst.data.rx.r1 },
121 .{ .mem = lower.mem(inst.data.rx.payload) },
128 .{ .mem = lower.mem(1, inst.data.rx.payload) },
122129 });
123130 },
124131 .pseudo_set_z_and_np_r => {
......@@ -137,13 +144,13 @@ pub fn lowerMir(lower: *Lower, index: Mir.Inst.Index) Error!struct {
137144 .pseudo_set_z_and_np_m => {
138145 assert(inst.data.rx.fixes == ._);
139146 try lower.emit(.none, .setz, &.{
140 .{ .mem = lower.mem(inst.data.rx.payload) },
147 .{ .mem = lower.mem(0, inst.data.rx.payload) },
141148 });
142149 try lower.emit(.none, .setnp, &.{
143150 .{ .reg = inst.data.rx.r1 },
144151 });
145152 try lower.emit(.none, .@"and", &.{
146 .{ .mem = lower.mem(inst.data.rx.payload) },
153 .{ .mem = lower.mem(0, inst.data.rx.payload) },
147154 .{ .reg = inst.data.rx.r1 },
148155 });
149156 },
......@@ -163,32 +170,32 @@ pub fn lowerMir(lower: *Lower, index: Mir.Inst.Index) Error!struct {
163170 .pseudo_set_nz_or_p_m => {
164171 assert(inst.data.rx.fixes == ._);
165172 try lower.emit(.none, .setnz, &.{
166 .{ .mem = lower.mem(inst.data.rx.payload) },
173 .{ .mem = lower.mem(0, inst.data.rx.payload) },
167174 });
168175 try lower.emit(.none, .setp, &.{
169176 .{ .reg = inst.data.rx.r1 },
170177 });
171178 try lower.emit(.none, .@"or", &.{
172 .{ .mem = lower.mem(inst.data.rx.payload) },
179 .{ .mem = lower.mem(0, inst.data.rx.payload) },
173180 .{ .reg = inst.data.rx.r1 },
174181 });
175182 },
176183 .pseudo_j_z_and_np_inst => {
177184 assert(inst.data.inst.fixes == ._);
178185 try lower.emit(.none, .jnz, &.{
179 .{ .imm = lower.reloc(.{ .inst = index + 1 }, 0) },
186 .{ .imm = lower.reloc(0, .{ .inst = index + 1 }, 0) },
180187 });
181188 try lower.emit(.none, .jnp, &.{
182 .{ .imm = lower.reloc(.{ .inst = inst.data.inst.inst }, 0) },
189 .{ .imm = lower.reloc(0, .{ .inst = inst.data.inst.inst }, 0) },
183190 });
184191 },
185192 .pseudo_j_nz_or_p_inst => {
186193 assert(inst.data.inst.fixes == ._);
187194 try lower.emit(.none, .jnz, &.{
188 .{ .imm = lower.reloc(.{ .inst = inst.data.inst.inst }, 0) },
195 .{ .imm = lower.reloc(0, .{ .inst = inst.data.inst.inst }, 0) },
189196 });
190197 try lower.emit(.none, .jp, &.{
191 .{ .imm = lower.reloc(.{ .inst = inst.data.inst.inst }, 0) },
198 .{ .imm = lower.reloc(0, .{ .inst = inst.data.inst.inst }, 0) },
192199 });
193200 },
194201
......@@ -198,7 +205,7 @@ pub fn lowerMir(lower: *Lower, index: Mir.Inst.Index) Error!struct {
198205 .{ .imm = .s(@bitCast(inst.data.ri.i)) },
199206 });
200207 try lower.emit(.none, .jz, &.{
201 .{ .imm = lower.reloc(.{ .inst = index + 1 }, 0) },
208 .{ .imm = lower.reloc(0, .{ .inst = index + 1 }, 0) },
202209 });
203210 try lower.emit(.none, .lea, &.{
204211 .{ .reg = inst.data.ri.r1 },
......@@ -214,7 +221,7 @@ pub fn lowerMir(lower: *Lower, index: Mir.Inst.Index) Error!struct {
214221 .{ .reg = inst.data.ri.r1.to32() },
215222 });
216223 try lower.emit(.none, .jmp, &.{
217 .{ .imm = lower.reloc(.{ .inst = index }, 0) },
224 .{ .imm = lower.reloc(0, .{ .inst = index }, 0) },
218225 });
219226 assert(lower.result_insts_len == pseudo_probe_align_insts);
220227 },
......@@ -260,7 +267,7 @@ pub fn lowerMir(lower: *Lower, index: Mir.Inst.Index) Error!struct {
260267 .{ .imm = .s(page_size) },
261268 });
262269 try lower.emit(.none, .jae, &.{
263 .{ .imm = lower.reloc(.{ .inst = index }, 0) },
270 .{ .imm = lower.reloc(0, .{ .inst = index }, 0) },
264271 });
265272 assert(lower.result_insts_len == pseudo_probe_adjust_loop_insts);
266273 },
......@@ -382,21 +389,22 @@ pub fn imm(lower: *const Lower, ops: Mir.Inst.Ops, i: u32) Immediate {
382389 };
383390}
384391
385pub fn mem(lower: *Lower, payload: u32) Memory {
392pub fn mem(lower: *Lower, op_index: InstOpIndex, payload: u32) Memory {
386393 var m = lower.mir.resolveFrameLoc(lower.mir.extraData(Mir.Memory, payload).data).decode();
387394 switch (m) {
388395 .sib => |*sib| switch (sib.base) {
389396 else => {},
390 .table => sib.disp = lower.reloc(.table, sib.disp).signed,
397 .table => sib.disp = lower.reloc(op_index, .table, sib.disp).signed,
391398 },
392399 else => {},
393400 }
394401 return m;
395402}
396403
397fn reloc(lower: *Lower, target: Reloc.Target, off: i32) Immediate {
404fn reloc(lower: *Lower, op_index: InstOpIndex, target: Reloc.Target, off: i32) Immediate {
398405 lower.result_relocs[lower.result_relocs_len] = .{
399406 .lowered_inst_index = lower.result_insts_len,
407 .op_index = op_index,
400408 .target = target,
401409 .off = off,
402410 };
......@@ -409,7 +417,7 @@ fn emit(lower: *Lower, prefix: Prefix, mnemonic: Mnemonic, ops: []const Operand)
409417 var emit_mnemonic = mnemonic;
410418 var emit_ops_storage: [4]Operand = undefined;
411419 const emit_ops = emit_ops_storage[0..ops.len];
412 for (emit_ops, ops) |*emit_op, op| {
420 for (emit_ops, ops, 0..) |*emit_op, op, op_index| {
413421 emit_op.* = switch (op) {
414422 else => op,
415423 .mem => |mem_op| switch (mem_op.base()) {
......@@ -428,22 +436,22 @@ fn emit(lower: *Lower, prefix: Prefix, mnemonic: Mnemonic, ops: []const Operand)
428436 if (lower.pic) {
429437 // Here, we currently assume local dynamic TLS vars, and so
430438 // we emit LD model.
431 _ = lower.reloc(.{ .linker_tlsld = sym_index }, 0);
439 _ = lower.reloc(1, .{ .linker_tlsld = sym_index }, 0);
432440 lower.result_insts[lower.result_insts_len] = try .new(.none, .lea, &.{
433441 .{ .reg = .rdi },
434 .{ .mem = Memory.initRip(mem_op.sib.ptr_size, 0) },
442 .{ .mem = Memory.initRip(.none, 0) },
435443 }, lower.target);
436444 lower.result_insts_len += 1;
437 _ = lower.reloc(.{
445 _ = lower.reloc(0, .{
438446 .linker_extern_fn = try elf_file.getGlobalSymbol("__tls_get_addr", null),
439447 }, 0);
440448 lower.result_insts[lower.result_insts_len] = try .new(.none, .call, &.{
441449 .{ .imm = .s(0) },
442450 }, lower.target);
443451 lower.result_insts_len += 1;
444 _ = lower.reloc(.{ .linker_dtpoff = sym_index }, 0);
452 _ = lower.reloc(@intCast(op_index), .{ .linker_dtpoff = sym_index }, 0);
445453 emit_mnemonic = .lea;
446 break :op .{ .mem = Memory.initSib(mem_op.sib.ptr_size, .{
454 break :op .{ .mem = Memory.initSib(.none, .{
447455 .base = .{ .reg = .rax },
448456 .disp = std.math.minInt(i32),
449457 }) };
......@@ -454,24 +462,26 @@ fn emit(lower: *Lower, prefix: Prefix, mnemonic: Mnemonic, ops: []const Operand)
454462 .{ .mem = Memory.initSib(.qword, .{ .base = .{ .reg = .fs } }) },
455463 }, lower.target);
456464 lower.result_insts_len += 1;
457 _ = lower.reloc(.{ .linker_reloc = sym_index }, 0);
465 _ = lower.reloc(@intCast(op_index), .{ .linker_reloc = sym_index }, 0);
458466 emit_mnemonic = .lea;
459 break :op .{ .mem = Memory.initSib(mem_op.sib.ptr_size, .{
467 break :op .{ .mem = Memory.initSib(.none, .{
460468 .base = .{ .reg = .rax },
461469 .disp = std.math.minInt(i32),
462470 }) };
463471 }
464472 }
465473
466 _ = lower.reloc(.{ .linker_reloc = sym_index }, 0);
467474 if (lower.pic) switch (mnemonic) {
468475 .lea => {
469 if (elf_sym.flags.is_extern_ptr) emit_mnemonic = .mov;
470 break :op .{ .mem = Memory.initRip(mem_op.sib.ptr_size, 0) };
476 _ = lower.reloc(@intCast(op_index), .{ .linker_reloc = sym_index }, 0);
477 if (!elf_sym.flags.is_extern_ptr) break :op .{ .mem = Memory.initRip(.none, 0) };
478 emit_mnemonic = .mov;
479 break :op .{ .mem = Memory.initRip(.ptr, 0) };
471480 },
472481 .mov => {
473482 if (elf_sym.flags.is_extern_ptr) {
474483 const reg = ops[0].reg;
484 _ = lower.reloc(1, .{ .linker_reloc = sym_index }, 0);
475485 lower.result_insts[lower.result_insts_len] = try .new(.none, .mov, &.{
476486 .{ .reg = reg.to64() },
477487 .{ .mem = Memory.initRip(.qword, 0) },
......@@ -481,10 +491,13 @@ fn emit(lower: *Lower, prefix: Prefix, mnemonic: Mnemonic, ops: []const Operand)
481491 .reg = reg.to64(),
482492 } }) };
483493 }
494 _ = lower.reloc(@intCast(op_index), .{ .linker_reloc = sym_index }, 0);
484495 break :op .{ .mem = Memory.initRip(mem_op.sib.ptr_size, 0) };
485496 },
486497 else => unreachable,
487 } else switch (mnemonic) {
498 };
499 _ = lower.reloc(@intCast(op_index), .{ .linker_reloc = sym_index }, 0);
500 switch (mnemonic) {
488501 .call => break :op .{ .mem = Memory.initSib(mem_op.sib.ptr_size, .{
489502 .base = .{ .reg = .ds },
490503 }) },
......@@ -502,10 +515,10 @@ fn emit(lower: *Lower, prefix: Prefix, mnemonic: Mnemonic, ops: []const Operand)
502515 const macho_sym = zo.symbols.items[sym_index];
503516
504517 if (macho_sym.flags.tlv) {
505 _ = lower.reloc(.{ .linker_reloc = sym_index }, 0);
518 _ = lower.reloc(1, .{ .linker_reloc = sym_index }, 0);
506519 lower.result_insts[lower.result_insts_len] = try .new(.none, .mov, &.{
507520 .{ .reg = .rdi },
508 .{ .mem = Memory.initRip(mem_op.sib.ptr_size, 0) },
521 .{ .mem = Memory.initRip(.ptr, 0) },
509522 }, lower.target);
510523 lower.result_insts_len += 1;
511524 lower.result_insts[lower.result_insts_len] = try .new(.none, .call, &.{
......@@ -516,15 +529,17 @@ fn emit(lower: *Lower, prefix: Prefix, mnemonic: Mnemonic, ops: []const Operand)
516529 break :op .{ .reg = .rax };
517530 }
518531
519 _ = lower.reloc(.{ .linker_reloc = sym_index }, 0);
520532 break :op switch (mnemonic) {
521533 .lea => {
522 if (macho_sym.flags.is_extern_ptr) emit_mnemonic = .mov;
523 break :op .{ .mem = Memory.initRip(mem_op.sib.ptr_size, 0) };
534 _ = lower.reloc(@intCast(op_index), .{ .linker_reloc = sym_index }, 0);
535 if (!macho_sym.flags.is_extern_ptr) break :op .{ .mem = Memory.initRip(.none, 0) };
536 emit_mnemonic = .mov;
537 break :op .{ .mem = Memory.initRip(.ptr, 0) };
524538 },
525539 .mov => {
526540 if (macho_sym.flags.is_extern_ptr) {
527541 const reg = ops[0].reg;
542 _ = lower.reloc(1, .{ .linker_reloc = sym_index }, 0);
528543 lower.result_insts[lower.result_insts_len] = try .new(.none, .mov, &.{
529544 .{ .reg = reg.to64() },
530545 .{ .mem = Memory.initRip(.qword, 0) },
......@@ -534,6 +549,7 @@ fn emit(lower: *Lower, prefix: Prefix, mnemonic: Mnemonic, ops: []const Operand)
534549 .reg = reg.to64(),
535550 } }) };
536551 }
552 _ = lower.reloc(@intCast(op_index), .{ .linker_reloc = sym_index }, 0);
537553 break :op .{ .mem = Memory.initRip(mem_op.sib.ptr_size, 0) };
538554 },
539555 else => unreachable,
......@@ -550,7 +566,7 @@ fn emit(lower: *Lower, prefix: Prefix, mnemonic: Mnemonic, ops: []const Operand)
550566}
551567
552568fn generic(lower: *Lower, inst: Mir.Inst) Error!void {
553 @setEvalBranchQuota(2_400);
569 @setEvalBranchQuota(2_500);
554570 const fixes = switch (inst.ops) {
555571 .none => inst.data.none.fixes,
556572 .inst => inst.data.inst.fixes,
......@@ -595,7 +611,7 @@ fn generic(lower: *Lower, inst: Mir.Inst) Error!void {
595611 }, switch (inst.ops) {
596612 .none => &.{},
597613 .inst => &.{
598 .{ .imm = lower.reloc(.{ .inst = inst.data.inst.inst }, 0) },
614 .{ .imm = lower.reloc(0, .{ .inst = inst.data.inst.inst }, 0) },
599615 },
600616 .i_s, .i_u => &.{
601617 .{ .imm = lower.imm(inst.ops, inst.data.i.i) },
......@@ -642,10 +658,10 @@ fn generic(lower: *Lower, inst: Mir.Inst) Error!void {
642658 .{ .imm = lower.imm(inst.ops, inst.data.rri.i) },
643659 },
644660 .m => &.{
645 .{ .mem = lower.mem(inst.data.x.payload) },
661 .{ .mem = lower.mem(0, inst.data.x.payload) },
646662 },
647663 .mi_s, .mi_u => &.{
648 .{ .mem = lower.mem(inst.data.x.payload + 1) },
664 .{ .mem = lower.mem(0, inst.data.x.payload + 1) },
649665 .{ .imm = lower.imm(
650666 inst.ops,
651667 lower.mir.extraData(Mir.Imm32, inst.data.x.payload).data.imm,
......@@ -653,64 +669,64 @@ fn generic(lower: *Lower, inst: Mir.Inst) Error!void {
653669 },
654670 .rm => &.{
655671 .{ .reg = inst.data.rx.r1 },
656 .{ .mem = lower.mem(inst.data.rx.payload) },
672 .{ .mem = lower.mem(1, inst.data.rx.payload) },
657673 },
658674 .rmr => &.{
659675 .{ .reg = inst.data.rrx.r1 },
660 .{ .mem = lower.mem(inst.data.rrx.payload) },
676 .{ .mem = lower.mem(1, inst.data.rrx.payload) },
661677 .{ .reg = inst.data.rrx.r2 },
662678 },
663679 .rmi => &.{
664680 .{ .reg = inst.data.rix.r1 },
665 .{ .mem = lower.mem(inst.data.rix.payload) },
681 .{ .mem = lower.mem(1, inst.data.rix.payload) },
666682 .{ .imm = lower.imm(inst.ops, inst.data.rix.i) },
667683 },
668684 .rmi_s, .rmi_u => &.{
669685 .{ .reg = inst.data.rx.r1 },
670 .{ .mem = lower.mem(inst.data.rx.payload + 1) },
686 .{ .mem = lower.mem(1, inst.data.rx.payload + 1) },
671687 .{ .imm = lower.imm(
672688 inst.ops,
673689 lower.mir.extraData(Mir.Imm32, inst.data.rx.payload).data.imm,
674690 ) },
675691 },
676692 .mr => &.{
677 .{ .mem = lower.mem(inst.data.rx.payload) },
693 .{ .mem = lower.mem(0, inst.data.rx.payload) },
678694 .{ .reg = inst.data.rx.r1 },
679695 },
680696 .mrr => &.{
681 .{ .mem = lower.mem(inst.data.rrx.payload) },
697 .{ .mem = lower.mem(0, inst.data.rrx.payload) },
682698 .{ .reg = inst.data.rrx.r1 },
683699 .{ .reg = inst.data.rrx.r2 },
684700 },
685701 .mri => &.{
686 .{ .mem = lower.mem(inst.data.rix.payload) },
702 .{ .mem = lower.mem(0, inst.data.rix.payload) },
687703 .{ .reg = inst.data.rix.r1 },
688704 .{ .imm = lower.imm(inst.ops, inst.data.rix.i) },
689705 },
690706 .rrm => &.{
691707 .{ .reg = inst.data.rrx.r1 },
692708 .{ .reg = inst.data.rrx.r2 },
693 .{ .mem = lower.mem(inst.data.rrx.payload) },
709 .{ .mem = lower.mem(2, inst.data.rrx.payload) },
694710 },
695711 .rrmr => &.{
696712 .{ .reg = inst.data.rrrx.r1 },
697713 .{ .reg = inst.data.rrrx.r2 },
698 .{ .mem = lower.mem(inst.data.rrrx.payload) },
714 .{ .mem = lower.mem(2, inst.data.rrrx.payload) },
699715 .{ .reg = inst.data.rrrx.r3 },
700716 },
701717 .rrmi => &.{
702718 .{ .reg = inst.data.rrix.r1 },
703719 .{ .reg = inst.data.rrix.r2 },
704 .{ .mem = lower.mem(inst.data.rrix.payload) },
720 .{ .mem = lower.mem(2, inst.data.rrix.payload) },
705721 .{ .imm = lower.imm(inst.ops, inst.data.rrix.i) },
706722 },
707723 .extern_fn_reloc, .rel => &.{
708 .{ .imm = lower.reloc(.{ .linker_extern_fn = inst.data.reloc.sym_index }, inst.data.reloc.off) },
724 .{ .imm = lower.reloc(0, .{ .linker_extern_fn = inst.data.reloc.sym_index }, inst.data.reloc.off) },
709725 },
710726 .got_reloc, .direct_reloc, .import_reloc => ops: {
711727 const reg = inst.data.rx.r1;
712728 const extra = lower.mir.extraData(bits.SymbolOffset, inst.data.rx.payload).data;
713 _ = lower.reloc(switch (inst.ops) {
729 _ = lower.reloc(1, switch (inst.ops) {
714730 .got_reloc => .{ .linker_got = extra.sym_index },
715731 .direct_reloc => .{ .linker_direct = extra.sym_index },
716732 .import_reloc => .{ .linker_import = extra.sym_index },
src/arch/x86_64/Mir.zig+4-3
......@@ -100,6 +100,8 @@ pub const Inst = struct {
100100 /// ___ Division
101101 _d,
102102
103 /// ___ Without Affecting Flags
104 _x,
103105 /// ___ Left
104106 _l,
105107 /// ___ Left Double
......@@ -483,6 +485,7 @@ pub const Inst = struct {
483485 /// ASCII adjust al after subtraction
484486 aa,
485487 /// Add with carry
488 /// Unsigned integer addition of two operands with carry flag
486489 adc,
487490 /// Add
488491 /// Add packed integers
......@@ -1162,10 +1165,8 @@ pub const Inst = struct {
11621165 fmadd231,
11631166
11641167 // ADX
1165 /// Unsigned integer addition of two operands with carry flag
1166 adcx,
11671168 /// Unsigned integer addition of two operands with overflow flag
1168 adox,
1169 ado,
11691170
11701171 // AESKLE
11711172 /// Encode 128-bit key with key locker
src/arch/x86_64/encodings.zig+55-43
......@@ -405,9 +405,9 @@ pub const table = [_]Entry{
405405 .{ .jb, .d, &.{ .rel32 }, &.{ 0x0f, 0x82 }, 0, .none, .none },
406406 .{ .jbe, .d, &.{ .rel32 }, &.{ 0x0f, 0x86 }, 0, .none, .none },
407407 .{ .jc, .d, &.{ .rel32 }, &.{ 0x0f, 0x82 }, 0, .none, .none },
408 .{ .jcxz, .d, &.{ .rel32 }, &.{ 0xe3 }, 0, .short, .@"32bit" },
409 .{ .jecxz, .d, &.{ .rel32 }, &.{ 0xe3 }, 0, .none, .@"32bit" },
410 .{ .jrcxz, .d, &.{ .rel32 }, &.{ 0xe3 }, 0, .none, .@"64bit" },
408 .{ .jcxz, .d, &.{ .rel8 }, &.{ 0xe3 }, 0, .short, .@"32bit" },
409 .{ .jecxz, .d, &.{ .rel8 }, &.{ 0xe3 }, 0, .none, .@"32bit" },
410 .{ .jrcxz, .d, &.{ .rel8 }, &.{ 0xe3 }, 0, .none, .@"64bit" },
411411 .{ .je, .d, &.{ .rel32 }, &.{ 0x0f, 0x84 }, 0, .none, .none },
412412 .{ .jg, .d, &.{ .rel32 }, &.{ 0x0f, 0x8f }, 0, .none, .none },
413413 .{ .jge, .d, &.{ .rel32 }, &.{ 0x0f, 0x8d }, 0, .none, .none },
......@@ -477,10 +477,6 @@ pub const table = [_]Entry{
477477
478478 .{ .ltr, .m, &.{ .rm16 }, &.{ 0x0f, 0x00 }, 3, .none, .none },
479479
480 .{ .lzcnt, .rm, &.{ .r16, .rm16 }, &.{ 0xf3, 0x0f, 0xbd }, 0, .short, .lzcnt },
481 .{ .lzcnt, .rm, &.{ .r32, .rm32 }, &.{ 0xf3, 0x0f, 0xbd }, 0, .none, .lzcnt },
482 .{ .lzcnt, .rm, &.{ .r64, .rm64 }, &.{ 0xf3, 0x0f, 0xbd }, 0, .long, .lzcnt },
483
484480 .{ .mfence, .z, &.{}, &.{ 0x0f, 0xae, 0xf0 }, 0, .none, .none },
485481
486482 .{ .mov, .mr, &.{ .rm8, .r8 }, &.{ 0x88 }, 0, .none, .none },
......@@ -630,10 +626,6 @@ pub const table = [_]Entry{
630626 .{ .pop, .m, &.{ .rm16 }, &.{ 0x8f }, 0, .short, .none },
631627 .{ .pop, .m, &.{ .rm64 }, &.{ 0x8f }, 0, .none, .none },
632628
633 .{ .popcnt, .rm, &.{ .r16, .rm16 }, &.{ 0xf3, 0x0f, 0xb8 }, 0, .short, .popcnt },
634 .{ .popcnt, .rm, &.{ .r32, .rm32 }, &.{ 0xf3, 0x0f, 0xb8 }, 0, .none, .popcnt },
635 .{ .popcnt, .rm, &.{ .r64, .rm64 }, &.{ 0xf3, 0x0f, 0xb8 }, 0, .long, .popcnt },
636
637629 .{ .popf, .z, &.{}, &.{ 0x9d }, 0, .short, .none },
638630 .{ .popfd, .z, &.{}, &.{ 0x9d }, 0, .none, .@"32bit" },
639631 .{ .popfq, .z, &.{}, &.{ 0x9d }, 0, .none, .@"64bit" },
......@@ -1738,6 +1730,15 @@ pub const table = [_]Entry{
17381730
17391731 .{ .pcmpgtq, .rm, &.{ .xmm, .xmm_m128 }, &.{ 0x66, 0x0f, 0x38, 0x37 }, 0, .none, .sse4_2 },
17401732
1733 // ABM
1734 .{ .lzcnt, .rm, &.{ .r16, .rm16 }, &.{ 0xf3, 0x0f, 0xbd }, 0, .short, .lzcnt },
1735 .{ .lzcnt, .rm, &.{ .r32, .rm32 }, &.{ 0xf3, 0x0f, 0xbd }, 0, .none, .lzcnt },
1736 .{ .lzcnt, .rm, &.{ .r64, .rm64 }, &.{ 0xf3, 0x0f, 0xbd }, 0, .long, .lzcnt },
1737
1738 .{ .popcnt, .rm, &.{ .r16, .rm16 }, &.{ 0xf3, 0x0f, 0xb8 }, 0, .short, .popcnt },
1739 .{ .popcnt, .rm, &.{ .r32, .rm32 }, &.{ 0xf3, 0x0f, 0xb8 }, 0, .none, .popcnt },
1740 .{ .popcnt, .rm, &.{ .r64, .rm64 }, &.{ 0xf3, 0x0f, 0xb8 }, 0, .long, .popcnt },
1741
17411742 // PCLMUL
17421743 .{ .pclmulqdq, .rmi, &.{ .xmm, .xmm_m128, .imm8 }, &.{ 0x66, 0x0f, 0x3a, 0x44 }, 0, .none, .pclmul },
17431744
......@@ -1771,38 +1772,6 @@ pub const table = [_]Entry{
17711772 .{ .sha256msg2, .rm, &.{ .xmm, .xmm_m128 }, &.{ 0x0f, 0x38, 0xcd }, 0, .none, .sha },
17721773
17731774 // AVX
1774 .{ .andn, .rvm, &.{ .r32, .r32, .rm32 }, &.{ 0x0f, 0x38, 0xf2 }, 0, .vex_lz_w0, .bmi },
1775 .{ .andn, .rvm, &.{ .r64, .r64, .rm64 }, &.{ 0x0f, 0x38, 0xf2 }, 0, .vex_lz_w1, .bmi },
1776
1777 .{ .bextr, .rmv, &.{ .r32, .rm32, .r32 }, &.{ 0x0f, 0x38, 0xf7 }, 0, .vex_lz_w0, .bmi },
1778 .{ .bextr, .rmv, &.{ .r64, .rm64, .r64 }, &.{ 0x0f, 0x38, 0xf7 }, 0, .vex_lz_w1, .bmi },
1779
1780 .{ .blsi, .vm, &.{ .r32, .rm32 }, &.{ 0x0f, 0x38, 0xf3 }, 3, .vex_lz_w0, .bmi },
1781 .{ .blsi, .vm, &.{ .r64, .rm64 }, &.{ 0x0f, 0x38, 0xf3 }, 3, .vex_lz_w1, .bmi },
1782
1783 .{ .blsmsk, .vm, &.{ .r32, .rm32 }, &.{ 0x0f, 0x38, 0xf3 }, 2, .vex_lz_w0, .bmi },
1784 .{ .blsmsk, .vm, &.{ .r64, .rm64 }, &.{ 0x0f, 0x38, 0xf3 }, 2, .vex_lz_w1, .bmi },
1785
1786 .{ .blsr, .vm, &.{ .r32, .rm32 }, &.{ 0x0f, 0x38, 0xf3 }, 1, .vex_lz_w0, .bmi },
1787 .{ .blsr, .vm, &.{ .r64, .rm64 }, &.{ 0x0f, 0x38, 0xf3 }, 1, .vex_lz_w1, .bmi },
1788
1789 .{ .bzhi, .rmv, &.{ .r32, .rm32, .r32 }, &.{ 0x0f, 0x38, 0xf5 }, 0, .vex_lz_w0, .bmi2 },
1790 .{ .bzhi, .rmv, &.{ .r64, .rm64, .r64 }, &.{ 0x0f, 0x38, 0xf5 }, 0, .vex_lz_w1, .bmi2 },
1791
1792 .{ .rorx, .rmi, &.{ .r32, .rm32, .imm8 }, &.{ 0xf2, 0x0f, 0x3a }, 0, .vex_lz_w0, .bmi2 },
1793 .{ .rorx, .rmi, &.{ .r64, .rm64, .imm8 }, &.{ 0xf2, 0x0f, 0x3a }, 0, .vex_lz_w1, .bmi2 },
1794
1795 .{ .sarx, .rmv, &.{ .r32, .rm32, .r32 }, &.{ 0xf3, 0x0f, 0x38, 0xf7 }, 0, .vex_lz_w0, .bmi2 },
1796 .{ .shlx, .rmv, &.{ .r32, .rm32, .r32 }, &.{ 0x66, 0x0f, 0x38, 0xf7 }, 0, .vex_lz_w0, .bmi2 },
1797 .{ .shrx, .rmv, &.{ .r32, .rm32, .r32 }, &.{ 0xf2, 0x0f, 0x38, 0xf7 }, 0, .vex_lz_w0, .bmi2 },
1798 .{ .sarx, .rmv, &.{ .r64, .rm64, .r64 }, &.{ 0xf3, 0x0f, 0x38, 0xf7 }, 0, .vex_lz_w1, .bmi2 },
1799 .{ .shlx, .rmv, &.{ .r64, .rm64, .r64 }, &.{ 0x66, 0x0f, 0x38, 0xf7 }, 0, .vex_lz_w1, .bmi2 },
1800 .{ .shrx, .rmv, &.{ .r64, .rm64, .r64 }, &.{ 0xf2, 0x0f, 0x38, 0xf7 }, 0, .vex_lz_w1, .bmi2 },
1801
1802 .{ .tzcnt, .rm, &.{ .r16, .rm16 }, &.{ 0xf3, 0x0f, 0xbc }, 0, .short, .bmi },
1803 .{ .tzcnt, .rm, &.{ .r32, .rm32 }, &.{ 0xf3, 0x0f, 0xbc }, 0, .none, .bmi },
1804 .{ .tzcnt, .rm, &.{ .r64, .rm64 }, &.{ 0xf3, 0x0f, 0xbc }, 0, .long, .bmi },
1805
18061775 .{ .vaddpd, .rvm, &.{ .xmm, .xmm, .xmm_m128 }, &.{ 0x66, 0x0f, 0x58 }, 0, .vex_128_wig, .avx },
18071776 .{ .vaddpd, .rvm, &.{ .ymm, .ymm, .ymm_m256 }, &.{ 0x66, 0x0f, 0x58 }, 0, .vex_256_wig, .avx },
18081777
......@@ -2307,6 +2276,49 @@ pub const table = [_]Entry{
23072276 .{ .vxorps, .rvm, &.{ .xmm, .xmm, .xmm_m128 }, &.{ 0x0f, 0x57 }, 0, .vex_128_wig, .avx },
23082277 .{ .vxorps, .rvm, &.{ .ymm, .ymm, .ymm_m256 }, &.{ 0x0f, 0x57 }, 0, .vex_256_wig, .avx },
23092278
2279 // BMI
2280 .{ .andn, .rvm, &.{ .r32, .r32, .rm32 }, &.{ 0x0f, 0x38, 0xf2 }, 0, .vex_lz_w0, .bmi },
2281 .{ .andn, .rvm, &.{ .r64, .r64, .rm64 }, &.{ 0x0f, 0x38, 0xf2 }, 0, .vex_lz_w1, .bmi },
2282
2283 .{ .bextr, .rmv, &.{ .r32, .rm32, .r32 }, &.{ 0x0f, 0x38, 0xf7 }, 0, .vex_lz_w0, .bmi },
2284 .{ .bextr, .rmv, &.{ .r64, .rm64, .r64 }, &.{ 0x0f, 0x38, 0xf7 }, 0, .vex_lz_w1, .bmi },
2285
2286 .{ .blsi, .vm, &.{ .r32, .rm32 }, &.{ 0x0f, 0x38, 0xf3 }, 3, .vex_lz_w0, .bmi },
2287 .{ .blsi, .vm, &.{ .r64, .rm64 }, &.{ 0x0f, 0x38, 0xf3 }, 3, .vex_lz_w1, .bmi },
2288
2289 .{ .blsmsk, .vm, &.{ .r32, .rm32 }, &.{ 0x0f, 0x38, 0xf3 }, 2, .vex_lz_w0, .bmi },
2290 .{ .blsmsk, .vm, &.{ .r64, .rm64 }, &.{ 0x0f, 0x38, 0xf3 }, 2, .vex_lz_w1, .bmi },
2291
2292 .{ .blsr, .vm, &.{ .r32, .rm32 }, &.{ 0x0f, 0x38, 0xf3 }, 1, .vex_lz_w0, .bmi },
2293 .{ .blsr, .vm, &.{ .r64, .rm64 }, &.{ 0x0f, 0x38, 0xf3 }, 1, .vex_lz_w1, .bmi },
2294
2295 .{ .tzcnt, .rm, &.{ .r16, .rm16 }, &.{ 0xf3, 0x0f, 0xbc }, 0, .short, .bmi },
2296 .{ .tzcnt, .rm, &.{ .r32, .rm32 }, &.{ 0xf3, 0x0f, 0xbc }, 0, .none, .bmi },
2297 .{ .tzcnt, .rm, &.{ .r64, .rm64 }, &.{ 0xf3, 0x0f, 0xbc }, 0, .long, .bmi },
2298
2299 // BMI2
2300 .{ .bzhi, .rmv, &.{ .r32, .rm32, .r32 }, &.{ 0x0f, 0x38, 0xf5 }, 0, .vex_lz_w0, .bmi2 },
2301 .{ .bzhi, .rmv, &.{ .r64, .rm64, .r64 }, &.{ 0x0f, 0x38, 0xf5 }, 0, .vex_lz_w1, .bmi2 },
2302
2303 .{ .mulx, .rvm, &.{ .r32, .r32, .rm32 }, &.{ 0xf2, 0x0f, 0x38, 0xf6 }, 0, .vex_lz_w0, .bmi2 },
2304 .{ .mulx, .rvm, &.{ .r64, .r64, .rm64 }, &.{ 0xf2, 0x0f, 0x38, 0xf6 }, 0, .vex_lz_w1, .bmi2 },
2305
2306 .{ .pdep, .rvm, &.{ .r32, .r32, .rm32 }, &.{ 0xf2, 0x0f, 0x38, 0xf5 }, 0, .vex_lz_w0, .bmi2 },
2307 .{ .pdep, .rvm, &.{ .r64, .r64, .rm64 }, &.{ 0xf2, 0x0f, 0x38, 0xf5 }, 0, .vex_lz_w1, .bmi2 },
2308
2309 .{ .pext, .rvm, &.{ .r32, .r32, .rm32 }, &.{ 0xf3, 0x0f, 0x38, 0xf5 }, 0, .vex_lz_w0, .bmi2 },
2310 .{ .pext, .rvm, &.{ .r64, .r64, .rm64 }, &.{ 0xf3, 0x0f, 0x38, 0xf5 }, 0, .vex_lz_w1, .bmi2 },
2311
2312 .{ .rorx, .rmi, &.{ .r32, .rm32, .imm8 }, &.{ 0xf2, 0x0f, 0x3a }, 0, .vex_lz_w0, .bmi2 },
2313 .{ .rorx, .rmi, &.{ .r64, .rm64, .imm8 }, &.{ 0xf2, 0x0f, 0x3a }, 0, .vex_lz_w1, .bmi2 },
2314
2315 .{ .sarx, .rmv, &.{ .r32, .rm32, .r32 }, &.{ 0xf3, 0x0f, 0x38, 0xf7 }, 0, .vex_lz_w0, .bmi2 },
2316 .{ .shlx, .rmv, &.{ .r32, .rm32, .r32 }, &.{ 0x66, 0x0f, 0x38, 0xf7 }, 0, .vex_lz_w0, .bmi2 },
2317 .{ .shrx, .rmv, &.{ .r32, .rm32, .r32 }, &.{ 0xf2, 0x0f, 0x38, 0xf7 }, 0, .vex_lz_w0, .bmi2 },
2318 .{ .sarx, .rmv, &.{ .r64, .rm64, .r64 }, &.{ 0xf3, 0x0f, 0x38, 0xf7 }, 0, .vex_lz_w1, .bmi2 },
2319 .{ .shlx, .rmv, &.{ .r64, .rm64, .r64 }, &.{ 0x66, 0x0f, 0x38, 0xf7 }, 0, .vex_lz_w1, .bmi2 },
2320 .{ .shrx, .rmv, &.{ .r64, .rm64, .r64 }, &.{ 0xf2, 0x0f, 0x38, 0xf7 }, 0, .vex_lz_w1, .bmi2 },
2321
23102322 // F16C
23112323 .{ .vcvtph2ps, .rm, &.{ .xmm, .xmm_m64 }, &.{ 0x66, 0x0f, 0x38, 0x13 }, 0, .vex_128_w0, .f16c },
23122324 .{ .vcvtph2ps, .rm, &.{ .ymm, .xmm_m128 }, &.{ 0x66, 0x0f, 0x38, 0x13 }, 0, .vex_256_w0, .f16c },
src/codegen.zig+4-2
......@@ -83,8 +83,10 @@ pub fn generateLazyFunction(
8383 debug_output: link.File.DebugInfoOutput,
8484) CodeGenError!void {
8585 const zcu = pt.zcu;
86 const file = Type.fromInterned(lazy_sym.ty).typeDeclInstAllowGeneratedTag(zcu).?.resolveFile(&zcu.intern_pool);
87 const target = zcu.fileByIndex(file).mod.resolved_target.result;
86 const target = if (Type.fromInterned(lazy_sym.ty).typeDeclInstAllowGeneratedTag(zcu)) |inst_index|
87 zcu.fileByIndex(inst_index.resolveFile(&zcu.intern_pool)).mod.resolved_target.result
88 else
89 zcu.getTarget();
8890 switch (target_util.zigBackend(target, false)) {
8991 else => unreachable,
9092 inline .stage2_x86_64, .stage2_riscv64 => |backend| {
src/main.zig+1-4
......@@ -39,10 +39,7 @@ test {
3939 _ = Package;
4040}
4141
42const thread_stack_size = switch (builtin.zig_backend) {
43 else => std.Thread.SpawnConfig.default_stack_size,
44 .stage2_x86_64 => 32 << 20,
45};
42const thread_stack_size = 32 << 20;
4643
4744pub const std_options: std.Options = .{
4845 .wasiCwd = wasi_cwd,
src/target.zig+2-2
......@@ -726,11 +726,11 @@ pub inline fn backendSupportsFeature(backend: std.builtin.CompilerBackend, compt
726726 else => false,
727727 },
728728 .is_named_enum_value => switch (backend) {
729 .stage2_llvm => true,
729 .stage2_llvm, .stage2_x86_64 => true,
730730 else => false,
731731 },
732732 .error_set_has_value => switch (backend) {
733 .stage2_llvm, .stage2_wasm => true,
733 .stage2_llvm, .stage2_wasm, .stage2_x86_64 => true,
734734 else => false,
735735 },
736736 .field_reordering => switch (backend) {
test/behavior/math.zig+1-1
......@@ -527,7 +527,7 @@ fn testIntDivision() !void {
527527 try expect(mod(i64, -14, 12) == 10);
528528 try expect(mod(i16, -2, 12) == 10);
529529 try expect(mod(i16, -118, 12) == 2);
530 try expect(mod(i8, -2, 12) == 10); // TODO: fails in x86_64
530 try expect(mod(i8, -2, 12) == 10);
531531
532532 try expect(rem(i64, -118, 12) == -10);
533533 try expect(rem(i32, 10, 12) == 10);
test/behavior/x86_64/build.zig+5
......@@ -93,6 +93,11 @@ pub fn build(b: *std.Build) void {
9393 .cpu_arch = .x86_64,
9494 .cpu_model = .{ .explicit = &std.Target.x86.cpu.x86_64_v3 },
9595 },
96 .{
97 .cpu_arch = .x86_64,
98 .cpu_model = .{ .explicit = &std.Target.x86.cpu.x86_64_v3 },
99 .cpu_features_add = std.Target.x86.featureSet(&.{.adx}),
100 },
96101 .{
97102 .cpu_arch = .x86_64,
98103 .cpu_model = .{ .explicit = &std.Target.x86.cpu.x86_64_v4 },
test/behavior/x86_64/math.zig+122-58
......@@ -33,6 +33,28 @@ fn Scalar(comptime Type: type) type {
3333 .vector => |info| info.child,
3434 };
3535}
36fn AddOneBit(comptime Type: type) type {
37 const ResultScalar = switch (@typeInfo(Scalar(Type))) {
38 .int => |int| @Type(.{ .int = .{ .signedness = int.signedness, .bits = 1 + int.bits } }),
39 .float => Scalar(Type),
40 else => @compileError(@typeName(Type)),
41 };
42 return switch (@typeInfo(Type)) {
43 else => ResultScalar,
44 .vector => |vector| @Vector(vector.len, ResultScalar),
45 };
46}
47fn DoubleBits(comptime Type: type) type {
48 const ResultScalar = switch (@typeInfo(Scalar(Type))) {
49 .int => |int| @Type(.{ .int = .{ .signedness = int.signedness, .bits = int.bits * 2 } }),
50 .float => Scalar(Type),
51 else => @compileError(@typeName(Type)),
52 };
53 return switch (@typeInfo(Type)) {
54 else => ResultScalar,
55 .vector => |vector| @Vector(vector.len, ResultScalar),
56 };
57}
3658// inline to avoid a runtime `@splat`
3759inline fn splat(comptime Type: type, scalar: Scalar(Type)) Type {
3860 return switch (@typeInfo(Type)) {
......@@ -16205,6 +16227,8 @@ fn binary(comptime op: anytype, comptime opts: struct { compare: Compare = .rela
1620516227 );
1620616228 }
1620716229 fn testInts() !void {
16230 try testArgs(i4, 0x3, 0x2);
16231 try testArgs(u4, 0xe, 0x6);
1620816232 try testArgs(i8, 0x48, 0x6c);
1620916233 try testArgs(u8, 0xbb, 0x43);
1621016234 try testArgs(i16, -0x0fdf, 0x302e);
......@@ -17967,8 +17991,8 @@ fn binary(comptime op: anytype, comptime opts: struct { compare: Compare = .rela
1796717991 -0x12, -0x1e, 0x18, 0x6e, 0x31, 0x53, -0x6a, -0x34, 0x13, 0x4d, 0x30, -0x7d, -0x31, 0x1e, -0x24, 0x32,
1796817992 -0x1e, -0x01, 0x55, 0x33, -0x75, -0x44, -0x57, 0x2b, -0x66, 0x19, 0x7f, -0x28, -0x3f, -0x7e, -0x5d, -0x06,
1796917993 }, .{
17970 0x05, -0x23, 0x43, -0x54, -0x41, 0x7f, -0x6a, -0x31, 0x04, 0x15, -0x7a, -0x37, 0x6d, 0x16, 0x00, 0x4a,
17971 0x15, 0x55, -0x4a, 0x16, -0x73, -0x0c, 0x1c, -0x26, -0x14, 0x00, 0x55, 0x7b, 0x16, -0x2e, -0x5f, -0x67,
17994 0x05, -0x23, 0x43, -0x54, -0x41, 0x7f, -0x6a, -0x31, 0x04, 0x15, -0x7a, -0x37, 0x6d, 0x16, 0x01, 0x4a,
17995 0x15, 0x55, -0x4a, 0x16, -0x73, -0x0c, 0x1c, -0x26, -0x14, -0x01, 0x55, 0x7b, 0x16, -0x2e, -0x5f, -0x67,
1797217996 });
1797317997 try testArgs(@Vector(64, i8), .{
1797417998 -0x05, 0x76, 0x4e, -0x5c, 0x7b, -0x1a, -0x38, -0x2e, 0x3d, 0x36, 0x01, 0x30, -0x02, -0x71, -0x24, 0x24,
......@@ -17997,7 +18021,7 @@ fn binary(comptime op: anytype, comptime opts: struct { compare: Compare = .rela
1799718021 0x23, 0x3b, 0x0a, 0x7a, 0x19, 0x14, 0x65, -0x1d, 0x2b, 0x65, 0x33, 0x2a, 0x52, -0x63, 0x57, 0x10,
1799818022 -0x1b, 0x26, -0x46, -0x7e, -0x25, 0x79, -0x01, -0x0d, -0x49, -0x4d, 0x74, 0x03, 0x77, 0x16, 0x03, -0x3d,
1799918023 0x1c, 0x25, 0x5a, -0x2f, -0x16, -0x5f, -0x36, -0x55, -0x44, -0x0c, -0x0f, 0x7b, -0x15, -0x1d, 0x32, 0x31,
18000 0x6e, -0x44, -0x4a, -0x64, 0x67, 0x04, 0x47, 0x00, 0x3c, -0x0a, -0x79, 0x3d, 0x48, 0x5a, 0x61, -0x2c,
18024 0x6e, -0x44, -0x4a, -0x64, 0x67, 0x04, 0x47, -0x02, 0x3c, -0x0a, -0x79, 0x3d, 0x48, 0x5a, 0x61, -0x2c,
1800118025 0x6d, -0x68, -0x71, -0x6b, -0x11, 0x44, -0x75, -0x55, -0x67, -0x52, 0x64, -0x3d, -0x05, -0x76, -0x6d, -0x44,
1800218026 });
1800318027
......@@ -18024,7 +18048,7 @@ fn binary(comptime op: anytype, comptime opts: struct { compare: Compare = .rela
1802418048 try testArgs(@Vector(16, u8), .{
1802518049 0xea, 0x80, 0xbb, 0xe8, 0x74, 0x81, 0xc8, 0x66, 0x7b, 0x41, 0x90, 0xcb, 0x30, 0x70, 0x4b, 0x0f,
1802618050 }, .{
18027 0x61, 0x26, 0xbe, 0x47, 0x00, 0x9c, 0x55, 0xa5, 0x59, 0xf0, 0xb2, 0x20, 0x30, 0xaf, 0x82, 0x3e,
18051 0x61, 0x26, 0xbe, 0x47, 0x02, 0x9c, 0x55, 0xa5, 0x59, 0xf0, 0xb2, 0x20, 0x30, 0xaf, 0x82, 0x3e,
1802818052 });
1802918053 try testArgs(@Vector(32, u8), .{
1803018054 0xa1, 0x88, 0xc4, 0xf4, 0x77, 0x0b, 0xf5, 0xbb, 0x09, 0x03, 0xbf, 0xf5, 0xcc, 0x7f, 0x6b, 0x2a,
......@@ -18950,22 +18974,45 @@ fn binary(comptime op: anytype, comptime opts: struct { compare: Compare = .rela
1895018974 };
1895118975}
1895218976
18953inline fn add(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs + rhs) {
18954 return lhs + rhs;
18977inline fn addUnsafe(comptime Type: type, lhs: Type, rhs: Type) AddOneBit(Type) {
18978 @setRuntimeSafety(false);
18979 return @as(AddOneBit(Type), lhs) + rhs;
18980}
18981test addUnsafe {
18982 const test_add_unsafe = binary(addUnsafe, .{});
18983 try test_add_unsafe.testInts();
18984 try test_add_unsafe.testIntVectors();
18985 try test_add_unsafe.testFloats();
18986 try test_add_unsafe.testFloatVectors();
18987}
18988
18989inline fn subUnsafe(comptime Type: type, lhs: Type, rhs: Type) AddOneBit(Type) {
18990 @setRuntimeSafety(false);
18991 switch (@typeInfo(Scalar(Type))) {
18992 else => @compileError(@typeName(Type)),
18993 .int => |int| switch (int.signedness) {
18994 .signed => {},
18995 .unsigned => return @as(AddOneBit(Type), @max(lhs, rhs)) - @min(lhs, rhs),
18996 },
18997 .float => {},
18998 }
18999 return @as(AddOneBit(Type), lhs) - rhs;
1895519000}
18956test add {
18957 const test_add = binary(add, .{});
18958 try test_add.testFloats();
18959 try test_add.testFloatVectors();
19001test subUnsafe {
19002 const test_sub_unsafe = binary(subUnsafe, .{});
19003 try test_sub_unsafe.testInts();
19004 try test_sub_unsafe.testIntVectors();
19005 try test_sub_unsafe.testFloats();
19006 try test_sub_unsafe.testFloatVectors();
1896019007}
1896119008
18962inline fn subtract(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs - rhs) {
18963 return lhs - rhs;
19009inline fn mulUnsafe(comptime Type: type, lhs: Type, rhs: Type) DoubleBits(Type) {
19010 @setRuntimeSafety(false);
19011 return @as(DoubleBits(Type), lhs) * rhs;
1896419012}
18965test subtract {
18966 const test_subtract = binary(subtract, .{});
18967 try test_subtract.testFloats();
18968 try test_subtract.testFloatVectors();
19013test mulUnsafe {
19014 const test_mul_unsafe = binary(mulUnsafe, .{});
19015 try test_mul_unsafe.testInts();
1896919016}
1897019017
1897119018inline fn multiply(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs * rhs) {
......@@ -18999,42 +19046,51 @@ test divide {
1899919046 try test_divide.testFloatVectors();
1900019047}
1900119048
19002// workaround https://github.com/ziglang/zig/issues/22748
19003// TODO: @TypeOf(@divTrunc(lhs, rhs))
19004inline fn divTrunc(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs / rhs) {
19005 if (@inComptime()) {
19006 // workaround https://github.com/ziglang/zig/issues/22748
19007 return @trunc(lhs / rhs);
19049inline fn divTrunc(comptime Type: type, lhs: Type, rhs: Type) Type {
19050 switch (@typeInfo(Scalar(Type))) {
19051 else => @compileError(@typeName(Type)),
19052 .int => return @divTrunc(lhs, rhs),
19053 .float => {
19054 if (@inComptime()) {
19055 // workaround https://github.com/ziglang/zig/issues/22748
19056 return @trunc(lhs / rhs);
19057 }
19058 // workaround https://github.com/ziglang/zig/issues/22748
19059 // workaround https://github.com/ziglang/zig/issues/22749
19060 // TODO: return @divTrunc(lhs, rhs);
19061 var rt_lhs = lhs;
19062 var rt_rhs = rhs;
19063 _ = .{ &rt_lhs, &rt_rhs };
19064 return @divTrunc(rt_lhs, rt_rhs);
19065 },
1900819066 }
19009 // workaround https://github.com/ziglang/zig/issues/22748
19010 // workaround https://github.com/ziglang/zig/issues/22749
19011 // TODO: return @divTrunc(lhs, rhs);
19012 var rt_lhs = lhs;
19013 var rt_rhs = rhs;
19014 _ = .{ &rt_lhs, &rt_rhs };
19015 return @divTrunc(rt_lhs, rt_rhs);
1901619067}
1901719068test divTrunc {
1901819069 const test_div_trunc = binary(divTrunc, .{ .compare = .approx_int });
19070 try test_div_trunc.testInts();
19071 try test_div_trunc.testIntVectors();
1901919072 try test_div_trunc.testFloats();
1902019073 try test_div_trunc.testFloatVectors();
1902119074}
1902219075
19023// workaround https://github.com/ziglang/zig/issues/22748
19024// TODO: @TypeOf(@divFloor(lhs, rhs))
19025inline fn divFloor(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs / rhs) {
19026 if (@inComptime()) {
19027 // workaround https://github.com/ziglang/zig/issues/22748
19028 return @floor(lhs / rhs);
19076inline fn divFloor(comptime Type: type, lhs: Type, rhs: Type) Type {
19077 switch (@typeInfo(Scalar(Type))) {
19078 else => @compileError(@typeName(Type)),
19079 .int => return @divFloor(lhs, rhs),
19080 .float => {
19081 if (@inComptime()) {
19082 // workaround https://github.com/ziglang/zig/issues/22748
19083 return @floor(lhs / rhs);
19084 }
19085 // workaround https://github.com/ziglang/zig/issues/22748
19086 // workaround https://github.com/ziglang/zig/issues/22749
19087 // TODO: return @divFloor(lhs, rhs);
19088 var rt_lhs = lhs;
19089 var rt_rhs = rhs;
19090 _ = .{ &rt_lhs, &rt_rhs };
19091 return @divFloor(rt_lhs, rt_rhs);
19092 },
1902919093 }
19030 // workaround https://github.com/ziglang/zig/issues/22748
19031 // workaround https://github.com/ziglang/zig/issues/22749
19032 // TODO: return @divFloor(lhs, rhs);
19033 var rt_lhs = lhs;
19034 var rt_rhs = rhs;
19035 _ = &rt_lhs;
19036 _ = &rt_rhs;
19037 return @divFloor(rt_lhs, rt_rhs);
1903819094}
1903919095test divFloor {
1904019096 const test_div_floor = binary(divFloor, .{ .compare = .approx_int });
......@@ -19045,25 +19101,33 @@ test divFloor {
1904519101// workaround https://github.com/ziglang/zig/issues/22748
1904619102// TODO: @TypeOf(@rem(lhs, rhs))
1904719103inline fn rem(comptime Type: type, lhs: Type, rhs: Type) Type {
19048 if (@inComptime()) {
19049 // workaround https://github.com/ziglang/zig/issues/22748
19050 switch (@typeInfo(Type)) {
19051 else => return if (rhs != 0) @rem(lhs, rhs) else nan(Type),
19052 .vector => |info| {
19053 var res: Type = undefined;
19054 inline for (0..info.len) |i| res[i] = if (rhs[i] != 0) @rem(lhs[i], rhs[i]) else nan(Scalar(Type));
19055 return res;
19056 },
19057 }
19104 switch (@typeInfo(Scalar(Type))) {
19105 else => @compileError(@typeName(Type)),
19106 .int => return @rem(lhs, rhs),
19107 .float => {
19108 if (@inComptime()) {
19109 // workaround https://github.com/ziglang/zig/issues/22748
19110 switch (@typeInfo(Type)) {
19111 else => return if (rhs != 0) @rem(lhs, rhs) else nan(Type),
19112 .vector => |info| {
19113 var res: Type = undefined;
19114 inline for (0..info.len) |i| res[i] = if (rhs[i] != 0) @rem(lhs[i], rhs[i]) else nan(Scalar(Type));
19115 return res;
19116 },
19117 }
19118 }
19119 // workaround https://github.com/ziglang/zig/issues/22748
19120 // TODO: return @rem(lhs, rhs);
19121 var rt_rhs = rhs;
19122 _ = &rt_rhs;
19123 return @rem(lhs, rt_rhs);
19124 },
1905819125 }
19059 // workaround https://github.com/ziglang/zig/issues/22748
19060 // TODO: return @rem(lhs, rhs);
19061 var rt_rhs = rhs;
19062 _ = &rt_rhs;
19063 return @rem(lhs, rt_rhs);
1906419126}
1906519127test rem {
1906619128 const test_rem = binary(rem, .{});
19129 try test_rem.testInts();
19130 try test_rem.testIntVectors();
1906719131 try test_rem.testFloats();
1906819132 try test_rem.testFloatVectors();
1906919133}
test/behavior/x86_64/mem.zig+142-7
......@@ -1,4 +1,4 @@
1fn access(comptime array: anytype) !void {
1fn accessSlice(comptime array: anytype) !void {
22 var slice: []const @typeInfo(@TypeOf(array)).array.child = undefined;
33 slice = &array;
44 inline for (0.., &array) |ct_index, *elem| {
......@@ -20,18 +20,153 @@ fn access(comptime array: anytype) !void {
2020 if (slice[rt_index] != elem.*) return error.Unexpected;
2121 }
2222}
23test access {
24 try access([3]u8{ 0xdb, 0xef, 0xbd });
25 try access([3]u16{ 0x340e, 0x3654, 0x88d7 });
26 try access([3]u32{ 0xd424c2c0, 0x2d6ac466, 0x5a0cfaba });
27 try access([3]u64{
23test accessSlice {
24 try accessSlice([3]u8{ 0xdb, 0xef, 0xbd });
25 try accessSlice([3]u16{ 0x340e, 0x3654, 0x88d7 });
26 try accessSlice([3]u32{ 0xd424c2c0, 0x2d6ac466, 0x5a0cfaba });
27 try accessSlice([3]u64{
2828 0x9327a4f5221666a6,
2929 0x5c34d3ddd84a8b12,
3030 0xbae087f39f649260,
3131 });
32 try access([3]u128{
32 try accessSlice([3]u128{
3333 0x601cf010065444d4d42d5536dd9b95db,
3434 0xa03f592fcaa22d40af23a0c735531e3c,
3535 0x5da44907b31602b95c2d93f0b582ceab,
3636 });
3737}
38
39fn accessVector(comptime init: anytype) !void {
40 const Vector = @TypeOf(init);
41 var vector: Vector = undefined;
42 vector = init;
43 inline for (0..@typeInfo(Vector).vector.len) |ct_index| {
44 var rt_index: usize = undefined;
45 rt_index = ct_index;
46 if (&vector[rt_index] != &vector[ct_index]) return error.Unexpected;
47 if (vector[rt_index] != vector[ct_index]) return error.Unexpected;
48 }
49}
50test accessVector {
51 try accessVector(@Vector(1, bool){
52 false,
53 });
54 try accessVector(@Vector(2, bool){
55 false, true,
56 });
57 try accessVector(@Vector(3, bool){
58 true, true, false,
59 });
60 try accessVector(@Vector(5, bool){
61 true, false, true, false, true,
62 });
63 try accessVector(@Vector(7, bool){
64 true, false, true, true, true, false, true,
65 });
66 try accessVector(@Vector(8, bool){
67 false, true, false, true, false, false, false, true,
68 });
69 try accessVector(@Vector(9, bool){
70 true, true, false, true, false, false, false, false,
71 true,
72 });
73 try accessVector(@Vector(15, bool){
74 false, true, true, true, false, true, false, false,
75 true, true, false, false, true, false, false,
76 });
77 try accessVector(@Vector(16, bool){
78 true, true, false, true, false, false, false, false,
79 false, true, true, false, false, false, true, true,
80 });
81 try accessVector(@Vector(17, bool){
82 true, false, true, true, false, true, false, true,
83 true, true, true, false, false, false, true, true,
84 false,
85 });
86 try accessVector(@Vector(31, bool){
87 true, false, true, true, false, true, true, true,
88 false, true, false, true, false, true, true, true,
89 false, false, true, false, false, false, false, true,
90 true, true, true, false, false, false, false,
91 });
92 try accessVector(@Vector(32, bool){
93 true, true, false, false, false, true, true, true,
94 false, true, true, true, false, true, false, true,
95 false, true, false, true, false, true, true, false,
96 false, false, false, false, false, true, true, true,
97 });
98 try accessVector(@Vector(33, bool){
99 true, false, false, false, false, true, true, true,
100 false, false, true, false, true, true, false, true,
101 true, true, false, true, true, false, false, false,
102 false, true, false, false, false, true, true, false,
103 false,
104 });
105 try accessVector(@Vector(63, bool){
106 false, false, true, true, true, false, true, true,
107 true, false, true, true, true, false, true, false,
108 true, true, false, true, false, true, true, true,
109 false, false, true, false, false, false, false, true,
110 true, true, true, true, false, true, false, true,
111 true, true, false, false, true, false, false, true,
112 false, true, false, false, false, false, true, true,
113 false, true, false, false, true, true, true,
114 });
115 try accessVector(@Vector(64, bool){
116 false, false, true, true, true, false, true, true,
117 true, false, true, true, false, true, true, false,
118 false, false, false, false, true, true, false, true,
119 true, true, true, true, false, false, false, true,
120 true, false, true, true, false, false, true, false,
121 false, true, true, false, true, true, false, false,
122 true, true, false, true, false, true, true, true,
123 false, true, true, false, false, false, false, false,
124 });
125 try accessVector(@Vector(65, bool){
126 false, false, true, true, true, true, true, true,
127 true, false, false, false, false, true, true, false,
128 true, false, true, true, true, false, false, false,
129 true, false, true, true, false, true, true, true,
130 true, true, false, true, true, false, true, false,
131 false, true, false, true, false, false, true, false,
132 true, false, true, true, true, false, true, true,
133 false, false, true, true, true, true, false, false,
134 true,
135 });
136 try accessVector(@Vector(8, u8){
137 0x60, 0xf7, 0xf4, 0xb0, 0x05, 0xd3, 0x06, 0x78,
138 });
139 try accessVector(@Vector(8, u16){
140 0x9c91, 0xfb8b, 0x7f80, 0x8304, 0x6e52, 0xd8ef, 0x37fc, 0x7851,
141 });
142 try accessVector(@Vector(8, u32){
143 0x688b88e2, 0x68e2b7a2, 0x87574680, 0xab4f0769,
144 0x75472bb5, 0xa791f2ae, 0xeb2ed416, 0x5f05ce82,
145 });
146 try accessVector(@Vector(8, u64){
147 0xdefd1ddffaedf818, 0x91c78a29d3d59890,
148 0x842aaf8fd3c7b785, 0x970a07b8f9f4a6b3,
149 0x21b2425d1a428246, 0xea50e41174a7977b,
150 0x08d0f1c4f5978b74, 0x8dc88a7fd85e0e67,
151 });
152 try accessVector(@Vector(8, u128){
153 0x6f2cbde1fb219b1e73d7f774d10f0d94,
154 0x7c1412616cda20436d7106691d8ba4cc,
155 0x4ee940b50e97675b3b35d7872a35b5ad,
156 0x6d994fb8caa1b2fac48acbb68fa2d2f1,
157 0xdee698c7ec8de9b5940903e3fc665b63,
158 0x0751491a509e4a1ce8cfa6d62fe9e74c,
159 0x3d880f0a927ce3bfc2682b72070fcd50,
160 0x82f0eec62881598699eeb93fbb456e95,
161 });
162 try accessVector(@Vector(8, u256){
163 0x6ee4f35fe624d365952f73960791238ac781bfba782abc7866a691063e43ce48,
164 0xb006491f54a9c9292458a5835b7d5f4cfa18136f175eef0a13bb8adf5c3dc061,
165 0xd6e25ca1bc5685fc52609e261b9065bc05a8662e9291660033dd7f6d98e562b3,
166 0x992c5e54e0e6331dac258996be7dae9b2a2eff323a39043ba8d2721420dc5f5c,
167 0x257313f45fb3556d0fc323d5f38c953e9a093fe2278655312b6a5b64aab9d901,
168 0x6c8ad2182b9a3b2b19c2c9b152956b383d0fee2e3fbd5b02ed72227446a7b221,
169 0xd80cafc2252b289793799675e43f97ba4a5448c7b57e1544a464687b435efc7b,
170 0xfcb480f2d70afd53c4689dd3f5db7638c24302f2a6a15f738167db090d91fb28,
171 });
172}
test/cases/array_in_anon_struct.zig+1-1
......@@ -18,5 +18,5 @@ pub fn main() !void {
1818}
1919
2020// run
21// backend=llvm
21// backend=stage2,llvm
2222// target=native
test/cases/compile_errors/addition_with_non_numbers.zig+1-1
......@@ -8,7 +8,7 @@ export fn entry() usize {
88}
99
1010// error
11// backend=llvm
11// backend=stage2
1212// target=native
1313//
1414// :4:29: error: invalid operands to binary expression: 'struct' and 'struct'
test/cases/compile_errors/asm_at_compile_time.zig+1-1
......@@ -11,7 +11,7 @@ fn doSomeAsm() void {
1111}
1212
1313// error
14// backend=llvm
14// backend=stage2
1515// target=native
1616//
1717// :6:5: error: unable to evaluate comptime expression
test/cases/compile_errors/asm_output_to_const.zig+1-1
......@@ -8,7 +8,7 @@ export fn foo() void {
88}
99
1010// error
11// backend=llvm
11// backend=stage2
1212// target=native
1313//
1414// :4:5: error: asm cannot output to const local 'f'
test/cases/compile_errors/call_from_naked_func.zig+1-1
......@@ -17,7 +17,7 @@ export fn comptimeBuiltinCall() callconv(.Naked) void {
1717fn f() void {}
1818
1919// error
20// backend=llvm
20// backend=stage2
2121// target=native
2222//
2323// :2:6: error: runtime call not allowed in naked function
test/cases/compile_errors/calling_function_with_naked_calling_convention.zig+1-1
......@@ -4,7 +4,7 @@ export fn entry() void {
44fn foo() callconv(.naked) void {}
55
66// error
7// backend=llvm
7// backend=stage2
88// target=native
99//
1010// :2:5: error: unable to call function with calling convention 'naked'
test/cases/compile_errors/cast_negative_value_to_unsigned_integer.zig+1-1
......@@ -10,7 +10,7 @@ export fn entry1() void {
1010}
1111
1212// error
13// backend=llvm
13// backend=stage2
1414// target=native
1515//
1616// :3:36: error: type 'u32' cannot represent integer value '-1'
test/cases/compile_errors/compare_optional_to_non_optional_with_incomparable_type.zig+1-1
......@@ -5,7 +5,7 @@ export fn entry() void {
55}
66
77// error
8// backend=llvm
8// backend=stage2
99// target=native
1010//
1111// :4:12: error: operator == not allowed for type '?[3]i32'
test/cases/compile_errors/compile_log.zig+1-1
......@@ -13,7 +13,7 @@ export fn baz() void {
1313}
1414
1515// error
16// backend=llvm
16// backend=stage2
1717// target=native
1818//
1919// :6:5: error: found compile log statement
test/cases/compile_errors/compile_log_statement_warning_deduplication_in_generic_fn.zig+1-1
......@@ -10,7 +10,7 @@ fn inner(comptime n: usize) void {
1010}
1111
1212// error
13// backend=llvm
13// backend=stage2
1414// target=native
1515//
1616// :8:9: error: found compile log statement
test/cases/compile_errors/compile_time_division_by_zero.zig+1-1
......@@ -8,7 +8,7 @@ export fn entry() usize {
88}
99
1010// error
11// backend=llvm
11// backend=stage2
1212// target=native
1313//
1414// :3:16: error: division by zero here causes undefined behavior
test/cases/compile_errors/compile_time_null_ptr_cast.zig+1-1
......@@ -5,7 +5,7 @@ comptime {
55}
66
77// error
8// backend=llvm
8// backend=stage2
99// target=native
1010//
1111// :3:32: error: null pointer casted to type '*i32'
test/cases/compile_errors/compile_time_undef_ptr_cast.zig+1-1
......@@ -6,7 +6,7 @@ comptime {
66}
77
88// error
9// backend=llvm
9// backend=stage2
1010// target=native
1111//
1212// :3:32: error: use of undefined value here causes undefined behavior
test/cases/compile_errors/discarded_array_bad_elem_type.zig+1-1
......@@ -6,7 +6,7 @@ export fn foo() void {
66}
77
88// error
9// backend=llvm
9// backend=stage2
1010// target=native
1111//
1212// :3:9: error: expected type 'u16', found '*const [5:0]u8'
test/cases/compile_errors/duplicate_error_in_switch.zig+1-1
......@@ -15,7 +15,7 @@ fn foo(x: i32) !void {
1515}
1616
1717// error
18// backend=llvm
18// backend=stage2
1919// target=native
2020//
2121// :5:9: error: duplicate switch value
test/cases/compile_errors/error_in_comptime_call_in_container_level_initializer.zig+1-1
......@@ -15,7 +15,7 @@ pub export fn entry() void {
1515}
1616
1717// error
18// backend=llvm
18// backend=stage2
1919// target=native
2020//
2121// :9:48: error: caught unexpected error 'InvalidVersion'
test/cases/compile_errors/error_not_handled_in_switch.zig+1-1
......@@ -13,7 +13,7 @@ fn foo(x: i32) !void {
1313}
1414
1515// error
16// backend=llvm
16// backend=stage2
1717// target=native
1818//
1919// :2:26: error: switch must handle all possibilities
test/cases/compile_errors/error_set_membership.zig+1-1
......@@ -24,7 +24,7 @@ pub fn main() Error!void {
2424}
2525
2626// error
27// backend=llvm
27// backend=stage2
2828// target=native
2929//
3030// :23:29: error: expected type 'error{InvalidCharacter}', found '@typeInfo(@typeInfo(@TypeOf(tmp.fooey)).@"fn".return_type.?).error_union.error_set'
test/cases/compile_errors/exact division failure.zig +1-1
......@@ -4,7 +4,7 @@ comptime {
44}
55
66// error
7// backend=llvm
7// backend=stage2
88// target=native
99//
1010// :2:15: error: exact division produced remainder
test/cases/compile_errors/exceeded_maximum_bit_width_of_integer.zig+1-1
......@@ -8,7 +8,7 @@ export fn entry2() void {
88}
99
1010// error
11// backend=llvm
11// backend=stage2
1212// target=native
1313//
1414// :2:15: error: primitive integer type 'u65536' exceeds maximum bit width of 65535
test/cases/compile_errors/export_with_empty_name_string.zig+1-1
......@@ -4,7 +4,7 @@ comptime {
44}
55
66// error
7// backend=llvm
7// backend=stage2
88// target=native
99//
1010// :3:25: error: exported symbol name cannot be empty
test/cases/compile_errors/fieldParentPtr-non_pointer.zig+1-1
......@@ -4,7 +4,7 @@ export fn foo(a: *i32) Foo {
44}
55
66// error
7// backend=llvm
7// backend=stage2
88// target=native
99//
1010// :3:12: error: expected pointer type, found 'i32'
test/cases/compile_errors/float exact division failure.zig +1-1
......@@ -4,7 +4,7 @@ comptime {
44}
55
66// error
7// backend=llvm
7// backend=stage2
88// target=native
99//
1010// :2:15: error: exact division produced remainder
test/cases/compile_errors/function_call_assigned_to_incorrect_type.zig+1-1
......@@ -7,7 +7,7 @@ fn concat() [16]f32 {
77}
88
99// error
10// backend=llvm
10// backend=stage2
1111// target=native
1212//
1313// :3:17: error: expected type '[4]f32', found '[16]f32'
test/cases/compile_errors/function_prototype_with_no_body.zig+1-1
......@@ -4,7 +4,7 @@ export fn entry() void {
44}
55
66// error
7// backend=llvm
7// backend=stage2
88// target=native
99//
1010// :1:1: error: non-extern function has no body
test/cases/compile_errors/generic_instantiation_failure.zig+1-1
......@@ -19,7 +19,7 @@ pub export fn entry() void {
1919}
2020
2121// error
22// backend=llvm
22// backend=stage2
2323// target=native
2424//
2525// :18:43: error: value of type 'type' ignored
test/cases/compile_errors/generic_instantiation_failure_in_generic_function_return_type.zig+1-1
......@@ -36,7 +36,7 @@ pub fn is(comptime id: std.builtin.TypeId) TraitFn {
3636}
3737
3838// error
39// backend=llvm
39// backend=stage2
4040// target=native
4141//
4242// :8:48: error: expected type 'type', found 'bool'
test/cases/compile_errors/implicit_cast_from_array_to_mutable_slice.zig+1-1
......@@ -7,7 +7,7 @@ export fn entry() void {
77}
88
99// error
10// backend=llvm
10// backend=stage2
1111// target=native
1212//
1313// :6:9: error: array literal requires address-of operator (&) to coerce to slice type '[]i32'
test/cases/compile_errors/implicit_cast_from_f64_to_f32.zig+1-1
......@@ -11,7 +11,7 @@ export fn entry2() void {
1111}
1212
1313// error
14// backend=llvm
14// backend=stage2
1515// target=native
1616//
1717// :2:14: error: expected type 'f32', found 'f64'
test/cases/compile_errors/int_to_err_non_global_invalid_number.zig+1-1
......@@ -13,7 +13,7 @@ comptime {
1313}
1414
1515// error
16// backend=llvm
16// backend=stage2
1717// target=native
1818//
1919// :11:21: error: 'error.B' not a member of error set 'error{A,C}'
test/cases/compile_errors/invalid_peer_type_resolution.zig+1-1
......@@ -24,7 +24,7 @@ export fn incompatiblePointers4() void {
2424}
2525
2626// error
27// backend=llvm
27// backend=stage2
2828// target=native
2929//
3030// :5:9: error: incompatible types: '?@Vector(10, i32)' and '@Vector(11, i32)'
test/cases/compile_errors/invalid_underscore_placement_in_int_literal-1.zig+1-1
......@@ -4,7 +4,7 @@ fn main() void {
44}
55
66// error
7// backend=llvm
7// backend=stage2
88// target=native
99//
1010// :2:23: error: trailing digit separator
test/cases/compile_errors/leading_zero_in_integer.zig+1-1
......@@ -16,7 +16,7 @@ export fn entry4() void {
1616}
1717
1818// error
19// backend=llvm
19// backend=stage2
2020// target=native
2121//
2222// :2:15: error: primitive integer type 'u000123' has leading zero
test/cases/compile_errors/load_vector_pointer_with_unknown_runtime_index.zig+1-1
......@@ -11,7 +11,7 @@ fn loadv(ptr: anytype) i31 {
1111}
1212
1313// error
14// backend=llvm
14// backend=stage2
1515// target=native
1616//
1717// :10:15: error: unable to determine vector element index of type '*align(16:0:4:?) i31'
test/cases/compile_errors/method_call_with_first_arg_type_wrong_container.zig+1-1
......@@ -24,7 +24,7 @@ export fn foo() void {
2424}
2525
2626// error
27// backend=llvm
27// backend=stage2
2828// target=native
2929//
3030// :23:6: error: no field or member function named 'init' in 'tmp.List'
test/cases/compile_errors/missing_const_in_slice_with_nested_array_type.zig+1-1
......@@ -12,7 +12,7 @@ export fn entry() void {
1212}
1313
1414// error
15// backend=llvm
15// backend=stage2
1616// target=native
1717//
1818// :4:26: error: array literal requires address-of operator (&) to coerce to slice type '[][2]f32'
test/cases/compile_errors/missing_main_fn_in_executable.zig+1-1
......@@ -1,5 +1,5 @@
11// error
2// backend=llvm
2// backend=stage2
33// target=x86_64-linux
44// output_mode=Exe
55//
test/cases/compile_errors/nested_error_set_mismatch.zig+1-1
......@@ -11,7 +11,7 @@ fn foo() ?OtherError!i32 {
1111}
1212
1313// error
14// backend=llvm
14// backend=stage2
1515// target=native
1616//
1717// :5:34: error: expected type '?error{NextError}!i32', found '?error{OutOfMemory}!i32'
test/cases/compile_errors/nested_generic_function_param_type_mismatch.zig+1-1
......@@ -16,7 +16,7 @@ pub export fn entry() void {
1616}
1717
1818// error
19// backend=llvm
19// backend=stage2
2020// target=native
2121//
2222// :15:28: error: expected type '*const fn (type, u8, u8) u32', found '*const fn (void, u8, u8) u32'
test/cases/compile_errors/packed_struct_backing_int_wrong.zig+1-1
......@@ -43,7 +43,7 @@ export fn entry7() void {
4343}
4444
4545// error
46// backend=llvm
46// backend=stage2
4747// target=native
4848//
4949// :2:31: error: backing integer type 'u32' has bit size 32 but the struct fields have a total bit size of 29
test/cases/compile_errors/packed_struct_with_fields_of_not_allowed_types.zig+1-1
......@@ -78,7 +78,7 @@ export fn entry14() void {
7878}
7979
8080// error
81// backend=llvm
81// backend=stage2
8282// target=native
8383//
8484// :3:12: error: packed structs cannot contain fields of type 'anyerror'
test/cases/compile_errors/private_main_fn.zig+1-1
......@@ -1,7 +1,7 @@
11fn main() void {}
22
33// error
4// backend=llvm
4// backend=stage2
55// target=x86_64-linux
66// output_mode=Exe
77//
test/cases/compile_errors/ptrcast_to_non-pointer.zig+1-1
......@@ -3,7 +3,7 @@ export fn entry(a: *i32) usize {
33}
44
55// error
6// backend=llvm
6// backend=stage2
77// target=native
88//
99// :2:12: error: expected pointer type, found 'usize'
test/cases/compile_errors/range_operator_in_switch_used_on_error_set.zig+1-1
......@@ -13,7 +13,7 @@ fn foo(x: i32) !void {
1313}
1414
1515// error
16// backend=llvm
16// backend=stage2
1717// target=native
1818//
1919// :2:34: error: ranges not allowed when switching on type '@typeInfo(@typeInfo(@TypeOf(tmp.foo)).@"fn".return_type.?).error_union.error_set'
test/cases/compile_errors/reassign_to_array_parameter.zig+1-1
......@@ -6,7 +6,7 @@ export fn entry() void {
66}
77
88// error
9// backend=llvm
9// backend=stage2
1010// target=native
1111//
1212// :2:5: error: cannot assign to constant
test/cases/compile_errors/reassign_to_slice_parameter.zig+1-1
......@@ -6,7 +6,7 @@ export fn entry() void {
66}
77
88// error
9// backend=llvm
9// backend=stage2
1010// target=native
1111//
1212// :2:5: error: cannot assign to constant
test/cases/compile_errors/return_from_naked_function.zig+1-1
......@@ -7,7 +7,7 @@ comptime {
77}
88
99// error
10// backend=llvm
10// backend=stage2
1111// target=native
1212//
1313// :2:5: error: cannot return from naked function
test/cases/compile_errors/shlExact_shifts_out_1_bits.zig+1-1
......@@ -4,7 +4,7 @@ comptime {
44}
55
66// error
7// backend=llvm
7// backend=stage2
88// target=native
99//
1010// :2:15: error: operation caused overflow
test/cases/compile_errors/shrExact_shifts_out_1_bits.zig+1-1
......@@ -4,7 +4,7 @@ comptime {
44}
55
66// error
7// backend=llvm
7// backend=stage2
88// target=native
99//
1010// :2:15: error: exact shift shifted out 1 bits
test/cases/compile_errors/std.fmt_error_for_unused_arguments.zig+1-1
......@@ -3,7 +3,7 @@ export fn entry() void {
33}
44
55// error
6// backend=llvm
6// backend=stage2
77// target=native
88//
99// :?:?: error: 10 unused arguments in '{d} {d} {d} {d} {d}'
test/cases/compile_errors/store_vector_pointer_with_unknown_runtime_index.zig+1-1
......@@ -11,7 +11,7 @@ fn storev(ptr: anytype, val: i31) void {
1111}
1212
1313// error
14// backend=llvm
14// backend=stage2
1515// target=native
1616//
1717// :10:8: error: unable to determine vector element index of type '*align(16:0:4:?) i31'
test/cases/compile_errors/suspend_inside_suspend_block.zig+1-1
......@@ -8,7 +8,7 @@ fn foo() void {
88}
99
1010// error
11// backend=llvm
11// backend=stage2
1212// target=native
1313//
1414// :6:9: error: cannot suspend inside suspend block
test/cases/compile_errors/switch_expression-unreachable_else_prong_enum.zig+1-1
......@@ -20,7 +20,7 @@ export fn entry() usize {
2020}
2121
2222// error
23// backend=llvm
23// backend=stage2
2424// target=native
2525//
2626// :14:14: error: unreachable else prong; all cases already handled
test/cases/compile_errors/unable_to_evaluate_expr_inside_cimport.zig+1-1
......@@ -7,7 +7,7 @@ export fn entry() void {
77}
88
99// error
10// backend=llvm
10// backend=stage2
1111// target=native
1212//
1313// :2:11: error: unable to evaluate comptime expression
test/cases/compile_errors/unreachable_else_prong_err_set.zig+1-1
......@@ -21,7 +21,7 @@ pub export fn simple() void {
2121}
2222
2323// error
24// backend=llvm
24// backend=stage2
2525// target=native
2626//
2727// :7:14: error: unreachable else prong; all cases already handled
test/cases/compile_errors/unreachable_in_naked_func.zig+1-1
......@@ -19,7 +19,7 @@ comptime {
1919}
2020
2121// error
22// backend=llvm
22// backend=stage2
2323// target=native
2424//
2525// :2:5: error: runtime safety check not allowed in naked function
test/cases/error_in_nested_declaration.zig+1-1
......@@ -23,7 +23,7 @@ pub export fn entry2() void {
2323}
2424
2525// error
26// backend=llvm
26// backend=stage2,llvm
2727// target=native
2828//
2929// :6:20: error: cannot @bitCast to '[]i32'
test/cases/f32_passed_to_variadic_fn.zig+1-1
......@@ -7,7 +7,7 @@ pub fn main() void {
77}
88
99// run
10// backend=llvm
10// backend=stage2,llvm
1111// target=x86_64-linux-gnu
1212// link_libc=true
1313//
test/cases/fn_typeinfo_passed_to_comptime_fn.zig+1-1
......@@ -14,5 +14,5 @@ fn foo(comptime info: std.builtin.Type) !void {
1414
1515// run
1616// is_test=true
17// backend=llvm
17// backend=stage2,llvm
1818//
test/cases/large_add_function.zig+1-1
......@@ -36,5 +36,5 @@ fn assert(ok: bool) void {
3636// TODO: enable this for native backend
3737
3838// run
39// backend=llvm
39// backend=stage2,llvm
4040// target=aarch64-linux,aarch64-macos
test/cases/llvm/address_space_pointer_access_chaining_pointer_to_optional_array.zig+1-1
......@@ -7,6 +7,6 @@ pub fn main() void {
77
88// compile
99// output_mode=Exe
10// backend=llvm
10// backend=stage2,llvm
1111// target=x86_64-linux,x86_64-macos
1212//
test/cases/llvm/address_spaces_pointer_access_chaining_complex.zig+1-1
......@@ -8,6 +8,6 @@ pub fn main() void {
88
99// compile
1010// output_mode=Exe
11// backend=llvm
11// backend=stage2,llvm
1212// target=x86_64-linux,x86_64-macos
1313//
test/cases/llvm/for_loop.zig+1-1
......@@ -11,6 +11,6 @@ pub fn main() void {
1111}
1212
1313// run
14// backend=llvm
14// backend=stage2,llvm
1515// target=x86_64-linux,x86_64-macos
1616//
test/cases/llvm/hello_world.zig+1-1
......@@ -5,7 +5,7 @@ pub fn main() void {
55}
66
77// run
8// backend=llvm
8// backend=stage2,llvm
99// target=x86_64-linux,x86_64-macos
1010// link_libc=true
1111//
test/cases/llvm/large_slices.zig+1-1
......@@ -4,6 +4,6 @@ pub fn main() void {
44}
55
66// compile
7// backend=llvm
7// backend=stage2,llvm
88// target=x86_64-linux,x86_64-macos
99//
test/cases/llvm/optionals.zig+1-1
......@@ -44,6 +44,6 @@ pub fn main() void {
4444}
4545
4646// run
47// backend=llvm
47// backend=stage2,llvm
4848// target=x86_64-linux,x86_64-macos
4949//
test/cases/maximum_sized_integer_literal.zig+1-1
......@@ -18,5 +18,5 @@ pub fn main() !void {
1818}
1919
2020// run
21// backend=llvm
21// backend=stage2,llvm
2222// target=native
test/cases/returning_undefined_sentinel_terminated_const_u8_slice.zig+1-1
......@@ -7,5 +7,5 @@ pub fn main() void {
77}
88
99// run
10// backend=llvm
10// backend=stage2,llvm
1111// target=native
test/cases/safety/@alignCast misaligned.zig +1-1
......@@ -21,5 +21,5 @@ fn foo(bytes: []u8) u32 {
2121 return int_slice[0];
2222}
2323// run
24// backend=llvm
24// backend=stage2,llvm
2525// target=native
test/cases/safety/@enumFromInt - no matching tag value.zig +1-1
......@@ -22,5 +22,5 @@ fn bar(a: u2) Foo {
2222fn baz(_: Foo) void {}
2323
2424// run
25// backend=llvm
25// backend=stage2,llvm
2626// target=native
test/cases/safety/@enumFromInt truncated bits - exhaustive.zig +1-1
......@@ -19,5 +19,5 @@ pub fn main() u8 {
1919}
2020
2121// run
22// backend=llvm
22// backend=stage2,llvm
2323// target=native
test/cases/safety/@enumFromInt truncated bits - nonexhaustive.zig +1-1
......@@ -19,5 +19,5 @@ pub fn main() u8 {
1919}
2020
2121// run
22// backend=llvm
22// backend=stage2,llvm
2323// target=native
test/cases/safety/@errorCast error not present in destination.zig +1-1
......@@ -17,5 +17,5 @@ fn foo(set1: Set1) Set2 {
1717 return @errorCast(set1);
1818}
1919// run
20// backend=llvm
20// backend=stage2,llvm
2121// target=native
test/cases/safety/@errorCast error union casted to disjoint set.zig +1-1
......@@ -16,5 +16,5 @@ fn foo() anyerror!i32 {
1616 return error.Bar;
1717}
1818// run
19// backend=llvm
19// backend=stage2,llvm
2020// target=native
test/cases/safety/@intCast to u0.zig +1-1
......@@ -18,5 +18,5 @@ fn bar(one: u1, not_zero: i32) void {
1818 _ = x;
1919}
2020// run
21// backend=llvm
21// backend=stage2,llvm
2222// target=native
test/cases/safety/@intFromFloat cannot fit - negative out of range.zig +1-1
......@@ -16,5 +16,5 @@ fn bar(a: f32) i8 {
1616}
1717fn baz(_: i8) void {}
1818// run
19// backend=llvm
19// backend=stage2,llvm
2020// target=native
test/cases/safety/@intFromFloat cannot fit - negative to unsigned.zig +1-1
......@@ -16,5 +16,5 @@ fn bar(a: f32) u8 {
1616}
1717fn baz(_: u8) void {}
1818// run
19// backend=llvm
19// backend=stage2,llvm
2020// target=native
test/cases/safety/@intFromFloat cannot fit - positive out of range.zig +1-1
......@@ -16,5 +16,5 @@ fn bar(a: f32) u8 {
1616}
1717fn baz(_: u8) void {}
1818// run
19// backend=llvm
19// backend=stage2,llvm
2020// target=native
test/cases/safety/@ptrFromInt address zero to non-optional byte-aligned pointer.zig +1-1
......@@ -15,5 +15,5 @@ pub fn main() !void {
1515 return error.TestFailed;
1616}
1717// run
18// backend=llvm
18// backend=stage2,llvm
1919// target=native
test/cases/safety/@ptrFromInt address zero to non-optional pointer.zig +1-1
......@@ -15,5 +15,5 @@ pub fn main() !void {
1515 return error.TestFailed;
1616}
1717// run
18// backend=llvm
18// backend=stage2,llvm
1919// target=native
test/cases/safety/@ptrFromInt with misaligned address.zig +1-1
......@@ -15,5 +15,5 @@ pub fn main() !void {
1515 return error.TestFailed;
1616}
1717// run
18// backend=llvm
18// backend=stage2,llvm
1919// target=native
test/cases/safety/@tagName on corrupted enum value.zig +1-1
......@@ -22,5 +22,5 @@ pub fn main() !void {
2222}
2323
2424// run
25// backend=llvm
25// backend=stage2,llvm
2626// target=native
test/cases/safety/@tagName on corrupted union value.zig +1-1
......@@ -23,5 +23,5 @@ pub fn main() !void {
2323}
2424
2525// run
26// backend=llvm
26// backend=stage2,llvm
2727// target=native
test/cases/safety/array slice sentinel mismatch vector.zig +1-1
......@@ -15,5 +15,5 @@ pub fn main() !void {
1515 return error.TestFailed;
1616}
1717// run
18// backend=llvm
18// backend=stage2,llvm
1919// target=native
test/cases/safety/array slice sentinel mismatch.zig +1-1
......@@ -15,5 +15,5 @@ pub fn main() !void {
1515 return error.TestFailed;
1616}
1717// run
18// backend=llvm
18// backend=stage2,llvm
1919// target=native
test/cases/safety/bad union field access.zig +1-1
......@@ -23,5 +23,5 @@ fn bar(f: *Foo) void {
2323 f.float = 12.34;
2424}
2525// run
26// backend=llvm
26// backend=stage2,llvm
2727// target=native
test/cases/safety/calling panic.zig +1-1
......@@ -12,5 +12,5 @@ pub fn main() !void {
1212 return error.TestFailed;
1313}
1414// run
15// backend=llvm
15// backend=stage2,llvm
1616// target=native
test/cases/safety/cast []u8 to bigger slice of wrong size.zig +1-1
......@@ -17,5 +17,5 @@ fn widenSlice(slice: []align(1) const u8) []align(1) const i32 {
1717 return std.mem.bytesAsSlice(i32, slice);
1818}
1919// run
20// backend=llvm
20// backend=stage2,llvm
2121// target=native
test/cases/safety/cast integer to global error and no code matches.zig +1-1
......@@ -15,5 +15,5 @@ fn bar(x: u16) anyerror {
1515 return @errorFromInt(x);
1616}
1717// run
18// backend=llvm
18// backend=stage2,llvm
1919// target=native
test/cases/safety/empty slice with sentinel out of bounds.zig +1-1
......@@ -17,5 +17,5 @@ pub fn main() !void {
1717}
1818
1919// run
20// backend=llvm
20// backend=stage2,llvm
2121// target=native
test/cases/safety/exact division failure - vectors.zig +1-1
......@@ -19,5 +19,5 @@ fn divExact(a: @Vector(4, i32), b: @Vector(4, i32)) @Vector(4, i32) {
1919 return @divExact(a, b);
2020}
2121// run
22// backend=llvm
22// backend=stage2,llvm
2323// target=native
test/cases/safety/exact division failure.zig +1-1
......@@ -17,5 +17,5 @@ fn divExact(a: i32, b: i32) i32 {
1717 return @divExact(a, b);
1818}
1919// run
20// backend=llvm
20// backend=stage2,llvm
2121// target=native
test/cases/safety/for_len_mismatch.zig+1-1
......@@ -21,5 +21,5 @@ pub fn main() !void {
2121 return error.TestFailed;
2222}
2323// run
24// backend=llvm
24// backend=stage2,llvm
2525// target=native
test/cases/safety/for_len_mismatch_three.zig+1-1
......@@ -20,5 +20,5 @@ pub fn main() !void {
2020 return error.TestFailed;
2121}
2222// run
23// backend=llvm
23// backend=stage2,llvm
2424// target=native
test/cases/safety/ignored expression integer overflow.zig +1-1
......@@ -17,5 +17,5 @@ pub fn main() !void {
1717}
1818
1919// run
20// backend=llvm
20// backend=stage2,llvm
2121// target=native
test/cases/safety/integer addition overflow.zig +1-1
......@@ -19,5 +19,5 @@ fn add(a: u16, b: u16) u16 {
1919}
2020
2121// run
22// backend=llvm
22// backend=stage2,llvm
2323// target=native
test/cases/safety/integer division by zero - vectors.zig +1-1
......@@ -18,5 +18,5 @@ fn div0(a: @Vector(4, i32), b: @Vector(4, i32)) @Vector(4, i32) {
1818 return @divTrunc(a, b);
1919}
2020// run
21// backend=llvm
21// backend=stage2,llvm
2222// target=native
test/cases/safety/integer division by zero.zig +1-1
......@@ -16,5 +16,5 @@ fn div0(a: i32, b: i32) i32 {
1616 return @divTrunc(a, b);
1717}
1818// run
19// backend=llvm
19// backend=stage2,llvm
2020// target=native
test/cases/safety/integer multiplication overflow.zig +1-1
......@@ -17,5 +17,5 @@ fn mul(a: u16, b: u16) u16 {
1717 return a * b;
1818}
1919// run
20// backend=llvm
20// backend=stage2,llvm
2121// target=native
test/cases/safety/integer negation overflow.zig +1-1
......@@ -17,5 +17,5 @@ fn neg(a: i16) i16 {
1717 return -a;
1818}
1919// run
20// backend=llvm
20// backend=stage2,llvm
2121// target=native
test/cases/safety/integer subtraction overflow.zig +1-1
......@@ -17,5 +17,5 @@ fn sub(a: u16, b: u16) u16 {
1717 return a - b;
1818}
1919// run
20// backend=llvm
20// backend=stage2,llvm
2121// target=native
test/cases/safety/memcpy_alias.zig+1-1
......@@ -14,5 +14,5 @@ pub fn main() !void {
1414 @memcpy(buffer[0..len], buffer[4 .. 4 + len]);
1515}
1616// run
17// backend=llvm
17// backend=stage2,llvm
1818// target=native
test/cases/safety/memcpy_len_mismatch.zig+1-1
......@@ -14,5 +14,5 @@ pub fn main() !void {
1414 @memcpy(buffer[0..len], buffer[len .. len + 4]);
1515}
1616// run
17// backend=llvm
17// backend=stage2,llvm
1818// target=native
test/cases/safety/memset_array_undefined_bytes.zig+1-1
......@@ -14,5 +14,5 @@ pub fn main() !void {
1414 x += buffer[2];
1515}
1616// run
17// backend=llvm
17// backend=stage2,llvm
1818// target=native
test/cases/safety/memset_array_undefined_large.zig+1-1
......@@ -14,5 +14,5 @@ pub fn main() !void {
1414 x += buffer[2];
1515}
1616// run
17// backend=llvm
17// backend=stage2,llvm
1818// target=native
test/cases/safety/memset_slice_undefined_bytes.zig+1-1
......@@ -16,5 +16,5 @@ pub fn main() !void {
1616 x += buffer[2];
1717}
1818// run
19// backend=llvm
19// backend=stage2,llvm
2020// target=native
test/cases/safety/memset_slice_undefined_large.zig+1-1
......@@ -16,5 +16,5 @@ pub fn main() !void {
1616 x += buffer[2];
1717}
1818// run
19// backend=llvm
19// backend=stage2,llvm
2020// target=native
test/cases/safety/modrem by zero.zig +1-1
......@@ -16,5 +16,5 @@ fn div0(a: u32, b: u32) u32 {
1616 return a / b;
1717}
1818// run
19// backend=llvm
19// backend=stage2,llvm
2020// target=native
test/cases/safety/modulus by zero.zig +1-1
......@@ -16,5 +16,5 @@ fn mod0(a: i32, b: i32) i32 {
1616 return @mod(a, b);
1717}
1818// run
19// backend=llvm
19// backend=stage2,llvm
2020// target=native
test/cases/safety/noreturn returned.zig +1-1
......@@ -19,5 +19,5 @@ pub fn main() void {
1919 bar();
2020}
2121// run
22// backend=llvm
22// backend=stage2,llvm
2323// target=native
test/cases/safety/optional unwrap operator on C pointer.zig +1-1
......@@ -15,5 +15,5 @@ pub fn main() !void {
1515 return error.TestFailed;
1616}
1717// run
18// backend=llvm
18// backend=stage2,llvm
1919// target=native
test/cases/safety/optional unwrap operator on null pointer.zig +1-1
......@@ -15,5 +15,5 @@ pub fn main() !void {
1515 return error.TestFailed;
1616}
1717// run
18// backend=llvm
18// backend=stage2,llvm
1919// target=native
test/cases/safety/out of bounds array slice by length.zig +1-1
......@@ -16,5 +16,5 @@ fn foo(a: u32) u32 {
1616 return a;
1717}
1818// run
19// backend=llvm
19// backend=stage2,llvm
2020// target=native
test/cases/safety/out of bounds slice access.zig +1-1
......@@ -17,5 +17,5 @@ fn bar(a: []const i32) i32 {
1717}
1818fn baz(_: i32) void {}
1919// run
20// backend=llvm
20// backend=stage2,llvm
2121// target=native
test/cases/safety/pointer casting null to non-optional pointer.zig +1-1
......@@ -17,5 +17,5 @@ pub fn main() !void {
1717}
1818
1919// run
20// backend=llvm
20// backend=stage2,llvm
2121// target=native
test/cases/safety/pointer casting to null function pointer.zig +1-1
......@@ -19,5 +19,5 @@ pub fn main() !void {
1919}
2020
2121// run
22// backend=llvm
22// backend=stage2,llvm
2323// target=native
test/cases/safety/pointer slice sentinel mismatch.zig +1-1
......@@ -17,5 +17,5 @@ pub fn main() !void {
1717}
1818
1919// run
20// backend=llvm
20// backend=stage2,llvm
2121// target=native
test/cases/safety/remainder division by zero.zig +1-1
......@@ -16,5 +16,5 @@ fn rem0(a: i32, b: i32) i32 {
1616 return @rem(a, b);
1717}
1818// run
19// backend=llvm
19// backend=stage2,llvm
2020// target=native
test/cases/safety/shift left by huge amount.zig +1-1
......@@ -18,5 +18,5 @@ pub fn main() !void {
1818}
1919
2020// run
21// backend=llvm
21// backend=stage2,llvm
2222// target=native
test/cases/safety/shift right by huge amount.zig +1-1
......@@ -18,5 +18,5 @@ pub fn main() !void {
1818}
1919
2020// run
21// backend=llvm
21// backend=stage2,llvm
2222// target=native
test/cases/safety/signed integer division overflow - vectors.zig +1-1
......@@ -19,5 +19,5 @@ fn div(a: @Vector(4, i16), b: @Vector(4, i16)) @Vector(4, i16) {
1919 return @divTrunc(a, b);
2020}
2121// run
22// backend=llvm
22// backend=stage2,llvm
2323// target=native
test/cases/safety/signed integer division overflow.zig +1-1
......@@ -17,5 +17,5 @@ fn div(a: i16, b: i16) i16 {
1717 return @divTrunc(a, b);
1818}
1919// run
20// backend=llvm
20// backend=stage2,llvm
2121// target=native
test/cases/safety/signed integer not fitting in cast to unsigned integer - widening.zig +1-1
......@@ -15,5 +15,5 @@ pub fn main() !void {
1515 return error.TestFailed;
1616}
1717// run
18// backend=llvm
18// backend=stage2,llvm
1919// target=native
test/cases/safety/signed integer not fitting in cast to unsigned integer.zig +1-1
......@@ -16,5 +16,5 @@ fn unsigned_cast(x: i32) u32 {
1616 return @intCast(x);
1717}
1818// run
19// backend=llvm
19// backend=stage2,llvm
2020// target=native
test/cases/safety/signed shift left overflow.zig +1-1
......@@ -17,5 +17,5 @@ fn shl(a: i16, b: u4) i16 {
1717 return @shlExact(a, b);
1818}
1919// run
20// backend=llvm
20// backend=stage2,llvm
2121// target=native
test/cases/safety/signed shift right overflow.zig +1-1
......@@ -17,5 +17,5 @@ fn shr(a: i16, b: u4) i16 {
1717 return @shrExact(a, b);
1818}
1919// run
20// backend=llvm
20// backend=stage2,llvm
2121// target=native
test/cases/safety/signed-unsigned vector cast.zig +1-1
......@@ -17,5 +17,5 @@ pub fn main() !void {
1717}
1818
1919// run
20// backend=llvm
20// backend=stage2,llvm
2121// target=native
test/cases/safety/slice by length sentinel mismatch on lhs.zig +1-1
......@@ -14,5 +14,5 @@ pub fn main() !void {
1414 return error.TestFailed;
1515}
1616// run
17// backend=llvm
17// backend=stage2,llvm
1818// target=native
test/cases/safety/slice by length sentinel mismatch on rhs.zig +1-1
......@@ -14,5 +14,5 @@ pub fn main() !void {
1414 return error.TestFailed;
1515}
1616// run
17// backend=llvm
17// backend=stage2,llvm
1818// target=native
test/cases/safety/slice sentinel mismatch - floats.zig +1-1
......@@ -16,5 +16,5 @@ pub fn main() !void {
1616}
1717
1818// run
19// backend=llvm
19// backend=stage2,llvm
2020// target=native
test/cases/safety/slice sentinel mismatch - optional pointers.zig +1-1
......@@ -16,5 +16,5 @@ pub fn main() !void {
1616}
1717
1818// run
19// backend=llvm
19// backend=stage2,llvm
2020// target=native
test/cases/safety/slice slice sentinel mismatch.zig +1-1
......@@ -15,5 +15,5 @@ pub fn main() !void {
1515 return error.TestFailed;
1616}
1717// run
18// backend=llvm
18// backend=stage2,llvm
1919// target=native
test/cases/safety/slice start index greater than end index.zig +1-1
......@@ -20,5 +20,5 @@ pub fn main() !void {
2020}
2121
2222// run
23// backend=llvm
23// backend=stage2,llvm
2424// target=native
test/cases/safety/slice with sentinel out of bounds - runtime len.zig +1-1
......@@ -19,5 +19,5 @@ pub fn main() !void {
1919}
2020
2121// run
22// backend=llvm
22// backend=stage2,llvm
2323// target=native
test/cases/safety/slice with sentinel out of bounds.zig +1-1
......@@ -17,5 +17,5 @@ pub fn main() !void {
1717}
1818
1919// run
20// backend=llvm
20// backend=stage2,llvm
2121// target=native
test/cases/safety/slicing null C pointer - runtime len.zig +1-1
......@@ -17,5 +17,5 @@ pub fn main() !void {
1717 return error.TestFailed;
1818}
1919// run
20// backend=llvm
20// backend=stage2,llvm
2121// target=native
test/cases/safety/slicing null C pointer.zig +1-1
......@@ -16,5 +16,5 @@ pub fn main() !void {
1616 return error.TestFailed;
1717}
1818// run
19// backend=llvm
19// backend=stage2,llvm
2020// target=native
test/cases/safety/switch else on corrupt enum value - one prong.zig +1-1
......@@ -20,5 +20,5 @@ pub fn main() !void {
2020 }
2121}
2222// run
23// backend=llvm
23// backend=stage2,llvm
2424// target=native
test/cases/safety/switch else on corrupt enum value - union.zig +1-1
......@@ -25,5 +25,5 @@ pub fn main() !void {
2525 }
2626}
2727// run
28// backend=llvm
28// backend=stage2,llvm
2929// target=native
test/cases/safety/switch else on corrupt enum value.zig +1-1
......@@ -19,5 +19,5 @@ pub fn main() !void {
1919 }
2020}
2121// run
22// backend=llvm
22// backend=stage2,llvm
2323// target=native
test/cases/safety/switch on corrupted enum value.zig +1-1
......@@ -23,5 +23,5 @@ pub fn main() !void {
2323}
2424
2525// run
26// backend=llvm
26// backend=stage2,llvm
2727// target=native
test/cases/safety/switch on corrupted union value.zig +1-1
......@@ -23,5 +23,5 @@ pub fn main() !void {
2323}
2424
2525// run
26// backend=llvm
26// backend=stage2,llvm
2727// target=native
test/cases/safety/unreachable.zig+1-1
......@@ -11,5 +11,5 @@ pub fn main() !void {
1111 unreachable;
1212}
1313// run
14// backend=llvm
14// backend=stage2,llvm
1515// target=native
test/cases/safety/unsigned integer not fitting in cast to signed integer - same bit count.zig +1-1
......@@ -15,5 +15,5 @@ pub fn main() !void {
1515 return error.TestFailed;
1616}
1717// run
18// backend=llvm
18// backend=stage2,llvm
1919// target=native
test/cases/safety/unsigned shift left overflow.zig +1-1
......@@ -17,5 +17,5 @@ fn shl(a: u16, b: u4) u16 {
1717 return @shlExact(a, b);
1818}
1919// run
20// backend=llvm
20// backend=stage2,llvm
2121// target=native
test/cases/safety/unsigned shift right overflow.zig +1-1
......@@ -17,5 +17,5 @@ fn shr(a: u16, b: u4) u16 {
1717 return @shrExact(a, b);
1818}
1919// run
20// backend=llvm
20// backend=stage2,llvm
2121// target=native
test/cases/safety/unwrap error switch.zig +1-1
......@@ -17,5 +17,5 @@ fn bar() !void {
1717 return error.Whatever;
1818}
1919// run
20// backend=llvm
20// backend=stage2,llvm
2121// target=native
test/cases/safety/unwrap error.zig +1-1
......@@ -15,5 +15,5 @@ fn bar() !void {
1515 return error.Whatever;
1616}
1717// run
18// backend=llvm
18// backend=stage2,llvm
1919// target=native
test/cases/safety/value does not fit in shortening cast - u0.zig +1-1
......@@ -17,5 +17,5 @@ fn shorten_cast(x: u8) u0 {
1717 return @intCast(x);
1818}
1919// run
20// backend=llvm
20// backend=stage2,llvm
2121// target=native
test/cases/safety/value does not fit in shortening cast.zig +1-1
......@@ -17,5 +17,5 @@ fn shorten_cast(x: i32) i8 {
1717 return @intCast(x);
1818}
1919// run
20// backend=llvm
20// backend=stage2,llvm
2121// target=native
test/cases/safety/zero casted to error.zig +1-1
......@@ -15,5 +15,5 @@ fn bar(x: u16) anyerror {
1515 return @errorFromInt(x);
1616}
1717// run
18// backend=llvm
18// backend=stage2,llvm
1919// target=native
test/cases/taking_pointer_of_global_tagged_union.zig+1-1
......@@ -22,5 +22,5 @@ pub fn main() !void {
2222}
2323
2424// run
25// backend=llvm
25// backend=stage2,llvm
2626// target=native
test/cases/union_unresolved_layout.zig+1-1
......@@ -11,5 +11,5 @@ pub fn main() !void {
1111}
1212
1313// run
14// backend=llvm
14// backend=stage2,llvm
1515//
test/src/Cases.zig+4
......@@ -472,6 +472,10 @@ fn addFromDirInner(
472472 // Rosetta has issues with ZLD
473473 continue;
474474 }
475 if (backend == .stage2 and target.ofmt == .coff) {
476 // COFF linker has bitrotted
477 continue;
478 }
475479
476480 const next = ctx.cases.items.len;
477481 try ctx.cases.append(.{